Künstliche Intelligenz

Ähnliche Dokumente
Künstliche Intelligenz

Künstliche Intelligenz

Intelligente Systeme

13.1 Einführung Einführung. Grundlagen der Künstlichen Intelligenz Gierige Bestensuche 13.3 A Weighted A. 13.

Wissensbasierte Systeme. Kombinatorische Explosion und die Notwendigkeit Heuristischer Suche. Heuristiken und ihre Eigenschaften

Informierte Suchverfahren

Heuristische Suche. Uninformierte (blinde) Suchverfahren. erzeugen systematisch neue Knoten im Suchbaum und führen jeweils den Zieltest durch;

Startzustand. Mögliche heuristische Funktionen:

Uninformierte Suche in Java Informierte Suchverfahren

Übersicht. Informierte (heuristische) Suche. Algorithmus Bester-Zuerst-Suche. Bester-Zuerst-Suche

Grundlagen der Künstlichen Intelligenz

Einführung in Heuristische Suche

Uninformierte Suche in Java Informierte Suchverfahren

3. Übung Künstliche Intelligenz

Einführung in die Methoden der Künstlichen Intelligenz

3. Problemlösen durch Suche

9. Heuristische Suche

Zustandsraumsuche: Blinde und Heuristische Suche. Blinde und Heuristische Suche

Einführung in die Methoden der Künstlichen Intelligenz

Sokoban. Knowledge Engineering und Lernen in Spielen. Mark Sollweck Fachbereich 20 Seminar Knowledge Engineering Mark Sollweck 1

Intelligente Systeme. Suche

Beispiele. mit. Beispiel 2.3. Suche einen Weg von nach. Tiefensuche bzw. Breitensuche.

Übersicht. Künstliche Intelligenz: 3. Problemlösen durch Suche Frank Puppe 1

Lösungshinweise zu Blatt 8 und Blatt 9 GIN2-SS04

Einfacher Problemlösungsagent. Übersicht. Begriffsdefinitionen für Einfach-Probleme

Disjoint Pattern Database Heuristics Seminar im SS 10

8.1 Blinde Suche. Grundlagen der Künstlichen Intelligenz. Klassische Suche: Überblick. 8. Klassische Suche: Breitensuche und uniforme Kostensuche

Wissensbasierte Suche

Aufgaben zur Klausurvorbereitung

Einführung in Suchverfahren

Einführung in die Methoden der Künstlichen Intelligenz. Suchverfahren / Uninformierte Suche

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen

9.1 Tiefensuche. Grundlagen der Künstlichen Intelligenz. 9.1 Tiefensuche. 9.2 Iterative Tiefensuche. 9.3 Blinde Suche: Zusammenfassung

Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist.

Kapitel 5: Suchverfahren: Backtracking

Algorithmen und Datenstrukturen

Grundlagen der Künstlichen Intelligenz

Motivation für Suchverfahren. Einführung in die Methoden der Künstlichen Intelligenz. Suchverfahren / Uninformierte Suche

Heuristische Suchverfahren

Algorithmen und Datenstrukturen 2-1. Seminar -

Grundlagen der KI + Reasoning Agents

Grundlagen von Decision Support und Expertensystemen

2 Problemlösen und Suche

Teil 3. Suchverfahren

Grundlagen der Informatik

Einführung in die Künstliche Intelligenz SS 18 Prof. Dr. J. Fürnkranz, Prof. Dr. K. Kersting

Wie wird ein Graph dargestellt?

Klausur zur Vorlesung Künstliche Intelligenz

Pro Informatik 2009: Objektorientierte Programmierung Tag 18. Marco Block-Berlitz, Miao Wang Freie Universität Berlin, Institut für Informatik

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

23. November Betweenness Centrality Closeness Centrality. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 108

Smart Graphics: Methoden 2 Suche

Übungsblatt 2 Lösungen

Künstliche Intelligenz

