E N D O W E D C H A I R O F T H E H E R T I E F O U N D AT I O N E N D O W E D C H A I R O F T H E H E R T I E F O U N D AT I O N Knowledge and Data Engineering Knowledge and Data Engineering DEPARTMENT OF MATHEMATICS & COMPUTER SCIENCE DEPARTMENT OF MATHEMATICS & COMPUTER SCIENCE Mögliche Ziele einer Suche: Kapitel 2: Suche • finde eine Lösung Teil 1 • finde alle Lösungen • finde die kürzeste Lösung (Dieser Foliensatz basiert auf Material von Mirjam Minor, HumboldtUniversität Berlin, WS 2000/01) • finde eine optimale Lösung In allen genannten Fällen kann zudem der Lösungsweg von Interesse sein. Künstliche Intelligenz, Kapitel 2 — Suche 1 3 E N D O W E D C H A I R O F T H E H E R T I E F O U N D AT I O N E N D O W E D C H A I R O F T H E H E R T I E F O U N D AT I O N Knowledge and Data Engineering Knowledge and Data Engineering DEPARTMENT OF MATHEMATICS & COMPUTER SCIENCE DEPARTMENT OF MATHEMATICS & COMPUTER SCIENCE Künstliche Intelligenz und Suche Zustandsraumsuche • Auswahl: Rucksackproblem Bevor ein Suchverfahren eingesetzt werden kann, muß das Suchproblem zunächst auf adäquate Weise beschrieben werden. Eine Möglichkeit ist die Zustandsraumrepräsentation. Sie enthält: • Planung: z.B. Blocksworld, Routen, TSP, Agenten, Roboter • Problemlöser: Beweise/Ableitungen - Logik/Prolog; VLSI Layout • intelligente Spielerprogramme - Gewinnstrategien Zustände – Beschreibungen der verschiedenen möglichen Situationen Zustandsübergänge – Operatoren die einen Zustand in einen anderen überführen Es gibt zwei Mengen ausgewählter Zustände: Startzustände und Zielzustände. Die Zielzustände können implizit (durch Kriterium) oder explizit (durch Aufzählung) gegeben sein. • Informationsbeschaffung / Recherche - Diagnose Künstliche Intelligenz, Kapitel 2 — Suche Künstliche Intelligenz, Kapitel 2 — Suche 2 Künstliche Intelligenz, Kapitel 2 — Suche 4 E N D O W E D C H A I R O F T H E H E R T I E F O U N D AT I O N Knowledge and Data Engineering DEPARTMENT OF MATHEMATICS & COMPUTER SCIENCE Beispiele für Zustandsraumbeschreibungen – die Angabe einer expliziten Zielmenge kann evtl. genauso aufwendig sein wie die Suche selbst Prolog: Zustände: Datenbasis + Abarbeitungszustand (offene Subgoals; alternative Klauseln) Operatoren: Übergang zu einem Subgoal Anfangszustand: initiales Programm + Anfrage Zielzustände: Programmziel – Interpretation als Graph/Baum Schiebepuzzle: Zustände: Positionen aller Steine Operatoren: mögliche Bewegungen des leeren Feldes Anfangszustand: aktuelle Stellung Zielzustände: geordnete Stellung 4-1 Künstliche Intelligenz, Kapitel 2 — Suche 6 E N D O W E D C H A I R O F T H E H E R T I E F O U N D AT I O N Knowledge and Data Engineering DEPARTMENT OF MATHEMATICS & COMPUTER SCIENCE Beispiele für Zustandsraumbeschreibungen Beweis eines Theorems: Zustände: Faktenmenge (Lemmata, Zwischenresultate) Operatoren: Inferenzregeln (Faktenmenge wird erweitert) Anfangszustand: Axiome Zielzustände: Faktenmengen, die das Theorem enthalten – warum Bewegung des Leerfeldes und nicht der anderen Teile ? – schwieriger + mehr zu überprüfen – Modellierung beeinflusst, wie kompliziert die Suche wird Zauber–Würfel: Zustände: Stellungen Operatoren: Drehungen Anfangszustand: Anfangsstellung Zielzustände: geordnete Stellung – Feste Abarbeitungsreihenfolge (Inferenz): Tiefe zuerst, Klauselreihenfolge, links-rechts 6-1 Künstliche Intelligenz, Kapitel 2 — Suche 5 E N D O W E D C H A I R O F T H E H E R T I E F O U N D AT I O N E N D O W E D C H A I R O F T H E H E R T I E F O U N D AT I O N Knowledge and Data Engineering Knowledge and Data Engineering DEPARTMENT OF MATHEMATICS & COMPUTER SCIENCE DEPARTMENT OF MATHEMATICS & COMPUTER SCIENCE Generate and Test ? bei den Anfangszuständen beginnend sukzessive Nachfolgezustände generieren und auf Zielbedingung testen. Problem: kombinatorische Explosion Schema S zur Suche nach irgendeinem Weg S0 : Sei z0 Anfangszustand. Falls dieser bereits Zielzustand ist: EXIT(yes) OPEN := { z0 }, CLOSED := { } S1 : Falls OPEN = { }: EXIT(no) 8-er Puzzle: 9! Zustände (davon 9!/2 erreichbar) bei durchschnittlich 3 Nachfolgern in jedem Zustand und einer typischen Lösungsweglänge von 20 ⇒ 320 ≈ 3,5 Mrd. Knoten ungarischer Würfel: rund 4, 3 ∗ 1019 erreichbare Zustände kürzeste Lösungsfolge max. 40 – 50 Züge (52 gesichert; 43 vermutet) Dame: ca. 1040 Spiele durchschnittlicher Länge Schach: ca. 10120 Spiele durchschnittlicher Länge Go: ≤ 3361 Stellungen S2 : Sei z der erste Zustand in OPEN OPEN := OPEN - {z }, CLOSED := CLOSED + {z } Bilde Nachfolgermenge SUCC(z), Falls SUCC(z) = { }: GOTO S1 Künstliche Intelligenz, Kapitel 2 — Suche Künstliche Intelligenz, Kapitel 2 — Suche 7 S3 : Falls SUCC(z) einen Zielzustand enthält: EXIT(yes) S4 : Reduziere SUCC(z) auf NEW(z) durch Streichen nicht weiter zu betrachtender Elemente, Füge New(z) in OPEN ein, GOTO S1 9 E N D O W E D C H A I R O F T H E H E R T I E F O U N D AT I O N Knowledge and Data Engineering DEPARTMENT OF MATHEMATICS & COMPUTER SCIENCE Suchen in Graphen und Bäumen – warum Schema ? Probleme: Schlaufen, Zyklen, Abkürzungen, unendliche Pfade – OPEN enthält generierte, noch nicht expandierte Knoten – CLOSED enthält die expandierten Knoten – – – – – Überführung eines Graphen in einen Baum durch Abwicklung S0: S1: S2: S3: S4: Start negative Abbruchbedingung Expandieren positive Abbruchbedingung Organisation von OPEN 9-1 Künstliche Intelligenz, Kapitel 2 — Suche 8 E N D O W E D C H A I R O F T H E H E R T I E F O U N D AT I O N E N D O W E D C H A I R O F T H E H E R T I E F O U N D AT I O N Knowledge and Data Engineering Knowledge and Data Engineering DEPARTMENT OF MATHEMATICS & COMPUTER SCIENCE DEPARTMENT OF MATHEMATICS & COMPUTER SCIENCE Strategien zur Expansion des Suchraumes Blinde Suche – Breitensuche (BFS) in S4 alle Nachfolger ans Ende von OPEN stellen Platzbedarf bd; Zeitbedarf O(bd); vollständig; Lösung mit min. Anzahl von Zustandsübergängen wird zuerst gefunden • Expansionsrichtung: vorwärts, rückwärts, bidirektional • Verwendung von Zusatzinformationen: blinde / heuristische Suche Blinde Suche – Tiefensuche (DFS) • Entfernung der Knoten vom Start beachten in S4 alle Nachfolger an den Anfang von OPEN stellen Platzbedarf b ∗ m = O(m); Zeitbedarf O(bd); nicht optimal, bei unendlichen Pfaden im Suchraum nicht vollständig; • Verwendung aller / einiger Nachfolger b – Verzweigungsgrad; d – Tiefe der Lösung; m – maximale Tiefe des Suchbaumes • Modifikationen bzgl. der Elemente in OPEN und CLOSED Künstliche Intelligenz, Kapitel 2 — Suche 10 Künstliche Intelligenz, Kapitel 2 — Suche 12 E N D O W E D C H A I R O F T H E H E R T I E F O U N D AT I O N E N D O W E D C H A I R O F T H E H E R T I E F O U N D AT I O N Knowledge and Data Engineering Knowledge and Data Engineering DEPARTMENT OF MATHEMATICS & COMPUTER SCIENCE DEPARTMENT OF MATHEMATICS & COMPUTER SCIENCE Bewertungskriterien für die Qualität eines Suchverfahrens • Vollständigkeit: wird eine existierende Lösung immer gefunden? Verwendung einer Kostenfunktion • Jede Zustandsüberführung verursacht Kosten. Verlängert sich der Weg, erhöhen sich die Kosten. Die Kosten sind nicht negativ und können nicht beliebig klein werden. • Optimalität: wird die beste Lösung gefunden? • Jedem Operator werden Kosten c(n → ń) ≥ > 0 zugeordnet. • Platzbedarf: wieviele Knoten müssen gleichzeitig gespeichert werden? • Zeitbedarf: wieviele Knoten müssen expandiert werden? (im besten Fall, im schlimmsten Fall, im Durchschnitt) Künstliche Intelligenz, Kapitel 2 — Suche • Kosten eines Pfades: g(n0n1...nk ) = k−1 i=0 c(ni → ni+1) • Kosten zum Erreichen von z: g(z) = M in{g(s)|s ist Weg von z0 nach z} 11 Künstliche Intelligenz, Kapitel 2 — Suche 13 E N D O W E D C H A I R O F T H E H E R T I E F O U N D AT I O N E N D O W E D C H A I R O F T H E H E R T I E F O U N D AT I O N Knowledge and Data Engineering Knowledge and Data Engineering DEPARTMENT OF MATHEMATICS & COMPUTER SCIENCE DEPARTMENT OF MATHEMATICS & COMPUTER SCIENCE Blinde Suche – Gleiche Kosten Suche (UCS — Uniform Cost Search) Iterative Tiefensuche (IDS) 1/2 • In S4 alle Nachfolger einfügen und OPEN nach Kosten zum Erreichen der Zustände (Wegkosten) sortieren. • Ermittelte Kosten g(n) stellen eine obere Schranke für die tatsächlichen Kosten g ∗(n) dar: g ∗(n) ≤ g(n) • In S4 nur die Nachfolger am Anfang einfügen wenn maximale Suchtiefe c noch nicht überschritten. • c sukzessive erhöhen. • Platzbedarf b ∗ d; Zeitbedarf O(bd); vollständig; optimal • Platzbedarf O(bd); Zeitbedarf O(bd); vollständig; optimal • Zeitverhalten in Relation zur Tiefensuche: Zeitbedarf (IDS) 1 ≤ Zeitbedarf = b+1 b−1 ≤ 3 (DF S) • BFS ist ein Spezialfall von USC ist ein Spezialfall von A* Künstliche Intelligenz, Kapitel 2 — Suche 14 Künstliche Intelligenz, Kapitel 2 — Suche 15 E N D O W E D C H A I R O F T H E H E R T I E F O U N D AT I O N Knowledge and Data Engineering DEPARTMENT OF MATHEMATICS & COMPUTER SCIENCE Iterative Tiefensuche (IDS) 2/2 • Knoten in niedrigen Suchtiefen werden wiederholt erzeugt. Fragen: – Welches Problem gibt es, wenn keine untere Schranke existiert? • Hiervon gibt es (bei ungefähr gleichbleibendem Verzweigungsgrad) jedoch relativ wenige. – Wieso ist Breitensuche ein Spezialfall von Gleiche Kostensuche? • IDS ist bevorzugte uninformierte Such-Methode bei großem Suchraum, wenn die Tiefe der Lösung nicht bekannt ist. 14-1 Künstliche Intelligenz, Kapitel 2 — Suche 16 E N D O W E D C H A I R O F T H E H E R T I E F O U N D AT I O N E N D O W E D C H A I R O F T H E H E R T I E F O U N D AT I O N Knowledge and Data Engineering Knowledge and Data Engineering DEPARTMENT OF MATHEMATICS & COMPUTER SCIENCE DEPARTMENT OF MATHEMATICS & COMPUTER SCIENCE Anforderungen an eine Heuristik h Aufwand • die Heuristik soll stets nicht-negative Werte liefern: h(n) ≥ 0 – alle vorgestellten blinden Suchverfahren haben Zeitverhalten von O(bd) – Hopcroft/Ullman 1979 “Introduction to Automata Theory”: das gilt für jedes Blinde Suchverhalten – Verzweigungsgrad b und Tiefe der Lösung d werden empirisch abgeschätzt, sie sind domänenabhängig • Falls n Zielzustand ist, soll h(n) = 0 gelten. • Bei tatsächlicher Annäherung an einen Zielzustand wird kleinere Distanz signalisiert. • h soll mit möglichst geringem Aufwand zu errechnen sein. Seien h1 und h2 Heuristiken. h2 heißt besser informiert als h1, wenn gilt: ∀n : h1(n) ≤ h2(n) Künstliche Intelligenz, Kapitel 2 — Suche 17 19 E N D O W E D C H A I R O F T H E H E R T I E F O U N D AT I O N E N D O W E D C H A I R O F T H E H E R T I E F O U N D AT I O N Knowledge and Data Engineering Knowledge and Data Engineering DEPARTMENT OF MATHEMATICS & COMPUTER SCIENCE DEPARTMENT OF MATHEMATICS & COMPUTER SCIENCE Verwendung einer heuristischen Schätzfunktion (Heuristik) Um ein besseres Zeitverhalten zu erreichen, soll Wissen über das konkrete Suchproblem genutzt werden. Zustände, die nahe am Ziel liegen, werden bei der Expansion bevorzugt. Ideal: Funktion h∗(n), die die tatsächlichen Kosten des kürzesten Weges von einem Zustand n zu einem Zielzustand angibt. Die Ermittlung von h∗ ist leider oft zu aufwendig. h(n) liefert eine Abschätzung der Kosten für den kürzesten Pfad zum Ziel. Die Heuristik ist jeweils problemspezifisch. Künstliche Intelligenz, Kapitel 2 — Suche Künstliche Intelligenz, Kapitel 2 — Suche 18 Beispiele für Heuristiken • die am schlechtesten informierte Heuristik: ∀n : h(n) = 0 • für Routenplanung: Luftlinie • für Schiebepuzzle: Anzahl der falsch liegenden Steine • für Schiebepuzzle: Manhattan-Distanz (Summe der horizontalen und vertikalen Entfernungen aller Steine von ihren Zielpositionen) Künstliche Intelligenz, Kapitel 2 — Suche 20 • Warum Bergsteiger-Metapher? – Suchraum als Landschaft interpretieren, h gibt Höhe an • Warum läuft man nicht nach unten (Abstieg gehört ja auch zu Bergsteigen)? Frage: Welche Informationen über das Suchproblem werden jeweils verwendet ? – diskrete Version eines Gradienten-Abstiegs (je nachdem ob man die Heuristik als Kosten- oder Qualitätsfunktion ansieht); Optimierung – SHC “abwärts” ist analog zu der Pfadfinderregel: Wenn Verlaufen, immer bergab laufen. Irgendwann findet man Tal oder Gewässer ( = bevorzugte Siedlungsplätze). 21-1 E N D O W E D C H A I R O F T H E H E R T I E F O U N D AT I O N Knowledge and Data Engineering DEPARTMENT OF MATHEMATICS & COMPUTER SCIENCE Heuristische Suche mit schrittweiser lokaler Verbesserung Bergsteigen (Hill Climbing with Backtracking BTHC) – In S4 alle Elemente aus SUCC(z) gemäß ihrer Bewertung durch h ordnen und an den Anfang von OPEN stellen. – nicht vollständig in unendlichen Räumen optimistisches Bergsteigen (Strict Hill Climbing SHC) – In S4 nur das am besten bewertete Element aus SUCC(z) an den Anfang von OPEN stellen. – nicht vollständig Strahlensuche (Beam Search - BS) – In S4 die m am besten bewerteten Elemente aus SUCC(z) gemäß ihrer Bewertung ordnen und an den Anfang von OPEN stellen – nicht vollständig Künstliche Intelligenz, Kapitel 2 — Suche 21 • Raum-/Zeitbedarf sind abhängig von der Heuristik • Übung: Expansion der Suchbäume bei verschiedenen Verfahren zeigen E N D O W E D C H A I R O F T H E H E R T I E F O U N D AT I O N E N D O W E D C H A I R O F T H E H E R T I E F O U N D AT I O N Knowledge and Data Engineering Knowledge and Data Engineering DEPARTMENT OF MATHEMATICS & COMPUTER SCIENCE DEPARTMENT OF MATHEMATICS & COMPUTER SCIENCE Probleme beim Bergsteigen Heuristische Suche mit schrittweiser lokaler Verbesserung lokale Minima - vorübergehend keine Verbesserung möglich Um die genannten Probleme zu umgehen werden die Verfahren modifiziert. Randomisiertes Verfahren (Random Restart Hill Climbing RRHC) Wenn kein Fortschritt mehr erzielt werden kann, wird das Verfahren in einem zufällig gewählten Zustand neu gestartet. Der Zustand mit der bislang besten Bewertung wird gespeichert. Plateaus - keine Unterschiede in der Bewertung Simulated Annealing (Simuliertes Abkühlen) Mit bestimmter Wahrscheinlichkeit dürfen auch Schritte in Richtungen ausgeführt werden, die nicht zu einer weiteren Minimierung führen. Mit zunehmender Dauer des Verfahrens nimmt diese Wahrscheinlichkeit ab. enge Talsohlen - vorhandene Operatoren erfassen den Abstieg nicht Künstliche Intelligenz, Kapitel 2 — Suche 22 Künstliche Intelligenz, Kapitel 2 — Suche 23 Randomisiertes Verfahren – Globales Minimum wird gefunden, wenn genug Neustarts – Suche wird langsam bei Abflachung bzw. endet wenn kein Backtracking möglich – Anzahl der notwendigen Neustarts abh. von Anzahl der lokalen Minima Simulated Annealing – Modelliert das Erstarrungsverhalten von Flüssigkeiten – Erfahrungen vom Stahlkochen: erst stark erhitzen, dann langsam abkühlen ergibt kristalline Struktur, d.h. harten Stahl 22-1 23-1 E N D O W E D C H A I R O F T H E H E R T I E F O U N D AT I O N Knowledge and Data Engineering DEPARTMENT OF MATHEMATICS & COMPUTER SCIENCE Weitere mögliche Eigenschaften einer Heuristik – Auswahl: Folgezustand zufällig wählen. Wenn er Abstieg bedeutet, wird er auf alle Fälle gewählt, sonst nur mit vorgegebener Wahrscheinlichkeit. Weiterer Ansatz: bisherige Richtung zu einem gewissen Teil beibehalten lassen (kontinuierlicher Raum); Schrittweite verändern z.B. bei Lernverfahren • Eine Heuristik h heißt fair, falls es zu einem beliebigen k ≥ 0 nur endlich viele Zustände n gibt mit h(n) ≤ k. • eine Heuristik h heißt zulässig oder optimistisch, falls ∀n : h(n) ≤ h∗(n). • eine Heuristik h heißt konsistent, falls für alle n gilt: h(n) − h(n) ≤ c(n → n). Diese Eigenschaft wird auch als MonotonieBeschränkung bezeichnet. Künstliche Intelligenz, Kapitel 2 — Suche 25 E N D O W E D C H A I R O F T H E H E R T I E F O U N D AT I O N Knowledge and Data Engineering DEPARTMENT OF MATHEMATICS & COMPUTER SCIENCE Heuristische Suche - Greedy Search (GS) – Fairness + Zyklenvermeidung durch Abgleich mit CLOSE -> Greedy wird vollständig Idee: Um schneller zum Ziel zu kommen und lokale Minima zu vermeiden, werden alle Zustände in OPEN zur Bewertung herangezogen. “Gierig (greedy)”, weil ohne Rücksicht auf die Kosten jeweils mit dem vielversprechendsten Zustand weitergemacht wird In S4 alle Elemente aus SUCC(z) in OPEN übernehmen und die gesamte Liste OPEN gemäß der Bewertung durch h sortieren. Unvollständig; nicht optimal; Zeit- und Raumbedarf O(bm); kann durch gute Heuristik deutlich verbessert werden. – bei endlichen Suchräumen ist Fairness automatisch erfüllt – optimistisch: keine Überschätzung der Kosten – Konsistenz: geschätzte Distanz zum Ziel schrumpft langsamer, als die Kosten durch diesen Schritt wachsen. – Heuristiken Anzahl falsche Steine und Manhattandistanz im Schiebepuzzle sind optimistisch 25-1 Künstliche Intelligenz, Kapitel 2 — Suche 24 E N D O W E D C H A I R O F T H E H E R T I E F O U N D AT I O N E N D O W E D C H A I R O F T H E H E R T I E F O U N D AT I O N Knowledge and Data Engineering Knowledge and Data Engineering DEPARTMENT OF MATHEMATICS & COMPUTER SCIENCE DEPARTMENT OF MATHEMATICS & COMPUTER SCIENCE Heuristische Bestensuche - Algorithmus A Heuristische Bestensuche - Algorithmus A* A0 : Sei z0 Anfangszustand. Falls dies bereits Zielzustand ist: EXIT(yes) OPEN := { z0 }, CLOSED := { } In der weichen Form von A* wird verlangt, daß die Heuristik zulässig ist. A* entsteht aus A durch folgende Modifikation: A1 : Falls OPEN = { }: EXIT(no) A2 : Sei z der erste Zustand in OPEN Falls z Zielzustand ist: EXIT(yes) A3 : OPEN := OPEN - {z }, CLOSED := CLOSED ∪ {z } Bilde Nachfolgermenge SUCC(z), Falls SUCC(z) = { }: GOTO A1 A4 : für alle z ∈ SUCC(z) g(z ) gemäß aktuellem Suchbaum neu berechnen NEW(z) := SUCC(z) - CLOSED OPEN := OPEN ∪ NEW(z), OPEN nach aufsteigendem g(z )+h(z ) sortieren, Wiederholungen in OPEN streichen GOTO A1 Künstliche Intelligenz, Kapitel 2 — Suche 26 A*4 : für alle z ∈ SUCC(z) g(z ) gemäß aktuellem Suchbaum neu berechnen: NEW(z) := SUCC(z) - {z ∈ CLOSED|g(z) ≥ galt(z )} OPEN := OPEN ∪ NEW(z), OPEN nach aufsteigendem g(z ) + h(z ) sortieren, Wiederholungen in OPEN streichen GOTO A1 Künstliche Intelligenz, Kapitel 2 — Suche 27 E N D O W E D C H A I R O F T H E H E R T I E F O U N D AT I O N Knowledge and Data Engineering DEPARTMENT OF MATHEMATICS & COMPUTER SCIENCE Heuristische Bestensuche - Algorithmus A* – Änderungen gegenüber dem bisherigen Schema: Schritt 2 und 3 getauscht und modifiziert; Schritt 4 komplexer – ohne genauere Angaben zur Heuristik lässt sich wenig über das Verhalten von A sagen Die harte Form von A* verlangt eine konsistente Heuristik. Dafür kann auf die Tests bereits expandierter Knoten verzichtet werden, denn es gilt: Der A*–Algorithmus in der harten Form untersucht den selben Knoten nicht mehrfach. A*4 : für alle z ∈ SUCC(z) g(z ) gemäß aktuellem Suchbaum neu berechnen NEW(z) := SUCC(z) - CLOSED OPEN := OPEN ∪ NEW(z), OPEN nach aufsteigendem g(z ) + h(z ) sortieren, Wiederholungen in OPEN streichen GOTO A1 26-1 Künstliche Intelligenz, Kapitel 2 — Suche 28 – A* entspricht A mit zusätzlichen Anforderungen an die Heuristik – Beweise in Nilsson, 1982: Principles of Artificial Intelligence – Zeitbedarf ist — ausser bei sehr strengen Anforderungen an h, die in der Praxis meist nicht zu erfüllen sind, immer noch exponentiell in der Länge der Lösung. D.h. dass man optimale Lösungen oft nicht erwarten darf. – Da A* alle Zwischenergebnisse speichert, ist häufig bereits der Speicher der Engpass. 28-1