Übersicht Informierte (heuristische)...

10
Künstliche Intelligenz: 4. Informierte Suchmethoden Frank Puppe 1 Übersicht I Künstliche Intelligenz II Problemlösen 3. Problemlösen durch Suche 4. Informierte Suchmethoden 5. Constraint-Probleme 6. Spiele III Wissen und Schlußfolgern IV Logisch Handeln V Unsicheres Wissen und Schließen VI Lernen VII Kommunizieren, Wahrnehmen und Handeln Künstliche Intelligenz: 4. Informierte Suchmethoden Frank Puppe 2 - Bester-Zuerst-Suche, A*-Suche - Heuristische Bewertungsfunktionen - Speicher-begrenzte Suche - Iterative Verbesserungsverfahren (Hill-Climbing, Simulated Annealing) Informierte (heuristische) Suche Künstliche Intelligenz: 4. Informierte Suchmethoden Frank Puppe 3 Idee: Expandiere immer den "besten" Knoten zuerst. Berücksichtige das Prinzip im allgemeinen Suchalgorithmus: - Expandiere den Knoten, der am nächstem zu einem Ziel ist. - Expandiere den Knoten, dessen Pfad zu einem Ziel mutmaßlich am kürzesten ist. Verbrauche möglichst wenig Speicherplatz (Hill-Climbing) Bester-Zuerst-Suche Künstliche Intelligenz: 4. Informierte Suchmethoden Frank Puppe 4 Algorithmus Bester-Zuerst-Suche

Transcript of Übersicht Informierte (heuristische)...

Page 1: Übersicht Informierte (heuristische) Sucheki.informatik.uni-wuerzburg.de/teach/documents/KI/skript/... · 2013-04-02 · IV Logisch Handeln V Unsicheres Wissen und Schließen VI

1

Künstliche Intelligenz: 4. Informierte Suchmethoden Frank Puppe 1

Übersicht

I Künstliche IntelligenzII Problemlösen

3. Problemlösen durch Suche4. Informierte Suchmethoden5. Constraint-Probleme6. Spiele

III Wissen und SchlußfolgernIV Logisch HandelnV Unsicheres Wissen und SchließenVI LernenVII Kommunizieren, Wahrnehmen und Handeln

Künstliche Intelligenz: 4. Informierte Suchmethoden Frank Puppe 2

- Bester-Zuerst-Suche, A*-Suche

- Heuristische Bewertungsfunktionen

- Speicher-begrenzte Suche

- Iterative Verbesserungsverfahren(Hill-Climbing, Simulated Annealing)

Informierte (heuristische) Suche

Künstliche Intelligenz: 4. Informierte Suchmethoden Frank Puppe 3

Idee: Expandiere immer den "besten" Knoten zuerst.

• Berücksichtige das Prinzip im allgemeinen Suchalgorithmus:

- Expandiere den Knoten, der am nächstem zu einem Ziel ist.- Expandiere den Knoten, dessen Pfad zu einem Ziel

mutmaßlich am kürzesten ist.

• Verbrauche möglichst wenig Speicherplatz (→ Hill-Climbing)

Bester-Zuerst-Suche

Künstliche Intelligenz: 4. Informierte Suchmethoden Frank Puppe 4

Algorithmus Bester-Zuerst-Suche

Page 2: Übersicht Informierte (heuristische) Sucheki.informatik.uni-wuerzburg.de/teach/documents/KI/skript/... · 2013-04-02 · IV Logisch Handeln V Unsicheres Wissen und Schließen VI

2

Künstliche Intelligenz: 4. Informierte Suchmethoden Frank Puppe 5

Einführung einer neuen Funktion:h(n) = Geschätzte Kosten (des billigsten Pfades) vom Knoten n

zum Ziel Greedy-Suche: Bester-Zuerst-Suche mit Evaluationsfunktion h

Nachteile:• Nicht optimal (z.B. Luftlinien-Heuristik, im Bsp. Arad→Bukarest)• Gefahr von unendlichen Pfaden (aber gering)• Speicherkomplexität wie Breitensuche• schlechte worst-case Zeitkomplexität O (bm)

[m = maximale Tiefe des Suchbaumes]

Varianten: • Hill-Climbing, wenn nur der beste Pfad gemerkt wird.• Beam-Search, wenn begrenzte Anzahl von Pfaden (Beams)

gemerkt werden.

Greedy-Suche

Künstliche Intelligenz: 4. Informierte Suchmethoden Frank Puppe 6

Luftlinie als Heuristik

Künstliche Intelligenz: 4. Informierte Suchmethoden Frank Puppe 7

Beispiel: Greedy-Suche