NP-vollständige Probleme

Übungsblatt 2 Lösungen

Datenstrukturen. einfach verkettete Liste

Der Branching-Operator B

Routing A lgorithmen Algorithmen Begriffe, Definitionen Wegewahl Verkehrslenkung

2 Problemlösen und Suche

Klausur Grundlagen der Künstlichen Intelligenz

Algorithmen und Datenstrukturen 1 VU 6.0 Nachtragstest SS Oktober 2014

Universität Koblenz-Landau Fachbereich Informatik Klausur KI-Programmierung WS 2007/2008. Jun.-Prof. Dr. B. Beckert. 21.

WS 2009/10. Diskrete Strukturen

7. Dynamische Datenstrukturen Bäume. Informatik II für Verkehrsingenieure

Transkript:

Künstliche Intelligenz Vorlesung 4: Suchverfahren Informierte Suche 1/135

WIEDERHOLUNG BISLANG... Uninformierte Strategien: bearbeiten den Suchraum systematisch, aber ohne problemspezifisches Wissen ab. Mehr problemspezifisches Wissen kann die Suche schneller zum Ziel führen. problemspezifisches Wissen??? Was ist das? Heuristiken? 2/135

WIEDERHOLUNG BISLANG... Uninformierte Strategien: bearbeiten den Suchraum systematisch, aber ohne problemspezifisches Wissen ab. Mehr problemspezifisches Wissen kann die Suche schneller zum Ziel führen. problemspezifisches Wissen??? Was ist das? Heuristiken? Heuristiken! Heuristiken bewerten die Güte eines Zustand und steuern dadurch die Suche. 2/135

WIEDERHOLUNG BISLANG... Greedy Suche: Best First, Hillclimbing Allgemeiner Suchalgorithmus mit Tree - Search Noch nicht expandierte Nachfolgerknoten kommen in die Warteschlange Aus der Warteschlange wird geeignet der nächste zu expandierende Knoten ausgewählt. 3/135

WIEDERHOLUNG BISLANG... Allgemeiner Ansatz zur informierten Suche: Best - First -Search Der jeweils bezüglich einer Bewertungsfunktion f (n) beste Knoten in der Warteschlange wird expandiert. Diese Warteschlange ist eine Prioritätswarteschlange Die Bewertungsfunktion f (n) setzt sich aus der Heuristik h(n) und der Geschichte g(n) des Knotens zusammen. 4/135

BEISPIELE Greedy Search: f (n) = h(n) Breitensuche: f (n) = g(n) h(n) sind die geschätzten Kosten von Knoten n zum Ziel (Heuristik) g(n) sind die bisherige Kosten auf dem Weg vom Startknoten bis Knoten n. 5/135

BEISPIEL: GREEDY SUCHE 6/135

BEISPIEL: GREEDY SUCHE KÜRZESTE STRECKE VON LÜBECK NACH BERLIN 7/135

BEISPIEL: GREEDY SUCHE GREEDY SEARCH 8/135

BEISPIEL: GREEDY SUCHE GREEDY SEARCH 9/135

BEISPIEL: GREEDY SUCHE GREEDY SEARCH 10/135

BEISPIEL: GREEDY SUCHE GREEDY SEARCH 11/135

BEISPIEL: GREEDY SUCHE GREEDY SEARCH Gier ist nicht immer gut... Optimalität wird nicht erreicht Greedy Suche nicht vollständig, da Zykel möglich 12/135

INFORMIERTE SUCHE: A -ALGORITHMUS Wir suchen nach einen optimalen Algorithmus. Was lernen wir aus dem Greedy Beispiel? 13/135

INFORMIERTE SUCHE: A -ALGORITHMUS Wir suchen nach einen optimalen Algorithmus. Was lernen wir aus dem Greedy Beispiel? Es reicht nicht aus, nur die verbleibende Entfernung zum Ziel zu betrachten Auch der zurückgelegte Weg ist entscheidend A Suche: f (n) = g(n) + h(n). 13/135

