Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz...

50
Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz - Verfahren autonomer Wegplanung - Einführung in die Künstliche Intelligenz ES ES P LS LS S ST ST G ML ML D EB EB 1 Dr. Marco Block-Berlitz Sommersemester 2009 O ME ME NN NN EA EA SA SA SV SV FSM FSM PF PF

Transcript of Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz...

Page 1: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

- Verfahren autonomer Wegplanung -

Einführung in die Künstliche Intelligenz

ESES

PP LSLS

SS STST

GG

MLML

DD

EBEB

1Dr. Marco Block-BerlitzSommersemester 2009

OOMEMENNNN

EAEA

SASA

SVSV FSMFSM

PFPF

Page 2: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

1) Definition und Geschichte der KI, PROLOG

2) Expertensysteme

3) Logisches Schließen, Resolution

Übersicht zum Vorlesungsinhalt

3) Logisches Schließen, Resolution

4) Suche und Spieltheorie

5) Optimierungen und Heuristiken (Spieleprogrammierung)

6) Mustererkennung

7) Neuronale Netze

8) General Game Playing

9) Maschinelles Lernen9) Maschinelles Lernen

10) Evolutionäre Algorithmen und kollektive Intelligenz

11) Entscheidungsbäume, Multitouch

12) Autonome Wegplanung

Sommersemester 2009 Dr. Marco Block-Berlitz 2

Page 3: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Wo wird Wegplanung benötigt?

• Autonome Agenten/Systeme

• Robotik, Fahrzeuge

• Virtuelle Agenten in Spielen

Sommersemester 2009 Dr. Marco Block-Berlitz 3

Page 4: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Wegplanung (pathfinding, pathplanning) kann deterministisch erfolgen, z.B. beifestgelegten Patroulienwegen, oder innerhalb einer bestimmten Region auch zufälligsein, z.B. bei Tierbewegungen.

Wegplanung allgemein

Agentenbasierte Wegplanung mit definiertem Start und Ziel

Bei der agentenbasierte Wegplanung gibt es eine Weltrepräsentation, in der sich ein Agent an einer genau definierten Startposition befindet (Orientierung/Geschwindigkeit) und einen Weg zu einer Zielposition finden soll.

Sommersemester 2009 Dr. Marco Block-Berlitz 4

Page 5: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Agentenbasierte Wegplanung mit Start und Ziel

Zur intelligenten und schnellen agentenbasierten Wegplanung müssen wir zwei Konzepte untersuchen und verstehen:

Quantization

Suche mit A*-Varianten

SuchraumrepäsentationWeltrepräsentation

Academics versus Spielspaß

Sommersemester 2009 Dr. Marco Block-Berlitz 5

Localization

Page 6: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Der A*-Algorithmus ist ein Standardverfahren zur Identifizierung eines optimalenWeges in einem gegebenen gerichteten, nicht-negativ gewichteten Graphen. Es gibtverschiedenen Varianten des A*-Algorithmus.

Pathfinding – Suchtechniken

Luftlinie nach Ulm:

Basel 204Bayreuth 207Bern 247Frankfurt 215Innsbruck 163Karlsruhe 137Landeck 143Linz 318München 120Mannheim 164Memmingen 47

Sommersemester 2009 Dr. Marco Block-Berlitz 6

Memmingen 47Nürnberg 132Passau 257Rosenheim 168Stuttgart 75Salzburg 236Würzburg 153Zürich 157

Page 7: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Pathfinding – Heuristiken für A*-Algorithmus

Null-Heuristik

Die Null-Heuristik liefert bei jeder Anfrage einfach den Wert 0 zurück.Zur Erinnerung: Der A*-Algorithmus mit Null-Heuristik entspricht dem Dijkstra-Algorithmus.

Euklidische Distanz

Die Auswahl der besten Knoten im A*-Algorithmus wird durch die gegebenen Luftlinien ermittelt. Indiesem Fall durch die euklidische Distanz.

Algorithmus.

1

Sommersemester 2009 Dr. Marco Block-Berlitz 7

2.2 1.4 1

Beispiel aus [1]

1 1

1 1

direkte Verbindung

heuristische Entfernung

Startknoten

Zielknoten

Page 8: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Clusterheuristik

Pathfinding – Heuristiken für A*-Algorithmus

Knoten im Graphen werden gruppiert und eine Lookup-Tabelle (LT) fürdie kürzesten Verbindungen untereinander erzeugt. Die Berechnungder Cluster und der LT finden offline statt.

11

10

8

8

6

57

14

13

12

10

15

11

7

9

C1

C2Lookup-Tabelle

C1 C2 C3

C1

