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

Python ile Gymnasium'da Reinforcement Learning

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

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

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

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