Exact rollout cost identity (Prop. 6.4.3)
ProvedBertsekasDP.rollout_cost_decompositionProposition 6.4.3 (exact cost identity for the rollout algorithm). For an arbitrary base heuristic — sequentially improving or not — let be a path generated by a terminating run of the rollout algorithm from a non-destination node to a destination . Writing
for the defect at a node, the rollout cost decomposes exactly as
The identity is a telescoping one: each rollout step realizes precisely the neighborhood minimum, so the improvements accumulate additively along the run. It immediately yields Prop. 6.4.2 — under sequential improvement every , hence — but it says more, since it quantifies the improvement rather than merely bounding it, and it applies with no assumption on the heuristic at all. It is the discrete counterpart of the slack-accumulating bound of Prop. 6.3.2 for limited lookahead policies.
Formalization Note The defect takes the junk value at a node with no neighbors, which cannot occur along a run. The sum runs over the nodes of the path with the last one removed, in order and with multiplicity — a node visited twice contributes twice.
import Mathlib import Definitions.Def_BertsekasGraphSearch
namespace BertsekasDP
theorem rollout_cost_decomposition {V : Type} [Fintype V] [DecidableEq V]
(G : BertsekasGraphSearch V) (H : BertsekasBaseHeuristic G)
(l : List V) (hrun : BertsekasIsRolloutRun G H l)
(i₁ : V) (hhead : l.head? = some i₁) (hstart : i₁ ∉ G.dest)
(d : V) (hlast : l.getLast? = some d) :
G.cost d = BertsekasHeurCost G H i₁ +
(l.dropLast.map (BertsekasRolloutDelta G H)).sum := by sorry
end BertsekasDPRead-back
What the Lean code literally says, in plain math · claude-fable-5
Let be a finite type with decidable equality, a BertsekasGraphSearch on , and a BertsekasBaseHeuristic for . Suppose:
- is a list of vertices satisfying
BertsekasIsRolloutRunfor (nonempty; each consecutive step goes to an out-neighbour minimizing over the current vertex's out-neighbours; all elements except the last are outside ; the last element is some destination vertex); - is the first element of (the hypothesis states literally that the head of is ), and ;
- is the last element of (the hypothesis states literally that the last element of is ; membership of in is not restated here, though it follows from the rollout-run hypothesis).
Then the claimed equality is
where is BertsekasHeurCost, is BertsekasRolloutDelta (min-over-neighbours heuristic cost minus own heuristic cost, with junk value at neighbourless vertices), and is the list with its last element removed, the sum being taken over the entries of in order with multiplicity (a vertex occurring twice in contributes twice). The proof is left as sorry (the statement carries no completed proof).
Confirmed by the mission captain (proposal self-audit).