97
Vortrag Suchverfahren der Künstlichen Intelligenz Sven Schmidt (Technische Informatik)

Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Vortrag

Suchverfahren der Künstlichen Intelligenz

Sven Schmidt (Technische Informatik)

Page 2: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Suchverfahren der Künstlichen Intelligenz

GrundlagenZustandsraumrepräsentationGenerische SucheBewertung von Suchstrategien

Uninformierte SuchverfahrenBreitensucheGleiche-Kosten-SucheTiefensucheSchrittweise vertiefende Suche

Heuristische SuchverfahrenHeuristische SchätzfunktionenBergsteigen

Page 3: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Suche in der Künstlichen Intelligenz

Probleme der Künstlichen Intelligenz werden in Probleme der Suche überführt

Page 4: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Zustandsraumrepräsentation

Zustände

Zustandsübergangsoperationen

Page 5: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

ZuständeInformationsstand des Suchschrittes

Startzustand : Information zum Anfang der Suche (Ausgangssituation)

Endzustand : Information die zum Beenden der Suche führt (Lösung des Problems)

Verursacht Kosten : Speicher

Page 6: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Möglicher Startzustand

Page 7: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Zielzustand

Page 8: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

ZustandsübergangsoperatorenÜbergang von einem Zustand zu seinem Folgezustand

Meist durch Berechnung

Verursacht Kosten : Zeit und Speicher

Page 9: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Beispiel : Schiebepuzzel

Page 10: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Beispiel : Schiebepuzzel

Page 11: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Zustandsraumrepräsentation

Üblich : Darstellung als Baumd = Tiefe des Baumesb = Verzweigungsgrad des Baumes (Anzahl der Nachfolgeknoten)

Page 12: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Zustandsraumrepräsentation

Üblich : Darstellung als Baumd = Tiefe des Baumesb = Verzweigungsgrad des Baumes (Anzahl der Nachfolgeknoten)

Ziel: Durch Suchverfahren mit möglichst wenig Ressourcenaufwand möglichst kurze Lösungspfade finden

Page 13: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Zustandsraumrepräsentation

d=0

d=1

d = Tiefe

b = 2Start

Übergangsoperator

Zustand

d=2

Page 14: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Expansion

Berechnung des nächsten Zustandes durch die Übergangsfunktion

In einer Liste : Vaterknoten vernichten und durch seine Nachfolgeknoten ersetzen

Zeit sowie Speicherplatz werden verbraucht

Page 15: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Suchverfahren der Künstlichen Intelligenz

GrundlagenZustandsraumrepräsentationGenerische SucheBewertung von Suchstrategien

Uninformierte SuchverfahrenBreitensucheGleiche-Kosten-SucheTiefensucheSchrittweise vertiefende Suche

Heuristische SuchverfahrenHeuristische SchätzfunktionenBergsteigen

Page 16: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Erkennung Start-/ Zielzustand

Durch algorithmisch überprüfbare Eigenschaften charakterisiert

Explizit vorgegebene Zustandsmenge : Aufzählung der jeweiligen Elemente die den Start-/ Zielknoten identifizieren

Implizit vorgegebene Zustandsmenge : Aufzählung nicht möglich aber errechenbar (zusätzliche Zeitverzögerung in der Suche)

Page 17: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Generische Suche

Allgemeines Verfahren der Suche

Durch Spezialisierung kann jedes beliebige Suchverfahren gewonnen werden

Page 18: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Generische Suche

L = Liste der Zustände die noch nicht auf Zieleigenschaften untersucht wurden (AGENDA)

Wenn L = lineare Liste, dann wird Knoten weiter vorne als erstes überprüft

Einfügen und Auswählen der Nachfolgezustände (Knoten) in L bestimmt Suchstrategie

Page 19: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Generische Suche

L = Liste der Startknoten

L = { } ? Suche erfolglos

Wähle Knoten n aus L

n = Zielknoten ?

Ersetze in L den Knoten n durch seine Nachfolgeknoten

Markiere dabei den Pfad zum Startknoten

Suche erfolgreich

Ausgabe des Lösungspfads

Page 20: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Vorwärtssuche – Rückwärtssuche

RückwärtssucheVom Zielknoten aus werden alle möglichen Vorgängerknoten generiert, bis Startknoten gefunden wird

