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:


Den här övningen är en del av kursen
Reinforcement Learning med Gymnasium i Python
Övningsinstruktioner
- Avgör slumpmässigt vilken Q-tabell i
Qsom ska uppdateras för uppskattningen av åtgärdsvärdet genom att beräkna dess indexi. - 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] = ____