Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Teil 5: Kollisionsvermeidung & Wegplanung

Ähnliche Präsentationen


Präsentation zum Thema: "Teil 5: Kollisionsvermeidung & Wegplanung"—  Präsentation transkript:

1 Teil 5: Kollisionsvermeidung & Wegplanung
KI-Übung Teil 5: Kollisionsvermeidung & Wegplanung

2 Wegplanung Minkowski Summe A ◦ B = { a + b | a elem A,b elem B}
Negation : –A = { -a | a elem A } KI-Übung SoSe 2006

3 Behandlung der Rotation
Diskretisierung der Rotation  In jedem Winkelbereich ergibt sich eine Konfigurationsebene KI-Übung SoSe 2006

4 Der Gelenkraum Beispiel: Gelenkmechanismus mit 2 Drehgelenken
KI-Übung SoSe 2006

5 Wegsuche im Gelenkraum
- Wegsuche ist Suche nach einer Bewegung für Punkte zwischen Gelenkraumhindernissen KI-Übung SoSe 2006

6 Zerlegung des Konfigurationsraums
Quadtree, Octrees: KI-Übung SoSe 2006

7 Die Via Punkt Strategie
Seien Gelenkraumhindernisse initial unbekannt Stelle rekursiv Anfragen für Strecken im Gelenkraum: Nachteil: Keine Lösung innerhalb isolierter Zusammenhangskomponenten des Glenkraums KI-Übung SoSe 2006

8 Die Potientialfeldmethode
Hindernissen werden abstossende Potientiale und dem Zielpunkt ein anziehendes Potential zugeordnet  Punkt wird durch Hindernissraum bis zum Ziel bewegt Nachteil 1: Endlosschleifen in lokalen Minima  Kombination mit einer zufälligen Suche Nachteil 2: Exponentielles Wachstum der Anzahl der Nachbarn  Reduktion des Aufwandes durch zufällige Auswahl einer Teilmenge der Nachbarn von KI-Übung SoSe 2006

9 Die Potientialfeldmethode
KI-Übung SoSe 2006

10 Angepasster A* Algorithmus
Kombination des A* Verfahrens in Kombination mit einer zufälligen Suche KI-Übung SoSe 2006

11 Aspiration Windows KI-Übung SoSe 2006

12 Principal Variation (NegaScout) Suche
Marsland, Campbell 1982, Verbesserung führt zu NegaScout-Algorithmus (Reinefeld 1983) Die Principal-Variation-Suche nimmt an, dass ein Folgezug der zwischen Alpha und Beta liegt, sich als bester möglicher Zug herausstellen wird. Deshalb wird Alpha-Beta-Fenster minimal verkleinert, um maximale Anzahl an Cutoffs zu erreichen, aber dennoch die verbleibenden Züge als schlechter zu beweisen. KI-Übung SoSe 2006

13 Principal Variation Search
int NegaScout ( position p; int alpha, beta ); { /* compute minimax value of position p */ int a, b, t, i; determine successors p_1,...,p_w of p; if ( w == 0 ) return ( Evaluate(p) ); /* leaf node */ a = alpha; b = beta; for ( i = 1; i <= w; i++ ) { t = -NegaScout ( p_i, -b, -a ); if (t > a) && (t < beta) && (i > 1) && (d < maxdepth-1) a = -NegaScout ( p_i, -beta, -t ); /* re-search */ a = max( a, t ); if ( a >= beta ) return ( a ); /* cut-off */ b = a + 1; /* set new null window */ } return ( a ); KI-Übung SoSe 2006

14 Principal Variation Suche
KI-Übung SoSe 2006

15 Principal Variation Search
Knoten gehört einer der drei Kategorien an: Alpha-Knoten: Jeder Folgezug liefert Wert kleiner oder gleich Alpha  kein guter Zug möglich Beta-Knoten: Mindestens ein Folgezug liefert Wert größer oder gleich Beta  Cutoff Principal Variation-Knoten: Mindestens ein Folgezug liefert Wert größer als Alpha, aber alle liefern einen Wert kleiner oder gleich Beta. KI-Übung SoSe 2006

16 Principal Variation Search
Manchmal frühzeitig erkennbar welche Art von Knoten vorliegt: Erste getestete Folgezug Wert größer gleich Beta  Beta-Knoten. Wert kleiner gleich Alpha  möglicherweise Alpha-Knoten (vorausgesetzt, die Züge sind gut vorsortiert) Wert zwischen Alpha und Beta  möglicherweise Principal Variation-Knoten. KI-Übung SoSe 2006

17 Killer Heuristik Die Killer-Heuristik ist eine spezielle Art der Zugvorsortierung. Man nimmt an, dass Züge, die Cutoffs verursacht haben, auch in anderen Teilen des Suchbaumes (bei gleicher Tiefe) einen Cutoff verursachen werden.  Deshalb künftig immer zuerst betrachten, sofern gültiger Zug Vorsicht: Heuristik kann nicht bei allen Spielen sinnvoll angewendet werden, da Aussicht, dass Killerzüge auch in anderen Teilen des Suchbaumes noch gültige Züge sind, gering ist. KI-Übung SoSe 2006

18 Alpha Beta Suche KI-Übung SoSe 2006

19 NegaMax Algorithmus Variante des Alpha-Beta Algorithmus
Während die Standard-Implementierung für einen Spieler maximiert und für den anderen Spieler minimiert, maximiert die Negamax-Variante für beide Spieler und vertauscht und negiert Alpha und Beta bei der Rekursion.  Bewertungsfunktion muss sich unterschiedlich verhalten Standard-Implementierung: Je besser die Brettstellung für maximierenden Spieler desto größer Rückgabewert der Bewertungsfunktion. Je besser für minimierenden Spieler  desto kleiner ist der Rückgabewert. Negamax-Implementierung: Da beide Spieler maximieren, muss die Bewertungsfunktion desto größere Werte liefern, je besser die Brettposition des gerade Ziehenden ist. KI-Übung SoSe 2006

20 NegaMax Algorithmus int AlphaBeta(int tiefe, int alpha, int beta) {
if (tiefe == 0) return Bewerten(); GeneriereMoeglicheZuege(); while (ZuegeUebrig()) FuehreNaechstenZugAus(); wert = -AlphaBeta(tiefe-1, -beta, -alpha); MacheZugRueckgaengig(); if (wert >= beta) return beta; if (wert > alpha) alpha = wert; } return alpha; KI-Übung SoSe 2006


Herunterladen ppt "Teil 5: Kollisionsvermeidung & Wegplanung"

Ähnliche Präsentationen


Google-Anzeigen