A -ALGORITHMUS Suchproblem Startknoten Zieltest Z Nachfolgerfunktion NF. Annahme: Es gibt nur eine Kante zwischen zwei Knoten. (Graph ist schlicht) Kantenkosten g(n1, N 2 ) R. Heuristik h schätzt Abstand zum Ziel Ziel: Finde kostenminimalen Weg vom Startknoten zu einem Zielknoten 14/135

BEISPIEL: ROUTENSUCHE 15/135

A -ALGORITHMUS Kombination positiver Fakten der Suche mit einheitlichen Kosten Optimalität und Vollständigkeit Sortierte Schlangen Greedy Suchverfahren Geschwindigkeit Sortierung anhand Evaluierung Evaluierungsfunktion f (n) Kostenabschätzung für den Pfad durch Knoten n: f (n) = g(n) + h(n) g(n) - Kostenfunktion vom initialen Zustand bis zum Zustand n h(n) - Heuristische Kostenfunktion vom Zustand n bis zum Zielzustand Minimisierung der gesamt Kosten für ein Pfad 16/135

A -ALGORITHMUS Bedingungen an die Heuristik: Zulässig: Niemals Kosten überschätzen! Der kürzeste Weg von n zum Ziel hat einen größeren Kosten, als der der von der Heuristik abgeschätzt wird. Konsistenz: bewirkt aufsteigende f -Werte entlang jedes Pfades h(n) c(n, n ) + h(n ), für n Nachfolger von n. 17/135

BEISPIEL: DAS RUCKSACK-PROBLEM Volumen W, n Objekte (o 1, o 2,..., o n ), jedes Objekt bringt ein Gewinn p i, i = 1, 2,..., n. o 1 o 2 o 3 o 4 p i 10 18 32 14 w i 1 2 4 3 Lösung: für W = 5 o 1 und o 3 g(n) = p i für ausgewählte Objekte o i h(n) = p j für nicht ausgewählte Objekte und wj W w i Jeder einzelne Knoten ist ein Tupel (p, w, p, f ) mit: p - Gewinn der ausgewählten Objekte (Funktion g(n)) w - Gewicht der ausgewählten Objekte p - maximaler Gewinn der erreicht werden kann aus dem jetzigen Zustand unter Betrachtung des freien Platzes im Rucksack (Funktion h(n)) 18/135

A -ALGORITHMUS Theorem Die Tree-Search Version des A -Algorithmus ist optimal, falls h(n) zulässig ist und die Graph-Search Version ist optimal, falls h(n) konsistent ist. 19/135

BEISPIEL: A -ALGORITHMUS 71 Oradea Neamt Zerind 75 Arad 140 118 Timisoara 111 70 75 Drobeta 151 Sibiu 99 Fagaras 80 Rimnicu Vilcea Lugoj Mehadia 120 Pitesti 211 97 146 101 85 138 Bucharest 90 Craiova Giurgiu 87 Iasi 92 142 98 Urziceni Vaslui Hirsova 86 Eforie 20/135

BEISPIEL: A -ALGORITHMUS (a) The initial state (b) After expanding Arad Arad 366=0+366 Arad Sibiu 393=140+253 Timisoara 447=118+329 Zerind 449=75+374 (c) After expanding Sibiu Arad Sibiu Timisoara Zerind 447=118+329 449=75+374 Arad Fagaras Oradea Rimnicu Vilcea 646=280+366 415=239+176 671=291+380 413=220+193 (d) After expanding Rimnicu Vilcea Arad Sibiu Timisoara Zerind 447=118+329 449=75+374 Arad Fagaras Oradea 646=280+366 415=239+176 671=291+380 Rimnicu Vilcea Craiova Pitesti Sibiu 526=366+160 417=317+100 553=300+253 (e) After expanding Fagaras Arad 21/135

