530 likes | 627 Views
Gruppe A4 – „Stürmer“. Theoretische Informatik Seminar F Stephan Neumann Michael Groß 16.10.2002. Der Playground. 0,2. 0,108. 0,06. 0,04. 0,8. 0,2. 0,17. 0,8. Automatisches Testen – die Testsuite. Aufbau einer Testsuite. 6 Teilbereiche, Startpositionen:
E N D
Gruppe A4 – „Stürmer“ Theoretische Informatik Seminar F Stephan Neumann Michael Groß 16.10.2002
Der Playground 0,2 0,108 0,06 0,04 0,8 0,2 0,17 0,8
Aufbau einer Testsuite 6 Teilbereiche, Startpositionen: • Roboter in Blickrichtung Tor, Ball direkt vor Roboter • Roboter in Blickrichtung Tor, Ball vor Roboter, etwas entfernt • Roboter in Blickrichtung Tor, Ball direkt hinter Roboter • Roboter in Blickrichtung Tor, Ball hinter Roboter, etwas entfernt • Roboter in Blickrichtung Tor, Ball auf Roboterposition gespiegelt um die y-Achse • Zufällige Roboter & Ball Startposition
Der Regler • zustandsbasiert • 8 Aktionen (Behaviors): • 1: Gehe zum Ball • 2: Weiche Hindernis aus (Kollisionsgefahr!) • 3: Drehe Dich parallel zum Hindernis und fahre vorwärts(mit Ball) • 4: Fahre vorwärts (mit Ball) • 5: Schieße (mit Ball) • 6: Fahre eine Kurve (mit Ball, Hindernis im Weg) • 7: Fahre eine Kurve (mit Ball, freie Bahn) • 0: Schieße (Selbstmord, mit Ball)
Regler – verwendete Features • Abstand zum Ball (direkt davor, sonst) • Abstand zum Hindernis • Winkel zum Hindernis • Winkel zum Tor
Regler - Entscheidungsbaum JA NEIN Ball genau vor Roboter? Gehe zu Ball Hindernis SEHR nahe? Hindernis Ausweichen Tor gerade voraus &Hindernis nicht im Weg? Hindernis sehr nahe? |Hindernis Winkel| < 60°? |Hindernis Winkel| < 30°? Hindernis nahe? Schießen! Selbstmord vorwärts Roboter parallel zuHindernis & Tor ‚voraus‘ ? vorwärts vorwärts Parallel zu Hindernisdrehen & vorwärts Hindernis zu nahe für Kurve? Kurve Kurve Hindernis steht Kurve im Weg? Kurve (blockiert)
Lernen - Actions • 1: Gehe zum Ball • 2: Weiche Hindernis aus (Kollisionsgefahr!) • 3: Drehe Dich parallel zum Hindernis und fahre vorwärts(mit Ball) • 4: Fahre vorwärts (mit Ball) • 5: Schieße (mit Ball) • 6: Fahre eine Kurve (mit Ball, Hindernis im Weg) • 7: Fahre eine Kurve (mit Ball, freie Bahn) • 0: Schieße (Selbstmord, mit Ball)
Lernen - Statediskretisierungen • Abstand zum Ball: < 0.03; >= 0.03: 2 • Abstand zum Hindernis: < 0.075; <0.09; <0.145; <0.18; >= 0.18: 5 • |Winkel Hindernis| : < Pi / 6; < Pi / 3; < 5 Pi / 12; < Pi / 2; < 7 Pi / 6; >= 7 Pi / 6: 6 • |Winkel Tor| : < 0.05; >= 0.05 : 2 States = 2 * 5 * 6 * 2 = 120; |QTable| = States * Actions = 960
Lernreihe 1: Rewardmodell • Erfolg: 100 • Fehlschlag: -100 • Behavior beendet sich sofort: -10
Lernreihe 2 - Rewardmodell • Erfolg: 100 • Timeout: -0,5 • Sonstiger Fehlschlag: -100 • Behavior beendet sich sofort: -10 • Bahavior „Selbstmord“: -50 • Abbruch nach 40x selber Action im selben State (-100)
Alle Tests zusammen: Lernreihe 1 Lernreihe 2 Lernreihe 3
Behavior RL Problem • Stetiger Zustandsraum. • Stetige Aktionen.
Lösung 1: Diskretisierung • Zu grobe Einteilung – Wichtige Unterschiede im Zustandsraum können nicht erkannt werden. • Zu feine Einteilung – Riesiger Zustandsraum, lange Zeit, bis auch nur alle wesentlichen Zustände einmal auftreten. • Der Agent kann nicht von bereits bekannten Zuständen auf neu auftretende, aber ähnliche Zustände schließen. • Es ist schwer, bekanntes Wissen einzubringen.
Erwünschte Eigenschaften des RL • Direktes Verarbeiten des stetigen Zustandsraum. • Direkte Ausgabe der stetigen Aktionen. • Keine versteckte Diskretisierung. • Agent soll beim Auftreten eines unbekannten Zustands eine möglichst gute Aktion wählen. • Möglichkeit, das vom Regler bekannte Wissen einzubringen.
Aktion/Reward Funktion • Funktion durch n Kontrollpunkte (2 mal n Parameter) definiert. • Funktion geht garantiert durch höchsten Kontrollpunkt – leichtes ermitteln des Maximums.
Wire Fitting x Zustandsvektor u Aktion(svektor) Q(x,u) erwarteter Reward c Smoothing Faktor • Position der Kontrollpunkte soll vom Zustandsvektor x abhängen, y=f(u) ist dabei der zu erwartende reward.