Passt der Pseudocode zu dem Algorithmus (n-step SARSA)?

2 Antworten

Vielleicht sagt n-step SARSA ja dem einen oder anderem was

Bisher nicht.

Wenn ich es richtig verstehe, dann soll ja n Schritte Lookahead gemacht werden. Das wird hier so realisirt, daß ich wenn ich 10 Schritte weiter bin V von vor 10 Schritten aktualisiere. D.h. ab t=9 (10. Schritt) aktulisiere ich Rückliegendes. t=9 aktualisiert Tau 0. (Allerdings ist G noch 0)

Für t=16 behandle Ich R_17 und S_17, S_17 ist Terminal und T=17. Beachte, die Schleife läuft also bis Tau=16 (Das wird für t=25 erreicht). Jetzt, bei t=16 ist G das erste mal ungleich 0. Da Tau 7 ist, aktualisiere ich eben auch V(S_Tau)) indem ich es ein wenig Richtugn G schiebe. In den nächsten Schritten passiert das gleiche für Tau=8, Tau=9 ... bis Tau=16 - Das sind die markierten Felder im Bild ganz rechts.

mathesehrschwer 
Fragesteller
 05.08.2023, 10:33

Ja macht Sinn. Ich dachte irgendwie dass der Algorithmus aufhört nach t = 17 wenn man im Ziel ist, aber man lässt das noch n Schritte laufen

Danke :)

0

Nice, ich hab deine Frage überhaupt nicht verstanden, weil du r statt τ verwendet hast. Ich dachte, du meinst irgendwelche Rewards.

Schau dir noch einmal die Abbruchbedingung des Loops an. Es wird immer so lange geloopt, bis τ den terminal state zum Zeitpunkt T erreicht. Die Zeile verhindert nur, dass States zu negativen Timesteps geupdatet werden - weil sie eben sinnlos sind, wenn man bei 0 anfängt.

Woher ich das weiß:Studium / Ausbildung – Trust me, I'm an engineer