BEISPIEL: A -ALGORITHMUS 22/135

A -ALGORITHMUS Für aufsteigende Funktionen f, können wir sogenannte Kontouren zeichnen: Knoten innerhalb einer Höhenlinie haben kleinere f -Kosten als der Wert der Höhenlinie. h(n) = 0: Kreise um den Startpunkt Umso bessere Heuristiken wir benutzen, werden die Höhenlinien in Richtung Zielzustand verlängert und sind zentriert um den optimalen Pfad. A expandiert alle Knoten, so dass f (n) < C auf der Höhenlinie Manche Knoten expandieren zu f (n) = C Knoten n mit f (n) > C werden nie expandiert Der A -Algorithmus ist optimal effizient für jede konsistente Heuristik! 23/135

BEISPIEL: A -ALGORITHMUS O Z N A T 380 S 400 R L F P I V D M C 420 G B U H E Abbildung 1: Höhenlinien für f = 380, f = 400, f = 420 mit Arad als Startknoten. 24/135

A -ALGORITHMUS REVISITED 25/135

A -ALGORITHMUS REVISITED 26/135

A -ALGORITHMUS Komplexitätsanalyse: Zeitkomplexität: b Verzweigungsfaktor, d max maximale Tiefe, T(n) = 1 + b + b 2 + + b dmax O(b dmax ) Speicherkomplexität: d Tiefe der Lösung, S(n) = 1 + b + b 2 + + b d O(b d ) Vollständigkeit: Ja Optimalität: Ja Vorteile: Expandiert die kleinste Anzahl von Knotem im Baum Nachteile: Verbraucht viel Speicherplatz Anwendungen: Planungsprobleme, Probleme mit partielle Summen (Rucksack, Münzen), Puzzles, Optimale Pfade in Graphen 27/135

BEISPIEL 28/135

BEISPIEL 29/135

BEISPIEL 30/135

BEISPIEL 31/135

BEISPIEL 32/135

BEISPIEL 33/135

BEISPIEL 34/135

BEISPIEL 35/135

BEISPIEL 36/135

BEISPIEL 37/135

BEISPIEL 38/135

BEISPIEL 39/135

BEISPIEL 40/135

BEISPIEL 41/135

BEISPIEL 42/135

BEISPIEL 43/135

BEISPIEL 44/135

BEISPIEL 45/135

BEISPIEL 46/135

BEISPIEL 47/135

BEISPIEL 48/135

BEISPIEL 49/135

BEISPIEL 50/135

BEISPIEL 51/135

BEISPIEL 52/135

BEISPIEL 53/135

BEISPIEL 54/135

BEISPIEL 55/135

BEISPIEL 56/135

BEISPIEL 57/135

BEISPIEL 58/135

BEISPIEL 59/135

BEISPIEL 60/135

BEISPIEL 61/135

BEISPIEL 62/135

BEISPIEL 63/135

BEISPIEL 64/135

BEISPIEL 65/135

BEISPIEL 66/135

BEISPIEL 67/135

BEISPIEL 68/135

BEISPIEL 69/135

BEISPIEL 70/135

BEISPIEL 71/135

BEISPIEL 72/135

BEISPIEL 73/135

BEISPIEL 74/135

BEISPIEL 75/135

BEISPIEL 76/135

BEISPIEL 77/135

BEISPIEL 78/135

BEISPIEL 79/135

BEISPIEL 80/135

BEISPIEL 81/135

BEISPIEL 82/135

BEISPIEL 83/135

BEISPIEL 84/135

BEISPIEL 85/135

BEISPIEL 86/135

SPEZIALFÄLLE Wenn h(n) = 0 für alle Knoten N, dann ist A -Algorithmus dasselbe wie die sogenannte Gleiche-Kosten-Suche Wenn c(n 1, N 2 ) = k für alle Knoten N 1, N 2 und h(n) = 0 für alle Knoten N, dann ist A -Algorithmus gerade die Breitensuche. 87/135

