BaşlayınÜcretsiz başlayın

Double Q-learning uygulama

Bu egzersizde, farkı görmek için Expected SARSA ile çözdüğün aynı özel ortamda Double Q-learning algoritmasını uygulayacaksın. İki adet Q-tablosu kullanarak Double Q-learning, geleneksel Q-learning algoritmasında bulunan aşırı tahmin yanlılığını azaltmaya yardımcı olur ve diğer zamansal fark yöntemlerine kıyasla öğrenmede daha fazla kararlılık sunar. Bu yöntemi, hedefe olabildiğince hızlı ulaşmak için dağlardan kaçınarak en yüksek ödüle ulaşmayı hedefleyerek ızgara ortamında gezinmek için kullanacaksın.

new_cust_env.png

Bu egzersiz, kursun bir parçasıdır

Python ile Gymnasium'da Reinforcement Learning

Kursa Göz Atın

Egzersiz talimatları

  • Önceki egzersizde yazdığın update_q_tables() işlevini kullanarak Q-tablolarını güncelle.
  • Q-tablolarını toplayarak birleştir.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

Q = [np.zeros((num_states, num_actions))] * 2
for episode in range(num_episodes):
    state, info = env.reset()
    terminated = False   
    while not terminated:
        action = np.random.choice(num_actions)
        next_state, reward, terminated, truncated, info = env.step(action)
        # Update the Q-tables
        ____
        state = next_state
# Combine the learned Q-tables        
Q = ____
policy = {state: np.argmax(Q[state]) for state in range(num_states)}
render_policy(policy)
Kodu Düzenle ve Çalıştır