Foster--Lyapunov drift bound for MDP travel time: a nonnegative with one-step drift off the target bounds the hitting time by
ProvedBanditAlgorithm.mdp_travel_time_le_of_lyapunov_driftStatement. Let be a finite MDP, a memoryless deterministic policy, and nonnegative. If at every state the one-step drift of under the action is at most ,
then the travel time from to under satisfies
This is the standard Foster--Lyapunov (drift) criterion for hitting times, in exactly the form the diameter of an MDP needs: the diameter is a minimum over memoryless deterministic policies of the travel time, so a single together with a single certifies an upper bound on it. Mathlib has no hitting-time drift criterion, and the statement is phrased directly against the finite-horizon-marginal encoding of the travel time, so no separate theory of stopping times is required.
Proof. Write for the probability that none of the first states is , so that the travel time is , and let
Conditioning on one more round and using the drift hypothesis at the last state, which is legitimate precisely because on the survival event that state is not , gives ; summing telescopes to , and letting finishes, the tsum in being the supremum of its partial sums.
One point deserves mention because it is where memorylessness is used and where a purely formal argument would break. The drift hypothesis constrains the row , but the transition actually taken out of round uses the action recorded in the trajectory, and that the two agree is only an almost-sure statement. The proof therefore carries the indicator of the event "every recorded action is of the recorded state" alongside the survival indicator; that event has probability one under the memoryless deterministic policy, by an induction on the horizon whose step is the observation that the policy's selection kernel is a Dirac mass, and the extra indicator is removed at the end at no cost.
import Mathlib.Data.Real.Sqrt import Mathlib.Analysis.SpecialFunctions.Log.Basic import Definitions.Def_FiniteMDPLearning open MeasureTheory ProbabilityTheory
theorem BanditAlgorithm.mdp_travel_time_le_of_lyapunov_drift {S A : ℕ} (M : FiniteMDP S A)
(f : Fin S → Fin A) (src tgt : Fin S) (V : Fin S → ℝ)
(hV0 : ∀ s, 0 ≤ V s)
(hdrift : ∀ s, s ≠ tgt → (∑ s', (M.P s (f s) s' : ℝ) * V s') + 1 ≤ V s) :
mdpTravelTime M f src tgt ≤ ENNReal.ofReal (V src) := by
sorry