VARIANTE: A o -ALGORITHMUS A o -Algorithmus findet alle optimalen Wege Abänderung am A -Algorithmus: sobald erster Zielknoten mit Wert d expandiert wurde: Füge in Open nur noch Knoten mit g(n) + h(n) d ein Andere Knoten kommen in Closed Stoppe erst, wenn Open leer ist Theorem Wenn die Voraussetzungen für den A -Algorithmus gelten, dann findet der Algorithmus A o alle optimalen Wege von S zum Ziel. 88/135

A -ALGORITHMUS Versionen iterative deepening A (IDA ) memory-bounded A (MA ) simplified memory bounded A (SMA ) recursive best-first search (RBFS) dynamic A (DA ) real time A hierarchical A 89/135

PROBLEME MIT A Speichert alle Knoten erhöhte Speicherkomplexität!!! Ist unpraktisch für Suchprobleme mit sehr großem Suchraum. Es existieren Verfeinerungen, die das Problem der Speicherkomplexität lösen, mit einer kleiner Erhöhung der Zeitkomplexität. 90/135

ITERATIVE DEEPENING A (IDA ) Wir passen die Idee der iterativen Tiefensuche an dem A -Algorithmus an. Die Suche ist gesteuert von der Kostenfunktion f (n) und nicht von der Tiefe Für die nächste Iteration wird der kleinste Wert f (n) des Knoten n, welches die Grenze der letzten Iteration überschreitet gewählt. Sehr oft benutzt in praktische Anwendungen! 91/135

ITERATIVE DEEPENING A (IDA ) Ist analog zu A. Es gibt keine Open/Closed-Listen, nur einen Stack mit Knoten und Wegekosten. Der Wert g(n) wird bei gerichteten Graphen nicht per Update verbessert. Der Knoten n wird nicht expandiert, wenn f (n) > d. Das Minimum der Werte f (n) mit f (n) > d wird das d in der nächsten Iteration. 92/135

ITERATIVE DEEPENING A (IDA ) 93/135

ITERATIVE DEEPENING A (IDA ) 94/135

BEISPIEL: ITERATIVE DEEPENING A (IDA ) 95/135

BEISPIEL: ITERATIVE DEEPENING A (IDA ) 96/135

BEISPIEL: ITERATIVE DEEPENING A (IDA ) 97/135

BEISPIEL: ITERATIVE DEEPENING A (IDA ) 98/135

BEISPIEL: ITERATIVE DEEPENING A (IDA ) 99/135

BEISPIEL: ITERATIVE DEEPENING A (IDA ) 100/135

BEISPIEL: ITERATIVE DEEPENING A (IDA ) 101/135

BEISPIEL: ITERATIVE DEEPENING A (IDA ) 102/135

BEISPIEL: ITERATIVE DEEPENING A (IDA ) 103/135

BEISPIEL: ITERATIVE DEEPENING A (IDA ) 104/135

BEISPIEL: ITERATIVE DEEPENING A (IDA ) 105/135

BEISPIEL: ITERATIVE DEEPENING A (IDA ) 106/135

BEISPIEL: ITERATIVE DEEPENING A (IDA ) 107/135

BEISPIEL: ITERATIVE DEEPENING A (IDA ) 108/135

BEISPIEL: ITERATIVE DEEPENING A (IDA ) 109/135

BEISPIEL: ITERATIVE DEEPENING A (IDA ) 110/135

BEISPIEL: ITERATIVE DEEPENING A (IDA ) 111/135

BEISPIEL: ITERATIVE DEEPENING A (IDA ) 112/135

BEISPIEL: ITERATIVE DEEPENING A (IDA ) 113/135

BEISPIEL: ITERATIVE DEEPENING A (IDA ) 114/135

BEISPIEL: ITERATIVE DEEPENING A (IDA ) 115/135