C2

C3

X

X

X

13 29

7

7

13

29

Sommersemester 2009 Dr. Marco Block-Berlitz 8

Beispiel aus [1]

8

12 10

8

7

C3

C3 X729

Vor- und Nachteile

Um den besten Weg durch ein Cluster zu finden, wird dieses meistenserst gefüllt, bevor es zum nächsten geht. Wenn Cluster klein genugsind, ist das kein Problem, aber dadurch wird die LT sehr groß unddamit der Vorberechnungsaufwand u.U. sehr lang.

Page 9: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

• Reguläre Grids (Quadrate, Hexaeder, ...)

• Eckpunkt-Graphen

• Graphen mit Wegpunkten

Pathfinding – Quantization

• Graphen mit Wegpunkten

• Kreisbasierte Wegpunkt-Graphen

• Volumenbasierte Wegpunkt-Graphen

• Navigation- meshes

• Hierarchische Repräsentationen

• Precomputing: Transition tables

Sommersemester 2009 Dr. Marco Block-Berlitz 9

• Lazy probabilistic roadmap

• Rapidly-exploring Random Trees

• Extended Rapidly-exploring Random Trees

Page 10: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Pathfinding – Reguläre Grids

Oft wird die Welt durch eine regelmäßige Unterteilung beschreiben (Quadrate,Hexaeder, ...). Die Zentren werden dabei als Knoten für die Graphrepräsentationverwendet.

Sommersemester 2009 Dr. Marco Block-Berlitz 10

Bild und Download [2]

Page 11: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Pathfinding – Grids als Graphen

Als Knoten werden die Zentren der Felder verwendet. Die Kanten werdenentsprechend über die gegebenen Nachbarschaften definiert.

Sommersemester 2009 Dr. Marco Block-Berlitz 11

Page 12: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Pathfinding – Reguläre Grids

Bewegungen von nord, süd, ost und west sind möglich. Das reduziert denAufwand bei der Ermittlung des besten Weges im A*-Algorithmus

Startknoten

Zielknoten

Sommersemester 2009 Dr. Marco Block-Berlitz 12

Beispiel aus [3]

Page 13: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Pathfinding – Reguläre Grids

Diagonale Bewegungen sind erlaubt und verkürzen damit den Gesamtweg.

Sommersemester 2009 Dr. Marco Block-Berlitz 13

Beispiel aus [3]

Page 14: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Pathfinding – Grids als Graphen

Bei der Optimierung des Weges können weitere Kanten hinzugefügt werden. ZuBeginn wird der Graph klein gehalten, um den Suchaufwand zu reduzieren.

Sommersemester 2009 Dr. Marco Block-Berlitz 14

Page 15: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Pathfinding – Reguläre Grids

String-pulling (line-of-sight) wurde angewendet und so der Weg weiter verkürzt.Dabei wird jeder Knoten Pn entfernt, wenn ein direkter Weg zwischen Pn-1 undPn+1 existiert.

Sommersemester 2009 Dr. Marco Block-Berlitz 15

Beispiel aus [3]

Page 16: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Pathfinding – Reguläre Grids

Optimierter Weg mit Catmull-Rom-Spline. Alle Punkte werden dabei durchlaufenund Änderungen beieinflussen die Kurve nur lokal.

[7]

Sommersemester 2009 Dr. Marco Block-Berlitz 16

Formeln und Abbildungen aus [5]

Java-Source-Code zu Catmull-Rom Splines und weiteren, wie z.B. B-Spline,Cubic-Splines oder Bezier Kurven ist hier zu finden in [6].

Page 17: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Das wollen wir gleich live testen ...

Sommersemester 2009 Dr. Marco Block-Berlitz 17

Page 18: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Pathfinding – Optimaler Weg

Gegeben sei eine Weltrepräsentation in 2D mit dem Start X und dem Ziel Y. Wirwollen anhand dieses Beispiels die verschiedenen Repräsentationen erläuternund diskutieren.

X

Y

Sommersemester 2009 Dr. Marco Block-Berlitz 18

Y

Beispiel aus [3]

Page 19: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Pathfinding – Eckpunkt-Graphen

Knoten werden an den Ecken von Hindernissen plaziert und Kanten entsprechend der Sichtbarkeit gesetzt.

Sommersemester 2009 Dr. Marco Block-Berlitz 19

Beispiel aus [3]

Page 20: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Pathfinding – Eckpunkt-Graphen

Start- und Zielpositionen werden wie Knoten im Graphen behandelt. Mit den gegebenen Wegpunkten werden oft suboptimale Wege identifiziert.

X

Y

