انتقل إلى المحتوى الرئيسي

الوحدة 3 — دوالّ القيمة ومعادلات بلمان

يوفّر MDP الصياغة؛ يوفّر بلمان الآلية. جميع الخوارزميّات الجدوليّة اللاحقة (البرمجة الديناميكية، ومونت كارلو، وتعلّم Q) هي تقديرات لحلّ معادلات بلمان. يستحقّ الأمر ساعة لفهمها جيّدًا.

دالّتان مختلفتان لكن مرتبطتان

نُعرّف كمّيتين أساسيّتين وفق سياسة π\pi:

  • دالّة قيمة الحالة Vπ(s)V^{\pi}(s): العائد المتوقّع بدءًا من ss باتّباع π\pi إلى الأبد.
Vπ(s)=Eπ[Gtst=s]V^{\pi}(s) = \mathbb{E}_{\pi}\left[ G_t \mid s_t = s \right]
  • دالّة قيمة الحالة–الفعل Qπ(s,a)Q^{\pi}(s, a): العائد المتوقّع بدءًا من ss، مع فعل aa في هذه الخطوة، ثمّ باتّباع π\pi فيما بعد.
Qπ(s,a)=Eπ[Gtst=s,at=a]Q^{\pi}(s, a) = \mathbb{E}_{\pi}\left[ G_t \mid s_t = s, a_t = a \right]

العلاقة بين الاثنتين مباشرة: Vπ(s)=aπ(as)Qπ(s,a)V^{\pi}(s) = \sum_{a} \pi(a \mid s) Q^{\pi}(s, a). القيمة تلخّص الحالة تحت سياسة معطاة؛ والقيمة–الفعل تحتفظ بالفعل مفصّلًا، وهي التي تسمح باتّخاذ قرارات دون معرفة النموذج (لماذا؟ لأنّ اختيار argmaxaQ(s,a)\arg\max_a Q(s, a) لا يحتاج إلى PP).

معادلة بلمان للتوقّع

الفكرة الأساسيّة: القيمة الآن هي مكافأة قادمة + قيمة الحالة القادمة، مع التخفيض. رياضيًا:

Vπ(s)=aπ(as)s,rP(s,rs,a)[r+γVπ(s)]V^{\pi}(s) = \sum_{a} \pi(a \mid s) \sum_{s', r} P(s', r \mid s, a) \left[ r + \gamma V^{\pi}(s') \right]

هذه المعادلة تعرض VπV^{\pi} بدلالة نفسها. البوت‌سترابنغ يعني بالضبط هذا: نُقدّر قيمة الحالة الحاضرة اعتمادًا على تقدير قيم الحالات المستقبليّة، لا عبر الرجوع إلى كامل التسلسل.

نظيرها لـQQ:

Qπ(s,a)=s,rP(s,rs,a)[r+γaπ(as)Qπ(s,a)]Q^{\pi}(s, a) = \sum_{s', r} P(s', r \mid s, a) \left[ r + \gamma \sum_{a'} \pi(a' \mid s') Q^{\pi}(s', a') \right]

معادلة بلمان للأمثليّة

عندما تكون السياسة مثلى π\pi^{*}، تتّخذ في كلّ حالة الفعل الأفضل. يقود ذلك إلى معادلات مشابهة لكن مع max:

V(s)=maxas,rP(s,rs,a)[r+γV(s)]V^{*}(s) = \max_{a} \sum_{s', r} P(s', r \mid s, a) \left[ r + \gamma V^{*}(s') \right] Q(s,a)=s,rP(s,rs,a)[r+γmaxaQ(s,a)]Q^{*}(s, a) = \sum_{s', r} P(s', r \mid s, a) \left[ r + \gamma \max_{a'} Q^{*}(s', a') \right]

ما دام γ<1\gamma < 1 توجد حلول وحيدة لهذه المعادلات، ويمكن حسابها تكراريًّا (تعرف الخوارزميّة باسم تكرار القيمة، وستبنيها الوحدة 4).

حساب يدوي كامل على شبكة 3×3

نتخيّل عالمًا بسيطًا: شبكة 3×33 \times 3، الوكيل يبدأ في الخانة اليسرى العليا، وهدفه الخانة اليمنى السفلى (مكافأة +1+1)، والأفعال هي أربعة اتّجاهات حتميّة (لا انزلاق)، وكلّ خطوة تُكلّف 0,04-0{,}04، وγ=1\gamma = 1 للتبسيط. سياسة π\pi هنا: «يمين ثمّ أسفل».

نتّبع المسار: (0,0)(0,1)(0,2)(1,2)(2,2)(0,0) \to (0,1) \to (0,2) \to (1,2) \to (2,2). أربع خطوات، مكافآتها 0,04,0,04,0,04,+1-0{,}04, -0{,}04, -0{,}04, +1. لذا:

Vπ((0,0))=0,040,040,04+1=0,88V^{\pi}((0,0)) = -0{,}04 - 0{,}04 - 0{,}04 + 1 = 0{,}88

نتحقّق بمعادلة بلمان بدءًا من الخانة (1,2)(1,2)، التي عندها الفعل «أسفل» يُفضي إلى (2,2)(2,2) حتميًّا بمكافأة +1+1 ثمّ الحالة الطرفيّة:

Vπ((1,2))=0,04+1Vπ((2,2))=0,04+1=0,96V^{\pi}((1,2)) = -0{,}04 + 1 \cdot V^{\pi}((2,2)) = -0{,}04 + 1 = 0{,}96

ملاحظة أوّليّة مهمّة: Vπ((2,2))=0V^{\pi}((2,2)) = 0 للحالة الطرفيّة نفسها، أمّا المكافأة +1+1 فتُسند إلى الانتقال إليها لا إلى الحالة نفسها. الخلط بين هذين يقود إلى أخطاء قيمة +1+1 في كلّ الشجرة.

نصعد إلى (0,2)(0,2): Vπ((0,2))=0,04+Vπ((1,2))=0,04+0,96=0,92V^{\pi}((0,2)) = -0{,}04 + V^{\pi}((1,2)) = -0{,}04 + 0{,}96 = 0{,}92. ثمّ (0,1)(0,1): Vπ((0,1))=0,04+0,92=0,88V^{\pi}((0,1)) = -0{,}04 + 0{,}92 = 0{,}88. وأخيرًا (0,0)(0,0): Vπ((0,0))=0,04+0,88V^{\pi}((0,0)) = -0{,}04 + 0{,}88. لكن — لحظة — يبدو أنّ الحساب أعطى 0,840{,}84 لا 0,880{,}88! وهذا خطأ الكثيرين: لقد نسينا مكافأة الخطوة الأخيرة في الحساب المباشر. الصحيح:

Vπ((0,0))=0,044+1=0,84V^{\pi}((0,0)) = -0{,}04 \cdot 4 + 1 = 0{,}84

كنا نُساحب 0,880{,}88 لأنّنا حسبنا ثلاث خطوات 0,04-0{,}04 فقط بدل أربع. مصالحة الحسابين تكشف الخطأ، وهذا المنهج بالضبط ما يميّز التنقيح الجدولي: نُقارن حسابًا تراكميًّا للعائد بحساب تراجعي بمعادلة بلمان.

القيمة–الفعل تكشف السياسة

لماذا نُحبّ QQ أكثر من VV في الممارسة؟ لأنّ اختيار الفعل الأفضل من QQ فوري: a=argmaxaQ(s,a)a^{*} = \arg\max_a Q(s, a). أمّا من VV فيتطلّب معرفة PP: يجب حساب توقّع كلّ فعل ممكن، وهو ما لا يتوفّر عادةً في بيئات حقيقيّة. عندما تسمعون لاحقًا «تعلّم Q»، لا «تعلّم V»، فذلك بسبب هذه الميزة العمليّة الحاسمة.

اختبار سريع

دالّتا VV وQQ تتّفقان دائمًا: Vπ(s)=Eaπ[Qπ(s,a)]V^{\pi}(s) = \mathbb{E}_{a \sim \pi} [Q^{\pi}(s, a)]. إذا رسمتم القيمتين وشاهدتم اختلافًا كبيرًا، فذلك تشخيص فوري لخطأ في التنفيذ.

الخلاصة

  • Vπ(s)V^{\pi}(s) تُلخّص «قيمة الحالة» و Qπ(s,a)Q^{\pi}(s, a) تحفظ «قيمة اختيار فعل ثمّ متابعة السياسة».
  • معادلات بلمان للتوقّع تُعرِّف VV و QQ تعريفًا ذاتيًّا (البوت‌سترابنغ)؛ ومعادلات الأمثليّة تستبدل التوقّع بالسياسة بأخذ max.
  • الحساب اليدوي على شبكة صغيرة يكشف الأخطاء التي تخفيها الآلة: نسيان مكافأة، وإعطاء قيمة لحالة طرفيّة، وخلط VV بـQQ.
  • تُفضَّل QQ في التنفيذات لأنّ استخلاص الفعل الأفضل منها لا يتطلّب معرفة PP.

الوحدة التالية: خوارزميّات تحسب هذه القيم فعلًا، بدءًا من البرمجة الديناميكية حين نعرف PP، وانتهاءً بمونت كارلو حين لا نعرفه.