ITERATIVE DEEPENING A (IDA ) Speicherkomplexität: Linear in der Länge des optimalen Weges Problem: Durch Nicht-Speichern der entdeckten Knoten: Eventuell exponentiell viele Pfade ablaufen (Zeit) Wir brauchen einen anderen Algorithmus 116/135

REKURSIVE BEST-FIRST-SUCHE Analog zur Bestensuche aber mit linearem Speicherplatz. Analog zur Tiefensuche: benutzt die f limit Variable um den Wert von f zu verfolgen, entlang des besten alternativen Pfades von jedem Vorgänger des laufenden Knotens. Falls der laufende Knoten über f limit ist, dann geht man rekursiv zum nächsten alternativen Pfad. f (n) wird mit dem Wert des Nachfolgers reinstanziert: der Algorithmus merkt sich das beste Blatt im eliminierten Unterbaum. 117/135

REKURSIVE BEST-FIRST-SUCHE h(n) zulässig, dann RBFS ist optimal. Speicherkomplexität linear: O(bd). Zeitkomplexität: exponential (exzessive Knotenexpansion). 118/135

REKURSIVE BEST-FIRST-SUCHE 119/135

BEISPIEL: REKURSIVE BEST-FIRST-SUCHE (a) After expanding Arad, Sibiu, and Rimnicu Vilcea 447 Sibiu 393 415 Arad Fagaras Oradea Rimnicu Vilcea 415 646 671 413 Arad 366 Timisoara Zerind 447 449 Craiova Pitesti Sibiu 526 417 553 (b) After unwinding back to Sibiu and expanding Fagaras Arad 366 447 Sibiu 393 417 Arad Fagaras Oradea Rimnicu Vilcea 646 415 671 413 417 Timisoara 447 Zerind 449 Sibiu 591 Bucharest 450 (c) After switching back to Rimnicu Vilcea and expanding Pitesti Arad 366 447 Sibiu Timisoara Zerind 393 447 449 447 Arad Fagaras Oradea Rimnicu Vilcea 646 415 450 671 417 447 Craiova Pitesti Sibiu 526 417 553 Bucharest Craiova Rimnicu Vilcea 418 607 615 120/135

SIMPLIFIED MEMORY-BOUNDED A IDA und RBFS expandieren bereits expandierte Knoten mehrfach Verbesserungspotential! Falls Speicherplatz voll, eliminiere das schlechteste Blatt und speichere Pfad von der Wurzel zu dem eliminierten Knoten. 121/135

SMA - SIMPLIFIED MEMORY BOUNDED A Wie A, aber die Größe der Open und Closed-Mengen ist beschränkt. Wenn der Platz verbraucht ist, wird der schlechteste Knoten gelöscht. Schlechtester Knoten: Größter f (n)-wert. 122/135

SUCHE NACH GUTEN HEURISTIKEN Wie findet man gute zulässige Heuristiken? Beispiel: 8-Puzzle 7 2 4 1 2 5 6 3 4 5 8 3 1 6 7 8 Start State Goal State 123/135

SUCHE NACH GUTEN HEURISTIKEN 8-PUZZLE PROBLEM Mittelwert der notwendigen Schritte zum Ziel: 22 Verzweigungsfaktor: ungefähr 3 Kompletter Suchbaum: 3 22 Knoten Anzahl der erreichbaren Zustände ist nur 9!/2 = 181440 15-Puzzle: 10 13 Zustände 124/135

SUCHE NACH GUTEN HEURISTIKEN 8-PUZZLE PROBLEM h 1 Anzahl der Plättchen an falscher Stelle: h 1 = 8 für den initialen Zustand. h 2 Summe der Entfernungen der Plättchen zu ihrem Zielplatz: Manhattan Entfernung h 2 = 3 + 1 + 2 + 2 + 2 + 3 + 3 + 2 = 18. Kosten der Ziellösung: 26, also keine Überschätzung, d.h. beide Heuristiken sind zulässig. 125/135