Künstliche Intelligenz: 4. Informierte Suchmethoden Frank Puppe 8

Idee: Berücksichtige Entfernung zum Ziel h(n) und bisherigen Aufwand g(n) bezüglich eines Knotens n:

f(n) = g(n) + h(n)

und wähle niedrigste geschätzte Kosten eines Pfades durch n.

Wenn h die Kosten zum Ziel nie überschätzt, ist h zulässig(admissible).

A*: Bester-Zuerst-Suche mit zulässiger Funktion h in:

f(n) = g(n) + h(n)

A*-Suche

Page 3: Übersicht Informierte (heuristische) Sucheki.informatik.uni-wuerzburg.de/teach/documents/KI/skript/... · 2013-04-02 · IV Logisch Handeln V Unsicheres Wissen und Schließen VI

3

Künstliche Intelligenz: 4. Informierte Suchmethoden Frank Puppe 9

Beispiel A* - Suche

2.

Künstliche Intelligenz: 4. Informierte Suchmethoden Frank Puppe 10

Monotonie

• Die f-Kosten eines Pfades können niemals sinken (falls doch, ist das bedeutungslos und kann ignoriert werden)

Beispiel für Monotonie:• sei f(n) = g(n) + h(n) = 7 = 3 + 4• und f(n') [n' Nachfolger von n] = g(n') + h(n') = 6 = 4 + 2, • dann wissen wir, dass die Schätzung f(n) die bessere ist, da h

die tatsächlichen Kosten zum Ziel nicht überschätzen darf.• -> f(n') = max (f(n), g(n') + h(n')).

Künstliche Intelligenz: 4. Informierte Suchmethoden Frank Puppe 11

Monotonizität

• Wünschenswert wäre es, wenn die berechneten f-Kosten entlang eines Pfades nicht sinken würden.

• Das gilt, wenn die h-Kosten in dem Sinne immer sinken, dass die h-kosten von n kleiner als die h-Kosten von einem Nachfolger n' von n + die Kosten irgendeines Weges [c(n,a,n') = costs von n über action a nach n'] von n nach n' d.h.

h(n) ≤ c(n,a,n') + h(n')• Wenn diese Dreiecksungleichung gilt,

erfüllt die heuristische Funktion h die Forderung der Monotonizität oder Konsistenz

• Obwohl strikter als Zulässigkeit, wird Konsistenz von fast allen zulässigen Funktionen erfüllt (z.B. Luftlinie).

Künstliche Intelligenz: 4. Informierte Suchmethoden Frank Puppe 12

A* ist vollständig & optimal (d.h. 1. gefundener Pfad ist bester).

Beweisidee für Optimalität:

A* expandiert Knoten im Bereich um den Startknoten, die den jeweils geschätzten f-Werten entsprechen. Da die f-Werte monoton wachsen, wachsen auch die Bereiche, bis ein Zielknoten darin enthalten ist.

Falls f* die Kosten des optimalen Pfades sind, gilt:A* expandiert alle Knoten n deren f(n) < f* sind, und manche, für die f(n) = f*.

Alle Knoten außer dem ersten Zielknoten müssen höhere f-Kosten und so auch höhere g-Kosten haben (da dann h(n) = 0), d.h. sie können nicht optimal sein.

Leider benötigt die A*-Suche exponentiell viel Speicherplatz.

Optimalität der A*-Suche

Page 4: Übersicht Informierte (heuristische) Sucheki.informatik.uni-wuerzburg.de/teach/documents/KI/skript/... · 2013-04-02 · IV Logisch Handeln V Unsicheres Wissen und Schließen VI

4

Künstliche Intelligenz: 4. Informierte Suchmethoden Frank Puppe 13

Verschiedene f-Konturen bei A* - Suche

Künstliche Intelligenz: 4. Informierte Suchmethoden Frank Puppe 14

Heuristik für Kürzeste Wege: Luftlinie

8-Puzzle:

Komplexität ohne Heuristik: Typische Pfadlänge zur Lösung: 20Typischer Verzweigungsfaktor: 3→ ca. 320 = 3,5 109 Pfade, allerdings nur 9! = 362 880 Zustände

2 zulässige Heuristiken:h1: Anzahl der Kästchen auf falschem Feld.h2: Summe der Entfernungen der Kästchen von ihrer Zielposition

Frage: Ist h2 immer besser als h1?

Heuristische Funktionen

Künstliche Intelligenz: 4. Informierte Suchmethoden Frank Puppe 15

Effekt heuristischer Funktionen

Künstliche Intelligenz: 4. Informierte Suchmethoden Frank Puppe 16

