Ainsteinx Logo
Ainsteinx
👤
ຍິນດີຕ້ອນຮັບສູ່ Ainsteinx
ເຂົ້າສູ່ລະບົບ

ປ່ຽນພາສາ

ສະກຸນເງິນ

ໜ້າທຳອິດ
ບົດຄວາມ
ບໍລິການ
ບົດ 02 · ພື້ນຖານ

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 ບໍ່ຮູ້
deep-rl-ep02-mdp.py
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
  • #ບອກຕໍ່ຄວາມຮູ້