Kom igångKom igång gratis

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

Visa kurs

Övningsinstruktioner

  • Hitta den bästa åtgärden för varje tillstånd baserat på Q-värdena.
  • Välj rätt action utifrån improved_policy.
  • Utför den valda action fö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()
Redigera och kör kod