Bedingung für Rückwärtssuche:Zustandsoperatoren sind leicht umkehrbarStart-/Zielzustände sind mit wenig Aufwand aufzählbar

Page 21: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Vorwärts- und Rückwärtssuche

Page 22: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Probleme bei zyklischen Pfaden

Verschiedene Knoten können gleichen Zustand repräsentieren

Gefahr das Suche nicht terminiert!

Abhilfe:„Closed-List“ C auf der alle überprüften Knoten gelangenErhöhter Speicher- und Zeitaufwand!

Page 23: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Beispiel : zyklische Pfade

Page 24: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Beispiel : zyklische Pfade

Page 25: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Beispiel : zyklische Pfade

Page 26: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Beispiel : zyklische Pfade

Page 27: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Beispiel : zyklische Pfade

Page 28: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Beispiel : zyklische Pfade

Page 29: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Beispiel : zyklische Pfade

Page 30: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Beispiel : zyklische Pfade

Page 31: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Beispiel : zyklische Pfade

Page 32: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Beispiel : zyklische Pfade

Page 33: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Beispiel : zyklische Pfade

Page 34: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Beispiel : zyklische Pfade

Page 35: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Beispiel : zyklische Pfade

Page 36: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Suchverfahren der Künstlichen Intelligenz

GrundlagenZustandsraumrepräsentationGenerische SucheBewertung von Suchstrategien

Uninformierte SuchverfahrenBreitensucheGleiche-Kosten-SucheTiefensucheSchrittweise vertiefende Suche

Heuristische SuchverfahrenHeuristische SchätzfunktionenBergsteigen

Page 37: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Bewertung von Suchstrategien

L = Liste der Startknoten

L = { } ? Suche erfolglos

Wähle Knoten n aus L

n = Zielknoten ?

Ersetze in L den Knoten n durch seine Nachfolgeknoten

Markiere dabei den Pfad zum Startknoten

Suche erfolgreich

Ausgabe des Lösungspfads

Page 38: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Bewertung von Suchstrategien

Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird

Vollstädiges Suchverfahren :ALLE Knoten des Baums werden expandiert bis zum Ergebnis (Suche Erfolgreich / Erfolglos)

Unfaire Suchverfahren :Knoten werden zuerst in der Tiefe gesuchtKann zu Problemen führen wenn Suchpfade unendlich lang

Page 39: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Bewertung von Suchstrategien

Space(X) :Alle Gleichzeitig in der Agenda L gespeicherten Knoten

Time(X) :Zeit die beim untersuchen der Zustände auf die Zieleigenschaft aufgewendet wird

Page 40: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Bewertung von Suchstrategien

Bei nachfolgenden Betrachtungen gelten folgende Einschränkungen um Suchverfahren zu bewerten :

Suchbaum ist Uniform : konstanter Verzweigungsgrad, einheitliche Tiefe d

Zielknoten liegt mit gleicher Wahrscheinlichkeit in der Maximaltiefe d (ganz unten im Suchbaum)

Page 41: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Suchverfahren der Künstliche Intelligenz

GrundlagenZustandsraumrepräsentationGenerische SucheBewertung von Suchstrategien

Uninformierte SuchverfahrenBreitensucheGleiche-Kosten-SucheTiefensucheSchrittweise vertiefende Suche

Heuristische SuchverfahrenHeuristische SchätzfunktionenBergsteigen

Page 42: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Breitensuche

L = Liste der Startknoten

L = { } ? Suche Erfolglos

Wähle ersten Knoten n aus L

n = Zielknoten ?

Lösche in L den Knoten n und setze seine Nachfolgeknoten ans Ende der Liste Markiere dabei den Pfad zum Startknoten

Suche Erfolgreich

Ausgabe des Lösungspfads

Page 43: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Breitensuche

Nachfolgeknoten werden an das Ende der Agenda L gesetzt, zu überprüfender Knoten n wird vom Anfang entnommen

Suchbaum wird Schicht für Schicht durchsucht

Knoten der nächsten Ebene werden erst durchsucht, wenn Knoten der vorangegangenen Ebene überprüft wurden

Page 44: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Breitensuche - Suchbaum

L = A

Page 45: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Breitensuche - Suchbaum

L = B – C