WIE CHARAKTERISIEN WIR DIE GÜTE EINER HEURISTIK? Effektiver Verzweigungsfaktor b : Sei N die Anzahl der von A generierten Knoten für ein Suchproblem Sei d die Tiefe der Lösung b ist der Verzweigungsfaktor eines uniformen Baumes der Tiefe d der N + 1 Knoten enthält. N + 1 = 1 + b + (b ) 2 + + (b ) d. 126/135

BEISPIEL A findet eine Lösung in Tiefe 5 nach 52 Knoten b = 1.92 Eine gute Heuristik hat einen effektiven Verzweigungsfaktor in der Nähe von 1. Teste: 1200 zufällige Probleme h1 und h 2 getestet. h2 besser Auch für kleine Probleme mit z.b. d = 12, A mit h 2 ist 50.000 mal schneller als uninformierte iterative Tiefensuche 127/135

BEISPIEL 128/135

HEURISTIKEN FÜR ALLE PROBLEME? JA! ENTSPANNUNG IST ALLES 129/135

HEURISTIKEN FÜR ALLE PROBLEME? JA! ENTSPANNUNG IST ALLES Entspannung ist eine Vereinfachung des Problems, so dass die Lösung des initialen Problems ist auch eine Lösung des entspannten Problems Wir müssen das entspannte Problem so formulieren, dass eine Lösung schnell zu finden ist Der Kost der optimalen Lösung des entspannten Problems ist eine untere Schranke der Lösung des ursprünglichen Problems und ist somit eine zulässige und monotone Heuristik für das initiale Problem 129/135

BEISPIEL 8-PUZZLE Ein Plättchen kann sich vom Feld A nach Feld B bewegen, falls: A ist mit B senkrecht oder waagerecht benachbart B ist leer. Mögliche Entspannungen: Ein Plättchen kann sich von A nach B bewegen, falls A und B benachbart sind (Manhattan Entfernung). Ein Plättchen kann sich von A nach B bewegen, falls B leer ist. Ein Plättchen kann sich von A nach B bewegen (Heuristik h 1 ). 130/135

MUSTERDATENBANKEN PATTERN DATABASE Ein weiterer Vorgang um zulässige Heuristiken zu erzeugen, ist eine Musterdatenbank zu benutzen. Können aus der Lösung eines Subproblems eines gegebenen Problems hergeleitet werden. 131/135

BEISPIEL 2 4 1 2 5 6 3 54 6 8 3 1 7 8 Start State Goal State Abbildung 2: Subproblem einer 8-Puzzle Instanz. Ziel ist die Plättchen 1, 2, 3 und 4 auf korrekte Felder zu bewegen, die anderen Plättchen interesieren uns nicht. 132/135

BEISPIEL Die Lösung dieses Subproblems ist eine untere Schranke des Kosts der initialen Instanz Es ist viel besser als die Manhattan Entfernung. 133/135

MUSTERDATENBANKEN Speichere genaue Kosten für jegliche Subprobleminstanzen: Im Beispiel: jegliche Konfiguration der 4 Plättchen und des leeren Feldes. Es spielt keine Rolle wo die anderen Plättchen plaziert sind, deren Bewegungen beeinflussen aber den Gesamtkosten. Wir berechnen eine zulässige Heuristik h DB für jeden Zustand der während der Suche getestet wird, indem wir auf das entsprechende Subproblem Konfiguration aus der Datenbank zugreifen. 134/135

MUSTERDATENBANKEN Die Datenbank wird folgendermaßen aufgebaut: Suche rückwärts vom Ziel und speichere den Kost eines jeden Musters Die Kosten dieser Suche ist beglichen über der großen Anzahl der Probleminstanzen, die man löst. Für mehrere Heuristiken nehmen wir das Maximum all dieser Funktionen. 135/135