Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

KI-Übung Teil I: Uninformierte Suche. KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Problem: Fahre von Lübeck nach Berlin.

Ähnliche Präsentationen


Präsentation zum Thema: "KI-Übung Teil I: Uninformierte Suche. KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Problem: Fahre von Lübeck nach Berlin."—  Präsentation transkript:

1 KI-Übung Teil I: Uninformierte Suche

2 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Problem: Fahre von Lübeck nach Berlin

3 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Problem: Fahre von Lübeck nach Berlin

4 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung 1. Schritt: das richtige Abstraktionsniveau wählen Ziel formulieren: Nach Berlin zu kommen Für die Planung der Reise wichtig: Kostenebene: Die zurückgelegte Wegstrecke Zustandsebene: In welchem Ort bin ich? Aktionsebene: Von einem benachbarten Ort zum nächsten fahren Weniger wichtig: Kostenebene: Radioempfang entlang des Weges Zustandsebene: Wetterverhältnisse, Mitfahrer, Radio ein / aus Aktionsebene: Bei Kilometer 10 das Lenkrad um 3° nach links einschlagen, bei Wittstock das Radio einschalten Warum?

5 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung 1. Schritt: das richtige Abstraktionsniveau wählen Jedes unnötige Detail erhöht die Dimension des Suchraumes (exponentiell) Bei einer geeigneten Abstraktion lässt sich die abstrakte Lösung in eine detaillierte Lösung erweitern (das Wetter kann sich ändern, wir schalten das Radio ein/aus, …) Die Wahl des Abstraktionsniveaus ist für viele KI-Fragestellungen von großer Bedeutung – und basiert teilweise auf Intuition

6 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Abstraktionsniveau : Aufspaltung eines abstrakten Zustands

7 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung 2. Schritt: Problem formulieren Zustände: in Stadt X Nachfolgerfunktion: alle gültigen Zustände, die sich als nächstes erreichen lassen (alle Städte die sich direkt anfahren lassen) Startzustand festlegen Zielzustand festlegen Kosten für den Zustandsübergang (Entfernung, Zeit)

8 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung 3. Schritt: Nach einer Lösung suchen Startzustand und Nachfolgerfunktion definieren einen Suchgraphen Dieser Suchgraph wird durchlaufen und jeder betrachtete Zustand wird daraufhin untersucht, ob es sich um den Endzustand handelt Im einfachsten Fall wird bei erreichen eines Endzustandes mit positivem Ergebnis abgebrochen Beispiel Suche startet mit in Stadt Lübeck Nachfolgezustände sind in Stadt Hamburg und in Stadt Rostock

9 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung 3. Schritt: nach einer Lösung suchen

10 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung 3. Schritt: nach einer Lösung suchen

11 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Beispiel für Suchproblem: 8-er Puzzle (Schiebe Puzzle)

12 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Beispiel für Suchproblem: 8-er Puzzle Zustand: eine Konfiguration / Reihenfolge der 8 Plättchen Zustandsübergangsfunktion: Generiert zu einem Zustand die Menge der Zustände, die durch Verschieben von Plättchen auf die leere Stelle erreicht werden können (ein Zug!) Maximal 4 mögliche Folgezustände Kostenfunktion: Jeder Zug kostet 1

13 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Beispiel für Suchproblem: 8-Damen Problem

14 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Beispiel für Suchproblem: 8-Damen Problem Zustand: eine Konfiguration von 0

15 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Datenstruktur: Suchbaum Enthält Knoten / Kanten Repräsentiert eine Zustandsfolge, d.h. Knoten des Suchbaumes sind keine Zustände (sondern enthalten einen Zustand – zwei Knoten können den selben Zustand enthalten) Knoten-Fachsprache: Elternknoten Zustandsübergang Kosten des Pfades bis zum Knoten Tiefe des Knotens im Suchbaum

16 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Exkursion (gerichteter Wurzel-)Baum Kreisfreier, zusammenhängender Graph Bei n Knoten genau (n-1) Kanten (und zusammenhängend) Tiefe (depth) d eines Knotens: Anzahl der Kanten eines Pfades zur Wurzel Grad g eines Knotens: Anzahl der vom Konten ausgehenden Kanten Verzweigungsgrad (branching factor) b des Baumes: maximale Anzahl der Nachfolgerknoten über alle Knoten Im gerichteten Wurzelbaum ist ein Knoten (Startknoten) als Wurzel ausgewiesen, dadurch ist die Richtung der Eltern – Kindbeziehung im Baum vorgegeben Knoten ohne Kinder heißen Blätter Pfad: Folge von Kanten zwischen zwei Knoten, die Länge entspricht der (gewichteten) Anzahl der Kanten

