Einführung in Heuristische Suche

Ähnliche Dokumente
Uninformierte Suche in Java Informierte Suchverfahren

Uninformierte Suche in Java Informierte Suchverfahren

Künstliche Intelligenz

Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche. Suche in Spielbäumen. KI SS2011: Suche in Spielbäumen 1/20

Künstliche Intelligenz - Optimierungsprobleme - Suche in Spielbäumen

2. Spiele. Arten von Spielen. Kombinatorik. Spieler haben festgelegte Handlungsmöglichkeiten, die durch die Spielregeln definiert werden.

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

Heuristische Suchverfahren

Große Lösungsräume. Leon Schmidtchen Hallo Welt Seminar - LS Leon Schmidtchen Große Lösungsräume Hallo Welt Seminar - LS2

9. Heuristische Suche

6. Spiele Arten von Spielen. 6. Spiele. Effizienzverbesserung durch Beschneidung des Suchraums

Zustandsraumsuche: Blinde und Heuristische Suche. Blinde und Heuristische Suche

2. Spielbäume und Intelligente Spiele

Beweise aus dem Fach Grundzüge der Künstlichen Intelligenz

Praktikum Algorithmen-Entwurf (Teil 7)

Algorithmen und Datenstrukturen (für ET/IT)

Einführung in Suchverfahren

Einführung in die Methoden der Künstlichen Intelligenz. Suche bei Spielen

Algorithmen und Datenstrukturen (für ET/IT)

1 Einführung. 2 Grundlagen von Algorithmen. 3 Grundlagen von Datenstrukturen. 4 Grundlagen der Korrektheit von Algorithmen

Intelligente Systeme

Kapitel 5: Suchverfahren: Backtracking

Einführung in die Methoden der Künstlichen Intelligenz. Suche bei Spielen

Smart Graphics: Methoden 2 Suche

Künstliche Intelligenz

Grundlagen der Künstlichen Intelligenz

Thinking Machine. Idee. Die Thinking Machine Visualisierung versucht, die Denkprozesse eines Schachcomputers sichtbar zu machen

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

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

Definition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V.

Betriebliche Optimierung

Grundlagen der Künstlichen Intelligenz Einführung Minimax-Suche Bewertungsfunktionen Zusammenfassung. Brettspiele: Überblick

Algorithmen und Datenstrukturen

12.4 Traveling Salesman Problem

Künstliche Intelligenz

als Bewertungsfunktion g(n) eines Knotens n wird der tatsächliche Weg vom Startzustand zu diesem Knoten benutzt

Smart Graphics: Search 1

Zustände und Knoten. Vorgänger Information: Tiefe = 4 ΣKosten=4 Expandiert: ja. Zustand Aktion: right. Aktion: down

Zwei-Spieler-Spiele. Einführung in die Methoden der Künstlichen Intelligenz. Suche bei Spielen. Schach. Schach (2)

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

Der Branching-Operator B

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

1 topologisches Sortieren

Spiele. Programmierpraktikum WS04/05 Lange/Matthes 106

Intelligente Systeme

Grundlagen der Künstlichen Intelligenz

Lernmodul 7 Algorithmus von Dijkstra

Übungsblatt 2 Lösungen

Euler und Hamiltonkreise

Startzustand. Mögliche heuristische Funktionen:

Vorlesung Datenstrukturen

Paper Computer Science Experiment. Computation (NP-Vollständigkeit) Traveling Salesman

Betriebliche Optimierung

Zwei-Spieler-Spiele. Einführung in die Methoden der Künstlichen Intelligenz. Suche bei Spielen. Schach. Schach (2)

Programmierkurs Prolog, SS 2000

Der Alpha-Beta-Algorithmus

Intelligente Systeme

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 1: Grundlagen der algorithmischen Graphentheorie

Breitensuche BFS (Breadth First Search)

Aufgaben zur Klausurvorbereitung

Wie wird ein Graph dargestellt?

