Markov Decision Process — RL-এর গাণিতিক ভিত্তি
এই পাঠে যা শিখবেন
- MDP-এর পাঁচ component — formal definition
- Markov property — কেন এত গুরুত্বপূর্ণ
- Policy — deterministic বনাম stochastic
- Discount factor γ-এর গাণিতিক ও philosophical তাৎপর্য
১ · MDP — পাঁচটি অংশ
RL-এর সব problem-কে একই গাণিতিক frame-এ ফেলা যায় — সেটা হলো MDP। ১৯৫০-এর দশকে Richard Bellman এই formalism develop করেন।
১) $\mathcal{S}$ — state space (সম্ভাব্য সব state)
২) $\mathcal{A}$ — action space (সম্ভাব্য সব action)
৩) $P(s' \mid s, a)$ — transition probability
৪) $R(s, a, s')$ — reward function
৫) $\gamma \in [0, 1]$ — discount factor
২ · Markov property — "smriti-শূন্য" ভবিষ্যৎ
MDP-এর "M" — Markov। Andrey Markov (১৯০৬) প্রস্তাব করেছিলেন:
$$P(s_{t+1} \mid s_t, a_t, s_{t-1}, a_{t-1}, \ldots, s_0) = P(s_{t+1} \mid s_t, a_t)$$
মানে — current state $s_t$ ও current action $a_t$ — ভবিষ্যৎ predict করতে যথেষ্ট। এর আগের কোনো history-র দরকার নেই।
Stock trading — সাধারণ-ভাবে Markov নয়। gradient, volatility, sentiment — সব past-নির্ভর। তাই এই tasks-এ state augmentation দরকার (last 30 days price)।
৩ · State space ও action space
State space $\mathcal{S}$:
- Finite discrete: Tic-tac-toe (~৫,০০০ states), GridWorld (১৬ states)।
- Infinite discrete: অসীম queue length।
- Continuous: robot joint position (real numbers)।
- High-dimensional: Atari frame (১৬৭৭৭২১৬-D pixel space)।
Action space $\mathcal{A}$:
- Discrete: {up, down, left, right}।
- Continuous: robot torque ∈ [-1, 1]।
- State-dependent: দাবা-এ legal moves position-নির্ভর।
৪ · Transition function $P$
$$P(s' \mid s, a) = \Pr[s_{t+1} = s' \mid s_t = s, a_t = a]$$
গুরুত্বপূর্ণ constraint: $\sum_{s'} P(s' | s, a) = 1$ — probability distribution।
Deterministic: $P$ degenerate — একটি specific $s'$-এ probability ১। Stochastic: ছড়ানো।
৫ · Reward function ও return
Reward function-এর তিনটি common form:
- $R(s)$ — শুধু state-এর উপর।
- $R(s, a)$ — state-action pair-এর উপর।
- $R(s, a, s')$ — transition-এর উপর। সবচেয়ে general।
Return ($G_t$): timestep $t$ থেকে শেষ পর্যন্ত discounted future reward —
$$G_t = R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + \ldots = \sum_{k=0}^\infty \gamma^k R_{t+k+1}$$
৬ · Discount factor γ — কেন দরকার
γ-এর তিনটি ব্যাখ্যা — সব valid:
- গাণিতিক: $\gamma < 1$ ছাড়া infinite-horizon-এ return ∞ হতে পারে।
- অর্থনৈতিক: "আজকের ১০০ টাকা > কালকের ১০০ টাকা" — interest rate analogy।
- Behavioral: agent কতটা far-sighted হবে তার নিয়ন্ত্রণ। γ=0 → শুধু এই মুহূর্ত। γ→1 → far future-ও সমান গুরুত্ব।
৭ · Policy — agent-এর behavior
Policy $\pi$ — state থেকে action-এ একটি mapping। দু'ভাবে:
Deterministic: $\pi(s) = a$ (একটি specific action)।
Stochastic: $\pi(a \mid s) = \Pr[a_t = a \mid s_t = s]$ (distribution)।
RL-এর লক্ষ্য — optimal policy $\pi^*$ খোঁজা যা প্রতিটি state থেকে expected return maximize করে:
$$\pi^* = \arg\max_\pi \mathbb{E}_\pi \left[ \sum_{t=0}^\infty \gamma^t R_{t+1} \right]$$
৮ · Python-এ একটি ক্ষুদ্র MDP
import numpy as np
# Sutton-Barto-র classic Student MDP-এর সরল রূপ
# States: 0=Class, 1=Pub, 2=Pass, 3=Sleep(terminal)
# Actions: 0=Study, 1=Skip
n_states, n_actions = 4, 2
# P[s][a] = list of (prob, next_state, reward)
P = {
0: { # Class
0: [(1.0, 2, +5)], # Study → Pass +5
1: [(0.8, 1, -1), (0.2, 3, -2)], # Skip → Pub -1 বা Sleep -2
},
1: { # Pub
0: [(0.5, 0, +0), (0.5, 2, +1)], # Study (drunk) → Class বা Pass
1: [(1.0, 3, -5)], # Skip → Sleep -5
},
2: { # Pass
0: [(1.0, 3, +10)], # → Sleep (terminal) +10
1: [(1.0, 3, +10)],
},
3: {0: [(1.0, 3, 0)], 1: [(1.0, 3, 0)]}, # Sleep terminal
}
# Random policy চালাই
gamma = 0.9
np.random.seed(0)
state = 0
G = 0
for t in range(20):
a = np.random.randint(2)
transitions = P[state][a]
probs = [tr[0] for tr in transitions]
idx = np.random.choice(len(transitions), p=probs)
_, next_s, r = transitions[idx]
G += (gamma ** t) * r
print(f"t={t} s={state} a={a} → s'={next_s} r={r}")
state = next_s
if state == 3:
print(f"Episode done. Discounted return G = {G:.2f}")
break
৯ · γ-এর প্রভাব দেখা
import numpy as np
rewards = [1, 1, 1, 100] # ৪র্থ step-এ jackpot
for gamma in [0.0, 0.5, 0.9, 0.99, 1.0]:
G = sum((gamma**t) * r for t, r in enumerate(rewards))
print(f"γ={gamma}: G = {G:.2f}")
# γ=0 → শুধু এই মুহূর্তের ১
# γ=0.9 → far reward অর্ধেক discount
# γ=0.99 → near-far সমান গুরুত্ব
ভাবনার প্রশ্ন
প্র ০১ Markov property কেন এত গুরুত্বপূর্ণ — এটা ছাড়া কী algorithm কাজ করে না?
Markov property — RL-এর সব theory-র backbone। ছাড়া কাজ করে না কারণ:
- Bellman equation: $V(s) = \mathbb{E}[r + \gamma V(s')]$ — এটি ধরে নেয় current state ভবিষ্যৎ predict-এ যথেষ্ট। history দরকার হলে এই recursive form ভেঙে যায়।
- Q-learning convergence: finite-state Markov assumption-এ optimal Q* convergence প্রমাণিত। non-Markov-এ প্রমাণ নেই।
- Tabular methods: Q-table = $|S| \times |A|$ entries। non-Markov হলে $|S|$-এ history থাকতে হয় — exponential explosion।
কীভাবে non-Markov fix:
- State-এ history append (frame stacking)।
- Belief state — POMDP-এ probabilistic state estimate।
- RNN/Transformer policy — implicit memory।
- R2D2 — DeepMind-এর recurrent DQN, hidden state replay।
মূল উপলব্ধি: "Markov" একটি modeling choice — সঠিক state representation চেষ্টা। যথাযথ representation থাকলে Markov হয়, না থাকলে algorithm fail।
প্র ০২ Discount factor γ-এর জায়গায় average reward formulation আছে — কোনটি ভাল কখন?
দু'টি RL formulation:
- Discounted (γ < 1): $J = \mathbb{E}[\sum_t \gamma^t r_t]$।
- Average reward: $\rho = \lim_{T \to \infty} \frac{1}{T} \mathbb{E}[\sum_t r_t]$।
Discounted-এর সুবিধা:
- সবসময় convergent।
- Episodic ও continuing — দু'টোতেই কাজ করে।
- Bellman-এর fixed point unique (contraction)।
- সব mainstream algorithm এতে।
Discounted-এর সমস্যা:
- γ একটি artificial parameter — task-এ "discount" থাকার দরকার নাও থাকতে পারে।
- Long-horizon task-এ γ → 1 হলে variance বিস্ফোরণ।
- Optimal policy γ-নির্ভর — γ পাল্টালে policy পাল্টায়।
Average reward-এর সুবিধা:
- Continuing task-এ "rate" বেশি natural — server throughput, factory output।
- γ নেই — কম hyperparameter।
- Long-term asymptotic performance optimal।
Average reward-এর সমস্যা:
- Bellman equation আলাদা ($V(s) - V(s') = r - \rho$)।
- Non-ergodic MDP-এ undefined।
- Standard library সাপোর্ট কম।
কখন কোনটি:
- Game / robot manipulation — episodic, discounted।
- Server allocation, queueing, finance — average reward natural।
- Practice-এ — discounted γ ≈ 1 দিয়ে average-এর approximation কাজ করে।
প্র ০৩ Continuous state space — কোটি কোটি state। কীভাবে handle করা যায়?
Tabular methods (Q-table) finite, small state space-এ চলে। Continuous-এ ভেঙে পড়ে। সমাধান:
(১) Discretization: continuous state-কে bin-এ ভাগ। সরল কিন্তু curse of dimensionality।
(২) Linear function approximation: $V(s) \approx \theta^T \phi(s)$ — feature engineering।
(৩) Neural network (DQN, etc.): $V_\theta(s)$, $Q_\theta(s, a)$ — universal approximator।
(৪) Policy parameterization: $\pi_\theta(a|s)$ — Gaussian, beta, deterministic mapping।
চ্যালেঞ্জ deep RL-এ:
- Convergence guarantee হারায় — "deadly triad" (off-policy + bootstrap + function approx)।
- Stability tricks — replay buffer, target networks।
- Hyperparameter sensitivity বাড়ে।
মূল উপলব্ধি: Deep RL = MDP framework + neural network। সব algorithmic complexity neural net-কে stably train করার জন্য।
প্র ০৪ একটি food delivery startup — riders allocate করতে হয়। MDP হিসেবে frame করুন।
State $\mathcal{S}$:
- প্রতিটি rider-এর position, current load।
- Pending orders (location, food type, deadline)।
- Time of day, weather, traffic।
- Restaurant queue length।
Action $\mathcal{A}$: কোন order কোন rider-কে।
- Discrete (rider count × order count)।
- Combinatorial — multiple assignment per step।
- Hierarchical decomposition দরকার (cluster → individual)।
Reward $R$:
- + delivery fee earned।
- - delivery time-এ delay penalty।
- - food temp loss।
- - rider fatigue (hours worked)।
Transition $P$:
- Stochastic — traffic, weather, restaurant prep time।
- Order arrival rate Poisson-like।
- Cancellation probability।
γ: ০.৯৯ — far-future order-এর প্রভাব রাখা।
চ্যালেঞ্জ:
- Markov property: rider history (যেমন recent breaks) state-এ থাকা চাই।
- Multi-agent — riders coordinate, কিন্তু centralized agent বানানো সম্ভব।
- Real-time constraint — sub-second decision।
- Exploration cost — random assignment customer experience নষ্ট করে।
অনুশীলন
-
Markov কি? দেখুন কোনটি Markov: (ক) দাবা position। (খ) Stock-এর current price। (গ) চিকিৎসায় রোগীর current symptoms।
- (ক) হ্যাঁ — board অবস্থা সব তথ্য ধারণ করে।
- (খ) না — trend, momentum past থেকে আসে।
- (গ) আংশিক — current symptoms-এ অনেক info, কিন্তু history (past treatments, allergies) দরকার। POMDP।
-
Return হিসাব: $\gamma=0.9$, $r_1=2, r_2=4, r_3=8$ (terminal)। $G_0$ কত?
$G_0 = 2 + 0.9 \cdot 4 + 0.81 \cdot 8 = 2 + 3.6 + 6.48 = 12.08$
-
Policy বানান: উপরের Student MDP-এ — কোন policy "always Study" বনাম "always Skip" — কোনটি ভালো? simulation চালিয়ে দেখুন।
"Always Study" → Class → Pass → Sleep, return ≈ 5 + 0.9·10 = 14। "Always Skip" → Class → Pub/Sleep, কম return।
তবে stochastic — variance check করতে ১০০ episode-এ গড় নিন।
আরও পড়ুন
- পাঠ ০৪ · Value ও Q functions পরবর্তী পাঠState ও action-এর "মান" পরিমাপ।
- পাঠ ০২ · Agent ও Environment আগের পাঠRL-এর চার অনুঘটক।
- পাঠ ০৫ · Bellman সমীকরণ এই পাঠের সাথে সম্পর্কিতMDP-এর mathematical heart।
- সব AI Courses ABCL TECHPython, ML, DL, NLP, CV, GenAI, RL — সব একসাথে।