stormvogel.examples.sup_not_attained_pomdp¶
POMDP where the supremum reachability probability is not attained.
Hidden states are L (left) and R (right). Action listen does not
change the hidden state but produces a noisy observation: from L the agent
hears l with probability 9/10 and r with probability 1/10; from R
the probabilities are reversed. Actions guessL and guessR commit:
guessL transitions to goal from L and to failure from R; guessR
is symmetric.
Supremum = 1. By listening n times and guessing the majority observation, the agent is correct with probability approaching 1 (law of large numbers), so the supremum over all observation-based policies is 1.
Not attained. Every finite observation history has positive probability under both hidden states, so whenever the agent guesses there is positive probability of failure. No policy achieves probability 1.
Because stormvogel uses deterministic state observations, the stochastic
observation function is encoded by splitting each hidden state into
observation-suffixed variants: L_l/R_l (last obs was l) and
L_r/R_r (last obs was r). States sharing an observation suffix
are indistinguishable to the agent. The start state distributes uniformly
over all four variants, giving initial belief {L: 1/2, R: 1/2}
regardless of the first observed observation.
Functions¶
|
Return the "supremum not attained" POMDP. |
Module Contents¶
- stormvogel.examples.sup_not_attained_pomdp.create_sup_not_attained_pomdp() stormvogel.model.Model¶
Return the “supremum not attained” POMDP.
The start state distributes uniformly over
L_l,R_l,L_r,R_r(probability 1/4 each), so the initial belief is{L: 1/2, R: 1/2}under either first observation.Transitions:
L_l / L_r --listen--> L_l (9/10), L_r (1/10) R_l / R_r --listen--> R_l (1/10), R_r (9/10) L_l / L_r --guessL--> g (1) L_l / L_r --guessR--> f (1) R_l / R_r --guessL--> f (1) R_l / R_r --guessR--> g (1)
- Returns:
A stormvogel POMDP model.