Was bisher geschah I I Daten, Information, Wissen Wissensrepräsentation und -verarbeitung Wissensrepräsentation: Beschreibung von Wissen: Zustandsübergangssystem: gerichteter Graph G = (V , E) mit Knotenmarkierungen lv : V → LV mit LV : Eigenschaften der Zustände I Startzustand s ∈ V I Eigenschaften der Zielzustände (z.B. Variablenwerte) I Kantenmarkierungen lE : V → LE mit LE : mögliche / zulässige Aktionen (Übergänge) I Lösung: zulässiger Weg (Zustandsfolge p ∈ V ∗ ) vom Start- zu einem Zielzustand Wissensverarbeitung: Pfadsuche im Graphen uninformierte (blinde) Suchverfahren: Tiefensuche, Breitensuche 163 Eigenschaften von Suchverfahren Fairness: jeder Knoten wird erreicht (sofern nicht vorher eine Lösung gefunden wurde) Vollständigkeit: jede Lösung wird gefunden (sofern nicht Abbruch nach der ersten Lösung) Optimalität: eine beste Lösung wird (zuerst) gefunden Zeitaufwand: größtmögliche Anzahl der Schritte von einem Start- zu einem Endzustand (Speicher-)Platzbedarf: größtmögliche Länge der Liste der noch nicht expandierten Knoten 164 Laufzeit der uninformierten Suchverfahren für Baum mit maximaler Tiefe t und maximalem Verzweigungsgrad d: Breitensuche: vollständig, (optimal) Zeitaufwand groß: O(d t ), Platzbedarf groß: O(d t ) Tiefensuche: unvollständig (unendliche Bäume), nicht optimal Zeitaufwand groß: O(d t ), Platzbedarf klein: O(td) 165 Heuristische Suche – Motivation Heuristik: Effizienzsteigerung durch Zusatzinformationen (z.B. Erfahrungswerte) I falls Aufwand (Platz, Zeit) für vollständige Suche zu hoch I zur Suche nach optimalen Lösungen bei Problemen mit mehreren Lösungen und unterschiedlicher Qualität der Lösungen (z.B. kürzeste Wege in Graphen) Ziele (für jede spezielle Aufgabe): Wahl einer geeigneten Such-Reihenfolge, unter welcher I Knoten, die wahrscheinlich nicht zu einer Lösung führen, nicht expandiert werden (beabsichtigte Verletzung der Fairness-Eigenschaft) I gute Lösungen zuerst gefunden werden 166 Beispiel Schiebefax Aufgabe: I Zustände 3 × 3-Matrix mit Einträgen {0, . . . , 8} (jede Zahl genau einmal, 0 leeres Feld) I Zulässige Züge: Verschieben des leeren Feldes auf ein Nachbarfeld d. h. Vertauschen von 0 und einem Wert in einem Nachbarfeld (gleicher Zeilen- oder Spaltenindex) I Zielkonfiguration 1 2 3 8 0 4 7 6 5 I I I Aufgabeninstanz: gegebene Ausgangskonfiguration (Matrix) Lösung: Folge von zulässigen Zügen von der Ausgangszur Zielkonfiguration Bewertung den Lösung: Länge der Lösungsfolge 167 Heuristische Suche (best-first-search) Repräsentation der Zusatzinformation (zur speziellen Aufgabe) durch heuristische Funktion h : V → ≥0 R Heuristische Suche = allgemeiner Suchalgorithmus (Folie 161) mit folgender Auswahlstrategie: I Ordnung der zu expandierenden Knoten aufsteigend nach Wert von h I Expansion des Knotens v mit dem geringsten Wert h(v ) zuerst I Verwaltung von La als priority queue mit den Werten von h als Prioritäten (implementiert z.B. durch Heap oder sortierte Liste) Beispiel: Suche eines kürzesten Weges zwischen den Orten A und B Heuristische Funktion: Luftlinienentfernung von B 168 Heuristische Suche – Eigenschaften zwei Methoden: 1. Knoten mit großen Werten möglichst spät expandieren 2. Knoten mit großen Werten nicht expandieren I Heuristische Suche mit einer beliebigen heuristischen Funktion ist nicht immer optimal. I Heuristische Suche nach Methode 1 (fair) ist vollständig I Heuristische Suche nach Methode 2 ist nicht immer vollständig 169 Schätzfunktionen Ziel: sinnvolle Auswahl der in jedem Schritt zu expandierenden Knoten unter Verwendung von Zusatzinformationen R Bewertungsfunktion g : V ∗ → ≥0 zur Bewertung von Lösungen (Pfaden von Start- zu einem Zielzustand) (Pfadkosten) R Schätzfunktion f : V → ≥0 (oder in eine andere geordnete Menge) wobei für jeden Zielknoten u gilt: f (u) = 0 Schätzung der Bewertungen der Pfade, die den Knoten v enthalten Schätzfunktion repräsentiert die Zusatzinformation 170 Schiebefax – Schätzfunktionen fi : {0, . . . , 8} → N mit 1. Anzahl der Zahlen, die sich nicht an ihrer Zielposition befinden 2. weitester Abstand einer Zahl zu seiner Zielposition 3. Summe der Manhattan-Abstände jeder Zahl zu seiner Zielposition Qualität der Schätzfunktionen: I gute Trennung verschiedener Zustände I fair: zu jedem n ≥ 0 existieren nur endlich viele u ∈ V mit f (u) ≤ n 171 Greedy-Suche (kleinste geschätzte Restkosten) Idee: Suche zuerst in Teilbäumen der noch nicht besuchten Knoten mit den gerigsten (geschätzten) noch aufzuwendenden Kosten Schätzfunktion f : V → R≥0 f (u) ist Abschätzung des von Knoten u aus den noch notwendigen Kosten zum Erreichen eines Zielzustandes Schätzfunktion f heißt nicht überschätzend gdw. für alle v ∈ V gilt f (v ) ≤ minimale Kosten aller Pfade von v zu einem Zielzustand Greedy-Suche: heuristische Suche mit heuristischer Funktion h : V → ≥0 , wobei für jeden Knoten v ∈ V gilt: h(v ) = f (v ) (Schätzfunktion) R Eigenschaften der Greedy-Suche: I vollständig? I optimal? 172 Bisherige Kosten R Kostenfunktion k : V → ≥0 k (u) Kosten des besten (bisher bekannten) Pfades vom Startzustand zum Zustand u Kostenfunktion k : V → R≥0 heißt streng monoton wachsend , falls für alle Knoten v und alle Nachfolger u von v gilt k (u) < k (v ) Beispiele für Kostenfunktionen: I Tiefe des Knotens im Suchbaum, I maximale Entfernung vom Startknoten 173 Gleiche-Kosten-Suche (kleinste bisherige Kosten) (uniform-cost-search) Idee: Suche zuerst in Teilbäumen der noch nicht besuchten Knoten mit den bisher geringsten (bekannten) Kosten Gleiche-Kosten-Suche: heuristische Suche mit heuristischer Funktion h : V → ≥0 , wobei für jeden Knoten v ∈ V gilt: h(v ) = k (v ) (Kostenfunktion) R Eigenschaften der Gleiche-Kosten-Suche: I vollständig? I optimal? Beispiele: I Breitensuche (Kosten = Tiefe des Knotens) I kürzeste Wege in Graphen (Kosten = Kosten eines kürzesten Wege vom Startknoten zum aktuellen Knoten) Dijkstra-Algorithmus 174 A∗ -Suche (kleinste Gesamtkosten) Idee: Suche zuerst in Teilbäumen der noch nicht besuchten Knoten mit dem geringsten Wert der heuristischen Funktion (Summe von bisherigen und geschätzen zukünftigen Kosten) Funktionen I k :V → ≥0 – bisher bekannte Kosten von einem Startzustand zu v I f :V → ≥0 – geschätzte Kosten von v zu einem Endzustand A∗ -Suche: heuristische Suche mit heuristischer Funktion h : V → ≥0 , wobei für jeden Knoten v ∈ V gilt R R R h(v ) = k (v ) + f (v ) Eigenschaften der A∗ -Suche: I vollständig? I optimal? 175 Anwendungen Planungsprobleme und kombinatorische Suchprobleme, z.B. I TSP I Verlegen von Leitungen I Schaltkreis-Layout I Navigation (z.B. von Robotern) I Scheduling I Produktionsplanung 176