Heuristische Suchverfahren Zusammenfassung Folien Kapitel 1-4. Definitionen

Größe: px
Ab Seite anzeigen:

Download "Heuristische Suchverfahren Zusammenfassung Folien Kapitel 1-4. Definitionen"

Transkript

1 Heuristische Suchverfahren Zusammenfassung Folien Kapitel , AW Basierend auf den Folien (C) Benno Stein, Theodor Lettmann Definitionen II-6 Definition (systematische Steuerungsstrategie) II-6 Definition 2 (Zustand) II-20 Definition 3 (Zustandsraum, Zustandsraumgraph) II-20 Definition 4 (Lösungsgraph im Zustandsraumgraph) II-35 Definition 5 (Problemreduktionsrepräsentation, UND-ODER-Graph) II-40 Definition 6 (Lösungsgraph, solution graph) II-44 Definition 7 (solved-labeling-procedure) III-2 Definition 2 (Graph, Baum) IV-2 Definition (Teillösungsgraph, solution base) IV-55 Definition 2 (Kostenfunktion) IV-57 Definition 3 (rekursive Kostenfunktion, Kostenmaß) IV-67 Definition 4 (optimale Lösungskosten, optimaler Lösungsgraph) IV-69 Definition 5 (Schätzkosten CG für Teillösungsgraphen) IV-83 Definition 6 (Schätzkostenpropagierung, cost-labeling-procedure) IV-86 Definition 7 (erfolgversprechendster Teillösungsgraph G0) IV-92 Definition 8 ( Schätzkostenpropagierung im ODER-Graph) IV-96 Definition 9 (additives Kostenmaß) IV-0 Definition 0 (Reihenfolge-erhaltend, order-preserving) IV-02 Lemma (Reihenfolge-erhaltend) IV-04 Taxonomie von Best-First-Suchstrategien Code II-45,46 solved-labeling III-0 Hill-Climbing (HC) III-2 Tiefensuche (DFS) III-22 cleanup_closed III-30 Backtracking (BT) III-42 Breitensuche (BFS) IV-3 Best-First-Search im Zustandsraumgraph (BF) IV-28 Best-First-Search im UND-ODER-Graph (GBF) IV-42 Best-First-Search im UND-ODER-Graph (GBF*) IV-06 Algorithmus A*

2 Systematische Suche Die in der Einführung genannten Probleme definieren einen Suchraum S von Objekten mit Lösungskandidaten, worin auch die Lösung zu suchen ist: Brettkonfigurationen Zugfolgen Rundreisen... Unterscheidung von zwei Problemtypen:. Optimierungsprobleme. Lösungskandidat muss Constraints erfüllen und hat herausragende Eigenschaft verglichen mit allen anderen Kandidaten. 2. Constraint-Satisfaction-Probleme. Lösungskandidat muss Constraints erfüllen und soll mit minimalem Suchaufwand gefunden werden. Systematische Suche Berechnung eines Optimums ist oft nicht möglich. Optimalitätskriterium wird abgeschwächt Semi-Optimierung Verschiedene Arten der Abschwächung sind denkbar:. Toleranz-Optimierung. Grenzwert für maximale Abweichung ist vorgegeben. gewichteter A*, A* ε 2. Akzeptanz-Optimierung. Weitere Einschränkung: Einhaltung der maximalen Abweichung muss nur mit einer vorgegebenen Wahrscheinlichkeit geschehen. R* δ, R* δ,ε Wie kann das 8-Damen-Problem als Optimierungsproblem formuliert werden? S: II-2 Problem Representation c STEIN, LETTMANN S: II-3 Problem Representation c STEIN, LETTMANN Systematische Suche Bausteine zur Automatisierung von Suchproblemen (allgemein). Eine Codierung, die zur Repräsentation der Objekte im Suchraum S dient. 2. Ein Mechanismus, um ein Objekt aus S in ein anderes zu transformieren. (Aufzählbarkeit) 3. Ein effektives Verfahren, um die Reihenfolge möglicher Transformationen festzulegen. Ziel: Das gesuchte Objekt so schnell wie möglich finden. Bezeichnungen in der Künstlichen Intelligenz (KI, AI):. Datenbasis 2. Operatoren oder Produktionsregeln 3. Steuerungsstrategie Systematische Suche Bausteine zur Automatisierung von Suchproblemen (allgemein) (Fortsetzung) Definition (systematische Steuerungsstrategie) Sei S ein Suchraum mit Lösungskandidaten. Eine Steuerungsstrategie heißt systematisch, falls sie (a) alle Objekte in S betrachtet, (b) jedes Objekt aus S nur einmal betrachtet. Eine Suche, die eine systematische Steuerungsstrategie anwendet, heißt systematisch. Punkt (a) impliziert Vollständigkeit, Punkt (b) die Effizienz. S: II-5 Problem Representation c STEIN, LETTMANN S: II-6 Problem Representation c STEIN, LETTMANN Codierung von Problemen Die Forderungen der systematischen Suche lassen sich auf Teilmengen S S von Lösungskandidaten übertragen: (a) Vollständigkeit. Alle Lösungskandidaten aus S müssen in der Vereinigung der Teilmengen S sein, die durch die verwendete Teilmengen-Codierung entstehen. (b) Effizienz. Falls eine Teilmenge S S bei der Lösungssuche ausgeschlossen wurde, darf sich durch Transformationen der übrigen Teilmengen kein Lösungskandidat aus S erzeugen lassen. Zustandsraumrepräsentation Forderungen:. Die Codierung zur Repräsentation von Teilmengen S des Suchraums S mit Lösungskandidaten muss eindeutig sein. 2. Die Codierung muss die Berechnung von Heuristiken einfach lassen bzw. einfach machen. Definition 2 (Zustand) Die Information, die explizit ein bestimmtes (Rest-/Teil-)Problem beschreibt, heißt Zustand (state). Die einzig sinnvolle Transformationsvorschrift für Teilmengen ist die Aufteilung (subset splitting). Stichwort: split and prune S: II-0 Problem Representation c STEIN, LETTMANN S: II-6 Problem Representation c STEIN, LETTMANN

3 Zustandsraumrepräsentation Bausteine zur Automatisierung von Suchproblemen (konkret). Datenbasis. Repräsentation von Teilmengen von Objekten (Konfigurationen, Kandidaten) 2. Operatoren. Aufteilung bzw. Verfeinerung der Teilmengen in der Datenbasis. 3. Steuerungsstrategie. Definiert zu jedem Zeitpunkt, welcher Operator auf die Datenbasis angewandt werden soll. Vergleiche dazu Bausteine zur Automatisierung von Suchproblemen (allgemein). Zustandsraumrepräsentation Bausteine zur Automatisierung von Suchproblemen (konkret) (Fortsetzung) Definition 3 (Zustandsraum, Zustandsraumgraph) Die Menge aller Teilprobleme, die durch die Anwendung der Operatoren auf die Datenbasis erzeugt werden können, bilden den Zustandsraum (State Space). Verbindet man die Elemente des Zustandsraums mit gerichteten Kanten, die mit den angewandten Operatoren markiert sind, so erhält man den Zustandsraumgraph (State Space Graph). Aus Sicht der Codierung von Teilmengen von Lösungskandidaten besteht eine Problemlösung im Erreichen einer Teilmenge mit einer Lösung durch iteriertes Splitting. Aus Sicht des Zustandsraumgraphen wird eine Problemlösung nicht durch den so erreichten Knoten mit einem trivialen Restproblem repräsentiert, sondern durch einen Pfad vom Startproblem zu diesem Knoten. Definition 4 (Lösungsgraph im Zustandsraumgraph) Sei ein ZustandsraumgraphS gegeben. Ein Pfad von s zu einer Lösung (triviales Restproblem) heißt Lösungsgraph (Solution Graph) für s. (vergleiche Lösungsgraph in der Problemreduktionsrepräsentation) S: II-8 Problem Representation c STEIN, LETTMANN S: II-20 Problem Representation c STEIN, LETTMANN Problemreduktionsrepräsentation Beobachtung: Das Resultat der Anwendung eines Operators ist eine Menge von isoliert behandelbaren Teilproblemen. Suchraumgraph mit zwei Arten von Kanten:. UND-Kanten. Führen zu isoliert behandelbaren Teilproblemen, die alle gelöst werden müssen, um das Problem ihres Elternknotens zu lösen. 2. ODER-Kanten. Führen zu alternativen Möglichkeiten, um das Problem ihres Elternknotens zu lösen. UND-Kanten ODER-Kanten Problemreduktionsrepräsentation Bausteine zur Automatisierung von Suchproblemen (konkret) Definition 5 (Problemreduktionsrepräsentation, UND-ODER-Graph) Die Menge aller Teilprobleme, die durch Problemreduktionen (Anwendung von Operatoren oder Problemzerlegung) auf die Datenbasis erzeugt werden können, bilden den Zustandsraum (State Space). Verbindet man die Elemente des Zustandsraums mit gerichteten Kanten, die mit den angewandten Problemreduktionen markiert sind und bei Zerlegungen als Geschwisterkanten markiert sind, so erhält man den Problemreduktionsgraph (UND-ODER-Graph). (vergleiche Zustandsraumrepräsentation) Name: Problemreduktionsgraph bzw. UND-ODER-Graph S: II-30 Problem Representation c STEIN, LETTMANN S: II-35 Problem Representation c STEIN, LETTMANN Problemreduktionsrepräsentation Definition 6 (Lösungsgraph, solution graph) Sei H ein azyklischer UND-ODER-Graph und n ein Knoten in H. Lösungsgraphen (solution graphs) für n werden induktiv als Untergraphen G von H definiert:. Ist n ein Blattknoten, der ein primitives, gelöstes Problem darstellt (terminal node), so ist G = ({n}, ) ein Lösungsgraph für n in H. 2. Ist n ein ODER-Knoten mit Nachfolger n in H und G = (V,E ) ein Lösungsgraph für n in H, so ist G = (V {n},e {(n,n )}) ein Lösungsgraph für n in H. 3. Ist n ein UND-Knoten mit den Nachfolgern n,...,n k in H und G i = (V i,e i ) ein Lösungsgraph für n i in H (i=,...,k), so ist G = (V... V k {n},e... E k {(n,n ),...,(n,n k )}) ein Lösungsgraph für n in H. (vergleiche Lösungsgraph in der Zustandsraumrepräsentation) Problemreduktionsrepräsentation Die Überprüfung, ob ein erzeugter UND-ODER-GraphH einen Lösungsgraphen enthält, kann ausgehend vom Startknoten s durch rekursive Anwendung (Tiefensuche) folgender Propagierungsregeln für gelöste Probleme geschehen. Definition 7 (solved-labeling-procedure) Gegeben sei ein azyklischer UND-ODER-GraphH. Ein Problem eines Knotens n in H ist gelöst, wenn eine der folgenden Bedingungen erfüllt ist.. n ist ein Blattknoten (terminal node), der ein primitives, gelöstes Problem repräsentiert. 2. n ist ein nicht-terminaler ODER-Knoten, wobei mindestens eine seiner ODER-Kanten auf einen mit gelöst (solved) markierten Knoten zeigt. 3. n ist ein nicht-terminaler UND-Knoten, wobei alle seiner UND-Kanten auf mit gelöst (solved) markierte Knoten zeigen. S: II-40 Problem Representation c STEIN, LETTMANN S: II-44 Problem Representation c STEIN, LETTMANN

