Skip to content
Minsing Log
Go back

English Edition

What is a POMDP?

Programming & CS

📌 POMDP Components (Formula-Based)

A POMDP is defined by the following 7 elements:

$$ \text{POMDP} = \langle S, A, T, R, O, Z, \gamma \rangle $$

SymbolMeaning
$S$Set of states
$A$Set of actions
$T(s’ \mid s, a)$State transition probability: the probability of transitioning from state $s$ to $s’$ when action $a$ is taken
$R(s, a)$Reward function: the expected reward for taking action $a$ in state $s$
$O$Set of observations
$Z(o \mid s’, a)$Observation probability: the probability of obtaining observation $o$ after reaching $s’$ when $a$ is taken
$\gamma$Discount factor (0 ≤ $\gamma$ ≤ 1)

📌 1. belief state

Since the agent cannot directly know the current state, it maintains a probability distribution over states as follows:

$$ b(s) = P(\text{current state is } s) $$

This is called the belief state. In other words, it has the following probability distribution over the state space $S$:

$$ b: S \rightarrow [0, 1], \quad \sum_{s \in S} b(s) = 1 $$


📌 2. Belief Update Formula (Bayes Filter)

The formula for updating the belief after receiving observation $o$ following action $a$ is:

$$ b’(s’) = \eta \cdot Z(o \mid s’, a) \cdot \sum_{s \in S} T(s’ \mid s, a) \cdot b(s) $$

Here:


📌 3. Value Function

The value function based on the belief is defined as follows:

$$ V(b) = \max_{a \in A} \left[ \sum_{s \in S} b(s) R(s, a) + \gamma \sum_{o \in O} P(o \mid b, a) V(b_{a,o}) \right] $$

Here:


📌 4. Calculating Observation Probabilities

$$ P(o \mid b, a) = \sum_{s’} Z(o \mid s’, a) \sum_{s} T(s’ \mid s, a) b(s) $$


🧠 Key Summary

ConceptFormula
Belief $b(s)$Probability of being in state $s$
Update(b’(s’) = \eta Z(os’,a) \sum_s T(s’s,a) b(s))
Value function(V(b) = \max_a [ \sum_s b(s) R(s,a) + \gamma \sum_o P(ob,a) V(b_{a,o}) ])

❗ Challenges

공개 여정 구독

글이 올라오면 이메일로 보내드릴게요.

개발, 창업, 배움, 실패와 회고를 짧고 솔직하게 기록합니다. 검색으로 스쳐가는 독자가 아니라 여정을 따라오는 팬을 만들기 위한 뉴스레터입니다.

뉴스레터는 준비 중입니다. 그동안 RSS 로 구독하거나 이메일 로 알림을 요청해 주세요.


Share this post:

Comments

Sign in with GitHub to leave a comment.


Previous Post
What is daemon?
Next Post
batch vs batch size