Page 46: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Breitensuche - Suchbaum

L = C – D – E

Page 47: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Breitensuche - Suchbaum

L = D – E – F – G

Page 48: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Breitensuche - Speicheraufwand

Bevor erster Knoten aus einer Ebene überprüft wird, stehen alle Knoten aus derselben Ebene in Agenda L

Space(B) = Exponentiell !!

Die Knoten der Ebene davor wurden alle durch ihre Nachfolgeknoten ersetzt!

Page 49: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Breitensuche - Zeitaufwand

Im besten Fall ist der erste Knoten der nächsten Ebene der Zielknoten (best case)

Im schlimmsten Fall der Letzte (worst case)

Es müssen Alle Knoten der oberen Ebene (d-1) überprüft worden sein

Page 50: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Breitensuche - Zeitaufwand

0

d 1

bk bd 1b 1

=Alle Knoten der

vorangegangenen Ebene

Best case : Knoten der vorherigen Ebene + Zielknoten

bd 1b 1

1 bd 1 b 1b 1

bd b 2b 1

O b d 1

Page 51: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Breitensuche - Zeitaufwand

Worst case : Knoten der vorherigen Ebene + Alle Knoten der aktuellen Ebene

bd 1b 1

bd bd 1b 1

bd b 1b 1

b d 1 1b 1

O bd

Mittlerer Zeitaufwand : (Bestcase + Worstcase) / 2 (Exponentiell !!)

TIME Breitensuche b d 1 bd b 32 b 1

O bd

Page 52: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Breitensuche : Beispiel

Tiefe Knoten Zeit Speicher

2 1100 1 sek 1 MB

4 111100 11 sek 100 MB

6 10^7 19 min 10 GB

8 10^9 31 std 1 TeraB

10 10^11 129 T. 100 TeraB

12 10^13 35 J. 100 PetaB

14 10^15 3523 J. 1 ExaB

b = 10, 10.000 Knoten/sek., 1000 Byte/Knoten

Page 53: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Sucheverfahren der Künstlichen Intelligenz

GrundlagenZustandsraumrepräsentationGenerische SucheBewertung von Suchstrategien

Uninformierte SuchverfahrenBreitensucheGleiche-Kosten-SucheTiefensucheSchrittweise vertiefende Suche

Heuristische SuchverfahrenHeuristische SchätzfunktionenBergsteigen

Page 54: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Gleiche-Kosten-Suche

Kosten der Übergangsfunktionen von einem Zustand in den nächsten müssen bekannt sein

Expandiert wird der Knoten, der die kleinsten Operator-Kosten aufweist

Kostenfunktion durch Aufsummieren der Kosten :

g nk0

k 1

c ni n i 1

Page 55: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Gleiche-Kosten-Suche

Bei Suchbäumen mit Zyklen :

Vor Einfügen eines Knotens in Agenda L wird geprüft, ob sich dieser Knoten bereits in einem Pfad mit höheren Kosten befindetIst dies der Fall, so wird der Pfad entfernt und durch den Knoten ersetztPfad wird in Knoten selbst gespeichert !Somit ist der kostenoptimale Pfad in L gespeichert

Page 56: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Gleiche-Kosten-Suche

32

5 2

A

B C

D

1

9 8 ...

1

Page 57: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Suchverfahren der Künstlichen Intelligenz

GrundlagenZustandsraumrepräsentationGenerische SucheBewertung von Suchstrategien

Uninformierte SuchverfahrenBreitensucheGleiche-Kosten-SucheTiefensucheSchrittweise vertiefende Suche

Heuristische SuchverfahrenHeuristische SchätzfunktionenBergsteigen

Page 58: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Tiefensuche

Nachfolgeknoten werden am Anfang der Liste eingefügt

Bevor Geschwister expandiert werden, müssen alle Kinder überprüft worden sein

Page 59: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Tiefensuche

L = Liste der Startknoten

L = { } ? Suche Erfolglos

Wähle ersten Knoten n aus L

n = Zielknoten ?

Lösche in L den Knoten n und setze seine Nachfolgeknoten an den Anfang der Liste Markiere dabei den Pfad zum Startknoten

Suche Erfolgreich

Ausgabe des Lösungspfads

Page 60: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Tiefensuche

L = A

