Aplikace Double Q-learningu
V tomto cvičení aplikuješ algoritmus Double Q-learning ve stejném vlastním prostředí, které jsi vyřešil/a pomocí Expected SARSA – a porovnáš oba přístupy. Double Q-learning využívá dvě Q-tabulky, čímž snižuje zkreslení způsobené nadhodnocováním, které je typické pro klasický Q-learning, a přináší větší stabilitu učení oproti jiným metodám temporální diference. Pomocí této metody budeš navigovat agenta v mřížkovém prostředí s cílem dosáhnout co nejvyšší odměny – vyhýbat se horám a co nejrychleji dosáhnout cíle.

Toto cvičení je součástí kurzu
Reinforcement Learning with Gymnasium in Python
Pokyny k cvičení
- Aktualizuj Q-tabulky pomocí funkce
update_q_tables(), kterou jsi napsal/a v předchozím cvičení. - Zkombinuj Q-tabulky jejich sečtením.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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)