JAO Figure 4: a two-class gadget on states and actions with plantable actions and diameter
ProvedBanditAlgorithm.jao_composite_two_class_gadget_constructionThe two-class planted gadget. Both children speak about the same class of MDPs, described by its defining equations rather than through an auxiliary definition. The data are a class map , an escape map , a return map and a navigation map , and the MDP satisfies
- the reward is the class, for every action ;
- from a class- state every action goes to the class- state with probability and to the class- state otherwise;
- from a class- state every action goes to the class- state with probability and stays at otherwise.
Since each row is supported on two states and the two masses sum to , these equations pin the transition function down completely. For this is the reference MDP ; for the planting at it is . When , and is constant, this is exactly the gadget of JAO Figure 3 with ; for it is the composite MDP of Figure 4, whose class- states are the , whose class- states are the , and whose navigation map moves between the copies.
Statement. Let and with , and let . Then there is a two-class gadget shape on states and actions with , an injection of class- pairs that are navigation fixed points and satisfy , a reference MDP and, for each planting, a planted MDP, such that every planted MDP has diameter at most .
This is the construction of JAO Figure 4 (p. 1582), with one simplification. JAO give each state extra actions inducing an -ary tree on the reward- states, separate from the bandit actions. Here every action gambles: from a class- state each of the actions escapes to that copy's class- state with probability (or for the planted pair) and otherwise moves along the navigation graph. The first actions are navigation fixed points and are the plantable ones; the remaining actions drive an expander-free routing graph on the class- states. This keeps every transition row two-point, which is what makes the relative entropy of a planting Bernoulli, and it costs nothing: , better than the of the paper.
The diameter. Fix a target and let be the routing depth, so that a memoryless deterministic policy reaches the target copy in at most navigation steps. Bound the expected hitting time by a Foster-Lyapunov drift function: from a class- state one waits a time to return, from a class- state one advances one navigation step per round unless one escapes, in which case one returns to the same copy and resumes, and once at the target copy one waits a time to escape into it. The function (plus throughout when the target has class ) has drift off the target because , giving an expected hitting time at most . So it suffices that , and taking the routing graph on nodes with out-degree has depth : this is where is used, and it holds with room to spare, the binding case being when is near .
import Mathlib.Data.Real.Sqrt import Mathlib.Analysis.SpecialFunctions.Log.Basic import Definitions.Def_FiniteMDPLearning open MeasureTheory ProbabilityTheory
theorem BanditAlgorithm.jao_composite_two_class_gadget_construction :
∀ S A : ℕ, 10 ≤ S → 10 ≤ A → ∀ D : ℝ, 12 ≤ D →
20 * (Real.log S / Real.log A) ≤ D →
∀ ε : ℝ, 0 ≤ ε → 20 * ε ≤ 4 / D →
∃ (ρ : Fin S → ℝ) (up down : Fin S → Fin S) (nav : Fin S → Fin A → Fin S)
(arm : Fin (S / 2 * (A / 2)) → Fin S × Fin A)
(M : Fin (S / 2 * (A / 2)) → FiniteMDP S A) (M₀ : FiniteMDP S A),
Function.Injective arm ∧
(∀ i, ρ (arm i).1 = 0) ∧
(∀ i, nav (arm i).1 (arm i).2 = (arm i).1) ∧
(∀ i, down (up (arm i).1) = (arm i).1) ∧
(∀ s, ρ s = 0 ∨ ρ s = 1) ∧
(∀ s b, M₀.r s b = ρ s) ∧
(∀ s b, ρ s = 0 →
ρ (up s) = 1 ∧ ρ (nav s b) = 0 ∧ up s ≠ nav s b ∧
(M₀.P s b (up s) : ℝ) = 4 / D ∧
(M₀.P s b (nav s b) : ℝ) = 1 - 4 / D) ∧
(∀ s b, ρ s = 1 →
ρ (down s) = 0 ∧ down s ≠ s ∧
(M₀.P s b (down s) : ℝ) = 4 / D ∧
(M₀.P s b s : ℝ) = 1 - 4 / D) ∧
(∀ i, ∀ s b, (M i).r s b = ρ s) ∧
(∀ i, ∀ s b, ρ s = 0 →
((M i).P s b (up s) : ℝ)
= 4 / D + (if (s, b) = arm i then ε else 0) ∧
((M i).P s b (nav s b) : ℝ)
= 1 - 4 / D - (if (s, b) = arm i then ε else 0)) ∧
(∀ i, ∀ s b, ρ s = 1 →
((M i).P s b (down s) : ℝ) = 4 / D ∧
((M i).P s b s : ℝ) = 1 - 4 / D) ∧
(∀ i, mdpDiameterENN (M i) ≤ ENNReal.ofReal D) := by
sorry