Algorithmen und Datenstrukturen 2. Stefan Florian Palkovits, BSc Juni 2016

Datenstrukturen Teil 2. Bäume. Definition. Definition. Definition. Bäume sind verallgemeinerte Listen. Sie sind weiter spezielle Graphen

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

Branch-and-Bound und Varianten. Kapitel 3. Branch-and-Bound und Varianten. Peter Becker (H-BRS) Operations Research II Wintersemester 2014/15 98 / 159

Algorithmen und Datenstrukturen 1-5. Seminar -

Intelligente Systeme. Suche

ADS: Algorithmen und Datenstrukturen 2

Informierte Suchverfahren

Traversierung 1 / 16. P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V3 23. April / 16

Kognitive Systeme 1. Heuristische Suche. Dr.-Ing. Bernd Ludwig. Lehrstuhl für Künstliche Intelligenz Friedrich-Alexander-Universität Erlangen-Nürnberg

Implementation und Evaluierung innovativer Heuristiken für die Anordnung von Entwurfsentscheidungen

Heuristische Verfahren

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

Wissensbasierte Suche

Tiefensuche (Depth-First Search) Robert Hilbrich

OR für Wirtschaftsingenieure. Übungsserie 5: Das Traveling Salesman Problem

Der Bestimmtheitssatz

Intelligente Systeme

Einführung in die Informatik 2

Smart Graphics: Methoden 2 Suche

Das Traveling Salesman Problem und das Assignment Problem zweiter Ordnung. Gerold Jäger

Theoretische Informatik 1

Optimierung. Vorlesung 12

NP-vollständige Probleme

11.1 Grundlagen - Denitionen

Datenstrukturen und Algorithmen

Künstliche Intelligenz

8.1 Einleitung. Grundlagen der Künstlichen Intelligenz. 8.1 Einleitung. 8.2 Lokale Suchverfahren. 8.3 Zusammenfassung. Suchprobleme: Überblick

Theoretische Informatik 1

ADS: Algorithmen und Datenstrukturen 2

3. Übung Künstliche Intelligenz

7. Lineare Gleichungssysteme

Top-down Bottom-up Divide & Conquer Dynamisches Programmieren Caching (Memoization) Branch-and-Bound Greedy

5 Zwei spieltheoretische Aspekte

Hallo Welt für Fortgeschrittene

3.6 Branch-and-Bound-Verfahren

Klausur. 18. Juli 2008, 10:15-12:15 Uhr. Name:... Matrikelnummer:... Anzahl beschriebener Blätter (ohne Aufgabenblatt):... D(p) : Y = p x X + p y

Transkript:

Einführung in Heuristische Suche

Beispiele 2

Überblick Intelligente Suche Rundenbasierte Spiele 3

Grundlagen Es muss ein Rätsel / Puzzle / Problem gelöst werden Wie kann ein Computer diese Aufgabe lösen? Beispiele: TSP SAT 8er Puzzle 8 Damen Problem, Labyrinth 4

Erster Schritt: Analyse des Problems Beispiel: 8er Puzzle Spielfeld 3x3-Felder mit jeweils einem Teil (1,,8,0) Eine Startkonfiguration (zufällig) Eine Zielkonfiguration Übergänge zwischen den Konfigurationen: leeres Feld nach oben, unten, links oder rechts Gesucht: Folge von Transformation von Start- zu Zielkonfiguration 2 1 5 2 1 5 1 2 3 6 3 6 3 4 5 6 8 4 7 8 4 7 7 8 5

Problem Ein Problem besteht aus 6