h1 und h2 können als exakte Entfernungsmaße für ein vereinfachtes Problem betrachtet werden:

h1, falls ein Kästchen sich auf jedes Feld bewegen könnte.h2, falls ein Kästchen sich auf jedes benachbarte Feld bewegen könnte.

Oft sind die Kosten einer exakten Lösung für ein vereinfachtes Problem eine gute (zulässige) Heuristik für das ursprüngliche Problem.

Bsp.: 8-Puzzle: Normale Regel: Ein Kästchen kann sich auf ein anderes Feld bewegen, wenn dieses benachbart und leer ist.→ Relaxierung von benachbart und leer.

Bsp. Kürzeste Wege: Normale Regel: Man kann nur auf Straßen von einem Ort zum anderen.→ Relaxierung: man kann fliegen.

Erfinden heuristischer Funktionen (1)

Page 5: Übersicht Informierte (heuristische) Sucheki.informatik.uni-wuerzburg.de/teach/documents/KI/skript/... · 2013-04-02 · IV Logisch Handeln V Unsicheres Wissen und Schließen VI

5

Künstliche Intelligenz: 4. Informierte Suchmethoden Frank Puppe 17

ABSOLVER [Prieditis 93] generiert gute Heuristiken automatisch (z.B. erste gute Heuristik für Rubin's Cube).

Falls mehrere gute Heuristiken existieren, können diese durch die Maximum-Funktion kombiniert werden.

Statistische Informationen können genutzt werden, wieviel eine Heuristik im Durchschnitt das Ziel unterschätzt, aber daraus resultiert dann keine zulässige Heuristik mehr.

Oft kann man zwar wichtige Aspekte nennen, die in die Heuristik eingehen sollen, aber nicht deren genauen Wert. Dann kann man dafür parameteradaptive Lernverfahren einsetzen.

Berechnungskosten der Heuristik mitberücksichtigen!!!

Erfinden heuristischer Funktionen (2)

Künstliche Intelligenz: 4. Informierte Suchmethoden Frank Puppe 18

Muster-Datenbanken

• Idee: Speichere exakte Lösungen für Teilprobleme, z.B. Lösungen für alle Stellungen der Kästchen 1-4 im 8-Puzzle bezogen auf eine Zielstellung der Kästchen 1-4

• Zerlege eine Lösung in Teilprobleme, schaue in der Datenbank die exakten Lösungen der Teilprobleme nach und addiere Anzahl der Züge

– Zwar gibt es Interaktion zwischen den Teillösungen– Aber das Ergebnis ist eine untere Schranke der tatsächli-

chen Lösung und deswegen eine zulässige Heuristik für A*

• Beispiel für Teilproblem:

Künstliche Intelligenz: 4. Informierte Suchmethoden Frank Puppe 19

Lernen heuristischer Funktionen

• Idee: Bestimme Stellungsmerkmale und ermittle ihre Korrelation in (optimalen) Lösungen mit der tatsächlichen Pfadlänge durch Lernalgorithmen.

• Dann kann man die Kosten h eines Zustandes n dadurch abschätzen, dass man die Stellungsmerkmale von n ermittelt und durch die gelernte Funktion die Kosten h(n) schätzt.

• Mehrere Stellungsmerkmale können summiert werden, wenn sie vorher entsprechend gewichtet werden.

Künstliche Intelligenz: 4. Informierte Suchmethoden Frank Puppe 20

Hauptproblem von A* war der exponentielle Speicherbedarf. Techniken zur Reduktion basieren auf der Übertragung der Idee der iterativen Tiefensuche auf heuristische Suchverfahren, d.h. man merkt sich nicht alles, sondern berechnet manche Zustände mehrfach (aber nicht "zu oft").

Drei Verfahren:

• IDA*: Iteratives Tiefen-A*

• RBFS: Recursive Best First Search

• SMA*: Simplified Memory Bounded A*Benutze soviel Hauptspeicher wie verfügbar ist.

Speicherbegrenzte heuristische Suche

Page 6: Übersicht Informierte (heuristische) Sucheki.informatik.uni-wuerzburg.de/teach/documents/KI/skript/... · 2013-04-02 · IV Logisch Handeln V Unsicheres Wissen und Schließen VI

6

Künstliche Intelligenz: 4. Informierte Suchmethoden Frank Puppe 21

Idee: Ähnlich wie die Iterative Tiefensuche einen Pfad nur bis zu einer vorgegebenen Tiefe verfolgt, so wird bei IDA* ein Pfad nurbis zu einer vordefinierten f-Kosten-Schranke verfolgt. Wenn innerhalb der Schranke keine Lösung liegt, wird die Schranke erhöht und eine komplett neue Suche gestartet.

Vorteil: Man muß sich sich nicht mehr alle Knoten merken, sondern nur die, die zu dem aktuellen Pfad gehören (Speicheraufwand nur noch ca. Verzweigungsfaktor * Tiefe)

Problem: Wie erhöht man die f-Kosten-Schranke von einer Iteration zur nächsten?

IDA* (1)

Künstliche Intelligenz: 4. Informierte Suchmethoden Frank Puppe 22

Lösung1: Nimm den kleinsten f-Wert von allen Knoten, deren f-Wert außerhalb der f-Kosten-Schranke lag.Gut, wenn sich die Kosten von einer Runde zur nächsten um "Einheitskosten" (z.B. ganze Zahlen) erhöhen.Nachteil: Wenn sich die f-Kosten von einer Runde zur nächsten nur sehr wenig verbessern (z.B. reellwertige Zahlen), dann steigt der Suchaufwand quadratisch.

Lösung2: Erhöhe den f-Wert um einen konstanten Betrag e Nachteil: Man findet ein suboptimales Ziel, dessen Kosten um maximal e größer als das optimale Ziel sein können.

IDA* (2)

Künstliche Intelligenz: 4. Informierte Suchmethoden Frank Puppe 23

RBFS (recursive best-first search)RBFS verfolgt immer einen Pfad wie bei der Tiefensuche, allerdings nur solange, bis ein anderer Knoten einen besseren f-Wert aufweist. Dann wird der andere Pfad verfolgt und der bisher aktuelle Pfad vergessen – bis auf den erreichten f-Wert, der bis zu dem Knoten hochpropagiert wird, der vom anderen Pfad sichtbar ist.

Künstliche Intelligenz: 4. Informierte Suchmethoden Frank Puppe 24

IDA* erinnert sich von einer Iteration zur nächsten nur an die f-Kosten-Schranke. SMA* merkt sich stattdessen soviele Knoten, wie es Speicher zur Verfügung hat.

Problem: Was tun, wenn Speicher voll ist?

Lösung: Vergiss den Knoten mit der schlechtesten f-Bewertung und merke in dem Vorgänger-Knoten die f-Kosten des vergessenen Knoten.

SMA* (1)

Page 7: Übersicht Informierte (heuristische) Sucheki.informatik.uni-wuerzburg.de/teach/documents/KI/skript/... · 2013-04-02 · IV Logisch Handeln V Unsicheres Wissen und Schließen VI

7

Künstliche Intelligenz: 4. Informierte Suchmethoden Frank Puppe 25

Eigenschaften von SMA*:

- Ausnutzen allen verfügbaren Speichers.- Vermeiden des Mehrfach-Besuchens von Zuständen soweit

Speicher vorhanden ist.- Vollständig, wenn genügend Speicher für den kürzesten

Lösungspfad.- Optimal, wenn genügend Speicher für den optimalen Lösungspfad.- Optimal effizient, wenn genügend Speicher für den gesamten

Suchbaum (ähnlich wie A*).

→ Ungeklärt, aber wahrscheinlich optimal effizienter Algorithmus bezüglich derselben heuristischen Information und desselben Speicherbedarfs.

SMA* (2)

Künstliche Intelligenz: 4. Informierte Suchmethoden Frank Puppe 26

Beispiel SMA* - Suche

Künstliche Intelligenz: 4. Informierte Suchmethoden Frank Puppe 27

Beispiel SMA* - Suche

Künstliche Intelligenz: 4. Informierte Suchmethoden Frank Puppe 28

Wenn es bei einem Problem nur auf die Lösung selbst, nicht auf den Weg dahin ankommt (z.B. 8-Damen, VLSI-Layout), dannsind iterative Verbesserungsverfahren oft am praktikabelsten.

Idee: Starte mit einer vollständigen Konfiguration und verbessere sie durch schrittweise Variationen.

Klassen von Algorithmen:- Hill-Climbing- Simulated Annealing- local Beam Search

Iterative Verbesserungsverfahren

Page 8: Übersicht Informierte (heuristische) Sucheki.informatik.uni-wuerzburg.de/teach/documents/KI/skript/... · 2013-04-02 · IV Logisch Handeln V Unsicheres Wissen und Schließen VI

8

Künstliche Intelligenz: 4. Informierte Suchmethoden Frank Puppe 29

Wähle immer den Nachfolgeknoten mit der besten Bewertung. Wenn nur schlechtere Nachfolger, dann gib aktuellen Knoten als Lösung zurück.

Kein Suchbaum, kein Backtracking → Sehr effizient

Probleme: - Lokale Maxima- Plateaus- Gebirgskamm (ridge, shoulder)

Hill-Climbing-Suche

Künstliche Intelligenz: 4. Informierte Suchmethoden Frank Puppe 30

Hill-Climbing: Beispiel 8-Damen-Problem

• links: Ausgehend von einer Start-Konfiguration wird immer der Zug gewählt, der die Anzahl der Konflikte am stärksten reduziert

• rechts: lokales Minimum bei dem Hill-Climbing "stecken" bleibt.

Künstliche Intelligenz: 4. Informierte Suchmethoden Frank Puppe 31

Hill-Climbing

Künstliche Intelligenz: 4. Informierte Suchmethoden Frank Puppe 32

Verbesserungen von Hill-Climbing• Wenn gleichgute Nachfolger, dann wähle per Zufall

("Seitwärtsschritte")–Problem: potentielle Endlosschleife in Plateaus–Lösung: Begrenzung der Anzahl der Seitwärtsschritte

• Random-Restart-Hill-Climbing: Starte Hill-Climbing mehrfach von verschiedenen Punkten.

• Stochastic Hill-Climbing: Wähle nicht den besten Nachfolge-Knoten, sondern eine Verbesserung nach stochastischen Kriterien

• Erlaube beim Hill-Climbing in kontrollierter Weise auch Verschlechterungen → Simulated Annealing (s.u.)

• Local beam Search: Merke statt einem Knoten eine Menge von k Knoten ("beam"). Von allen Nachfolgern der k Knoten werden wiederum die k besten ausgewählt (kann man gut mit stochasticHill-Climbing kombinieren, um gewisse Diversivität zu erreichen).

Page 9: Übersicht Informierte (heuristische) Sucheki.informatik.uni-wuerzburg.de/teach/documents/KI/skript/... · 2013-04-02 · IV Logisch Handeln V Unsicheres Wissen und Schließen VI

9

Künstliche Intelligenz: 4. Informierte Suchmethoden Frank Puppe 33

Idee: Start immer von neuen zu suchen, könnte man auch während der Suche kleinere Verschlechterungen in Kauf nehmen.

Frage: Wie kann man kleine Verschlechterungen sinnvoll definieren?

1. Benutze eine gewichtete Zufallsfunktion bei der Schrittauswahl: Je schlechter ein Schritt ist, desto unwahrscheinlicher wird er gewählt.

2. Erreiche Terminierung, indem im Laufe der Zeit schlechte Schritte immer unwahrscheinliche werden.

→ Simulated Annealing: Analogie zum allmählichen Gefrieren einer Flüssigkeit

Simulated Annealing

Künstliche Intelligenz: 4. Informierte Suchmethoden Frank Puppe 34

Genetische Algorithmen (GA)

• Variante von stochastischem Beam Search• Biologische Metapher der Evolution: Anstatt der Modifikation

von einem Vorgänger ("asexuelle Fortpflanzung") werden zwei Vorgänger gemischt ("sexuelle Fortplanzung").

• Hauptschritte:− Wiederhole n Mal:

1. Select: Auswahl von 2 Lösungen in Population nach Fitness2. Recombine: Vermischen beider Lösungen zu neuer Lösung 3. Repair: ggf. Reparatur der neuen Lösung4. Mutate: Modifikation der neuen Lösung durch Mutation

− Wähle die besten Lösungen aus und starte neue Runde• Erfolgsfaktor: Gute Modularisierung erforderlich

Künstliche Intelligenz: 4. Informierte Suchmethoden Frank Puppe 35

Graphische Darstellung von GA

Population Selektion Rekombination MutationFitniss-gewichtet

Künstliche Intelligenz: 4. Informierte Suchmethoden Frank Puppe 36

Beispiel für Rekombination

Page 10: Übersicht Informierte (heuristische) Sucheki.informatik.uni-wuerzburg.de/teach/documents/KI/skript/... · 2013-04-02 · IV Logisch Handeln V Unsicheres Wissen und Schließen VI

10

Künstliche Intelligenz: 4. Informierte Suchmethoden Frank Puppe 37

Beispiel für Rekombination mit Reparatur

N1 zu A1N2 zu A2N3 zu A3N4 zu A4

N1 zu A2N2 zu A1N3 zu A4N4 zu A3

N1 zu A2N2 zu A3N3 zu A1N4 zu A4

N1 zu A1N2 zu A2N3 zu A4N4 zu A3

N1 zu A2N2 zu A3N3 zu A4N4 zu A3

N1 zu A2N2 zu A3N3 zu A4N4 zu A1

Reparatur

Elterngeneration

Kindergeneration

-3 -5 -2

-3

0