Gruppe A4 – „Stürmer“

Post on 10-Jan-2016

36 views 3 download

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“

Gruppe A4 – „Stürmer“

Theoretische Informatik Seminar FStephan NeumannMichael Groß16.10.2002

0,8

0,8

0,2

0,2

Der Playground

0,17

0,060,108

0,04

Automatisches Testen – die Testsuite

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

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):

Regler – verwendete Features

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

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)

Regler – Ergebnisse: 65,7%

‚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

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

Statediskretisierungen graphisch

Lernreihe 1: Rewardmodell

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

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

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

Lernreihe 1, 1524 Episoden, 25,3%

Lernreihe 1, 2910 Episoden, 47,3%

Lernreihe 1, 3557 Episoden, 48,0%

Lernreihe 1, 5000 Episoden, 43,0%

Lernreihe 1, 6459 Episoden, 46,9%

Lernreihe 1, 6805 Episoden, 52,0%

Lernreihe 1, 7309 Episoden, 49,1%

Lernreihe 1, 7797 Episoden, 49,1%

Lernreihe 1, 8332 Episoden, 50,5%

Lernreihe 1, 10001 Episoden, 52,0%

Lernreihe 1, 14539 Episoden, 49,5%

Regler 65,7% (zum Vergleich)

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)

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

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

Lernreihe 2, 1966 Episoden, 48,7%

Lernreihe 2, 2910 Episoden, 47,3%

Lernreihe 2, 3222 Episoden, 50,9%

Lernreihe 2, 4142 Episoden, 42,6%

Lernreihe 2, 6652 Episoden, 30,3%

Regler 65,7% (zum Vergleich)

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

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

Lernreihe 3, 1966 Episoden, 48,7%

Lernreihe 3, 6524 Episoden, 49,1%

Lernreihe 3, 9532 Episoden, 49,8%

Regler 65,7% (zum Vergleich)

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

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)

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

Kontrollpunkte mit ANN bestimmen

Aktion u

q

Beste Aktion u

Interpolationsfunktion

Neuronales Netz

State

Einbringen von Vorwissen

Aktion u

q

Interpolationsfunktion

Neuronales Netz

State

Reglergewählte Aktion u

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

Beispiel

Probleme

Verlernen.

Unstetige Werte.

Nicht skalierte Werte.