17 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Beispiel: Baum

18 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Beispiel: Wurzelbaum

19 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Datenstruktur: Suchbaum Ein Knoten mit dem Startzustand bildet die Wurzel Noch nicht expandierte Knoten sind Blätter im aktuellen Suchbaum, die Menge aller dieser Knoten wird auch als fringe (Rand) bezeichnet

20 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Suchalgorithmus Falls ein Knoten (im Suchbaum! – nicht im Zustandsgraphen) existiert, dessen Nachfolger noch nicht betrachtet wurden (d.h. ein Blatt-Knoten aus der fringe), dann Wenn der Knoten einen Zielzustand enthält, terminiere mit Lösung Sonst, bestimme die Nachfolgerknoten und füge sie zum Suchbaum hinzu Falls nicht, terminiere ohne Ergebnis Mögliche Datenstrukturen zur Verwaltung der fringe: FIFO / SCHLANGE (implementiert Breitensuche …) LIFO / STACK (implementiert Tiefensuche …) Komplexere Funktion (ggf. mit Kosten)

21 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Breitensuche (BFS, breadth first search) Die Blätter des Suchbaumes werden in einer FIFO (first-in-first-out) - Datenstruktur gespeichert Beginnend mit dem Wurzelknoten werden jeweils alle Nachfolger eines Knoten bestimmt und gespeichert Wegen FIFO kommen die Kinder immer nach der Elterngeneration dran, d.h. Es werden erst alle Knoten mit Tiefe n betrachtet, danach alle Knoten mit Tiefe n+1, usw. Es findet eine Suche in die Breite statt

22 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Breitensuche (BFS, breadth first search)

23 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Kostenbasierte Suche (uniform cost search) Ähnlich wie Breitensuche, aber statt der Tiefe wird anhand einer Kostenfunktion bestimmt, welche Nachfolger gewählt werden sollen Für Kosten von 1 für alle Zustandsübergänge ergibt sich der gleiche Ablauf wie für Breitensuche

24 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Kostenbasierte Suche (uniform cost search)

25 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Tiefensuche (DFS, depth first search) Die Blätter des Suchbaumes werden in einer LIFO (last-in-first-out) - Datenstruktur gespeichert Beginnend mit dem Wurzelknoten wird sukzessive zu einem Knoten ein Nachfolger (Kind) ausgewählt Wegen LIFO wird zuerst ein Pfad bis zum Blatt verfolgt, d.h. Es wird immer der Knoten mit der größten Tiefe weiter expandiert Erst wenn bei einem Knoten der Tiefe n keine unbetrachteten Nachfolger mehr existieren wird der nächste Geschwisterknoten der selben Tiefe betrachtet bzw. ein Knoten mit geringerer Tiefe betrachtet Es findet eine Suche in die Tiefe statt Alternativ zur Verwaltung aller Kinder im Stack: Backtracking vom Kind zum Elternknoten, wo der nächste Kindknoten gewählt wird

26 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Tiefensuche (DFS, depth first search)

27 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Tiefensuche mit Tiefenlimit Ähnlich wie Tiefensuche, aber es werden nur Knoten bis zu einer fest definierten Tiefe n betrachtet

28 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Iterativ fortschreitende Tiefensuche (iterative deepening dfs) Tiefensuche mit Tiefenlimit d max Falls eine Lösung gefunden wurde, terminiere mit Lösung Sonst: Falls der Suchbaum nicht vollständig durchlaufen wurde, setze inkrementiere d max um 1 und starte einen neuen Suchlauf Sonst terminiere mit dem Ergebnis, dass keine Lösung existiert Die Suche wird also unter Umständen sehr oft wiederholt?! Ja, aber die meisten Knoten haben immer die Tiefe des Lösungsknoten Es werden nur Knoten mit maximal der Tiefe des Lösungsknoten erzeugt – vergleiche Breitensuche, dort werden für einen Teil der Knoten mit Tiefe n die Kindknoten erzeugt und in der FIFO-Schlange gespeichert Daher ist iterative Tiefensuche schneller als Breitensuche!

29 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Iterativ fortschreitende Tiefensuche (iterative deepening dfs)

