Gruppe A4 – „Stürmer“

53
Gruppe A4 – „Stürmer“ Theoretische Informatik Seminar F Stephan Neumann Michael Groß 16.10.2002

description

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: - PowerPoint PPT Presentation

Transcript of Gruppe A4 – „Stürmer“

Page 1: Gruppe A4 – „Stürmer“

Gruppe A4 – „Stürmer“

Theoretische Informatik Seminar FStephan NeumannMichael Groß16.10.2002

Page 2: Gruppe A4 – „Stürmer“

0,8

0,8

0,2

0,2

Der Playground

0,17

0,060,108

0,04

Page 3: Gruppe A4 – „Stürmer“

Automatisches Testen – die Testsuite

Page 4: Gruppe A4 – „Stürmer“

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

Page 5: Gruppe A4 – „Stürmer“

Der Regler

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)

• zustandsbasiert• 8 Aktionen (Behaviors):

Page 6: Gruppe A4 – „Stürmer“

Regler – verwendete Features

Abstand zum Ball (direkt davor, sonst) Abstand zum Hindernis Winkel zum Hindernis Winkel zum Tor

Page 7: Gruppe A4 – „Stürmer“

Regler - EntscheidungsbaumBall genau vor Roboter?

Gehe zu BallHindernis SEHR nahe?

JA NEIN

Hindernis Ausweichen

Tor gerade voraus &Hindernis nicht im Weg?

|Hindernis Winkel| < 60°?

Hindernis nahe?

Hindernis sehr nahe?

|Hindernis Winkel| < 30°?

vorwärts

Parallel zu Hindernisdrehen & vorwärts

vorwärtsSchießen! Selbstmord

Roboter parallel zuHindernis & Tor ‚voraus‘ ?

vorwärts

Hindernis zu nahe für Kurve? Kurve

Hindernis steht Kurve im Weg?Kurve Kurve (blockiert)

Page 8: Gruppe A4 – „Stürmer“

Regler – Ergebnisse: 65,7%

Page 9: Gruppe A4 – „Stürmer“

‚Bewertung‘ einer Q-Table – Difference und Total Difference

4,297

8,3

4,2

8,6

8,4

6,4

29

2,37

6,25

2,07

2,38

4,27

29111

12733

40135

13764

28363

42721

DifferenceTotal

QQQ DIFFMAX

Page 10: Gruppe A4 – „Stürmer“

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)

Page 11: Gruppe A4 – „Stürmer“

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 : 2States = 2 * 5 * 6 * 2 = 120;|QTable| = States * Actions = 960

Page 12: Gruppe A4 – „Stürmer“

Statediskretisierungen graphisch

Page 13: Gruppe A4 – „Stürmer“

Lernreihe 1: Rewardmodell

Erfolg: 100 Fehlschlag: -100 Behavior beendet sich sofort: -10

Page 14: Gruppe A4 – „Stürmer“

Lernreihe 1 - Ergebnisse

Episoden ErfolgFehlschla

g ProzentGeänderte Actions T-Diff

1524 70 207 25,27% 120 450

2910 131 146 47,29% 58 962

3447 133 144 48,01% 32 889

5000 119 158 42,96% 33 1758

6459 130 147 46,93% 25 2563

6805 144 133 51,99% 10 2711

7309 136 141 49,10% 12 2915

7797 136 141 49,10% 16 3033

8332 140 137 50,54% 9 3274

10001 144 133 51,99% 13 4259

14539 137 140 49,46% 8 5696

Page 15: Gruppe A4 – „Stürmer“

Lernreihe 1 - Ergebnisse

5000 10000 150000

10

20

30

40

50

60

70

80

90

100

Erfolgreiche Episoden [%]Total Difference [0 - 6000]Geaenderte Actions [0 - 120]Regler

Page 16: Gruppe A4 – „Stürmer“

Lernreihe 1, 1524 Episoden, 25,3%

Page 17: Gruppe A4 – „Stürmer“

Lernreihe 1, 2910 Episoden, 47,3%

Page 18: Gruppe A4 – „Stürmer“

Lernreihe 1, 3557 Episoden, 48,0%

Page 19: Gruppe A4 – „Stürmer“

Lernreihe 1, 5000 Episoden, 43,0%

Page 20: Gruppe A4 – „Stürmer“

Lernreihe 1, 6459 Episoden, 46,9%

Page 21: Gruppe A4 – „Stürmer“

Lernreihe 1, 6805 Episoden, 52,0%

Page 22: Gruppe A4 – „Stürmer“

Lernreihe 1, 7309 Episoden, 49,1%

Page 23: Gruppe A4 – „Stürmer“

Lernreihe 1, 7797 Episoden, 49,1%

Page 24: Gruppe A4 – „Stürmer“

Lernreihe 1, 8332 Episoden, 50,5%

Page 25: Gruppe A4 – „Stürmer“

Lernreihe 1, 10001 Episoden, 52,0%

Page 26: Gruppe A4 – „Stürmer“

Lernreihe 1, 14539 Episoden, 49,5%

Page 27: Gruppe A4 – „Stürmer“

Regler 65,7% (zum Vergleich)

Page 28: Gruppe A4 – „Stürmer“

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)

