Grundlagen der Wissensverarbeitung

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