30 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Iterativ fortschreitende Tiefensuche vs. Breitensuche Im Beispiel Iterative Tiefensuche (IDS): 3 * 2 Knoten der Tiefe 1 2 * 7 Knoten der Tiefe 2 1 * 6 Knoten der Tiefe 3 Breitensuche (BFS): 1 * 2 Knoten der Tiefe 1 1 * 7 Knoten der Tiefe 2 1 * 16 Knoten der Tiefe 3 1 * 19 Knoten der Tiefe 4 Im Ergebnis hat IDS einige Knoten mehrfach erzeugt aber insgesamt nur 26 Knoten im Vergleich zu 44 Knoten bei Breitensuche erzeugt!

31 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Bidirektionale Suche (bidirectional search) Suche sowohl vom Startzustand Richtung Zielzustand als auch vom Zielzustand Richtung Startzustand Reduziert die Suchtiefe und damit die Zeit Aber Oft existieren mehrere Zielzustände (Schach-Matt-Positionen) Die Vorgängerzustände lassen sich oft nicht einfach berechnen

32 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Bidirektionale Suche (bidirectional search)

33 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Kriterien zur Bewertung von Lösungsstrategien Vollständigkeit (completeness): wenn es eine Lösung gibt, sollte der Algorithmus sie auch finden. Optimalität (otimality): die vom Algorithmus gefunden Lösung ist hinsichtlich eine Bewertungsfunktion (Kosten) optimal Zeitkomplexität (time complexity): die benötigte Rechenzeit, als Anzahl der insgesamt betrachteten Knoten Speicherkomplexität (space complexity): der zur Abarbeitung benötigte Platz (die Anzahl der gleichzeitig im Speicher befindlichen Knoten) Nachfolgend gilt: b ist der maximale Verzweigungsgrad im Baum d ist die Tiefe des (ersten) Zielknotens m ist die maximale Tiefe im Baum (= Höhe des Baumes) C sind Kosten der optimalen Lösung e sind die minimalen Kosten für einen Zustandsübergang

34 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Vergleich der betrachteten Suchstrategien Breitensuche Vollständigkeit: ja, falls es zu jedem Knoten endlich viele Nachfolger gibt Optimalität: ja, falls die Kosten für Zustandübergänge immer gleich sind Zeitkomplexität: O(b (d+1) ) Im worst case ist die Lösung der letzte Knoten der Tiefe d, d.h. es gibt b Knoten der Tiefe 1, b 2 Knoten der Tiefe 2 … b d Knoten der Tiefe d es werden außerdem (b d -1)*b = b d+1 -b Knoten der Tiefe d+1 erzeugt und in die FIFO-Schlange geschrieben Speicherkomplexität: O(b (d+1) ) In der Schlange befinden sich im worst case die (b d -1)*b Knoten die bei der Betrachtung der Knoten mit Tiefe d erzeugt werden

35 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Vergleich der betrachteten Suchstrategien Kostenbasierte Suche Vollständigkeit: ja, falls es zu jedem Knoten endlich viele Nachfolger gibt und die Kosten immer > ε > 0 sind Optimalität: Ja, falls alle Kosten 0 Zeitkomplexität: O(b (C/e) ) Anzahl der Knoten nicht abhängig von der Tiefe des Zielknotens im Baum, im worst case wird ein Baum der Tiefe C/e vor der optimalen Lösung betrachtet Speicherkomplexität: O(b (C/e) ) Im worst case müssen die Knoten mit der Tiefe C/e gespeichert werden

36 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Vergleich der betrachteten Suchstrategien Kostenbasierte Suche

37 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Vergleich der betrachteten Suchstrategien Tiefensuche Vollständigkeit: nein, unendliche Pfade möglich Optimalität: nein, erste gefundene Lösung muss nicht optimal sein Zeitkomplexität: O(b m ) Im worst case werden alle Knoten durchlaufen, insbesondere auch der am tiefsten im Baum liegende Knoten mit der Tiefe m m kann unendlich sein, siehe oben! Speicherkomplexität: O(bm) Wenn alle Geschwisterknoten auf dem Weg zum tiefsten Knoten erzeugt und gespeichert werden, werden auf m Ebenen je maximal b Knoten erzeugt Falls die Knoten mit Backtracking – es wird nur jeweils ein Nachfolger- knoten je Knoten generiert, nur falls die Suche unterhalb des Nachfolgers erfolglos ist, wird der nächste generiert - durchlaufen werden : O(m)

