PYTHON Tutorial

التعزيز

الخطوات العملية:

  • حدِّد بيئة التعزيز (الحالات، الأفعال، المكافآت)
  • اصمم دالة المكافأة (التي تُعطى لمختلف الحالات)
  • حدِّد سياسة (استراتيجية لاختيار الفعل في كل حالة)
  • تتبع سجلّ الحالات والأفعال والمكافآت
  • حدِّث السياسة بناءً على سجل المكافآت
  • كرِّر الخطوات من 2 إلى 5 حتى تتحسّن السياسة

المفاهيم الأساسية:

  • عملية اتخاذ القرار الماركوفي: نموذج رياضي لبيئة التعزيز حيث تكون الحالة الحالية مستقلة عن التاريخ السابق.
  • المكافآت والعقوبات: إشارات تُعطى للوكيل بناءً على أفعاله.
  • تعلم السياسة: عملية إيجاد سياسة تحدد أفضل فعل في كل حالة.

مثال بايثون أساسي:

import gym

# إنشاء بيئة التعزيز
env = gym.make('CartPole-v0')

# دالة المكافأة
def reward_function(state):
    if state[2] < 0:  # إذا كان العمود يميل أكثر من اللازم
        return -1
    else:
        return 1

# سياسة عشوائية
def policy(state):
    return env.action_space.sample()

# تتبع سجل الحلقة
states, actions, rewards = [], [], []

# تشغيل الحلقات
for episode in range(100):
    # إعادة تعيين البيئة
    state = env.reset()

    # حلقة اللعبة
    while True:
        # اختيار الفعل وتخزينه
        action = policy(state)
        actions.append(action)

        # اتخاذ الإجراء وتخزين الحالة والمكافأة
        state, reward, done, _ = env.step(action)
        states.append(state)
        rewards.append(reward)

        # إذا انتهت اللعبة، فاحفظ السجل
        if done:
            break

# تدريب نموذج التعزيز
# ...

# استخدام النموذج المدرب
# ...