Beispiel: (8er Puzzle) Suchraum: S = alle Permutationen aus {1,,8,0}, die sich durch Transformationen aus (1,2,,8,0) erreichen lassen Transformationen, z.b.: t( (1, 2, 3, 4, 0, 6, 7, 5, 8) ) = { (1, 2, 3, 0, 4, 6, 7, 5, 8), (1, 2, 3, 4, 6, 0, 7, 5, 8), (1, 0, 3, 4, 2, 6, 7, 5, 8), (1, 2, 3, 4, 5, 6, 7, 0, 8) } 1 2 3 4 5 6 7 8 Beispiel für eine Bewertungsfunktion: f(x) = (x 0-1) 2 + (x 1-2) 2 + (x 2-3) 2 + (x 3-4) 2 + (x 4-5) 2 f(x) + (x 5-6) 2 + (x 6-7) 2 + (x 7-8) 2 + (x 8-0) 2 Constraint: keins 7

Suchräume Beinhalten alle möglichen Einzelzustände bzw. Teillösungen eines Problems Unterschiedliche Modellierungen Iterativ: enthält nur Elemente mit vollständigen Lösungskandidaten Transformationen verändern die Lösungskandidaten Inkrementell: Enthält Elemente mit unvollständigen Teillösungen (0 m n Komponenten) Es existiert ein Startelement mit 0 oder 1 Komponent(en) Jede Transformation fügt eine Komponente hinzu 8

Greedy Algorithmen Greedy = gierig Naiver Lösungsansatz: Wähle ein/das Startelement Führe eine Transformation aus, die den meisten momentanen Gewinn (einfache Bewertungsfunktion) bringt Terminiere wenn die Maximale Komponentenanzahl erreicht ist. (inkrementell) eine weitere Transformation keinen Gewinn bringt. (iterativ) Gute Lösungen für einfache Probleme Lösung ist meist nicht optimal 9

Greedy: Beispiel TSP Traveling Salesman Problem Suche die kürzeste Rundtour durch mehrere Städte. NP-vollständig 20 Städte: (19* *2*1)/2 Möglichkeiten 60 822 550 204 416 000 Routen Greedy-Algorithmus: Starte in einer beliebigen Stadt Gehe immer zur nächstgelegenen, noch nicht besuchten Stadt. 10

Greedy: Beispiel TSP (II) 11

Lokale Suche Meist iterativer Lösungsraum Durchsucht den Suchraum, indem immer von einem Element zu einem Nachbarn weitergegangen wird. Verfahren: Zufallssuche Hill-Climbing Simulated Annealing Evolutioniäre Algorithmen "parallele, gesteuerte Zufallssuche" Nachbarschaft definiert durch Mutation Steuerung durch Selektion 12

Graphsearch Suchräume als Graphen Lösungskandidaten = Knoten Transformationen = Kanten Der so entstanden Graph heißt Zustandsgraph. Suchbaum Wähle einen Startzustand = Wurzel Füge alle neuen Folgezustände des aktuellen Zustands als Nachfolger an generieren = Knoten das erste Mal erzeugen explorieren = Knoten bewerten expandieren = Nachfolger des Knotens anlegen Es gibt verschieden Arten einen solchen Baum anzulegen. 13

Tiefensuche Betrachte zuerst immer alle Nachfolger, bevor ein Nachbarknoten betrachtet wird. 14

Beispiel: Labyrinth 15

Beispiel: Labyrinth (II) "Immer an der rechten Wand entlang" = Tiefensuche 16

Breitensuche Betrachte zuerst alle Nachfolger eines Knotens, bevor deren Nachfolger betrachtet werden. 17

Probleme Tiefensuche Es werden erst viele Zweige des Baumes expandiert, bis die Lösung gefunden wird. Häufig zu aufwendig Breitensuche Es werden viele unnötige Zweige parallel mitbetrachtet. Häufig zu aufwendig 18

Heuristische Suchverfahren heuristiko, (alt-)griechisch: "ich finde" Allgemein: Intelligentes Schätzen Gute Daumenregel Präziser: Strategie zu Verwendung verfügbaren Wissens zur Kontrolle des Problemlösungsprozesses. 2 Varianten: Benutzung vom problembedingtem Wissen und Erfahrung, zur Beschleunigung der Problemlösung. Beschleunigung der Problemlösung, indem auf Optimalität verzichtet wird. 19