Page 29: Gruppe A4 – „Stürmer“

Lernreihe 2 - Ergebnisse

Episoden Erfolg Fehler ProzentGeänderte Actions T-Diff

1966 135 142 48,74% 120 2203

2910 131 146 47,29% 27 2207

3222 141 136 50,90% 29 3411

4142 118 159 42,60% 28 3071

6652 84 193 30,32% 18 2850

Page 30: Gruppe A4 – „Stürmer“

Lernreihe 2 - Ergebnisse

1000 2000 3000 4000 5000 6000 70000

10

20

30

40

50

60

70

80

90

100

Erfolgreiche Episoden [%]Total Difference [0 - 3500]Geaenderte Actions [0 - 120]Regler

Page 31: Gruppe A4 – „Stürmer“

Lernreihe 2, 1966 Episoden, 48,7%

Page 32: Gruppe A4 – „Stürmer“

Lernreihe 2, 2910 Episoden, 47,3%

Page 33: Gruppe A4 – „Stürmer“

Lernreihe 2, 3222 Episoden, 50,9%

Page 34: Gruppe A4 – „Stürmer“

Lernreihe 2, 4142 Episoden, 42,6%

Page 35: Gruppe A4 – „Stürmer“

Lernreihe 2, 6652 Episoden, 30,3%

Page 36: Gruppe A4 – „Stürmer“

Regler 65,7% (zum Vergleich)

Page 37: Gruppe A4 – „Stürmer“

Lernreihe 3 - Ergebnisse

Episoden Erfolg Fehler Prozent

Geänderte Actions T-Diff

1966 135 142 48,74% 120 2203

6524 136 141 49,10% 23 5509

9532 138 139 49,82% 6 6769

Page 38: Gruppe A4 – „Stürmer“

Lernreihe 3 - Ergebnisse

1000 2000 3000 4000 5000 6000 7000 8000 9000 100000

10

20

30

40

50

60

70

80

90

100

Erfolgreiche Episoden [%]Total Difference [0 - 7000]Geaenderte Actions [0 - 120]Regler

Page 39: Gruppe A4 – „Stürmer“

Lernreihe 3, 1966 Episoden, 48,7%

Page 40: Gruppe A4 – „Stürmer“

Lernreihe 3, 6524 Episoden, 49,1%

Page 41: Gruppe A4 – „Stürmer“

Lernreihe 3, 9532 Episoden, 49,8%

Page 42: Gruppe A4 – „Stürmer“

Regler 65,7% (zum Vergleich)

Page 43: Gruppe A4 – „Stürmer“

Alle Tests zusammen:Lernreihe 1 Lernreihe 2 Lernreihe 3

Page 44: Gruppe A4 – „Stürmer“

Behavior RL

Problem Stetiger Zustandsraum.

Stetige Aktionen.

Page 45: Gruppe A4 – „Stürmer“

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.

Page 46: Gruppe A4 – „Stürmer“

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.

Page 47: Gruppe A4 – „Stürmer“

Aktion/Reward Funktion

1

1

max

max

iik

ii

iik

iii

yyuu

yyuuyuf

Funktion durch n Kontrollpunkte (2 mal n Parameter) definiert.

Funktion geht garantiert durch höchsten Kontrollpunkt – leichtes ermitteln des Maximums.

u

f(u

)

(u2,y2)

(u1,y1)

(u3,y3)

Page 48: Gruppe A4 – „Stürmer“

Wire Fitting

1

1

max

max

iik

ii

iik

iii

yyuu

yyuuyuf

Position der Kontrollpunkte soll vom Zustandsvektor x abhängen, y=f(u) ist dabei der zu erwartende reward.

u

f(u

)

(u2,y2)

(u1,y1)

(u3,y3)

1

max

2

1

max

2

,

iiii

iiiii

qqc

qqcxqQ

xxx

xxxux

uu

uu

x Zustandsvektoru Aktion(svektor)Q(x,u) erwarteter Rewardc Smoothing Faktor

Page 49: Gruppe A4 – „Stürmer“

Kontrollpunkte mit ANN bestimmen

Aktion u

q

Beste Aktion u

Interpolationsfunktion

Neuronales Netz

State

Page 50: Gruppe A4 – „Stürmer“

Einbringen von Vorwissen

Aktion u

q

Interpolationsfunktion

Neuronales Netz

State

Reglergewählte Aktion u

Page 51: Gruppe A4 – „Stürmer“

Lernen mit Wire RL Ermittle die beste Aktion u und dazugehörendes

Q(xt, u) für Statevektor xt.

Führe Aktion aus, ermittle Reward rt+1 und neuen State xt+1 (beachte ||xt+1- xt||).

Q-Learning

Verwende Gradient Descent, um die Kontrollpunkte zu verändern.

Verwende Gradient Descent, um das ANN an die neuen Kontrollpunkte anzupassen.

tttu

ttttt uxQuxQruxQuxQ ,,max,, 11

Page 52: Gruppe A4 – „Stürmer“

Beispiel

Page 53: Gruppe A4 – „Stürmer“

Probleme

Verlernen.

Unstetige Werte.

Nicht skalierte Werte.