Förbättra en policy
I föregående övning beräknade du Q-värdena för varje tillstånds-åtgärdspar i miljön MyGridWorld. Nu ska du använda dessa Q-värden för att förbättra den befintliga policyn. Policyförbättring är ett viktigt steg inom förstärkningsinlärning – här väljer du de åtgärder som maximerar det förväntade nyttovärdet (Q-värdet) i varje tillstånd. När policyn har förbättrats renderar du de nya rörelserna enligt den uppdaterade policyn.
Miljön har importerats som env, tillsammans med Q-värdena som Q och funktionen render().
Den här övningen är en del av kursen
Reinforcement Learning med Gymnasium i Python
Övningsinstruktioner
- Hitta den bästa åtgärden för varje tillstånd baserat på Q-värdena.
- Välj rätt
actionutifrånimproved_policy. - Utför den valda
actionför att observera resultatet.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
improved_policy = {}
for state in range(num_states-1):
# Find the best action for each state based on Q-values
max_action = ____
improved_policy[state] = max_action
terminated = False
while not terminated:
# Select action based on policy
action = ____
# Execute the action
state, reward, terminated, truncated, info = ____
render()