Sommersemester 2009 Dr. Marco Block-Berlitz 20

Y

Beispiel aus [3]

Page 21: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Pathfinding – Eckpunkt-Graphen

Zunächst werden die (nahen) erreichbaren Knoten identifiziert und der Weg konstruiert.

X

Y

Sommersemester 2009 Dr. Marco Block-Berlitz 21

Y

Beispiel aus [3]

Page 22: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Pathfinding – Eckpunkt-Graphen

Mit Hilfe von String-pulling lassen sich die Wege wieder verkürzen.

X

Y

Sommersemester 2009 Dr. Marco Block-Berlitz 22

Y

Problematisch ist die Handhabung bei Agenten mit unterschiedlichen Größen. Es werden also individuelle Graphen benötigt.

Beispiel aus [3]

Page 23: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Pathfinding – Wegpunkte selber festlegen

Wegpunkte lassen sich auch vom Programmierer festlegen. So beispielsweise in der Mitte von Räumen oder Hallen, weit entfernt von Ecken und Wänden. Diese Technologie ist auf Grund der einfachen Handhabung in 3D-Spielen sehr beliebt. Leider ist es auch damit nicht einfach optimale Wege zu finden.

Sommersemester 2009 Dr. Marco Block-Berlitz 23

Beispiel aus [3]

Academics versus Spielspaß

Page 24: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Pathfinding – Wegpunkte selber festlegen

Auch hier verwenden wir die gleichen Techniken, um den besten Weg zu finden. Schauen wir uns dazu ein Beispiel an.

X

Y

Sommersemester 2009 Dr. Marco Block-Berlitz 24

Beispiel aus [3]

Y

Page 25: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Pathfinding – Wegpunkte selber festlegen

Wenn wir wieder die Optimierung String-pulling anwenden, wird der Weg verkürzt.

X

Y

Sommersemester 2009 Dr. Marco Block-Berlitz 25

Beispiel aus [3]

Y

Page 26: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Pathfinding – Kreisbasierter Wegpunkt-Graph

Anstatt die Ecken der Hindernisse als Knoten zu verwenden, wird eine minimale Anzahl von Kreisen aufgespannt (die sich schneiden müssen) und die jeweiligen Zentren verwendet.

Sommersemester 2009 Dr. Marco Block-Berlitz 26

Beispiel aus [3]

Page 27: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Pathfinding – Volumenbasierter Wegpunkt-Graph

Es können auch andere Volumina als z.B. Kreise verwendet werden. Die Knoten entsprechen jetzt allerdings den Kanten zwischen den Voluminaobjekten.

Sommersemester 2009 Dr. Marco Block-Berlitz 27

Beispiel aus [3]

Page 28: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Pathfinding – Dreieckbasiertes Navigationmesh

Oft werden Triangulierungen eingesetzt, um Meshes zu konstruieren.

Sommersemester 2009 Dr. Marco Block-Berlitz 28

Beispiel aus [3]

Page 29: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Pathfinding – Demo von Paul Tozour

Sommersemester 2009 Dr. Marco Block-Berlitz 29

Bild und Download [2]

Page 30: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Das wollen wir gleich live testen ...

Sommersemester 2009 Dr. Marco Block-Berlitz 30

Page 31: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Pathfinding – Probleme der realen Welt

Umwelt ist nicht statisch sondern dynamisch. Objekte (Hindernisse) können sichbewegen, was die Wegplanung erschwert. Detailierte Vorberechnung ist dabeieigentlich unmöglich.

Orientierung ist wichtig und erhöht damit die Komplexität der Suche.

Ziel

Sommersemester 2009 Dr. Marco Block-Berlitz 31

Start

Ziel

Roboter

Page 32: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Pathfinding – Lazy probabilistic roadmap

Gegeben sind Start- und Zielknoten. In der Initialisierungsphase werden dabei nKnoten zufällig platziert.

Startknoten

Zielknoten

Sommersemester 2009 Dr. Marco Block-Berlitz 32

Beispiel aus [3]

Page 33: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Pathfinding – Lazy probabilistic roadmap

Für alle Knoten werden in Abhängigkeit einer vorgegebenen Entfernung (Radius r)die Nachbarschaften festgelegt.

Sommersemester 2009 Dr. Marco Block-Berlitz 33

Beispiel aus [3]

Page 34: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Pathfinding – Lazy probabilistic roadmap

Im folgenden Schritt wird der A*-Algorithmus wie gewohnt verwendet.

Sommersemester 2009 Dr. Marco Block-Berlitz 34

Beispiel aus [3]

Page 35: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Pathfinding – Lazy probabilistic roadmap

