MDP: ເຄື່ອງຈັກທີ່ຂັບເຄື່ອນສະພາບແວດລ້ອມ
ພາສາຄະນິດສາດທີ່ໃຊ້ບັນຍາຍທຸກບັນຫາ RL.
Markov Decision Process (MDP) ແມ່ນກອບຄະນິດສາດສຳລັບບັນຍາຍບັນຫາການຕັດສິນໃຈຕໍ່ເນື່ອງ ທີ່ມີຄວາມບໍ່ແນ່ນອນ.
ໂຄດຕົວຢ່າງເບິ່ງ MDP ຂອງເກມ FrozenLake: ໜ້ານ້ຳກ້ອນ 4×4 ຍ່າງຈາກມຸມຊ້າຍເທິງ ໄປຫາເປົ້າໝາຍມຸມຂວາລຸ່ມ ໂດຍບໍ່ໃຫ້ຕົກຂຸມ. ນ້ຳກ້ອນລື່ນ: ກົດໄປທາງໃດ ມີໂອກາດໄປຕາມທີ່ກົດພຽງ 1/3.
MDP = (S, A, T, R, S₀, γ, H)
S ຊຸດ state ທັງໝົດ A ຊຸດ action
T T(s'|s,a) ໂອກາດໄປ s' R R(s,a,s') ລາງວັນ
S₀ ການກະຈາຍ state ເລີ່ມຕົ້ນ γ discount factor (0..1)
H horizon (ຄວາມຍາວຂອງເກມ)
- State ບອກສະພາບຂອງໂລກ. ຖ້າ agent ເຫັນບໍ່ຄົບ ເອີ້ນວ່າ POMDP ແລະ ສິ່ງທີ່ເຫັນເອີ້ນວ່າ observation
- Markov property: ອະນາຄົດຂຶ້ນກັບ state ປັດຈຸບັນເທົ່ານັ້ນ ບໍ່ຂຶ້ນກັບປະຫວັດທີ່ຜ່ານມາ
- Transition function ແລະ reward ລວມກັນເອີ້ນວ່າ model ຂອງ environment. ປົກກະຕິຖືວ່າບໍ່ປ່ຽນແປງຕາມເວລາ
- Action ອາດເປັນແບບແຍກ (ຊ້າຍ/ຂວາ) ຫຼື ຕໍ່ເນື່ອງ (ມຸມພວງມາໄລ 0–30°)
ສິ່ງທີ່ຄວນຈື່
- ທຸກບັນຫາ RL ຂຽນເປັນ MDP ໄດ້: state, action, transition, reward, γ
- ບົດ 3 ສົມມຸດວ່າ agent ຮູ້ T ແລະ R. ຕັ້ງແຕ່ບົດ 4 ເປັນຕົ້ນໄປ agent ບໍ່ຮູ້
import gymnasium as gym
env = gym.make("FrozenLake-v1", is_slippery=True)
P = env.unwrapped.P # P[state][action] = [(prob, next_state, reward, done), ...]
print("ຈຳນວນ state:", env.observation_space.n) # 16
print("ຈຳນວນ action:", env.action_space.n) # 4: ຊ້າຍ, ລົງ, ຂວາ, ຂຶ້ນ
for prob, s_next, r, done in P[14][2]: # state 14, ກົດ "ຂວາ"
print(f"p={prob:.2f} -> s'={s_next:2d} r={r} ຈົບ={done}")
ຜົນລັບ
ຈຳນວນ state: 16 ຈຳນວນ action: 4 p=0.33 -> s'=14 r=0 ຈົບ=False p=0.33 -> s'=15 r=1 ຈົບ=True p=0.33 -> s'=10 r=0 ຈົບ=False
- #DeepRL
- #ReinforcementLearning
- #PythonສຳລັບຄົນLaos
- #AI
- #ບອກຕໍ່ຄວາມຮູ້