Graphsearch-Algorithmen Gebräuchliche Implementation 2 Listen OPEN Liste aller generierten, aber noch nicht expandierten Knoten CLOSED Liste alle bereits expandierten Knoten Bewertungsfunktion f CLOSED OPEN 20

Best First 21

Best First (II) Verzögerte Terminierung bei BF* Gefundene Lösung muss sich mit den Bewertungen aller Teillösungen auf OPEN messen. Ein eventuell besserer Lösungspfad kann noch weiterverfolgt werden. Findet IMMER die bzgl. f optimale Lösung Die Bewertungsfunktion f bestimmt die Performance des Algorithmus. f stellt häufig die Kosten dar, um zu einem Zielzustand zu gelangen Minimierung der Kosten f = Tiefe im Baum Breitensuche 22

A*-Verfahren Spezielles BF*-Verfahren Betrachtet nicht nur bisherige Kosten, sondern schätzt auch zukünftige Kosten ab. Bisherige Kosten für Knoten n: g(n) Zukünftige Kosten für Knoten n Genaue Kosten: h*(n) Abgeschätzte Kosten: h(n) Bewertung des Knotens n f(n) = g(n) + h(n) 23

Heuristik des A*-Verfahrens h(n) heißt Heuristik des A*-Verfahrens Für ein zulässiges A*-Verfahren muss gelten: Es gilt außerdem: h(n) h*(n) h(n) = 0 für Lösungen h(n) = für Dead-End-Knoten h(n) h(n') wenn n' Nachfolger von n ist Einfachste Heuristik: h(n) = 0 Beste Heuristik: h(n) = h*(n) 24

Beispiel: 8er Puzzle Iterativer Lösungsraum Knoten = Eine Belegung des Spiels Kanten führen zu Belegungen, die durch Verschieben des leeren Feldes (oben, unten, links, rechts) entstehen Start mit zufälliger (lösbarer) Belegung Bisherige Kosten g = Anzahl an Zügen = Tiefe im Entscheidungsbaum Heuristik h: "Manhattan-Distanz" 2 1 5 6 3 8 4 7 25

Beispiel: 8er-Puzzle Manhattan-Distanz, Beispiel: 8 1 5 8 1 5 6 2 4 3 7 15 Distanz: 2 + 1 = 3 Distanz: 1 Distanz: 1 + 1 = 2 Das leere Feld wird nicht betrachtet! Die Manhattan-Distanz ist immer kleiner als die tatsächlich noch gebrauchte Anzahl an Zügen. Also: f(n) = Tiefe von n + Manhattan-Distanz 26

Beispiel: 8er Puzzle 1 7 2 3 4 6 5 8 4 5 1 4 2 3 6 7 5 8 3 5 1 2 3 4 5 6 7 8 0 3 1 2 3 4 6 7 5 8 1 4 2 3 6 7 5 8 2 2 3 1 4 6 7 5 8 4 5 3 1 2 3 4 5 6 7 8 1 1 4 2 3 6 7 5 8 3 +0 +1 +2 +3 5 3 1 4 2 3 5 6 7 8 2 5 27

Überblick Intelligente Suche Rundenbasierte Spiele 28

Grundlagen Wir betrachten rundenbasierte Spiele für 2 Spieler. Zum Beispiel: Tic Tac Toe Vier Gewinnt Dame Mühle Schach Es gibt auch Graphsearch-Verfahren, für solche Probleme. (z.b. General Best First) 29

Und-Oder-Graphen Gerichtet 2 Kantensorten Oder-Kanten (normale Kanten) Und-Kanten (werden alle gleichzeitig benutzt) 30

MINIMAX-Spiele 2 Spieler: MIN und MAX Es ist eine Anfangsstellung des Spiels definiert Die Spieler verändern abwechselnd die Spielstellung (Zug) MAX hat immer den ersten Zug Nach endlich vielen Zügen wird stets eine Spielstellung ohne Fortsetzungsmöglichkeiten erreicht Bewertung der Endstellung: WIN (-1) - MAX hat gewonnen DRAW (-0) - unentschieden LOSS (-1) - MIN hat gewonnen 31

Spielbäume MINIMAX-Spiele werden als Und-Oder-Graph modelliert Spielbaum = Entscheidungsbaum eines Spiels MAX MIN MAX 32

MINIMAX-Kontenbewertung MAX-Knoten (MAX ist dran) WIN - falls ein Nachfolger die Markierung WIN hat DRAW - kein Nachfolger hat WIN und min. Einer DRAW LOSS - falls alle Nachfolger die Markierung LOSS haben Entspricht dem Maximum der Nachfolger MIN-Knoten (MIN ist dran) WIN - falls alle Nachfolger die Markierung WIN haben DRAW - kein Nachfolger hat LOSS und min. Einer DRAW LOSS - falls ein Nachfolger die Markierung LOSS hat Entspricht dem Minimum der Nachfolger 33

Spielstrategie Eine Spielstrategie für MAX ist ein Spielbaum, der die folgenden Eigenschaften erfüllt: Der Startknoten gehört dazu. Für jeden MAX-Knoten gehört ein Nachfolger dazu. Für jeden MIN-Knoten gehören alle Nachfolger dazu. Eine Spielstrategie für MIN wird analog definiert. Bei einer Gewinnstrategie für MAX sind alle Blätter mit WIN markiert. 34

Beispiel: Tic Tac Toe - MAX (erster Zug) - MIN 35

MINIMAX-Heuristiken Problem: Bei den meisten Spielen ist der Zustandsraum zu groß um ihn vollständig zu erkunden. Dame: ca. 10 40 Knoten Schach: ca. 10 120 Knoten Lösung: Berechne die möglichen Nachfolgezustände bis zu einer bestimmten Tiefe und verwende eine Heuristik zur Bewertung der Blätter. 36

MINIMAX-Heuristiken (II) Bewertung mit geordneten Werten (z.b. aus,, ) MAX will die Bewertung maximieren. Bewertung der Blätter durch die Heuristik Innere Knoten MAX-Knoten: Maximum der Nachfolger MIN-Knoten: Minimum der Nachfolger 37

Beispiel 10 10 2 10 14 2 20 10 9 14 13 2 1 3 20 10 11 9 12 14 15 13 14 5 2 4 1 3 22 20 21 - MAX-Knoten - MIN-Knoten 38

MINIMAX-Algorithmus (Depth First Variante) MINIMAX(n): if is_leaf(n) then return h(n); else foreach n' in successors(n) do v(n') = MINIMAX(n'); h(n) - Heuristik v(n) - Bewertung if nodetype(n) = MAX then return max{ v(n') n' successors(n) } else return min{ v(n') n' successors(n) } 39

- -Suche Die Suche kann beschleunigt werden, indem unnötige Knoten nicht betrachtet werden. -Schranke Untere Schranke für MIN-Knoten Die Nachfolger eines MIN-Knotens n brauchen nicht betrachtet werden, wenn v(n) -Schranke Obere Schranke für MAX-Knoten Die Nachfolger eines MAX-Knotens n brauchen nicht betrachtet werden, wenn v(n) 40

Beispiel: - -Suche 10 10 5 10 14 5 10 9 14 5 4 10 11 9 12 14 15 13 14 5 2 4 1 3 22 20 21 - MAX-Knoten - MIN-Knoten 41

Ausblick Viele Strategien setzen auf MINIMAX auf unterstützt durch Datenbanken unterstützt durch bessere Schätzfunktionen unterstützt durch risikoreichere Strategieauswahl Weiterführend: Spieltheorie Suche nach Nash-Equilibrien Gleichgewicht aller Spieler Für keine Spieler ist es von Vorteil seine Strategie zu ändern Probleme Equilibrien sind schwer zu bestimmen Mehrere Equlibrien (nicht alle Pareto-optimal) Nur bei relativ einfachen Spielen handhabbar 42