Page 61: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Tiefensuche

L = B – C

Page 62: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Tiefensuche

L = D – E – C

Page 63: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Tiefensuche

L = H – I – E – C

Page 64: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Tiefensuche

L = I – E – C

Page 65: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Tiefensuche

L = E – C

Page 66: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Tiefensuche

L = J – K – C

Page 67: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Tiefensuche

L = K – C

Page 68: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Tiefensuche

L = C

Page 69: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Tiefensuche

L = F – G

Page 70: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Tiefensuche

L = L – M – G

Page 71: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Tiefensuche

L = M – G

Page 72: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Tiefensuche - Speicheraufwand

L = Alle nicht expandierten Geschwisterknoten, die auf dem Suchpfad lagen

Sie werden erst beim Aufstieg expandiert

Space(T) = d(b-1)+1 = O(b*d)

Linear zur Tiefe d !!!

Page 73: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Tiefensuche - Zeitaufwand

Da Tiefensuche zuerst in untere Ebenen absteigt, wird Zielknoten als erstes im linken Teil des Baums gefunden (best case)

Ist Zielknoten im rechten unteren Teil des Baums, so müssen vorher alle anderen Knoten durchsucht werden (worst case)

Page 74: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Tiefensuche - Zeitaufwand

Best case :

Time(T) = d(b-1)+1 = O(b*d) Linear!!

Worst case :

Time T0

d

bk b d 1 1b 1

O bd

Mittlerer Zeitaufwand :

Time T b d 1 b d b d 22 b 1

O bd

Page 75: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Suchverfahren der Künstlichen Intelligenz

GrundlagenZustandsraumrepräsentationGenerische SucheBewertung von Suchstrategien

Uninformierte SuchverfahrenBreitensucheGleiche-Kosten-SucheTiefensucheSchrittweise vertiefende Suche

Heuristische SuchverfahrenHeuristische SchätzfunktionenBergsteigen

Page 76: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Schrittweise vertiefende Suche

Wie Tiefensuche, allerdings nur bis zu einer maximalen Suchtiefe c

Wenn keine Lösung gefunden wurde, dann erneutes Suchen vom Wurzelknoten an, bis Tiefe c + 1

Page 77: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Schrittweise vertiefende Suche

Page 78: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Schrittweise vertiefende Suche

Mehraufwand durch erneutes Durchsuchen von der Wurzel an für jeden Iterationsschritt

Da meiste Arbeit in der untersten Ebene, ist für große d der Mehraufwand kaum ein Problem

Nachteil der Tiefensuche durch Begrenzung der Tiefe aufgehoben

Page 79: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Uninformierte Suchverfahren

Page 80: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Suchverfahren der Künstlichen Intelligenz

GrundlagenZustandsraumrepräsentationGenerische SucheBewertung von Suchstrategien

Uninformierte SuchverfahrenBreitensucheGleiche-Kosten-SucheTiefensucheSchrittweise vertiefende Suche

Heuristische SuchverfahrenHeuristische SchätzfunktionenBergsteigen

Page 81: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Heuristische Schätzfunktionen

Algorithmus festlegen, der kürzesten Pfad zum Zielknoten abschätzt (Auswahl des Knotens n)Zustände werden bewertet, nicht wie bei Gleiche-Kosten-Suchedie ÜbergangsfunktionenFunktion h() = Schätzfunktion

Nicht zu aufwendigAber genau genug, um Suchfunktion nicht in die Irre zu führen

h() liefert positiven Wert! Je kleiner der Wert, desto näher der Zielknoten

Page 82: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Heuristische Schätzfunktion Beispiel : Schiebepuzzel

2 Schätzfunktionen:h1() = Alle Steine werden gezählt, die nicht auf ihrem Platz sindh2() = Abstand jedes Steins zur Zielposition wird aufsummiert (Manhattan-Distanz)

Aufwand : h1() < h2()

Nutzen ??

Page 83: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Heuristische Schätzfunktion Beispiel : Schiebepuzzel

h1() = 4

h2() = 2+2+1+2=7

Bewertung eines möglichen Nachfolgezustandes

Page 84: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Heuristische Schätzfunktionen Beispiel : Schiebepuzzel

Page 85: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Suchverfahren der Künstlichen Intelligenz

