What does the future need to know?
The wall blocks your next move.
Picture
You and a friend reach the same locked door. You have a key; your friend does not. Same place, different possibilities. An algorithm’s state is a description of the situation that preserves the information needed to answer the remaining question. Sometimes location is enough. Sometimes it is dangerously incomplete.
Predict
Two routes reach square (2, 3). One has a wall-removal token left; the other has none. Can a function can_finish(row, col) represent both situations correctly?
Reveal the reasoning
Not in general. If every route to the exit crosses a wall, the two answers differ. A possible state is (row, col, tokens_left). The test is not “do these journeys look similar?” It is “can anything about their different histories change their legal continuations or remaining answer?”
Go deeper: separate the past from its consequences
Imagine handing the unfinished problem to a friend. Give them enough information to finish correctly, without making them replay your whole journey. That handoff is your state.
For a fixed board with one removable wall:
def can_enter(cell, tokens_left):
return cell == "." or tokens_left > 0
assert can_enter("#", 1)
assert not can_enter("#", 0)
If you are minimizing total cost, distinguish the best remaining cost from the cost already paid. Two histories may share a remaining-cost calculation even if their accumulated costs differ. The caller adds its own past cost.
Conversely, if the rule forbids revisiting any previously visited cell, that history affects future legality. Coordinates and token count alone may no longer suffice; a visited set can be part of the state, often making the problem much larger.
Recognition test: deliberately construct two histories that your proposed key merges. If their remaining answers can differ, your key has forgotten something important. If a coordinate is completely determined by the others, it may be redundant.
Cost connection: adding a budget 0..K can multiply the state count by K + 1. More information fixes correctness but may increase work.
Analogy limit: “the future” means the mathematical subproblem under the stated rules, not every real-world consequence.
Change one rule
The token now resets every time you enter a new room. Is its old value still needed? Describe precisely when you take the state snapshot before deciding.
Check the variation
If the state is measured just after entering and resetting, the token value is always known and need not be stored. A state measured before entry may still need it to decide whether entry is legal.
Connect
Graphs connect states through legal moves. DP reuses remaining answers for equivalent states. 3D DP will make the missing-token example concrete.