Kom igångKom igång gratis

Implementera uppdateringsregeln för Double Q-learning

Double Q-learning är en utökning av Q-learning-algoritmen som minskar överskattningen av åtgärdsvärden genom att underhålla och uppdatera två separata Q-tabeller. Genom att separera valet av åtgärd från utvärderingen av åtgärden ger Double Q-learning en mer noggrann uppskattning av Q-värdena. Den här övningen guidar dig genom implementeringen av uppdateringsregeln för Double Q-learning. En lista Q med två Q-tabeller har redan genererats.

Biblioteket numpy har importerats som np, och värdena för gamma och alpha är förinstallerade. Uppdateringsformlerna visas nedan:

Image showing the update rule of Q1.

Image showing the update rule of Q2.

Den här övningen är en del av kursen

Reinforcement Learning med Gymnasium i Python

Visa kurs

Övningsinstruktioner

  • Avgör slumpmässigt vilken Q-tabell i Q som ska uppdateras för uppskattningen av åtgärdsvärdet genom att beräkna dess index i.
  • Utför de nödvändiga stegen för att uppdatera Q[i].

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

Q = [np.random.rand(8,4), np.random.rand(8,4)] 
def update_q_tables(state, action, reward, next_state):
  	# Get the index of the table to update
    i = ____
    # Update Q[i]
    best_next_action = ____
    Q[i][state, action] = ____
Redigera och kör kod