Kurzsichtiges Lernen
Wir betrachten nochmal die Wahrnehmungs-Aktions-Schleife aus dem ersten Abschnitt des Kapitels.
Wir betrachten eine bestimmte Situationlerne_dazu
, die zunächst wie folgt aussieht: Der Befehl pass
bedeutet nur, dass die Funktion gar nichts tun soll. Aufgabe 1: Lernen nach unmittelbarer Belohnung
Wir wollen nun einen ersten einfachen Ansatz zum selbstständigen Lernen der Q-Tabelle machen. Natürlich ist Lernen gar nicht mehr notwendig, wenn schon eine mit natürlicher Intelligenz erstellte Q-Tabelle vorhanden ist. Deshalb besteht die erste Änderung darin, alle Einträge der Q-Tabelle auf 0 zu setzen, so dass unser Agent im wahrsten Sinne des Wortes ganz "von Null anfängt".
Passe die Funktion lerne_dazu
nun so an, dass dem Q-Wert von situation und aktion einfach die Belohnung zugewiesen wird. Teste die Funktion, indem Du das Programm spiel_ki.py
startest, die Taste "Lernen" drückst und ein paar Minuten wartest. Wenn dir das Lernen zu langsam geht, kannst du in spiel_ki.py
die Konstante DELAY_LERNEN
auf einen kleineren Wert (etwa 100) setzen.
Aufgabe 2: Überprüfung des Lerneffekts
Lasse das Spiel solange lernen, bis mehrfach das Geld im Safe gefunden wurde und man eigentlich erwarten müsste, dass das System jetzt gelernt hat, welche Aktionen die besten sind. Drücke nun den Knopf "Stop". Der Lernvorgang wird unterbrochen. Man könnte hoffen, dass nun die Q-Tabelle die richtigen Werte enthält. Teste dies, indem du "Optimal spielen" anklickst und den Spielverlauf beobachtest.Quellen
- [1]: Wahrnehmungs-Handlungs-Schleife - Urheber: Peter Dauscher - Lizenz: inf-schule.de