Daraus ergibt sich ein Weg, der nicht notwendigerweise möglich ist, da er aufGrund der zufällig platzierten Knoten durch Hindernisse verlaufen kann (wie indiesem Beispiel).

Sommersemester 2009 Dr. Marco Block-Berlitz 35

Beispiel aus [3]

Page 36: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Pathfinding – Lazy probabilistic roadmap

Der Weg wird vom Startknoten aus im Anschluß überprüft und die Knotenidentifiziert, die nicht erreichbar sind (ungültige Knoten). Desweiteren werdenauch ungültige Kanten identifiziert und entfernt.

ungültiger Knoten identifiziert

Sommersemester 2009 Dr. Marco Block-Berlitz 36

Beispiel aus [3]

Es werden nur die Knoten und Kanten auf Gültigkeit überprüft, die auf dem Weg des durch den A*-Algorithmus gelieferten Weg verlaufen. Daher auch die Bezeichnung „lazy“.

Page 37: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Pathfinding – Lazy probabilistic roadmap

Ungültige Knoten/Kanten werden entfernt, damit wird der durch den A*-Algorithmus konstruierte Weg unterbrochen.

Sommersemester 2009 Dr. Marco Block-Berlitz 37

Beispiel aus [3]

Page 38: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Pathfinding – Lazy probabilistic roadmap

Wiederhole A*-Algorithmus, Pfadvalidierung, Entfernung ungültiger Knoten/Kanten, bis ein gültiger Weg gefunden ist.

Sommersemester 2009 Dr. Marco Block-Berlitz 38

Beispiel aus [3]

Page 39: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Pathfinding – Lazy probabilistic roadmap

In diesem Fall wurde eine ungültige Kante identifiziert, da sie durch ein Hinderniss verläuft.

ungültige Kante identifiziertidentifiziert

Sommersemester 2009 Dr. Marco Block-Berlitz 39

Beispiel aus [3]

Page 40: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Pathfinding – Lazy probabilistic roadmap

In diesem Beispiel konnte ein gültiger Weg identifziert werden.

Sommersemester 2009 Dr. Marco Block-Berlitz 40

Beispiel aus [3]

Wenn kein gültiger Weg identifiziert werden konnte, werden zusätzliche Knoten zufällighinzugenommen und der Algorithmus beginnt von vorn.

Page 41: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Pathfinding – Geplanter Weg ≠ Gefahrener Weg

Der konstruierte Weg ist in der Realität so nicht abfahrbar (physikalischeEigenschaften, Trägheit, Geschwindigkeit, Orientierung, ...).

geplanter Weg

Sommersemester 2009 Dr. Marco Block-Berlitz 41

Beispiel aus [3]

gefahrener Weg

Page 42: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Pathfinding – Rapidly-exploring Random Trees

Vorteil von Rapidly-exploring Random Trees (RRT): Funktionieren im kontinuierlichenRaum, kein künstliches Grid notwendig.

0. Erzeuge einen (Start-)Knoten und füge ihn in den Baum ein0. Erzeuge einen (Start-)Knoten und füge ihn in den Baum ein

1. Wähle einen zufälligen Punkt T im Suchraum

2. Finde der nächsten Knoten K im Baum zu T

3. Erweitere den Knoten K (mit Hilfe einer der erlaubten Aktionen)

in Richtung T, wenn möglich

4. Erzeuge an der neuen Positionen einen Knoten K’

5. Füge den Knoten K’ dem Baum hinzu und aktualisiere die

Nachbarschaften

Sommersemester 2009 Dr. Marco Block-Berlitz 42

Abbildungen aus [8]

Page 43: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Pathfinding – Rapidly-exploring Random Trees

Ohne weitere Vorgaben und Einschränkungen beginnt der Baum in alle Richtungengleichmäßig zu wachsen.

Sommersemester 2009 Dr. Marco Block-Berlitz 43

Abbildungen aus [8]

Page 44: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Pathfinding – Rapidly-exploring Random Trees

Damit wird der Suchraum auch gleichmäßig exploriert.

Sommersemester 2009 Dr. Marco Block-Berlitz 44

Abbildungen aus [4]

Page 45: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Pathfinding – Rapidly-exploring Random Trees

Eine Erweiterung, die über Hindernisse hinwegführt, wird ignoriert:

Wenn ein Ziel entdeckt wurde, ermittle den Pfad direkt zum Wurzelknoten:

Sommersemester 2009 Dr. Marco Block-Berlitz 45

Abbildungen aus [8]

Page 46: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

RRT läßt sich zielorientiert (zur Wegplanung) erweitern:

Pathfinding – Rapidly-exploring Random Trees