38 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Vergleich der betrachteten Suchstrategien Tiefenbeschränkte Tiefensuche Vollständigkeit: nein, Lösung ggf. durch Tiefenschranke abgeschnitten Optimalität: nein, erste gefundene Lösung muss nicht optimal sein Zeitkomplexität: O(b l ) Siehe Tiefensuche, wobei l die maximale Tiefe gemäß Tiefenschranke darstellt Speicherkomplexität: O(bl) Siehe Tiefensuche, wobei l die maximale Tiefe gemäß Tiefenschranke darstellt

39 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Vergleich der betrachteten Suchstrategien Iterative Tiefensuche Vollständigkeit: ja, falls es zu jedem Knoten endlich viele Nachfolger gibt Optimalität: ja, falls die Kosten für Zustandsübergänge immer gleich sind Zeitkomplexität: O(b d ) Es werden keine Knoten der Tiefe d+1 betrachtet (wegen Schranke)! Knoten der Tiefe d werden 1 x betrachtet, Knoten der Tiefe (d-1) 2 x, usw., aber 2*b (d-1), d.h. O(b d ) (wegen b>=2, 2*b d /b …) Ist günstiger als Breitensuche (!) und ohne weitere a priori – Informationen die bevorzugte uninformierte Suchstrategie Speicherkomplexität: O(bd) Siehe Tiefensuche / tiefenbeschränke Tiefensuche

40 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Vergleich der betrachteten Suchstrategien Bidirektionale Suche Vollständigkeit: hängt von der Suchstrategie ab, ja falls Breitensuche Optimalität: hängt von der Suchstrategie ab, ja falls Breitensuche Zeitkomplexität: O(b (d/2) ) Bei Breitensuche Speicherkomplexität: O(b (d/2) ) Bei Breitensuche

41 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Vergleich der betrachteten Suchstrategien Fazit: die geeignete Suchstrategie hängt von der Problemstellung ab, u.a.: Ist die maximale Tiefe des Zielknotens bekannt? Ist der Suchbaum endlich? Sind Zustandübergänge mit Kosten verbunden? Gibt es wenige / viele Zielknoten? Lassen sich die Vorgängerknoten (Elternknoten) effizient bestimmen?

42 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Vermeidung von Wiederholungen (DFS, depth first search)

43 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Vermeidung von Wiederholungen (DFS, depth first search)

44 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Vermeidung von Wiederholungen (DFS, depth first search)

45 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Vermeidung von Wiederholungen (DFS, depth first search)

46 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Vermeidung von Wiederholungen (DFS, depth first search)

47 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Vermeidung von Wiederholungen (GRAPH SEARCH) Open List (SUCHGRAPH)Closed List (HISTORY)

48 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Vermeidung von Wiederholungen (GRAPH SEARCH) Open List (SUCHGRAPH)Closed List (HISTORY)

49 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Vermeidung von Wiederholungen (GRAPH SEARCH) Open List (SUCHGRAPH)Closed List (HISTORY)

50 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Vermeidung von Wiederholungen Zyklen im Zustandsgraphen führen zu wiederholten Abfolgen von Knoten im Suchbaum und zu endlosen Pfaden Idee: bereits betrachtete Zustände merken und nicht erneut betrachten Beispiel 1: Tiefensuche speichert alle Knoten auf dem Pfad Bei jedem neuen Knoten wird getestet, ob Knoten mit dem gleichen Zustand bereits betrachtet Ggf. wird der Knoten nicht weiter betrachtet Beispiel 2: alle bereits betrachteten Zustände werden in einer entsprechenden Datenstruktur (Hashset) gespeichert Reduziert Suchbaum ggf. erheblich Bei allen Suchstrategien von Vorteil Erfordert ggf. sehr viel Speicher

51 KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Weitere Beispiele Touren-Probleme: Zustände enthalten nicht nur eine bestimmte Stadt als Ziel, sondern die Menge der besuchten Städte – Ziel ist eine Tour über alle Städte Spezialfall: Traveling Salesman Problem (TSP): jede Stadt darf nur ein Mal besucht werden Roboter-Navigation: Bewegungen des Roboters im Raum, so dass ein beliebiger Zielzustand erreicht wird Automatische Montageplanung (assembly planning): Suche nach einer Abfolge von Montageschritten, die das fertige Produkt erzeugen Suche im Internet


Herunterladen ppt "KI-Übung Teil I: Uninformierte Suche. KI Übung SoSe 2006 Suche nach einer intelligenten Lösung Problem: Fahre von Lübeck nach Berlin."

Ähnliche Präsentationen


Google-Anzeigen