Vorläufige Folien 378KB

Werbung
Wissensbasierte Systeme
3. Problemlösen durch Suche
Problemlösende Agenten, Problemformulierungen, Suchstrategien
Michael Beetz
Plan-based Robot Control
1
Inhalt
3.1 Problemlösende Agenten
3.2 Problemformulierungen
3.3 Problemtypen
3.4 Definitionen und Beispielprobleme
3.5 Suchstrategien
3.6 Constraint-Satisfaction Probleme
Plan-based Robot Control
2
3.1.1. Motivation
• frühe KI: Puzzles, Theorembeweisen, Spiele, ...
• Beispiele:
–
–
–
–
–
–
=
Missionaren und Kannibalen
Kryptarithmische Rätsel
Schach, Mühle, ...
Theorembeweisen
8-Puzzle
Traveling Salesman Probleme
Exploration von Alternativen
Plan-based Robot Control
3
3.1.2. Problemräume (Problem Spaces)
• einheitliche Sichtweise (Newell und Simon):
Problemraum
• Problemraum:
– Zustandsraum
– Menge von Operatoren
• Problemraumhypothese (Newell ’72):
– Jegliche zielgerichtete symbolische Aktivität findet in einem Problemraum statt
– Suche im Problemraum ist ein allgemeines Modell von kompetentem Problemlösen
• Kritik an der Problemraumhypothese
Plan-based Robot Control
4
3.1.3. Problemraum: Theorembeweisen
• Zustandsraum: Menge von Propositionen
• Operatoren: Inferenzregeln
• Anfangszustand: Menge von Axiomen
• Ziel: Proposition
Plan-based Robot Control
5
3.1.4. Problemlösende Agenten
⇒ problemlösende Agenten = Art von zielorientierten Agenten
⇒ wähle Aktionen, indem man zunächst eine Sequenz von Aktionen bestimmt, die Zielzustände bewirken
Formuliere: Ziel (= Menge von Zuständen) und Problem
Gegeben: Anfangszustand
Gewünscht: Erreichen eines bestimmten Ziels (eines Zustandes) durch Ausführen geeigneter Aktionen
; Suche einer geeigneten Aktionsfolge und Ausführung dieser Folge
Plan-based Robot Control
6
3.1.5. Ein einfacher problemlösender Agent
Plan-based Robot Control
7
3.1.6. Wie schwierig sind Suchprobleme?
• 8-Puzzle:
– Verzweigungsfaktor: 2.13
– Suchbaum der Tiefe 20 enthält 3.7 Millionen Knoten 15-Puzzle: 1013
• Rubik’s Cube:
– Suchraum: 901,083,404,981,813,616 Knoten
– 1 Mega-Dreh/sec: 28,000 Jahre
• Schach:
–
–
–
–
Verzweigungsfaktor: ca. 35
Suchraum Tiefe 5: > 52 Millionen Knoten
Tiefe 20: 7.6 * 1030
Gesamtsuchraum (geschätzt): 10120
Plan-based Robot Control
8
3.2.1. Problemformulierung
• Formulierung des Ziels
Weltzustände mit bestimmten Eigenschaften
• Festlegen des Weltzustandsraums
(wichtig: nur die relevanten Aspekte ; Abstraktion)
• Festlegen der Aktionen, die einen Weltzustand in einen anderen überführen
• Bestimmung des Problemtyps, der abhängig vom Wissen über Weltzustände und Aktionen
ist ; Zustände im Suchraum
• Bestimmung der Kosten für das Suchen (Suchkosten, Offline-Kosten) und der
Ausführungskosten (Pfadkosten, Online-Kosten)
Achtung: Die Art der Problemformulierung kann einen groen Einfluss auf die Schwierigkeit
der Lösung haben.
Plan-based Robot Control
9
3.2.2. Beispiel für Problemformulierung
Gegeben ein n × n Brett, bei dem an den beiden diagonal gegenüberliegenden Ecken je ein
Feld entfernt wurde (hier 8 × 8):
Ziel: Das Brett so mit Dominosteinen, die jeweils zwei benachbarte Felder überdecken,
belegen, dass alle Felder abgedeckt werden.
; Ziel, Zustandsraum, Aktionen, Suche . . .
Plan-based Robot Control
10
3.2.3. Alternative Problemformulierung
Frage: Kann man ein Brett, auf dem es n2/2 schwarze und n2/2 − 2 weie Felder gibt, so
mit Dominosteinen, die jeweils ein weies und ein schwarzes Feld überdecken, belegen, dass
alle Felder abgedeckt sind?
. . . natürlich nicht
Plan-based Robot Control
11
3.2.4. Problemformulierung für die Staubsaugerwelt
• Weltzustandsraum: 2 Positionen, Schmutz oder kein Schmutz
; 8 Weltzustände
• Aktionen: links (L), rechts(R), saugen(S)
• Ziel: kein Schmutz in den Räumen
• Pfadkosten: pro Aktion 1 Einheit
Plan-based Robot Control
12
3.3.1. deterministische, voll beobachtbare Probleme
Einzustandsprobleme in der Staubsaugerwelt
• voll beobachtbarer Zustandsraum
Zustand eindeutig identifizierbar
• deterministische Dynamik
Effekte sind deterministisch
• Dann kann er den Zustand bestimmen, den die Umgebung hat, nachdem er eine gegebene Folge von
Aktionen ausgeführt hat
• Insbesondere kann er bestimmen welche Aktionssequenz (Prozedur) einen Zielzustand bewirkt
• Beispiel:
– Anfangszustand = 5
– Aktionssequenz: [right,suck]
Plan-based Robot Control
13
3.3.2. Die Staubsaugerwelt als Einzustandsproblem
Falls die Welt vollständig zugänglich ist, wei der Staubsauger immer, wo er und der
Schmutz sind. Problemlösen reduziert sich dann auf die Suche nach einem Pfad von
unserem Anfangszustand zu einem Zielzustand.
Zustände für die Suche: Die Weltzustände 1–8.
Plan-based Robot Control
14
3.3.3. nichtdeterministische voll beobachtbare Probleme
Mehrzustandsprobleme in der Staubsaugerwelt (1)
• voll beobachtbarer Zustandsraum
• nichtdeterministische Dynamik
• gegeben einen Start- und eine Menge von Zielzuständen
dann gibt es eine Prozedur (Value Iteration für MDPs), die eine feste Policy (Abbildung
von Zuständen auf Aktionen), die den Agenten vom Startzustand zum Zielzustand
überführt
Plan-based Robot Control
15
3.3.4. nichtdeterministische voll beobachtbare Probleme
Mehrzustandsprobleme in der Staubsaugerwelt (1)
• Gesetzt den Fall, daß der Roboter
1. nur den den Zustand der lokalen Zelle bestimmen kann und
2. die Effekte seiner Aktionen kennt (die Effekte sind deterministisch)
• Dann muß er die Menge der möglichen Zustände bei der Aktionsauswahl betrachten.
• Dann kann er die Menge der Zustände bestimmen, die die Umgebung haben kann
nachdem er eine gegebene Folge von Aktionen ausgeführt hat
• Insbesondere kann er bestimmen welche Aktionssequenz einen Zielzustand bewirkt
• Beispiel:
– Anfangszustand = {1,2,3,4,5,6,7,8}
– Aktionssequenz: [right,suck,left,suck]
Plan-based Robot Control
16
3.3.5. Kontingenzprobleme in der Staubsaugerwelt
• Gesetzt den Fall, daß die Effekte der Roboteraktionen nichtdeterministisch sind:
Aktionsmodell SUCK
IF NO-DIRT
THEN DIRT ∨ NO-DIRT
ELSE NO-DIRT
• dann gilt:
1. Falls er den Anfangszustand kennt, dann kann er eine Aktionssequenz bestimmen, die das Ziel erreicht
2. Falls er den Anfangszustand nur teilweise kennt, kann er keine Aktionssequenz bestimmen, die das Ziel
notwendigerweise erfüllt.
• Die zweite Klasse von Problemen werden Kontingenzprobleme genannt: Sie erfordern Zustandsperzeption
während der Ausführung:
sauge wenn die Zelle schmutzig ist
Plan-based Robot Control
17
3.3.6. Deterministische, partiell beobachtbare Probleme
Falls der Staubsauger keine Sensoren besitzt, wei er nicht, wo er ist und wo Schmutz ist. Trotzdem kann er
das Problem lösen. Zustände sind dann Wissenszustände:
Zustände für die Suche: Potenzmenge der Weltzustände 1–8.
Plan-based Robot Control
18
3.3.7. nichtdeterministische, partiell beobachtbare Probleme
• partiell beobachtbare Zustandsräume
• nichtdeterministische Dynamik
• gegeben eine Start- und eine Menge von Zielzuständen
es gibt eine Prozedur (partiell beobachtbarer Markoventscheidungsprozeß) die eine fixe
partielle Policy (Abbildung von Teilmengen von Zuständen auf Aktionen), die den Agenten
von einem Start- zu Zielzuständen bringt, falls eine solche Policy existiert.
Plan-based Robot Control
19
Plan-based Robot Control
20
3.3.8. Problemtypen: Wissen über Zustände und Aktionen
Einzustandsproblem
vollständiges Weltzustandswissen,
vollständiges Aktionswissen
; der Agent weiβ immer, in welchem Weltzustand er ist.
Mehrzustandsproblem
unvollständiges Weltzustandswissen oder
unvollständiges Aktionswissen
; der Agent weiβ nur, in welcher Menge von Weltzuständen er ist.
Kontingenzproblem
es ist unmöglich, eine komplette Sequenz von Aktionen zur Lösung im voraus zu bestimmen, da nicht
alle Informationen über Zwischenzustände vorliegen.
Explorationsproblem
Zustandsraum und Effekte der Aktionen nicht vollständig bekannt. Schwer!
Plan-based Robot Control
21
3.4.1. Begriffe (1)
Anfangszustand
Zustand, von dem der Agent glaubt, anfangs zu sein
Zustandsraum
Menge aller möglichen Zustände
Operator
Beschreibung einer Aktion durch Angabe des resultierenden Zustands
Zieltest
Test, ob die Beschreibung eines Zustands einem Zielzustand entspricht
Plan-based Robot Control
22
3.4.2. Begriffe (2)
Pfad
Sequenz von Aktionen, die von einem Zustand zu einem anderen führen. Pfadkosten: Kostenfunktion g
über Pfaden. Setzt sich üblicherweise aus der Summe der Kosten der Aktionen zusammen.
Lösung
Pfad von einem Anfangs- zu einem Zielzustand.
Suchkosten
Zeit- und Speicherbedarf, um eine Lösung zu finden.
Gesamtkosten
Suchkosten + Pfadkosten.
Plan-based Robot Control
23
3.4.3. Beispiel: 8er-Puzzle
• Zustände:
– Beschreibung der Lage jedes der 8 Kästchen und (aus Effizienzgründen) des Leerkästchens.
• Operatoren:
–
Verschieben“ des Leerkästchens nach links, rechts, oben und unten.
”
• Zieltest:
– Entspricht aktueller Zustand dem rechten Bild?
• Pfadkosten
– Jeder Schritt kostet 1 Einheit.
Plan-based Robot Control
24
3.4.4. Beispiel: 8 Damen Problem
• Zieltest
– 8 Damen auf dem Brett, keine angreifbar
• Pfadkosten: 0 (nur die Lösung interessiert)
• Darstellung 1
– Zustände: beliebige Anordnung von 0–8 Damen
– Operatoren: setze eine der Damen aufs Brett
– Problem: 648 Zustände
Plan-based Robot Control
25
3.4.5. 8 Damen Problem (2)
• Darstellung 2
– Zustände: Anordnung von 0–8 Damen in unangreifbarer Stellung
– Operatoren: Setze eine der Damen soweit wie möglich links unangreifbar auf das Brett
– Problem: wenige Zustände (2057), aber manchmal keine Aktion möglich:
• Darstellung 3
– Zustände: 8 Damen auf dem Brett, eine in jeder Spalte
– Operatoren: verschiebe eine angegriffene Dame in derselben Spalte
Plan-based Robot Control
26
3.4.6. Beispiel: Missionare und Kannibalen
Informelle Problembeschreibung:
• An einem Fluss haben sich 3 Kannibalen und 3 Missionare getroffen, die alle den Fluss
überqueren wollen.
• Es steht ein Boot zur Verfügung, das maximal zwei Leute aufnehmen kann.
• Es sollte nie die Situation auftreten, dass an einem Ufer Missionare und Kannibalen sind
und dabei die Anzahl der Kannibalen die Anzahl der Missionare übertrifft.
; Finde eine Aktionsfolge, die alle an das andere Ufer bringt.
Plan-based Robot Control
27
3.4.7. Formalisierung des MuK-Problems
Zustände: Tripel (x,y,z) mit 0 ≤ x, y, z ≤ 3, wobei x, y und z angeben, wieviele Missionare,
Kannibalen und Boote sich zur Zeit am Ausgangsufer befinden.
Anfangszustand: (3,3,1)
Operatoren: Von jedem Zustand aus entweder einen Missionar, einen Kannibalen, zwei
Missionare, zwei Kannibalen, oder einen von jeder Sorte über den Fluss bringen. (also 5
Operatoren)
Beachte: nicht jeder Zustand damit erreichbar [z.B. (0,0,1)] und einige sind illegal.
Endzustand: (0,0,0)
Pfadkosten: 1 Einheit pro Flussüberquerung
Plan-based Robot Control
28
3.4.8. Beispiele für reale Probleme
• Routenplanung, Finden kürzester Pfade
Im Prinzip einfach (polynomiales Problem). Komplikationen bei unbekannten, sich dynamisch verändernden Pfadkosten (Beispiel: Routenplanung in Kanada)
• Planung von Rundreisen (TSP)
Eines der prototypischen NP-vollständigen Probleme.
• VLSI Layout
Auch ein NP-vollständiges Problem.
Plan-based Robot Control
29
Beispiele für reale Probleme (2)
• Roboter Navigation (mit vielen Freiheitsgraden)
Schwierigkeit nimmt mit der Anzahl der Freiheitsgrade extrem zu.
Weitere mögliche Komplikationen: Fehler bei Wahrnehmungen, unbekannte Umgebungen.
• Montageplanung
Planung des Zusammenbaus von komplexen Objekten.
Plan-based Robot Control
30
3.4.9. Allgemeine Formalisierung von Suchproblemen
Ein Suchproblem ist ein Quintupel:
• QQ: endliche Menge von Zuständen
• S ⊂ Q: nichtleere Menge von Startzuständen
• G ⊂ Q: nichtleere Menge von Zielzuständen (oft implizit durch einen Zieltest spezifiziert)
• A: endliche Menge von Aktionen
• Successors: Q × A → Q
• Cost: Q × A × Q → R+ (nur für Zustände, die in der Successor Funktion beinhaltet
sind)
Plan-based Robot Control
31
3.4.10. Welche Probleme können als Suchprobleme betrachtet
werden?
• Probleme, die man durch
hQ, S, G, Successors, Costi
beschreiben kann.
• Intuitiv: Probleme die man als das Auffinden von Knoten/Pfaden in endlichen Graphen
betrachten kann.
Plan-based Robot Control
32
3.5.1. Suche allgemein
Ausgehend vom Anfangszustand schrittweise alle Nachfolgezustände erzeugen ; Suchbaum.
Plan-based Robot Control
33
3.5.2. Allgemeine Suchprozedur
Plan-based Robot Control
34
3.5.3. Implementierung des Suchbaums
Datenstruktur für Knoten im Suchbaum:
State: Zustand des Zustandsraums
Parent-Node: Vorgängerknoten
Operator: Operator, der den aktuellen Knoten erzeugt hat
Depth: Tiefe im Suchbaum
Path-Cost: Pfadkosten bis zu diesem Knoten
Funktionen zum Manipulieren einer Warteschlange (Queue):
Make-Queue(Elements): Erzeugt eine Queue
Empty?(Queue): Testet auf Leerheit
Remove-Front(Queue): Gibt erstes Element zurück
Queuing-Fn(Elements, Queue): Fügt neue Elemente ein (verschiede Möglichkeiten)
Plan-based Robot Control
35
3.5.4. Allgemeine Suche . . . konkret
Plan-based Robot Control
36
3.5.5. Suchstrategien (1)
Kriterien:
Vollständigkeit: Wird immer eine Lösung gefunden, sofern es eine gibt?
Zeitkomplexität: Wie lange dauert es (im schlechtesten Fall), bis eine Lösung gefunden
ist?
Platzkomplexität: Wieviel Speicher benötigt die Suche (im schlechtesten Fall)?
Optimalität: Findet das Verfahren immer die beste Lösung?
Plan-based Robot Control
37
3.5.6. Suchstrategien (2)
uninformierte oder blinde Suche:
keine Information über die Länge oder Kosten eines Lösungspfades.
• Breitensuche, uniforme Kostensuche, Tiefensuche,
• tiefenbeschränkte Suche, iterative Tiefensuche,
• bidirektionale Suche
im Unterschied dazu:
informierte oder heuristische Suche.
Plan-based Robot Control
38
3.5.7. Breitensuche (1)
Expandiere Knoten in der Reihenfolge, in der sie erzeugt werden
(Queue-Fn = Enqueue-at-end).
• Findet immer die flachste Lösung (vollständig).
• Die Lösung ist optimal, wenn Pfadkosten eine nichtfallende Funktion der Knotentiefe ist
(z.B. wenn jede Aktion identische, nichtnegative Kosten hat).
Plan-based Robot Control
39
3.5.8. Breitensuche (2)
• Allerdings sind die Kosten sehr hoch. Sei b der maximale Verzweigungsfaktor, d die Tiefe
eines Lösungspfads. Dann müssen maximal
1 + b + b2 + b3 + . . . + bd
Knoten expandiert werden, also O(bd).
Beispiel: b = 10, 1000 Knoten/s; 100 Bytes/Knoten:
Plan-based Robot Control
40
Plan-based Robot Control
41
3.5.9. Uniforme Kostensuche
In Abwandlung der Breitensuche wird immer der Knoten n mit den geringsten Pfadkosten
g(n) expandiert.
Findet immer die günstigste Lösung, falls g(succ(n)) ≥ g(n) für alle n.
Plan-based Robot Control
42
3.5.10. Tiefensuche
Expandiere immer einen nicht expandierten Knoten mit maximaler Tiefe
(Queue-Fn = Enqueue-at-front).
Beispiel (Knoten der Tiefe 3 haben keine Nachfolger):
Plan-based Robot Control
43
3.5.11. Tiefenbeschränkte Suche
Es wird nur bis zu einer vorgegebenen Pfadlänge Tiefensuche durchgeführt.
z.B. Wegeplanung: Bei n Städten ist die maximale Tiefe n − 1.
Hier reicht maximale Tiefe 9 (Durchmesser des Problems)
Plan-based Robot Control
44
3.5.12. Iterative Tiefensuche (1)
• kombiniert Tiefen- und Breitensuche.
• optimal und vollständig wie Breitensuche, aber weniger Speicherplatz.
Plan-based Robot Control
45
3.5.13. Beispiel
Plan-based Robot Control
46
3.5.14. Iterative Tiefensuche (2)
Zahl der Expansionen
Iterative Tiefensuche
Breitensuche
(d + 1)1 + (d)b + (d − 1)b2 + . . . + 3bd−2 + 2bd−1 + 1bd
1 + b + b2 + b3 + . . . + bd−1 + bd
Beispiel: b = 10, d = 5
Breitensuche:
1 + 10 + 100 + 1000 + 10000 + 100000 = 111111
Iterative Tiefensuche: 6 + 50 + 400 + 3000 + 20000 + 100000 = 123456
Für b = 10 werden nur 11% mehr Knoten expandiert als bei Breitensuche, wobei der Platzbedarf erheblich
niedriger ist!
Zeitkomplexität: O(bd)
Platzkomplexität: O(b × d)
Iterative Tiefensuche ist nicht viel schlechter und i.allg. die bevorzugte Suchmethode bei groen Suchräumen
mit unbekannter maximaler Suchtiefe.
Plan-based Robot Control
47
3.5.15. Bidirektionale Suche
• Sofern Vorwärts- und Rückwärtssuche symmetrisch sind, erreicht man Suchzeiten von O(2 × bd/2) =
O(bd/2).
z.B. für b = 10, d = 6 statt 1111111 nur 2222 Knoten!
Plan-based Robot Control
48
Probleme mit bidirektionaler Suche
• Die Operatoren sind nicht immer oder nur sehr schwer umkehrbar (Berechnung der Vorgängerknoten).
• In manchen Fällen gibt es sehr viele Zielzustände, die nur unvollständig beschrieben sind. Beispiel:
Vorgänger des Schachmatt“.
”
• Man braucht effiziente Verfahren, um zu testen, ob sich die Suchverfahren getroffen“ haben.
”
• Welche Art der Suche wählt man für jede Richtung (im Bild: Breitensuche, die nicht immer optimal ist)?
Plan-based Robot Control
49
3.5.16. Vergleich der Suchstrategien
•
•
•
•
Zeitkomplexität
Platzkomplexität
Optimalität
Vollständigkeit
b: Verzweigungsfaktor, d: Tiefe der Lösung,
m: maximale Tiefe des Suchbaums, l: Tiefenlimit
Plan-based Robot Control
50
3.6. Zusammenfassung
• Bevor ein Agent beginnen kann, eine Lösung zu suchen, muss er sein Ziel und darauf
aufbauend sein Problem definieren.
• Ein Problem besteht aus 5 Teilen: Zustandsraum, Anfangszustand, Operatoren,
Zieltest und Pfadkosten. Ein Pfad vom Anfangszustand zu einem Zielzustand ist eine
Lösung.
• Es existiert ein genereller Suchalgorithmus, der benutzt werden kann, um Lösungen zu
finden. Spezifische Varianten des Algorithmus benutzen verschiedene Suchstrategien.
• Suchalgorithmen werden auf Basis der Kriterien Vollständigkeit, Optimalität, Zeitund Platzkomplexität beurteilt.
• Constraint-satisfaction-Probleme bilden eine spezielle Problemklasse, die spezielle Suchtechniken ermöglichen.
Plan-based Robot Control
51
Herunterladen