0. Erzeuge einen (Start-)Knoten und füge ihn in den Baum ein

1. Wähle einen zufälligen Zielpunkt Z im Suchraum mit

Wahrscheinlichkeit (p) oder einen zufälligen Punkt im Suchraum Wahrscheinlichkeit (p) oder einen zufälligen Punkt im Suchraum

mit Wahrscheinlichkeit (1-p)

2. Finde der nächsten Knoten K im Baum zu T

3. Erweitere den Knoten K (mit Hilfe einer der erlaubten Aktionen)

in Richtung T, wenn möglich

4. Erzeuge an der neuen Positionen einen Knoten K’

5. Füge den Knoten K’ dem Baum hinzu und aktualisiere die

Nachbarschaften

Zielorientierte Erweiterung (p): Zufällige Erweiterung (1-p):

Sommersemester 2009 Dr. Marco Block-Berlitz 46

Abbildungen aus [8]

Page 47: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Pathfinding – Extended Rapidly-exploring Random Trees

ERRT enthält mit den gespeicherten Wegpunkten eine weitere Erweiterung.

0. Erzeuge einen (Start-)Knoten und füge ihn in den Baum ein

1. Wähle einen zufälligen Zielpunkt Z im Suchraum mit

Wahrscheinlichkeit (p) oder einen zufälligen Punkt aus einem

[8]

Wahrscheinlichkeit (p) oder einen zufälligen Punkt aus einem

älteren, bereits bekannten Weg aus der Vergangenheit mit

Wahrscheinlichkeit (q) oder einen zufälligen Punkt im Suchraum

mit Wahrscheinlichkeit (1-p-q)

2. Finde der nächsten Knoten K im Baum zu T

3. Erweitere den Knoten K (mit Hilfe einer der erlaubten Aktionen)

in Richtung T, wenn möglich

4. Erzeuge an der neuen Positionen einen Knoten K’

5. Füge den Knoten K’ dem Baum hinzu und aktualisiere die

Nachbarschaften

Zielorientierte Erw. (p): Zufällige Erw. (1-p-q):Wegorientierte Erw. (q):

Sommersemester 2009 Dr. Marco Block-Berlitz 47

Abbildungen aus [8]

Zielorientierte Erw. (p): Zufällige Erw. (1-p-q):Wegorientierte Erw. (q):

Page 48: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Pathfinding – Rapidly-exploring Random Trees

Beispiele für gegebene Situationen und mit RRT konstruierte Wege. Dabei wurden folgende Eigenschaften für die erlaubten Aktionen vorgegeben:

- das Fahrzeug hat einen beschränkten Lenkwinkel- das Fahrzeug fährt nur in eine Richtung- das Fahrzeug fährt nur in eine Richtung

Winkel kleiner

Sommersemester 2009 Dr. Marco Block-Berlitz 48

Abbildungen aus [4]

Page 49: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Schauen wir uns dazu noch etwas an ...

Sommersemester 2009 Dr. Marco Block-Berlitz 49

Page 50: Einführung in die Künstliche Intelligenz - Informatik · Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik –AG Künstliche Intelligenz 1) Definition und Geschichte

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Literatur- und Abbildungsquellen

Millington I.: „Artificial Intelligence for Games“, Morgan Kaufmann, Elsevier, 2006

Webseite von Paul Tozour: http://www.freewebs.com/paultozour/portfolio.htm

Rabin S. (Editor): „AI Game Programming WISDOM 2“, Charles River Media, 2004

Webseite zu RRT: http://msl.cs.uiuc.edu/rrt/

[1]

[2]

[3]

[4] Webseite zu RRT: http://msl.cs.uiuc.edu/rrt/

Webseite von Robert Dunlop: http://www.mvps.org/directx/articles/catmull/

Webseite von Tim Lambert: http://www.cse.unsw.edu.au/~lambert/splines/

Catmull E., Rom R.: “A class of local interpolating splines”, In Computer Aided Geometric

Design, R. E. Barnhill and R. F. Reisenfeld, Eds. Academic Press, New York, pp. 317–326,

1974

Veloso M.: “CMRoboBits: Probabilistic Path Planning”, Carnegie Mellon University, 2008

http://www.andrew.cmu.edu/course/15-491/lectures/F08_15491_Lecture6.pdf

Bruce J., Veloso M.: “Real-Time Randomized Path Planning for Robot Navigation”, In

Proceedings of IROS-2002, Switzerland 2002

[4]

[5]

[6]

[7]

[8]

[9]

Sommersemester 2009 Dr. Marco Block-Berlitz 50

Proceedings of IROS-2002, Switzerland 2002