GrundlagenZustandsraumrepräsentationGenerische SucheBewertung von Suchstrategien

Uninformierte SuchverfahrenBreitensucheGleiche-Kosten-SucheTiefensucheSchrittweise vertiefende Suche

Heuristische SuchverfahrenHeuristische SchätzfunktionenBergsteigen

Page 86: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Bersteigen

Tiefensuche

Nachfolger des Knotens n werden nach Heuristik geordnet vorne in Agenda L eingetragen

Page 87: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Bergsteigen

L = Liste der Startknoten

L = { } ? Suche Erfolglos

Wähle ersten Knoten n aus L

n = Zielknoten ?

Lösche in L den Knoten n und setze seine Nachfolgeknoten geordnet nach h() an den Anfang der Liste Markiere dabei den Pfad zum Startknoten

Suche Erfolgreich

Ausgabe des Lösungspfads

Page 88: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Optimistisches BergsteigenTiefensuche

Setzt nur den bestbewertesten Nachfolger an den Anfang der Agenda L

Dadurch kein Aufsteigen im Suchbaum möglich

Gefährlich, da heuristische Schätzfunktion keinen Fehler machen darf

Page 89: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Optimistisches Bergsteigen

L = Liste der Startknoten

L = { } ? Suche Erfolglos

Wähle ersten Knoten n aus L

n = Zielknoten ?

Lösche in L den Knoten n und setze den bestbewertestenNachfolgeknoten an den Anfang der Liste Markiere dabei den Pfad zum Startknoten

Suche Erfolgreich

Ausgabe des Lösungspfads

Page 90: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Optimistisches Bergsteigen

Bei konstantem Ausgangsverzweigungsgrad :Space(opt.B) = O(b)

Problem: lokale Minima und Ebenen beenden die Suche vorzeitig und erfolglos!

Page 91: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Randomisiertes Bergsteigen

Wenn optimistisches Bergsteigen vorzeitig erfolglos beendet wird:

Neue Suche starten mit zufällig gewähltem AnfangspunktMerken der Besten Endergebnisse jeder SucheNach gewisser Zeit (abhängig von lokalen Minima) wird globales Minimum gefunden (Lösung des Problems)

Page 92: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Abschließendes Beispiel : Tic-Tac-Toe

Ausgangssituation

Page 93: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Abschließendes Beispiel : Tic-Tac-Toe

Eigene

Folgezustände

Page 94: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Abschließendes Beispiel : Tic-Tac-Toe

Heuristische Schätzfunktion

Kosten Situation des nächsten Zuges

+1*n Eigener ALLEIN liegender Stein in Horizont./Vertikal.Diagonal

+5*n Eigene ZWEI hintereinander liegende Steine in Horizont./Vertikal.Diagonal

+20*n Gewinnsituation

-1*n Fremder ALLEIN liegender Stein in Horizont./Vertikal.Diagonal

-5*n Fremde ZWEI hintereinander liegende Steine in Horizont./Vertikal.Diagonal

-20*n Verlustsituation

Page 95: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Abschließendes Beispiel : Tic-Tac-Toe

Page 96: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

Ende des Vortrags

Vielen Dank für das Zuhören !

Page 97: Suche in der Künstlichen Intelligenz...Bewertung von Suchstrategien Bestimmt welcher Teil und in welcher Reihenfolge der Suchbaum durchsucht wird Vollstädiges Suchverfahren : ALLE

QuellenLiteratur:Handbuch der Künstlichen Intelligenz: Kaptiel 4.1 – 4.2

Internet:http://www.ki.informatik.uni-frankfurt.de/lehre/WS2002/KI/skript/KI-2Suche.pdfhttp://www.techfak.uni-bielefeld.de/~jung/01ki2/Termin01klein.pdfhttp://www.pearson-studium.de/media_remote/katalog/bsp/3827370892bsp.pdfhttp://nakula.rvs.uni-bielefeld.de/~mirco/download/KI-Zusammenfassung.pdfhttp://www.iicm.edu/greif/images/node1.htmlhttp://www.informatik.uni-ulm.de/ki/Edu/Vorlesungen/GdKI/WS0304/skript/04-Infsuche.pdfhttp://fstolzenburg.hs-harz.de/ki/folien/heuristik.pdf