4 Problemreduktionsrepräsentation Problemreduktionsrepräsentation Procedure: Input: Output: solved-labeling H. An acyclic AND-OR-graph. n. Configuration of a subproblem in H. successors(n,h). Provides the successors of a node n in H. (n). True if n is a goal. A truth value for existence of a solution. Procedure: Input: Output: solved-labeling H. An acyclic AND-OR-graph. n. Configuration of a subproblem in H. successors(n,h). Provides the successors of a node n in H. (n). True if n is a goal. A truth value for existence of a solution. solved-labeling(h, n, successors, ). IF (#successors(n) = 0) THEN IF (n) THEN RETURN(True); ELSE RETURN(False); 2. FOREACH n IN successors(n) DO IF solved-labeling(h,n, successors, ) THEN IF OR_node(n) THEN RETURN(True); ELSE IF AND_node(n) THEN RETURN(False); IF OR_node(n) THEN RETURN(False); ELSE RETURN(True); S: II-45 Problem Representation c STEIN, LETTMANN solved-labeling(h, n, successors, ). IF is_solved(n) THEN RETURN(True); 2. IF (#successors(n) = 0) THEN IF (n) THEN is_solved(n) = True,RETURN(True); ELSE RETURN(False); 3. FOREACH n IN successors(n) DO IF solved-labeling(h,n, successors, ) THEN IF OR_node(n) THEN is_solved(n) = True,RETURN(True); ELSE IF AND_node(n) THEN RETURN(False); IF OR_node(n) THEN RETURN(False); ELSE is_solved(n) = True,RETURN(True); S: II-45 Problem Representation c STEIN, LETTMANN Wahl der Suchraumrepräsentation Zustandsraum- versus Problemreduktionsrepräsentation Constraint-Satisfaction-Probleme (CSP) und Zugfolgenprobleme (sequence seeking problems) können auf die Suche von Pfaden in Zustandsraumgraphen abgebildet werden. Strategiesucheprobleme (strategy seeking problems) können oft besser durch einen Problemreduktionsgraphen dargestellt werden. Besonderes Merkmal von Strategiesucheproblemen: Ein Restproblem (dargestellt durch eine Kandidatenteilmenge) entspricht der Konjunktion mehrerer Teilprobleme, die unabhängig voneinander gelöst werden können. Wahl der Suchraumrepräsentation Manchmal kann man die Suchraumrepräsentation wählen manchmal nicht. Allgemein gilt: Eine Zustandsraumrepräsentation ist sinnvoll, falls die Lösungsobjekte Pfade oder einzelne Knoten sind. Eine Problemreduktionsrepräsentation ist sinnvoll, falls die Lösungsobjekte Bäume, Graphen, oder Knotenmengen mit einer Halbordnung sind. Statt der Suche eines Pfades im Zustandsraumgraphen, Suche eines Baumes im Problemreduktionsgraphen. S: II-55 Problem Representation c STEIN, LETTMANN S: II-56 Problem Representation c STEIN, LETTMANN Einführung Graphensuche Definition 2 (Graph, Baum) Ein (gerichteter) Graph G ist ein Tupel V,E, wobei V eine nichtleere Menge und E V V eine Teilmenge von Paaren aus V darstellt. Die Elemente v V heißen Knoten, die Elemente e = (v,w) E heißen Kanten (von v nach w); v,w sind zueinander adjazent, und sie sind inzident zu e. Ein (gerichteter) Baum mit Wurzel w V ist ein (gerichteter) Graph V,E mit V Kanten und (gerichteten) Wegen von w zu jedem Knoten in V. Einführung Graphensuche Elemente der Graphensuche (4) (a) Grundlegender Schritt bei der Graphensuche ist die Knotengenerierung (node generation): Berechnung der Codierung eines Knotens aus der Codierung seines Elternknotens. (b) Der neue Nachfolger besitzt den Status generiert (generated). (c) Der Elternknoten besitzt den Status untersucht (explored). (d) Ein Elternknoten besitzt den Status expandiert (expanded), wenn alle seiner Nachfolger generiert wurden. Zur Rückverfolgung von Pfaden werden bei neugenerierten Knoten Zeiger auf den Elternknoten eingerichtet. S: III-2 Basic Search c STEIN S: III-6 Basic Search c STEIN

5 Einführung Graphensuche Die Knoten eines Suchgraphen können zu jedem Zeitpunkt in folgende vier disjunkte Mengen aufgeteilt werden:. Knoten, die nicht generiert wurden, 2. Knoten, die generiert jedoch noch nicht untersucht wurden, 3. Knoten, die untersucht jedoch noch nicht expandiert wurden, 4. Knoten, die expandiert wurden. Zwei wichtige Listen für Graphensuchalgorithmen: Knoten, die generiert jedoch noch nicht expandiert wurden heißen offen (open). Speicherung und Zugriff erfolgt über die OPEN-Liste. Knoten, die expandiert wurden (alle Nachfolger stehen zur Verfügung) heißen geschlossen (closed). Speicherung und Zugriff erfolgt über die CLOSED-Liste. Hill-Climbing (HC) Hill-Climbing ist eine unwiderrufliche (irrevocable) Suchstrategie. Merkmale: basiert auf lokaler Optimierung, wählt die Richtung mit dem steilsten Anstieg, erfordert wenig rechnerischen Aufwand, sieht nur nach vorne : vergangene Versuche oder der aktuelle Pfad brauchen nicht gespeichert werden; d. h., auch keine Rückwärtszeiger, ist die einfachste und von Menschen am häufigsten angewandte Suchstrategie. s γ S: III-7 Basic Search c STEIN S: III-9 Basic Search c STEIN Hill-Climbing Algorithm: Input: HC s. Configuration of the initial problem. successors(n). Provides the successors of a node n. (n). True if n is a goal. f(n). Evaluation function for the nodes in OPEN. Output: A goal node or the symbol Failure. HC(s, successors,, f). insert(s, OPEN); 3. IF (OPEN = ) THEN RETURN( Failure ); 4. n = min(open,f); // n minimizes f wrt. to all nodes in OPEN. clear(open); push(n, CLOSED); IF (n ) THEN RETURN(n ); 5. // Expand node n. FOREACH n IN successors(n) DO insert(n,open); Hill-Climbing Problematik Das erste Gesetz der Systematik einer Steuerungsstrategie, Betrachte jedes Objekt aus S., kann von Hill-Climbing schnell verletzt werden. Gründe: Evaluierungsfunktionen, die eine scheinbare Verbesserung versprechen, können die Suche auf falsche eventuell unendlich tiefe Pfade locken. Die Suche terminiert sogar vollständig in einem lokalen Optimum. Alternative Pfade werden nicht betrachtet: Jeder Schritt ist unwiderruflich. Möglicher Ausweg: vollkommen neu starten. Dieser Ausweg kann schnell das zweite Gesetz der Systematik einer Steuerungsstrategie, Betrachte jedes Objekt aus S nur einmal., verletzen. S: III-0 Basic Search c STEIN S: III- Basic Search c STEIN Hill-Climbing Hill-Climbing ist angesagt wenn: eine hochinformative Funktion zur Steuerung der Suche vorliegt, die Operatoren (Zustandstransformationen) kommutativ sind. Beispiel: Die Expansion von Knoten in einem Graph. Tiefensuche (Depth-First-Search, DFS) Tiefensuche ist eine uninformierte, systematische Strategie. Merkmale von Tiefensuche: Im Graphen tiefer liegende Knoten werden bevorzugt behandelt. Der kleinste unteilbare Schritt ist die Knotenexpansion: Wird ein Knoten untersucht, so werden unmittelbar alle direkten Nachfolger n,...,n k generiert. Unter n,...,n k wird wieder ein Knoten zur Expansion ausgesucht, usw. Ist die Knotenexpansion nicht derart fortführbar, geschieht ein Rücksprung (backtracking): Die Knotenexpansion wird am tiefsten zurückliegenden Knoten mit nicht-untersuchten Alternativen fortgesetzt. S: III-2 Basic Search c STEIN S: III-6 Basic Search c STEIN

6 Tiefensuche Problematik von Tiefensuche: Die Suche kann zu tief abrutschen. Ausweg: Berücksichtigung einer Tiefenschranke. Tiefensuche ist angesagt, wenn: viele Lösungen existieren, die gleichwertig sind. Sackgassen früh erkannt werden können. Tiefensuche DFS(s, successors,,, k). push(s, OPEN); 3. IF (OPEN = ) THEN RETURN( Failure ); 4. n = pop(open); push(n, CLOSED); 5. IF (depth(n) = k) THEN cleanup_closed() ELSE // Expand node n. FOREACH n IN successors(n) DO push(n,open); IF (n ) THEN RETURN(n ); IF (n ) THEN remove(n,open); cleanup_closed(); S: III-8 Basic Search c STEIN S: III-2 Basic Search c STEIN Bemerkungen zu DFS: Tiefensuche Der Startknoten s ist in der Regel kein Zielknoten. Möchte man dies zulassen, ändert man die erste Zeile:. push(s,open); IF (s) THEN RETURN(s); Die CLOSED-Liste bildet den Pfad (traversal path) von s zum aktuell expandierten Knoten. Der Expand-Schritt unter 5. zeigt: DFS ist vollständig uninformiert. Eine Verbesserung ist die Einbettung einer Heuristik zum Sortieren der Nachfolger, eine Art partielle Informierung : 5. IF (depth(n) = k) THEN cleanup_closed() ELSE // Expand node n. FOREACH n IN sort(successors(n)) DO... Problematik in Graphen, die keine Bäume sind: s Suchtiefe 2 6 Entfernung vom Startknoten 0 2 Die Funktion cleanup_closed() dient zur Bereinigung der CLOSED-Liste um nicht mehr benötigte Knoten. Prinzip:. Knoten, die eine Sackgasse darstellen, werden verworfen. 2. Wenn ein Knoten n verworfen wird, Überprüfung, ob n Vorgänger hat, die in einem Lösungspfad vorkommen können. Das ist der Fall für solche Vorgänger von n, die noch Nachfolger in der OPEN-Liste besitzen. Vorgänger von einem verworfenen Knoten, die keine Nachfolger in der OPEN-Liste besitzen, können von der CLOSED-Liste gelöscht werden Frage: Wie groß ist der Platzbedarf von DFS? S: III-22 Basic Search c STEIN S: III-26 Basic Search c STEIN Backtracking BT(s, new_successor,,, k). push(s, OPEN); 3. IF (OPEN = ) THEN RETURN( Failure ); 4. n = top(open); 5. IF ((depth(n) = k) OR expanded(n)) THEN pop(open); ELSE // Generate a new successor of n. n = new_successor(n); // The applied operator is remembered. push(n,open); IF (n ) THEN RETURN(n ); IF (n ) THEN remove(n,open); Backtracking Backtracking versus Depth-First-Search: Bei Backtracking gibt es nur die OPEN-Liste. Sie dient als LIFO-Stack und zur Speicherung des aktuellen Pfads. Die Verwaltung des angewandten Operators in 5. geschieht üblicherweise durch Anhängen eines Labels an die Codierung des aktuellen Zustandes. Vorteile von Backtracking gegenüber Depth-First-Search: Noch größere Speicherplatzökonomie:. Nicht alle Nachfolger eines (somit expandierten) Knotens, sondern nur einer ist gespeichert. 2. Knoten rechts vom Lösungspfad werden nicht generiert. Elegante Implementierung von Backtracking mittels Rekursion: Die OPEN-Liste wird durch den Stack der Funktionsaufrufe realisiert, also durch das Betriebssystem. S: III-30 Basic Search c STEIN S: III-3 Basic Search c STEIN

7 Backtracking Backtracking zur Optimierung (allgemein) Situation: Suchgraph enthält viele Lösungspfade. Aufgabe: Bestimmung der Lösung mit niedrigsten Kosten Idee: Suche nur solange fortsetzen, bis alle noch nicht berechneten Lösungen teurer als die bisher günstigste ist. Stichwort: early pruning Nützliche Voraussetzung: Die Pfadkosten nehmen monoton zu. Breitensuche (Breadth-First-Search, BFS) Breitensuche ist eine uninformierte, systematische Strategie. Merkmale von Breitensuche: Im Graph weiter oben liegende Knoten werden bevorzugt behandelt. Die untersuchten Knoten bilden Schichten gleicher Tiefe. Terminiert auf lokal endlichen Graphen mit einer Lösung, falls eine existiert. Findet die Lösung, die am nächsten vom Startpunkt entfernt ist, gemessen in der Anzahl der Kanten des Lösungspfades. Die OPEN-Liste ist als Warteschlange (queue) organisiert. Die Knoten in der OPEN-Liste werden in FIFO-Reihenfolge (first in first out) untersucht. Tiefensuche wird zur Breitensuche, wenn die direkten Nachfolger eines Knoten am Ende der OPEN-Liste eingefügt werden. S: III-37 Basic Search c STEIN S: III-40 Basic Search c STEIN Breitensuche BFS(s, successors,, ). enqueue(s, OPEN); 3. IF ( (OPEN = ) OR memory_exhausted() ) THEN RETURN( Failure ); 4. n = dequeue(open); // Get node from the head of a queue. push(n, CLOSED); 5. FOREACH n IN successors(n) DO enqueue(n,open); // Insert node at the end of a queue. set_backpointer(n, n); IF (n ) THEN RETURN(n ); IF (n ) THEN remove(n,open); cleanup_closed(); Uniforme-Kosten-Suche (Uniform-Cost-Search, Cheapest-First-Search) Uniforme-Kosten-Suche ist eine uninformierte, systematische Strategie. Merkmale von Uniforme-Kosten-Suche: Konzept bei der Knotenexpandierung: Vorgehen in Ebenen gleicher Kosten statt in Ebenen gleicher Tiefe. Kein Knoten n mit Kosten C(n) wird expandiert, solange noch nicht-expandierte Knoten n mit Kosten C(n ) < C(n) existieren. Anwendung des Breitensucheprinzips zur Lösung von Optimierungsproblemen. Vorausetzung: Gesucht ist der billigste Pfad vom Start- zum Zielknoten. Die Pfadkosten steigen monoton mit der Pfadlänge. S: III-42 Basic Search c STEIN S: III-46 Basic Search c STEIN Tiefensuche im UND-ODER-Graph Vergleicht man die Suche im Zustandsraum mit der Suche im UND-ODER-Graph, so besteht ein wesentlicher Unterschied im Terminierungstest: Zustandsraumrepräsentation: Überprüfung eines Knotens. Problemreduktionsrepräsentation: Überprüfung einer Menge von Knoten. Terminierungstest im UND-ODER-Graph: Beantwortung der Frage: Unterstützen die bisher gelösten Knoten die Instanziierung eines Lösungsgraphen? Der Test hierauf erfolgt mit Hilfe von Propagierungsregeln für schon gelöste Probleme. Stichwort: solved bzw. unsolved labeling procedure. Knoten, deren Label propagiert wurde, brauchen nicht weiter gespeichert zu werden. Best-First-Search im Zustandsraumgraph Die Erfolgsaussicht eines Knotens n als Lösungskandidat (Pfad von s zu n, der (theoretisch) zu einer Lösung erweiterbar ist) kann auf verschiedene Arten berechnet werden:. Abschätzung der Schwierigkeit des Restproblems. 2. Bewertung der Qualität der Teillösung. 3. Erwartete Größe des Informationsgewinns bei Expandierung von n. Ziel ist es, das Potential von n durch eine heuristische Bewertungsfunktion (evaluation function) f(n) zu quantifizieren. Die Berechnung der Bewertungsfunktionf kann abhängen von: der Beschreibung des Knotens n, bisher gesammelter Information, d. h., dem bisherigen Pfad p, der Beschreibung des Ziels γ, generellem Problemlösewissen aus der Domäne, K. f = f(n,p,γ,k) S: III-50 Basic Search c STEIN S: IV-4 Informed Best-First-Search c STEIN

8 Best-First-Search im Zustandsraumgraph BF(s, successors,, f). insert(s, OPEN); 3. IF (OPEN = ) THEN RETURN( Failure ); 4. n = min_solution_base(open,f); // Most promising solution base. remove(n, OPEN); push(n,closed); // Expanded nodes live here. 5. FOREACH n IN successors(n) DO IF (n ) THEN RETURN(n ); n old = node_eq_state(n,open,closed); IF (n old = NULL) THEN insert(n,open) // n encodes a new state. ELSE IF (f(n ) < f(n old )) THEN // The state of n can be reached via a cheaper path. insert(n,open); IF member(n old,open) THEN remove(n old,open) ELSE remove(n old,closed) Best-First-Search im UND-ODER-Graph Definition (Teillösungsgraph, solution base) Gegeben sei der (implizite) azyklische UND-ODER-Graph eines Problems. H sei ein Teilgraph dieses Graphen und n ein Knoten in H. Teillösungsgraphen (solution bases) für n werden induktiv als Untergraphen G von H definiert:. Ist n ein Blattknoten, der kein unlösbares Problem (Sackgasse) darstellt, so ist G = ({n}, ) ein Teillösungsgraph für n in H. 2. Ist n ein ODER-Knoten mit Nachfolger n in H und G = (V,E ) ein Teillösungsgraph für n in H, so ist G = (V {n},e {(n,n )}) ein Teillösungsgraph für n in H. 3. Ist n ein UND-Knoten mit den Nachfolgern n,...,n k in H und G i = (V i,e i ) ein Teillösungsgraph für n i in H (i=,...,k), so ist G = (V... V k {n},e... E k {(n,n ),...,(n,n k )}) ein Teillösungsgraph für n in H. (Vergleiche Lösungsgraph in der Problemreduktionsrepräsentation) S: IV-3 Informed Best-First-Search c STEIN S: IV-2 Informed Best-First-Search c STEIN Best-First-Search im UND-ODER-Graph Best-First-Search im UND-ODER-Graph: Lösungskandidaten sind Teillösungsgraphen. Ein Teillösungsgraph kann mehrere Expansionskandidaten besitzen. Ein Knoten kann in mehreren Teillösungsgraphen auftauchen. Das Best-First-Prinzip wird in zwei Stufen angewandt: Bemerkungen: Bei der Best-First-Search im Zustandsraumgraph existiert eine :-Beziehung zwischen Expansionskandidaten und Lösungskandidaten: Lösungskandidaten sind die Pfade, die bei s starten und mit einem Knoten in der OPEN-Liste enden. Der Bewertungsfunktion f kommt in der Regel die größere Bedeutung zu; sie basiert meist auf einer Schätzfunktion (Heuristik) h. h(n): Kostenschätzung für die optimale Lösung eines Teilproblems n. Ideal wäre eine Berücksichtigung der Wahrscheinlichkeit, ob n lösbar ist. f (G): Verrechnung der Kostenschätzung für die Blattknoten eines Teillösungsgraphen G und der Kosten für G.. Bewertungsfunktionf für Graphen. Bestimmung des erfolgversprechendsten TeillösungsgraphG Auswahlfunktion f 2 für Knoten. Bestimmung des für die Suche informativsten Knoten in G 0. S: IV-25 Informed Best-First-Search c STEIN S: IV-26 Informed Best-First-Search c STEIN Best-First-Search im UND-ODER-Graph GBF(s, successors,,,f,f 2). insert(s, OPEN); H = init_graph(s); 3. G 0 = min_solution_base(h,f ); // Most promising solution base. 4. n = f 2(G 0); // Identify most informative node in G 0. remove(n, OPEN); push(n, CLOSED); H = expand_graph(successors(n)); 5. FOREACH n IN successors(n) DO IF ( (n ) OR (n )) THEN IF (n ) THEN push(n,closed); solved_labeling(h); // Apply solved-labeling-procedure to H. IF (s) THEN RETURN(solution); IF (s) THEN RETURN( Failure ); cleanup_graph(h); ELSE insert_node(n,open); S: IV-28 Informed Best-First-Search c STEIN Bemerkungen: Wie BF so ist GBF als allgemeines Schema zu sehen. Die Routine expand_graph(.) erweitert den bisher generierten Teil H des Suchraumes um die Nachfolger des expandierten Knotens. Dies kann mit oder ohne Occur-Check erfolgen: Ohne Occur-Check wird jeder Nachfolger als neuer Knoten in den Graphen H eingefügt. H ist ein UND/ODER-Baum, der eine Auffaltung des eigentlichen Suchraumes darstellt. Der Vorteil der einfachen Struktur kann den Nachteil der Mehrfachbetrachtung von Teilproblemen nicht wettmachen. Diese Variante ist nicht anwendbar bei UND/ODER-Graphen, die keine UND/ODER-Bäume sind und für die Lösungsgraphen mit z.b. kleinster Summe von Kantengewichten gesucht werden. Mit Occur-Check wird in H bei wiederholtem Erreichen eines Knotens mit demselben Restproblem nur eine neue Kante, aber kein neuer Knoten eingefügt. Der Graph H ist ein endlicher Teilgraph des Suchraumes. Die kompakte Darstellung und die Vermeidung wiederholter Lösungen gleicher Probleme erfordert eine komplexere Verarbeitung des Graphen H. Probleme entstehen, falls der Graph zyklisch ist und eine Bewertungsfunktion verwendet wird, wie sie auch bei Münzfälscherproblem angewendet wird. Die Ermittlung der Lösungskandidaten G 0 ist eng mit der Bewertungsfunktionverknüpft. Spielen globale Eigenschaften eine Rolle (Summe der Kantengewichte) ist G 0 nur durch sukzessives Bewerten aller Lösungskandidaten zu ermitteln. Bewertungsfunktionen, die analog zur Definition der Lösungskandidaten rekursiv erfolgen kann, erlauben eine deutlich effizientere Bestimmung von G 0. S: IV-29 Informed Best-First-Search c STEIN

9 Best-First-Search im UND-ODER-Graph Beispiel: Anwendung von GBF f (G): Berücksichtigung der Anzahl der Kanten eines Teillösungsgraphen G. Antwort auf Frage: Was kostet die Lösung G bisher? h(n): In f (G) verwendete Schätzung der Anzahl der Kanten im Lösungsgraph von Teilproblem n. Antwort auf Frage: Was kostet die Lösung von Teilproblem n? f 2(G 0): Auswahl des teuersten Restproblems in G 0. Antwort auf Frage: Welcher Knoten in G 0 soll als nächstes expandiert werden? Hypothese hinter f : Die Suche nach dem kleinsten Lösungsgraph führt auch zu einem schnellen Ende der Suche. Stichwort: Small-is-Quick-Principle Best-First-Search im UND-ODER-Graph Wie steht es mit Optimalität bei GBF? Die erste gefunden Lösung im Beispiel ist nicht optimal bzgl. f. Voraussetzung für die Optimalität von GBF bzgl. f :. Kostenschätzung von f muss optimistisch sein. D. h., unterschätzte Kosten bzw. überschätzter Nutzen. 2. Abbruchbedingung (bisher in Schritt 5) muss verzögert werden (Delayed Termination): Abbruchbedingung in Schritt 3. Eine ausgewählter Teillösungsgraph,G 0, stellt eine Lösung dar. Argumentation für f 2:. Eventuell sind alle OPEN-Knoten von G 0 zu expandieren. 2. Je früher eine schlechte Wahl entdeckt wird, umso besser. 3. Eine schlechte Wahl äußert sich in der Größe des Schätzfehlers. 4. Strategie, wenn man nichts über den Fehler weiß: Der absolute Fehler der Heuristik h ist beim teuersten Teilproblem am größten. Bemerkung: Mit den genannten Modifikationen wird aus GBF der Algorithmus GBF*. S: IV-3 Informed Best-First-Search c STEIN S: IV-40 Informed Best-First-Search c STEIN Best-First-Search im UND-ODER-Graph GBF (s, successors,,,f,f 2). insert(s, OPEN); H = init_graph(s); 3. G 0 = min_solution_base(h,f ); // Most promising solution base. solved_labeling(g 0); IF (s) THEN RETURN(G 0); // Delayed Termination. 4. n = f 2(G 0); // Identify most informative node in G 0. remove(n, OPEN); push(n, CLOSED); H = expand_graph(successors(n)); 5. FOREACH n IN successors(n) DO IF ( (n ) OR (n )) THEN IF (n ) THEN push(n,closed); solved_labeling(h); // Apply solved-labeling-procedure to H. IF (s) THEN RETURN(solution); IF (s) THEN RETURN( Failure ); cleanup_graph(h); ELSE insert_node(n,open); S: IV-42 Informed Best-First-Search c STEIN Zusammenhang zwischen GBF und BF GBF angewandt auf einen Zustandsraumgraphen würde BF simulieren. Entscheidender Unterschied: GBF durchquert den Problemlösungsgraph mittels des vollständigen Untergraphen H. Die Entscheidung für den besten Teillösungsgraph berücksichtigt jederzeit alle möglichen Teillösungsgraphen. BF durchquert den Problemlösungsgraph mittels eines Baumes T. Grund: Führen zwei Pfade von s zu einem Knoten n, so wird die unwiderrufliche Entscheidung getroffen, den teureren Pfad zu verwerfen: parent discarding Jeder Knoten in der OPEN-Liste steht für einen Lösungspfad. Die Kosten oder der Nutzen eines Pfades wird lokal entschieden. S: IV-44 Informed Best-First-Search c STEIN Zusammenhang zwischen GBF und BF Unwiderrufliches Entfernen von Lösungskandidaten (parent discarding) ist sinnvoll, (a) (Optimierungsprobleme) wenn die Bewertungen (die Teilkosten) der konkurrierenden Teillösungen unabhängig von ihrer gemeinsamen Fortsetzung sind, beziehungsweise (b) (Constraint Satisfaction Probleme) wenn gilt: P lässt sich zu einer Lösung vervollständigen. P 2 lässt sich zu einer Lösung vervollständigen. Kostenfunktionen Die Berechnung der Bewertungsfunktionf wäre aussichtslos in großen Graphen, falls. jeder Teillösungsgraph isoliert ausgewertet werden müsste, oder 2. ein Teillösungsgraph mit jedem zusätzlich expandierten Knoten erneut evaluiert werden müsste. Verwendung rekursiver Bewertungsfunktionen Konzepte rekursiver Funktionen:. Gemeinsame Berechnung (shared computation). Berechnungen von Teillösungsgraphen können für andere Teillösungsgraphen ausgenutzt werden. 2. Selektives Aktualisieren (selective updating). Nur die Vorfahren von neu expandierten Knoten müssen aktualisiert werden. Bemerkung: Beide Konzepte konnten im vorigen Beispiel ausgenutzt werden. S: IV-47 Informed Best-First-Search c STEIN S: IV-54 Informed Best-First-Search c LETTMANN/STEIN

10 Kostenfunktionen Für einen Lösungsgraphen G ist jeder Untergraph von G, der aus einem Knoten n und allen Nachfolgern von n in G besteht, ein Lösungsgraph für das Teilproblem, das mit Knoten n assoziiert ist. Definition 2 (Kostenfunktion) Für einen Lösungsgraphen G = (V,E) ordnet eine Kostenfunktion C G C G : V M, M ist eine geordnete Menge jedem Lösungsgraph eines Knoten n im Graphen G einen Kostenwert C G (n) zu. Bemerkungen: M ist hier eine beliebige geordnete Menge, z.b. R. Anstelle von Kosten könnte man auch einen Nutzen oder allgemein ein Gewicht als Basis für die Bewertung verwenden. Als Bezeichnung für Gewichtsfunktionen verwendet man W G, für Nutzenfunktionen Q G. Die Kostenfunktion C G eines Lösungsgraphen G kann eine komplexe Funktion der Eigenschaften von G sein:. Knotenkosten, z. B. Zeitaufwand eines Verarbeitungsprozesses. 2. Kantenkosten, z. B. Transportkosten. 3. Blattknotenkosten (terminal costs/payoffs). Verwendung von C G (n) C G (n) dient zur Optimierung und wird als Kosten für die in G gegebene Lösung des Teilproblems n interpretiert. Mit Hilfe von f (G) = C G (s) kann eine Bewertung für Lösungsgraphen G festgelegt werden. S: IV-55 Informed Best-First-Search c LETTMANN/STEIN S: IV-56 Informed Best-First-Search c LETTMANN/STEIN Kostenfunktionen Definition 3 (rekursive Kostenfunktion, Kostenmaß) Eine Kostenfunktion C G (n) für Lösungsgraphen G = (V,E) heißt rekursiv, falls für jeden Knoten n von G gilt: Hierbei bezeichnen: C G (n) = F[E(n),C G (n ),C G (n 2 ),...,C G (n k )] n,n 2,...,n k die direkten Nachfolger von n in G, E(n) E eine Menge lokaler Eigenschaften von Knoten n, F eine Funktion, die beschreibt, wie die lokalen Eigenschaften von n und die Kosten der direkten Nachfolger von n verrechnet werden. F heißt Kostenmaß. F : E M k M, M ist eine geordnete Menge Kostenfunktionen Beispiel c=4 2 3 c= 2 3 n 5 c=2 n 2 c=2 c=3 c= s c(n) c(n,n i)+c G(n i) C G(n) = max i{c(n,n i)+c G(n i)} { c(n,n E(n) := ) Kantenkosten von Kante (n,n ) c(n) Restkosten bei Lösungsknoten C G(n) rekursive Kostenfunktion n ist Blatt n ist ODER-Knoten, n i direkter Nachfolger von n in G n ist UND-Knoten, n i direkter Nachfolger von n in G S: IV-57 Informed Best-First-Search c LETTMANN/STEIN S: IV-59 Informed Best-First-Search c LETTMANN/STEIN Kostenfunktionen Wurde der ganze Suchraum unterhalb eines Knoten n untersucht, lassen sich die optimalen Lösungskosten für n bestimmen. Definition 4 (optimale Lösungskosten, optimaler Lösungsgraph) Gegeben sei ein azyklischer UND-ODER-GraphH und eine Kostenfunktion C G für Lösungsgraphen G. Die optimalen Lösungskosten C (n) werden für einen Knoten n in H definiert als C (n) = inf{c G (n) G ist Lösungsgraph von n} Ein Lösungsgraph mit Lösungskosten C (n) ist ein optimaler Lösungsgraph für n. Kostenfunktionen Was tun, wenn der Suchraum nur teilweise erforscht ist?. Funktion h(n) zur Schätzung der Kosten einer Lösung für die Probleme in den Blattknoten in Teillösungsgraphen. 2. Verwendung der geschätzten Kosten in der rekursiven Kostenfunktion: Face-Value-Principle. Definition 5 (Schätzkosten ĈG für Teillösungsgraphen) Gegeben sei der (implizite) azyklische UND-ODER-Graph eines Problems. H sei ein Teilgraph dieses Graphen, G ein Teillösungsgraph in H. Eine rekursive Schätzkostenfunktion ĈG wird über lokale Eigenschaften E und ein Kostenmaß F sowie eine Schätzfunktion h für Lösungskosten definiert. Anstelle von C (s) schreiben wir kurz C. Können C und ein optimaler Lösungsgraph für s auf diese Weise bestimmt bestimmt werden? c(n) h(n) Ĉ G(n) = F[E(n),ĈG(ni)]} F[E(n),ĈG(n),...,ĈG(nk)] n ist Lösungsknoten mit Restkosten in G n ist Blattknoten, aber kein Lösungsknoten in G n ist ein ODER-Knoten in G n i direkter Nachfolger von n in G n ist ein UND-Knoten in G n i direkter Nachfolger von n in G S: IV-67 Informed Best-First-Search c LETTMANN/STEIN S: IV-69 Informed Best-First-Search c LETTMANN/STEIN

11 Kostenpropagierung im UND-ODER-Graph Bellman-Gleichungen für optimale Lösungskosten c(n) C (n) = min{f[e(n),c (n i)] i =,...,k} F[E(n),C (n ),...,C (n k )] n ist Lösungsknoten n ist unlösbarer Blattknoten n ist ODER-Knoten, n i direkter Nachfolger von n n ist UND-Knoten, n i direkter Nachfolger von n Die Bellman-Gleichungen formulieren eine notwendige und hinreichende Bedingung für optimale Lösungskosten, falls das Bellman-Prinzip der Optimalität erfüllt ist: Lösungen des Gleichungssystems sind optimale Lösungskosten für die jeweiligen Knoten. Die optimalen Lösungskosten sind eine Lösung für das Gleichungssystem. Kostenpropagierung im UND-ODER-Graph Kostenpropagierung für die Schätzung optimaler Lösungskosten Definition 6 (Schätzkostenpropagierung, cost-labeling-procedure) Gegeben sei der (implizite) azyklische UND-ODER-Graph eines Problems mit Bellman-Eigenschaft.H sei ein endlicher Teilgraph dieses Graphen. Die geschätzten optimalen Lösungskosten Ĉ(n) für Knoten n aus H werden analog zur Kostenfunktion rekursiv über lokale Eigenschaften E und ein Kostenmaß F sowie eine Schätzfunktion h für Lösungskosten definiert. c(n) h(n) Ĉ(n) = min{f[e(n),ĉ(ni)] i =,...,k} F[E(n),Ĉ(n),...,Ĉ(nk )] n ist Lösungsknoten n ist unlösbarer Blattknoten n ist sonstiger Blattknoten in H n ist ODER-Knoten, n i direkter Nachfolger von n in H n ist UND-Knoten, n i direkter Nachfolger von n in H Ein GBF-Algorithmus muss nur für die neu generierten Knoten die Schätzkosten entlang der Backpointer in Richtung s propagieren. S: IV-78 Informed Best-First-Search c LETTMANN/STEIN S: IV-83 Informed Best-First-Search c LETTMANN/STEIN Kostenpropagierung im UND-ODER-Graph Definition 7 (erfolgversprechendsterteillösungsgraph G 0 ) In GBF ( ) sei ein endlicher azyklischer UND-ODER-GraphH für ein Problem mit Bellman-Eigenschaft generiert. Eine rekursive Kostenfunktion C G für Lösungsgraphen G sei über lokale Eigenschaften E und ein Kostenmaß F definiert. h sei eine Schätzfunktion für Lösungskosten. Der erfolgversprechendste TeillösungsgraphG 0 ist gegeben durch die folgenden Festlegungen.. Der Startknoten s ist in G Falls n in G 0 ein ODER-Knoten ist und sich auf der CLOSED-Liste befindet, dann ist ein direkter Nachfolger n von n in G 0, so dass gilt: F[E(n),Ĉ(n )] = min i {F[E(n),Ĉ(n i)]} 3. Falls n in G 0 ein UND-Knoten ist und sich auf der CLOSED-Liste befindet, so sind alle direkten Nachfolger von n in G 0. Die Bestimmung von G 0 erfolgt in der Regel bottom-up zusammen mit der Berechnung von Ĉ(n) für n in H durch einfache Propagierung des ODER-Knotens mit den niedrigsten Kosten. S: IV-86 Informed Best-First-Search c LETTMANN/STEIN Kostenpropagierung im Zustandsraumgraph Was tun, wenn der Suchraum nur teilweise erforscht ist? Verwendung einer Funktion h(n) zur Schätzung der Kosten einer Lösung für die Knoten in der OPEN-Liste. Schätzkostenpropagierung zur Bestimmung erfolgversprechender Teillösungen. Definition 8 ( Schätzkostenpropagierung im ODER-Graph) Gegeben sei eine Menge von untersuchten Knoten eines ODER-Graphen. Es bezeichne n einen solchen untersuchten Knoten mit Eigenschaften E(n) und F ein Kostenmaß. Die geschätzten minimalen Kosten Ĉ, um das mit n assoziierte Problem zu lösen, berechnen sich wie folgt: h(n) Ĉ(n) = min i{f[e(n),ĉ(ni)]} n ist in der OPEN-Liste n ist in der CLOSED-Liste, n i direkter Nachfolger von n S: IV-92 Informed Best-First-Search c LETTMANN/STEIN Kostenpropagierung im Zustandsraumgraph Nicht immer muss der Pfad von einem Knoten n in der OPEN-Liste nach s bottom-up durchlaufen werden, um ĈP(n)(s) zu berechnen. Es kann genügen, nur einige (einen) Parameter von Vorgänger- zu Nachfolgerknoten top-down weiterzureichen. Definition 9 (additives Kostenmaß) Seien n,n zwei Knoten in einem ODER-Graph, n direkter Nachfolger von n und n in der OPEN-Liste. Weiterhin sei F[E(n),Ĉ(n )] eine Funktion zur Verrechnung der lokalen Kosten E(n) mit den Nachfolgerkosten Ĉ(n ). F heißt additives Kostenmaß, wenn F folgende Struktur hat: F = c(n,n )+Ĉ(n ) Mit additiven Kostenmaßen definierte Kostenfunktionen bezeichnen wir als additive Kostenfunktionen. Spezielle Kostenmaße für BF Reihenfolgeerhaltung Ist die Bewertungsfunktionf bei BF rekursiv definiert, so bezeichnet man BF auch als Algorithmus Z: f(n) = ĈP(n)(s) für gegebenen Pfad P(n) von s nach n, Mit verzögertem Abbruchtest wird Algorithmus Z zu Z* jedoch: Q: Liefert Z* eine optimale Lösung, falls die Schätzfunktion h optimistisch ist? A: Nicht zwangsläufig! Eine optimistische Schätzfunktion h ist ein notwendiges, aber kein hinreichendes Kriterium. Damit Z* eine optimale Lösung liefert, muss gelten, dass ein Pfad zu einem Knoten n unwiderruflich verworfen werden darf, wenn er teurer als ein anderer Pfad zu diesem Knoten ist denn: Der Algorithmus BF verwirft Knoten mit höherem f-wert. S: IV-96 Informed Best-First-Search c LETTMANN/STEIN S: IV-98 Informed Best-First-Search c LETTMANN/STEIN

12 Spezielle Kostenmaße für BF Reihenfolgeerhaltung Definition 0 (Reihenfolge-erhaltend, order-preserving) Eine Kostenfunktion ĈP(s) heißt Reihenfolge-erhaltend (order-preserving), wenn für alle Knoten n und n mit Pfaden P und P 2 von s nach n und alle Pfade P von n nach n gilt: Ĉ P (s) ĈP2(s) ĈPP (s) ĈP2P (s) P P und P 2P bezeichnen die durch Verkettung der Pfade P bzw. P 2 und P erzeugten Pfade. Konkret bedeutet dies für BF: Sei n ein Knoten in einem ODER-Graph, der von s aus auf zwei verschiedenen Pfaden P und P 2 erreicht wurde. Werden der Knoten n und seine Nachfolger sukzessive expandiert, so haben die aufgrund des nun höheren Wissens genaueren Schätzungen für die optimalen Kosten einer Lösung für n keinen Einfluss auf die Rangfolge der Lösungskandidaten: der Weg über P 2 bleibt schlechter als der Weg über P. Spezielle Kostenmaße für BF Reihenfolgeerhaltung Lemma (Reihenfolge-erhaltend) Schätzkostenfunktionen auf Basis additiver Kostenmaße F = c(n,n )+h(n ) sind Reihenfolge-erhaltend. Beweis Seien P = (s,n,,...,n,k,n) und P 2 = (s,n 2,,...,n 2,k2,n) Pfade zu n mit c(s,n,)+...+c(n,k,n)+h(n) c(s,n 2,)+...+c(n 2,k2,n)+h(n) Sei P = (n,n,...,n r,n ) ein Pfad von n nach n. Dann gilt offensichtlich auch Also: c(s,n,)+...+c(n,k,n)+ c(s,n 2,)+...+c(n 2,k2,n)+ c(n,n )+...+c(n r,n )+h(n ) c(n,n )+...+c(n r,n )+h(n ) F(c(s,n,)+...+c(n,k,n)+ F(c(s,n 2,)+...+c(n 2,k2,n)+ c(n,n )+...+c(n r,n ),h(n )) c(n,n )+...+c(n r,n ),h(n )) S: IV-0 Informed Best-First-Search c LETTMANN/STEIN Bemerkung: Z* mit einem additiven Kostenmaß heißt A*. S: IV-02 Informed Best-First-Search c LETTMANN/STEIN Algorithmus A* A*(s, successors,, h). insert(s, OPEN); g(s) = 0; 3. IF (OPEN = ) THEN RETURN( Failure ); 4. n = min(open,g +h); // n minimizes f(n) = g(n)+h(n) in OPEN. remove(n, OPEN); push(n, CLOSED); IF (n) THEN RETURN(n); 5. FOREACH n IN successors(n) DO g(n ) = g(n)+c(n,n ); n old = node_eq_state(n,open,closed); IF (n old = NULL) THEN insert(n,open) // n encodes a new state. ELSE IF (g(n ) < g(n old )) THEN // The state of n can be reached via a cheaper path. insert(n,open); IF member(n old,open) THEN remove(n old,open) ELSE remove(n old,closed) S: IV-06 Informed Best-First-Search c LETTMANN/STEIN Spezialfälle von A* und Z* Breitensuche ist ein Spezialfall von A*, wobei h = 0 und c(n,n ) = für alle Nachfolger n von n. Beweis (Skizze). g(n) definiert die Tiefe von n (Weg von n nach s). 2. f(n) = g(n) 3. Breitensuche: Der Tiefenunterschied zwischen den Knoten auf der OPEN-Liste ist. 4. Annahme: Sei zwischen n 2 und n der Tiefenunterschied größer, d. h., f(n 2) f(n ) >. 5. Für unmittelbaren Vorgänger n 0 von n 2 gilt: f(n 0) > f(n ). 6. n muss vor n 0 expandiert worden sein (wegen Minimierung von f bei A*). 7. n muss von OPEN gelöscht worden sein. Widerspruch. s S: IV-6 Informed Best-First-Search c LETTMANN/STEIN Spezialfälle von A* und Z* Tiefensuche ist eine Spezialfall von Z*, wobei f(n ) = f(n), f(s) = 0, für alle Nachfolger n von n. Spektrum der Suchstrategien Umfang betrachteter Alternativen bei der Lösungssuche Beweis (Skizze). f(n ) < f(n) n wurde nach n in die OPEN-Liste eingefügt. n wurde nach n in die OPEN-Liste eingefügt f(n ) f(n). 2. Tiefensuche: Der auf der OPEN-Liste zuletzt eingefügte Knoten wird expandiert. 3. Sei n 2 der auf der OPEN-Liste zuletzt eingefügte Knoten. 4. Annahme: n OPEN-Liste wurde vor n 2 expandiert f(n ) f(n 2) 5. f(n ) < f(n 2) (wegen Minimierung von f bei Z*) 6. n wurde nach n 2 in die OPEN-Liste eingefügt. 7. n 2 ist nicht der zuletzt eingefügte Knoten. Widerspruch. s S Betrachtung aller Alternativen Betrachtung nur neuester Alternativen Hill Climbing unwiderrufbare Entscheidungen vorläufige Entscheidungen Best First Backtracking R Umfang erreichbarer Alternativen falls Suche in Sackgasse S: IV-8 Informed Best-First-Search c LETTMANN/STEIN S: IV-2 Informed Best-First-Search c STEIN

Künstliche Intelligenz

Künstliche Intelligenz Künstliche Intelligenz Vorlesung 4: Suchverfahren Informierte Suche 1/132 INFORMIERTE SUCHSTRATEGIEN (ISS) Benutzt neben der Definition des Problems auch problemspezifisches Wissen. Findet Lösungen effizienter

Mehr

Uninformierte Suche in Java Informierte Suchverfahren

Uninformierte Suche in Java Informierte Suchverfahren Uninformierte Suche in Java Informierte Suchverfahren Stephan Schwiebert WS 2009/2010 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln Suchprobleme bestehen aus Zuständen

Mehr

Zustandsraumsuche: Blinde und Heuristische Suche. Blinde und Heuristische Suche

Zustandsraumsuche: Blinde und Heuristische Suche. Blinde und Heuristische Suche Zustandsraumsuche: Blinde und Heuristische Suche Einführung in die KI Übungsstunde am 01.11.04 Benmin Altmeyer 1 Heute im Angebot Was ist Suche? Suche als Probemlösung Zustandsraumsuche Vollständigkeit

Mehr

Einführung in Heuristische Suche

Einführung in Heuristische Suche 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?

Mehr

Algorithmen und Datenstrukturen 2-1. Seminar -

Algorithmen und Datenstrukturen 2-1. Seminar - Algorithmen und Datenstrukturen 2-1. Seminar - Dominic Rose Bioinformatics Group, University of Leipzig Sommersemster 2010 Outline 1. Übungsserie: 3 Aufgaben, insgesamt 30 28 Punkte A1 Spannbäume (10 8

Mehr

Uninformierte Suche in Java Informierte Suchverfahren

Uninformierte Suche in Java Informierte Suchverfahren Uninformierte Suche in Java Informierte Suchverfahren Stephan Schwiebert WS 2008/2009 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln 8-Damen-Problem Gegeben: Schachbrett

Mehr

9. Heuristische Suche

9. Heuristische Suche 9. Heuristische Suche Prof. Dr. Rudolf Kruse University of Magdeburg Faculty of Computer Science Magdeburg, Germany rudolf.kruse@cs.uni-magdeburg.de S Heuristische Suche Idee: Wir nutzen eine (heuristische)

Mehr

Künstliche Intelligenz

Künstliche Intelligenz Künstliche Intelligenz Vorlesung 3: Suchverfahren Informierte Suche 1/78 WIEDERHOLUNG Bislang uninformierte Strategien BFS, DFS, Iteratives Vertiefen, Bidirektionale Suche Wichtige Begriffe: Suchraum,

Mehr

Grundlagen der Künstlichen Intelligenz

Grundlagen der Künstlichen Intelligenz Grundlagen der Künstlichen Intelligenz 6. Klassische Suche: Datenstrukturen für Suchalgorithmen Malte Helmert Universität Basel 7. März 2014 Klassische Suche: Überblick Kapitelüberblick klassische Suche:

Mehr

Grundlagen der Künstlichen Intelligenz

Grundlagen der Künstlichen Intelligenz Grundlagen der Künstlichen Intelligenz 9. Klassische Suche: Tiefensuche und iterative Tiefensuche Malte Helmert Universität asel 21. März 2014 Tiefensuche Iterative Tiefensuche linde Suche: Zusammenfassung

Mehr

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

9.1 Tiefensuche. Grundlagen der Künstlichen Intelligenz. 9.1 Tiefensuche. 9.2 Iterative Tiefensuche. 9.3 Blinde Suche: Zusammenfassung Grundlagen der Künstlichen Intelligenz 21. März 2014 9. Klassische Suche: Tiefensuche und iterative Tiefensuche Grundlagen der Künstlichen Intelligenz 9. Klassische Suche: Tiefensuche und iterative Tiefensuche

Mehr

Wissensbasierte Suche

Wissensbasierte Suche Wissensbasierte Suche Jürgen Dorn Inhalt uninformierte Suche wissensbasierte Suche A* und IDA* Algorithmus Suche in Und/Oder-Graphen Jürgen Dorn 2003 Wissensbasierte Suche 1 Suche Suche in (expliziten

Mehr

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Übersicht: Graphen. Definition: Ungerichteter Graph. Definition: Ungerichteter Graph

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Übersicht: Graphen. Definition: Ungerichteter Graph. Definition: Ungerichteter Graph Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 07 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München 7 Fortgeschrittene Datenstrukturen Graphen

Mehr

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

als Bewertungsfunktion g(n) eines Knotens n wird der tatsächliche Weg vom Startzustand zu diesem Knoten benutzt 5 Suche 12. Vorlesung: Bestensuche; Goal Trees best-first search einfache Bestensuche: als Bewertungsfunktion g(n) eines Knotens n wird der tatsächliche Weg vom Startzustand zu diesem Knoten benutzt Bewertungsfunktion

Mehr

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

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 1: Grundlagen der algorithmischen Graphentheorie Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 1: Grundlagen der algorithmischen Graphentheorie Dipl-Math. Wolfgang Kinzner 2.4.2012 Kapitel 1: Grundlagen der algorithmischen Graphgentheorie

Mehr

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

8.1 Blinde Suche. Grundlagen der Künstlichen Intelligenz. Klassische Suche: Überblick. 8. Klassische Suche: Breitensuche und uniforme Kostensuche Grundlagen der Künstlichen Intelligenz 17. März 2014 8. Klassische Suche: Breitensuche und uniforme Kostensuche Grundlagen der Künstlichen Intelligenz 8. Klassische Suche: Breitensuche und uniforme Kostensuche

Mehr

Grundlagen der Künstlichen Intelligenz

Grundlagen der Künstlichen Intelligenz Grundlagen der Künstlichen Intelligenz 9. Klassische Suche: Baumsuche und Graphensuche Malte Helmert Universität Basel 13. März 2015 Klassische Suche: Überblick Kapitelüberblick klassische Suche: 5. 7.

Mehr

Sandro Pirkwieser, (Bin Hu, Jakob Puchinger) SS 2010

Sandro Pirkwieser, (Bin Hu, Jakob Puchinger) SS 2010 Lösungsverfahren für Ganzzahlige Optimierung Sandro Pirkwieser, (Bin Hu, Jakob Puchinger) Fortgeschrittene Algorithmen und Datenstrukturen Arbeitsbereich für Algorithmen und Datenstrukturen Institut für

Mehr

15. Elementare Graphalgorithmen

15. Elementare Graphalgorithmen Graphen sind eine der wichtigste Modellierungskonzepte der Informatik Graphalgorithmen bilden die Grundlage vieler Algorithmen in der Praxis Zunächst kurze Wiederholung von Graphen. Dann Darstellungen

Mehr

Algorithmen & Komplexität

Algorithmen & Komplexität Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik steger@inf.ethz.ch Breitensuche, Tiefensuche Wir besprechen nun zwei grundlegende Verfahren, alle Knoten eines Graphen zu

Mehr

Definition Gerichteter Pfad. gerichteter Pfad, wenn. Ein gerichteter Pfad heißt einfach, falls alle u i paarweise verschieden sind.

Definition Gerichteter Pfad. gerichteter Pfad, wenn. Ein gerichteter Pfad heißt einfach, falls alle u i paarweise verschieden sind. 3.5 Gerichteter Pfad Definition 291 Eine Folge (u 0, u 1,..., u n ) mit u i V für i = 0,..., n heißt gerichteter Pfad, wenn ( i {0,..., n 1} ) [ (u i, u i+1 ) A]. Ein gerichteter Pfad heißt einfach, falls

Mehr

12. Graphen. Notation, Repräsentation, Traversieren (DFS, BFS), Topologisches Sortieren, Ottman/Widmayer, Kap ,Cormen et al, Kap.

12. Graphen. Notation, Repräsentation, Traversieren (DFS, BFS), Topologisches Sortieren, Ottman/Widmayer, Kap ,Cormen et al, Kap. 254 12. Graphen Notation, Repräsentation, Traversieren (DFS, BFS), Topologisches Sortieren, Ottman/Widmayer, Kap. 9.1-9.4,Cormen et al, Kap. 22 Königsberg 1736 255 Königsberg 1736 255 Königsberg 1736 255

Mehr

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

Wissensbasierte Systeme. Kombinatorische Explosion und die Notwendigkeit Heuristischer Suche. Heuristiken und ihre Eigenschaften 1 Michael Beetz Technische Universität München Wintersemester 2004/05 Kombinatorische Explosion und die Notwendigkeit Heuristischer Suche 2 3 der Eigenschaften der 4 : 8-Puzzle 5 Heuristiken und ihre Eigenschaften

Mehr

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

Zustände und Knoten. Vorgänger Information: Tiefe = 4 ΣKosten=4 Expandiert: ja. Zustand Aktion: right. Aktion: down Zustände und Knoten Zustände: Schnappschüsse der Welt Knoten: Datenobjekte, welche Zustände repräsentieren und weitere Information enthalten Vorgängerknoten (im Baum 1) Nachfolgerknoten (im Baum b) mit

Mehr

Startzustand. Mögliche heuristische Funktionen:

Startzustand. Mögliche heuristische Funktionen: Informierte Suchverfahren Für größere Suchbäume sind Breiten- und Tiefensuche nicht effizient genug. Vielversprechender sind Ansätze, bei denen Problemwissen zur Steuerung des Suchprozesses eingesetzt

Mehr

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

Definition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V. Kapitel 4 Graphenalgorithmen 4.1 Definitionen Definition 4.1.1. Der Graph G = (V, E) ist über die beiden Mengen V und E definiert, wobei V die Menge der Knoten und E die Menge der Kanten in dem Graph ist.

Mehr

Intelligente Systeme

Intelligente Systeme Intelligente Systeme Heuristische Suchalgorithmen Prof. Dr. R. Kruse C. Braune {rudolf.kruse,christian.braune}@ovgu.de Institut für Intelligente Kooperierende Systeme Fakultät für Informatik Otto-von-Guericke-Universität

Mehr

Informierte Suchverfahren

Informierte Suchverfahren Informierte Suchverfahren Für größere Suchbäume sind Breiten- und Tiefesuche nicht effizient genug. Vielversprechender sind Ansätze, bei denen Problemwissen zur Steuerung des Suchprozesses eingesetzt wird.

Mehr

Lernmodul 7 Algorithmus von Dijkstra

Lernmodul 7 Algorithmus von Dijkstra Folie 1 von 30 Lernmodul 7 Algorithmus von Dijkstra Quelle: http://www.map24.de Folie 2 von 30 Algorithmus von Dijkstra Übersicht Kürzester Weg von A nach B in einem Graphen Problemstellung: Suche einer

Mehr

Graphentheorie. Kürzeste Wege. Kürzeste Wege. Kürzeste Wege. Rainer Schrader. 25. Oktober 2007

Graphentheorie. Kürzeste Wege. Kürzeste Wege. Kürzeste Wege. Rainer Schrader. 25. Oktober 2007 Graphentheorie Rainer Schrader Zentrum für Angewandte Informatik Köln 25. Oktober 2007 1 / 20 2 / 20 Wir werden Optimierungsprobleme vom folgenden Typ betrachten: gegeben eine Menge X und eine Funktion

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen und Datenstrukturen (für ET/IT) Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 05 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm heute Einführung Grundlagen von Algorithmen Grundlagen

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Fortgeschrittene Netzwerk- und Graph-Algorithmen Fortgeschrittene Netzwerk- und Graph-Algorithmen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester

Mehr

Routing A lgorithmen Algorithmen Begriffe, Definitionen Wegewahl Verkehrslenkung

Routing A lgorithmen Algorithmen Begriffe, Definitionen Wegewahl Verkehrslenkung Begriffe, Definitionen Routing (aus der Informatik) Wegewahl oder Verkehrslenkung bezeichnet in der Telekommunikation das Festlegen von Wegen für Nachrichtenströme bei der Nachrichtenübermittlung über

Mehr

Künstliche Intelligenz

Künstliche Intelligenz Künstliche Intelligenz Vorlesung 4: Suchverfahren Informierte Suche 1/135 WIEDERHOLUNG BISLANG... Uninformierte Strategien: bearbeiten den Suchraum systematisch, aber ohne problemspezifisches Wissen ab.

Mehr

Graphdurchmusterung, Breiten- und Tiefensuche

Graphdurchmusterung, Breiten- und Tiefensuche Prof. Thomas Richter 18. Mai 2017 Institut für Analysis und Numerik Otto-von-Guericke-Universität Magdeburg thomas.richter@ovgu.de Material zur Vorlesung Algorithmische Mathematik II am 18.05.2017 Graphdurchmusterung,

Mehr

Kapitel IV Minimale Spannbäume

Kapitel IV Minimale Spannbäume Kapitel IV Minimale Spannbäume 1. Grundlagen Ein Graph G = (V, E) besteht aus einer Menge V von Knoten und einer Menge E von Kanten. Wir werden nur endliche Knoten- (und damit auch Kanten-) Mengen betrachten.

Mehr

WS 2009/10. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910

Mehr

10. Übungsblatt zu Algorithmen I im SS 2010

10. Übungsblatt zu Algorithmen I im SS 2010 Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter Sanders G.V. Batz, C. Schulz, J. Speck 0. Übungsblatt zu Algorithmen I im SS 00 http//algo.iti.kit.edu/algorithmeni.php

Mehr

Kapitel 12: Induktive

Kapitel 12: Induktive Kapitel 12: Induktive Datenstrukturen Felix Freiling Lehrstuhl für Praktische Informatik 1 Universität Mannheim Vorlesung Praktische Informatik I im Herbstsemester 2009 Folien nach einer Vorlage von H.-Peter

Mehr

Exkurs: Graphtraversierung

Exkurs: Graphtraversierung Sanders: Informatik III November 28, 2006 1 Exkurs: Graphtraversierung Begriffe Graphrepräsentation Erreichbarkeit mittels Tiefensuche Kreise Suchen Sanders: Informatik III November 28, 2006 2 Gerichtete

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Prof. Martin Lercher Institut für Informatik Heinrich-Heine-Universität Düsseldorf Teil 10 Suche in Graphen Version vom 13. Dezember 2016 1 / 2 Vorlesung 2016 / 2017 2 /

Mehr

Breitensuche BFS (Breadth First Search)

Breitensuche BFS (Breadth First Search) Breitensuche BFS (Breadth First Search) Algorithmus BREITENSUCHE EINGABE: G = (V, E) als Adjazenzliste, Startknoten s V 1 Für alle v V 1 If (v = s) then d[v] 0 else d[v] ; 2 pred[v] nil; 2 Q new Queue;

Mehr

Der Alpha-Beta-Algorithmus

Der Alpha-Beta-Algorithmus Der Alpha-Beta-Algorithmus Maria Hartmann 19. Mai 2017 1 Einführung Wir wollen für bestimmte Spiele algorithmisch die optimale Spielstrategie finden, also die Strategie, die für den betrachteten Spieler

Mehr

Informatik II, SS 2016

Informatik II, SS 2016 Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 10 (27.5.2016) Binäre Suchbäume II Algorithmen und Komplexität Zusätzliche Dictionary Operationen Dictionary: Zusätzliche mögliche Operationen:

Mehr

\ E) eines Graphen G = (V, E) besitzt die gleiche Knotenmenge V und hat als Kantenmenge alle Kanten des vollständigen Graphen ohne die Kantenmenge E.

\ E) eines Graphen G = (V, E) besitzt die gleiche Knotenmenge V und hat als Kantenmenge alle Kanten des vollständigen Graphen ohne die Kantenmenge E. Das Komplement Ḡ = (V, ( V ) \ E) eines Graphen G = (V, E) besitzt die gleiche Knotenmenge V und hat als Kantenmenge alle Kanten des vollständigen Graphen ohne die Kantenmenge E. Ein Graph H = (V, E )

Mehr

5. Bäume und Minimalgerüste

5. Bäume und Minimalgerüste 5. Bäume und Minimalgerüste Charakterisierung von Minimalgerüsten 5. Bäume und Minimalgerüste Definition 5.1. Es ein G = (V, E) ein zusammenhängender Graph. H = (V,E ) heißt Gerüst von G gdw. wenn H ein

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen und Datenstrukturen (für ET/IT) Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 07 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München Programm heute Einführung Grundlagen von Algorithmen

Mehr

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

1 Einführung. 2 Grundlagen von Algorithmen. 3 Grundlagen von Datenstrukturen. 4 Grundlagen der Korrektheit von Algorithmen Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 0 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München Einführung Grundlagen von Algorithmen Grundlagen

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Graphen (1) Darstellung Traversierung Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 441 Generalisierung von Bäumen Verallgemeinerung (von Listen zu Graphen)

Mehr

Graphenalgorithmen I

Graphenalgorithmen I Graphenalgorithmen I Vortrag im Seminar Hallo Welt! für Fortgeschrittene 7. Juni 211 Graphenalgorithmen I 1/33 Motivation Problem Wie komme ich am schnellsten ins Kanapee? Problem Wie kommt ein Datenpaket

Mehr

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.

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. Graphen Definition: 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. Begriffe: Gerichteter Graph: Alle Kanten haben eine Richtung vom Anfangsknoten

Mehr

Das Problem des Handlungsreisenden

Das Problem des Handlungsreisenden Seite 1 Das Problem des Handlungsreisenden Abbildung 1: Alle möglichen Rundreisen für 4 Städte Das TSP-Problem tritt in der Praxis in vielen Anwendungen als Teilproblem auf. Hierzu gehören z.b. Optimierungsprobleme

Mehr

Algorithmus zur topologischen Nummerierung: while V = 0 do nummeriere eine Quelle mit der nächsten Nummer streiche diese Quelle aus V od

Algorithmus zur topologischen Nummerierung: while V = 0 do nummeriere eine Quelle mit der nächsten Nummer streiche diese Quelle aus V od Algorithmus zur topologischen Nummerierung: while V = 0 do nummeriere eine Quelle mit der nächsten Nummer streiche diese Quelle aus V od Diskrete Strukturen 3.7 dag 473/556 3.8 Zusammenhang Definition

Mehr

Heuristische Suchverfahren

Heuristische Suchverfahren Heuristische Suchverfahren Suchprozesse sind ein wichtiger Bestandteil unterschiedlicher Problemlöseverfahren z.b. Bestimmung der Konfliktmenge in Produktionssystemen Suche nach resolvierbaren Klauseln

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Graphdurchläufe Maike Buchin 22. und 27.6.2017 Graphexploration Motivation: Für viele Zwecke will man den gesamten Graphen durchlaufen, zb. um festzustellen ob er (stark) zusammenhängt.

Mehr

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme Theoretische Informatik Exkurs Rainer Schrader Exkurs: Komplexität von n Institut für Informatik 13. Mai 2009 1 / 34 2 / 34 Gliederung Entscheidungs- und Approximationen und Gütegarantien zwei Greedy-Strategien

Mehr

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

8.1 Einleitung. Grundlagen der Künstlichen Intelligenz. 8.1 Einleitung. 8.2 Lokale Suchverfahren. 8.3 Zusammenfassung. Suchprobleme: Überblick Grundlagen der Künstlichen Intelligenz 5. April 0 8. Suchalgorithmen: Lokale Suche Grundlagen der Künstlichen Intelligenz 8. Suchalgorithmen: Lokale Suche 8.1 Einleitung Malte Helmert Universität Basel

Mehr

Informatik II, SS 2016

Informatik II, SS 2016 Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 22 (20.7.2016) Greedy Algorithmen - Datenkompression Algorithmen und Komplexität Greedy Algorithmen Greedy Algorithmen sind eine Algorithmenmethode,

Mehr

Intelligente Systeme

Intelligente Systeme Intelligente Systeme Heuristische Suchalgorithmen Prof. Dr. R. Kruse. raune. Doell {kruse,cbraune,doell}@iws.cs.uni-magdeburg.de Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke

Mehr

Grundlagen der Künstlichen Intelligenz

Grundlagen der Künstlichen Intelligenz Grundlagen der Künstlichen Intelligenz 14. Klassische Suche: IDA Malte Helmert Universität Basel 31. März 2014 Klassische Suche: Überblick Kapitelüberblick klassische Suche: 3. 5. Einführung 6. 9. Basisalgorithmen

Mehr

Algo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7

Algo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7 1 Kürzeste Pfade Woche 6 7 Hier arbeiten wir mit gewichteten Graphen, d.h. Graphen, deren Kanten mit einer Zahl gewichtet werden. Wir bezeichnen die Gewichtsfunktion mit l : E R. Wir wollen einen kürzesten

Mehr

Customization (Zuschneiden)

Customization (Zuschneiden) Customization (Zuschneiden) Anpassen der (Graph)Datenstruktur an die Anwendung. I Ziel: schnell, kompakt. I benutze Entwurfsprinzip: make the common case fast I Listen vermeiden Mögliches Problem: Software-Engineering-Alptraum

Mehr

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

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen 186.172 Algorithmen und Datenstrukturen 1 VL 4.0 Übungsblatt 4 für die Übung

Mehr

10.1 Blinde Suche Blinde Suche. Grundlagen der Künstlichen Intelligenz Breitensuche: Einführung BFS-Tree. 10.

10.1 Blinde Suche Blinde Suche. Grundlagen der Künstlichen Intelligenz Breitensuche: Einführung BFS-Tree. 10. Grundlagen der Künstlichen Intelligenz 13. März 2015 10. Klassische Suche: Grundlagen der Künstlichen Intelligenz 10. Klassische Suche: Malte Helmert Universität asel 13. März 2015 10.1 linde Suche 10.2

Mehr

Entscheidungsverfahren für die Software-Verifikation. 4 - BDDs

Entscheidungsverfahren für die Software-Verifikation. 4 - BDDs Entscheidungsverfahren für die Software-Verifikation 4 - BDDs Datenstruktur BDD 1986 von R. Bryant vorgeschlagen zur Darstellung von aussagenlogischen Formeln (genauer: Booleschen Funktionen) Boolesche

Mehr

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

Beispiele. mit. Beispiel 2.3. Suche einen Weg von nach. Tiefensuche bzw. Breitensuche. 2. Suchverfahren Uninformierte Suchverfahren Beispiel 2.4. Ein Weinhändler hat drei Krüge, einen von 9 Liter, einen von 7 Liter und einen von 4 Liter Inhalt. Auf den Krügen sind keine Litermarkierungen

Mehr

Routing Algorithmen. Begriffe, Definitionen

Routing Algorithmen. Begriffe, Definitionen Begriffe, Definitionen Routing (aus der Informatik) Wegewahl oder Verkehrslenkung bezeichnet in der Telekommunikation das Festlegen von Wegen für Nachrichtenströme bei der Nachrichtenübermittlung über

Mehr

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

Übersicht. Künstliche Intelligenz: 3. Problemlösen durch Suche 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

Mehr

Kapitel IV Minimale Spannbäume

Kapitel IV Minimale Spannbäume Kapitel IV Minimale Spannbäume. Grundlagen Ein Graph G = (V, E) besteht aus einer Menge V von Knoten und einer Menge E von Kanten. Wir werden nur endliche Knoten- (und damit auch Kanten-) Mengen betrachten.

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Fortgeschrittene Netzwerk- und Graph-Algorithmen Fortgeschrittene Netzwerk- und Graph-Algorithmen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil 5 Prof. Peter F. Stadler & Dr. Christian Höner zu Siederdissen Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität

Mehr

9 Minimum Spanning Trees

9 Minimum Spanning Trees Im Folgenden wollen wir uns genauer mit dem Minimum Spanning Tree -Problem auseinandersetzen. 9.1 MST-Problem Gegeben ein ungerichteter Graph G = (V,E) und eine Gewichtsfunktion w w : E R Man berechne

Mehr

TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK

TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 11 Prof. Dr. Helmut Seidl, S. Pott,

Mehr

5 BINÄRE ENTSCHEIDUNGS- DIAGRAMME (BDDS)

5 BINÄRE ENTSCHEIDUNGS- DIAGRAMME (BDDS) 5 BINÄRE ENTSCHEIDUNGS- DIAGRAMME (BDDS) Sommersemester 2009 Dr. Carsten Sinz, Universität Karlsruhe Datenstruktur BDD 2 1986 von R. Bryant vorgeschlagen zur Darstellung von aussagenlogischen Formeln (genauer:

Mehr

Algorithmen & Komplexität

Algorithmen & Komplexität Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik steger@inf.ethz.ch Kürzeste Pfade Problem Gegeben Netzwerk: Graph G = (V, E), Gewichtsfunktion w: E N Zwei Knoten: s, t Kantenzug/Weg

Mehr

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

Traversierung 1 / 16. P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V3 23. April / 16 P.F. Stadler & S. Will (Bioinf, Uni LE) ADS, V. April 0 / P.F. Stadler & S. Will (Bioinf, Uni LE) ADS, V. April 0 / Traversierung ADS: Algorithmen und Datenstrukturen Teil Prof. Peter F. Stadler & Sebastian

Mehr

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

7. Dynamische Datenstrukturen Bäume. Informatik II für Verkehrsingenieure 7. Dynamische Datenstrukturen Bäume Informatik II für Verkehrsingenieure Übersicht dynamische Datenstrukturen Wozu? Oft weiß man nicht von Beginn an, wieviele Elemente in einer Datenstruktur untergebracht

Mehr

Algorithmentheorie. 10 Greedy Verfahren

Algorithmentheorie. 10 Greedy Verfahren Algorithmentheorie 0 Greedy Verfahren Prof. Dr. S. Albers Greedy Verfahren. Allgemeine Vorbemerkungen 2. Einfache Beispiele Münzwechselproblem Handlungsreisenden-Problem 3. Das Aktivitäten Auswahlproblem

Mehr

Euler und Hamiltonkreise

Euler und Hamiltonkreise Euler und Hamiltonkreise 1. Königsberger Brücken 2. Eulerwege und Kreise Definition, Algorithmus mit Tiefensuche 3. Hamiltonwege und Kreise Definition 4. Problem des Handlungsreisenden Enumeration und

Mehr

Graph Suchalgorithmus Uninformierte Suche Informierte Suche. Pfadsuche. Mario Mohr. GWV-Tutorium 2013/ Januar 2014

Graph Suchalgorithmus Uninformierte Suche Informierte Suche. Pfadsuche. Mario Mohr. GWV-Tutorium 2013/ Januar 2014 Pfadsuche Mario Mohr GWV-Tutorium 2013/14 17. Januar 2014 4 Informierte Suche Heuristik Best-first A* 1 Graph 2 Suchalgorithmus 3 Uninformierte Suche Breadth-first Loop detection & multiple-path pruning

Mehr

Grundzüge DS & Alg (WS14/15) Lösungsvorschlag zu Aufgabenblatt 3. Aufgabe 1. (a) nicht-heap (b) Heap 25. (c) Beinahe-Heap 9.

Grundzüge DS & Alg (WS14/15) Lösungsvorschlag zu Aufgabenblatt 3. Aufgabe 1. (a) nicht-heap (b) Heap 25. (c) Beinahe-Heap 9. Lösungsvorschlag zu Aufgabenblatt Aufgabe 1 (a) nicht-heap 1 1 5 5 1 1 (b) Heap 5 1 1 14 5 10 4 (c) Beinahe-Heap 1 1 4 1 10 Heapify 1. Iteration. Iteration. Iteration 1 1 1 1 1 1 10 4 1 10 4 1 10 4 1 1

Mehr

Kapitel 5: Graphen und Graphalgorithmen

Kapitel 5: Graphen und Graphalgorithmen LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Algorithmen und Datenstrukturen Kapitel 5: Graphen und Graphalgorithmen Skript zur Vorlesung Algorithmen und Datenstrukturen

Mehr

Teil 2: Graphenalgorithmen

Teil 2: Graphenalgorithmen Teil : Graphenalgorithmen Anwendungen Definitionen Datenstrukturen für Graphen Elementare Algorithmen Topologisches Sortieren Kürzeste Wege Minimal aufspannende Bäume Problemstellung Algorithmus von Prim

Mehr

Quicksort ist ein Divide-and-Conquer-Verfahren.

Quicksort ist ein Divide-and-Conquer-Verfahren. . Quicksort Wie bei vielen anderen Sortierverfahren (Bubblesort, Mergesort, usw.) ist auch bei Quicksort die Aufgabe, die Elemente eines Array a[..n] zu sortieren. Quicksort ist ein Divide-and-Conquer-Verfahren.

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 11 (4.6.2014) Binäre Suchbäume II Algorithmen und Komplexität Binäre Suchbäume Binäre Suchbäume müssen nicht immer so schön symmetrisch sein

Mehr

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

Beweise aus dem Fach Grundzüge der Künstlichen Intelligenz Beweise aus dem Fach Grundzüge der Künstlichen Intelligenz Alexander Pacha TU Wien - Matr. Nr.: 0828440 alexander.pacha@tuwien.ac.at 1 Begriserklärungen Für die folgenden Beweise werden zuerst folgende

Mehr

Copyright, Page 1 of 7 Heapsort

Copyright, Page 1 of 7 Heapsort www.mathematik-netz.de Copyright, Page 1 of 7 Heapsort Alle grundlegenden, allgemeinen Sortierverfahren benötigen O(n 2 ) Zeit für das Sortieren von n Schlüsseln. Die kritischen Operationen, d.h. die Auswahl

Mehr

Matchings in Graphen. Praktikum Diskrete Optimierung (Teil 5)

Matchings in Graphen. Praktikum Diskrete Optimierung (Teil 5) Praktikum Diskrete Optimierung (Teil 5) 6.05.009 Matchings in Graphen Es sei ein ungerichteter Graph G = (V, E) gegeben. Ein Matching in G ist eine Teilmenge M E, so dass keine zwei Kanten aus M einen

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Fortgeschrittene Netzwerk- und Graph-Algorithmen Fortgeschrittene Netzwerk- und Graph-Algorithmen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester

Mehr

Der Branching-Operator B

Der Branching-Operator B Branching 1 / 17 Der Branching-Operator B Unser Ziel: Löse das allgemeine Minimierungsproblem minimiere f (x), so dass Lösung(x). B zerlegt eine Menge von Lösungen in disjunkte Teilmengen. Die wiederholte

Mehr

Übung Algorithmen und Datenstrukturen

Übung Algorithmen und Datenstrukturen Übung Algorithmen und Datenstrukturen Sommersemester 217 Patrick Schäfer, Humboldt-Universität zu Berlin Agenda: Graphen, Suchbäume, AVL Bäume Heute: Graphen und Bäume Binäre Suchbäume AVL-Bäume Nächste

Mehr

Algorithmen und Datenstrukturen. Bäume. M. Herpers, Y. Jung, P. Klingebiel

Algorithmen und Datenstrukturen. Bäume. M. Herpers, Y. Jung, P. Klingebiel Algorithmen und Datenstrukturen Bäume M. Herpers, Y. Jung, P. Klingebiel 1 Lernziele Baumstrukturen und Ihre Verwendung kennen Grundbegriffe zu Bäumen anwenden können Baumstruktur in C anlegen können Suchbäume

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2007 11. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Das Rucksack-Problem Ein Dieb, der einen Safe

Mehr

Inhalt. Kognitive Systeme 1. Expansion eines impliziten Suchraums Netz aller möglichen Schritte. Impliziter Suchraum. Uninformierte Suche

Inhalt. Kognitive Systeme 1. Expansion eines impliziten Suchraums Netz aller möglichen Schritte. Impliziter Suchraum. Uninformierte Suche Inhalt Uninformierte Suche Dr.-Ing. Bernd Ludwig Lehrstuhl für Künstliche Intelligenz Friedrich-Alexander-Universität Erlangen-Nürnberg 04.11.2009 1 Implizite Suchgraphen 2 Tiefensuche 3 Breitensuche 4

Mehr

Theoretische Grundlagen der Informatik. Vorlesung am 02. November INSTITUT FÜR THEORETISCHE INFORMATIK

Theoretische Grundlagen der Informatik. Vorlesung am 02. November INSTITUT FÜR THEORETISCHE INFORMATIK Theoretische Grundlagen der Informatik Vorlesung am 2. November 27 2..27 Dorothea Wagner - Theoretische Grundlagen der Informatik KIT Die Forschungsuniversität in der Vorlesung am 2. November 27 Helmholtz-Gemeinschaft

Mehr

Kognitive Systeme 1. Uninformierte Suche. Dr.-Ing. Bernd Ludwig

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

Mehr

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Graphen (2) Spannbäume Kürzeste Wege Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 455 Wiederholung Traversierung eines Graphen via Tiefendurchlaufs

Mehr

Branch-and-Bound. Wir betrachten allgemein Probleme, deren Suchraum durch Bäume dargestellt werden kann. Innerhalb des Suchraums suchen wir

Branch-and-Bound. Wir betrachten allgemein Probleme, deren Suchraum durch Bäume dargestellt werden kann. Innerhalb des Suchraums suchen wir Effiziente Algorithmen Lösen NP-vollständiger Probleme 289 Branch-and-Bound Wir betrachten allgemein Probleme, deren Suchraum durch Bäume dargestellt werden kann. Innerhalb des Suchraums suchen wir 1.

Mehr