intelligente systeme · folien basieren auf russell und norvig: künstliche intelligenz: ein...
Post on 27-Jun-2020
5 Views
Preview:
TRANSCRIPT
Intelligente Systeme��
Suche ���
Michael Schroeder�www.biotec.tu-dredsen.de/schroeder�
Lehrbuch
Folien basieren auf��Russell und Norvig: �Künstliche Intelligenz: �Ein Moderner Ansatz. �
Dank an Prof. Fürnkranz �für die Folienvorlagen
By Michael Schroeder, Biotec 2
Graphen und Netzwerke§ Facebook: Bekanntschaften§ Dbpedia: Wissensnetz (Subjekt-Prädikat-Objekt Tripel)§ Google: Wissensnetz (aus Webseiten)§ GoPubMed: Hierarchie von Konzepten§ IBM deep blue: Schachspiel als Baum§ Navigationssysteme: Straßennetz§ NASA Deep Space One: Netzwerk aus Komponenten
§ Software Engineering: Zustandsdiagramme§ Automatentheorie: Transitionssysteme§ Bioinformatik: Proteininteraktionsnetze§ Ökologie: Räuber-Beute Netze§ Elektrotechnik: Schaltkreise
By Michael Schroeder, Biotec 3
Graph G=(V,E)
§ Graph: § Ist V eine Menge von Knoten (Vertices, Einzahl Vertex) und § E VxV eine Menge von Kanten (Edges),
dann ist G=(V,E) ein Graph
§ Baum (Graph ohne Kreise)§ Gerichteter Graph
§ Gewichteter Graph
By Michael Schroeder, Biotec 4
Zustandsraum
§ Zustand, Startzustand, Endzustand§ Aktionen, Zustandsübergang
By Michael Schroeder, Biotec 5
Problemmodellierung
§ Navigation§ Roboter§ Schiebepuzzle
§ Damenproblem
§ Entitätenerkennung (HMM)
§ Relationsextraktion (Multiples Sequenzalignment)
By Michael Schroeder, Biotec 6
Problemmodellierung: Navigation§ Startzustand: Arad§ Zielzustand: Bukarest§ Aktionen: Fahrt in nächste Stadt§ Lösung: Folge von Städten§ Kosten = Distanz, Zahl der Städte, Zeit,...
By Michael Schroeder, Biotec 7
Problemmodellierung: Roboter§ Startzustand: Links und rechts Staub§ Zielzustand: Links und rechts kein Staub§ Aktionen: Links, Rechts, Sauge§ Lösung: Folge von Aktionen§ Kosten = Distanz, Zahl der Aktionen, Dauer,...
By Michael Schroeder, Biotec 8
Problemmodellierung: Schiebepuzzle§ Startzustand: s.u. links§ Zielzustand: s.u. rechts§ Aktionen: verschiebe Zahl§ Lösung: Folge von Verschiebungen§ Kosten = Zahl der Verschiebungen,...
By Michael Schroeder, Biotec 9
Problemmodellierung: Damenproblem§ Startzustand: s.u. links§ Zielzustand: Damen können sich nicht schlagen§ Aktionen: Bewege Dame
By Michael Schroeder, Biotec 10
Problemmodellierung: Entitätenerkennung (HMM)
§ Startzustand: S§ Zielzustand: E
§ Zustände: Wort ist Person (P), Ort (L), Anderes (O) § Kosten = Wahrscheinlichkeit für Wortfolge gegeben Zustandsfolge
By Michael Schroeder, Biotec 11
Problemmodellierung: �Relationsextraktion (Multiples Sequenzalignment)
§ Problem: Alignment von Zeichenketten peter, petra, pitr§ Startzustand: Alignment von drei leeren Zeichenketten§ Zielzustand: Alignment der drei Zeichenketten§ Aktion: „Konsumieren“ von Zeichen in den Zeichenketten§ Kosten = Größte Übereinstimmung der Zeichenketten
By Michael Schroeder, Biotec 12
peter-pet-rapit-r-
Suchverfahren
§ Einfache Suche§ Breitensuche§ Tiefensuche
§ Tiefenbegrenzte Suche§ Iteratives Vertiefen
§ Bestensuche§ Gierige (greedy) Suche§ A*
By Michael Schroeder, Biotec 13
Suchverfahren
§ Expandiere Knoten im Suchbaum bis Ziel gefunden§ Strategie: In welcher Reihenfolge?
By Michael Schroeder, Biotec 14
Suchbaum
By Michael Schroeder, Biotec 15
Suchbaum
By Michael Schroeder, Biotec 16
Suchbaum
Blätter
Tiefe
By Michael Schroeder, Biotec 17
Baumsuche
§ Blätter = [Startknoten]§ While Blätter nicht leer:
§ Nächster = pop(Blätter)§ If Nächster = Zielknoten then return Nächster§ For all Folgeknoten von Nächster
§ Füge Folgeknoten der Liste Blätter hinzu
§ Return failure
§ pop gibt erstes Element aus Liste �zurück und entfernt dieses aus Liste
§ Pfad? Pfadkosten? Tiefe?
By Michael Schroeder, Biotec 18
Suchstrategie
§ Welche Reihenfolge bei Expansion?
§ Bewertung: § Vollständigkeit: Wird Lösung gefunden?
§ Zeitkomplexität: Zahl expandierter Knoten
§ Speicherkomplexität: Max. Zahl von Knoten im Speicher§ Optimalität: Lösung mit bester Bewertung?
§ b: maximaler Verzeigungsgrad (branching factor)§ d: Tiefe der besten Lösung (depth)
§ m: Maximale Tiefe des Zustandsraumes (kann unendlich sein)
By Michael Schroeder, Biotec 19
Breitensuche
§ Blätter = Schlange FIFO (first in, first out)
By Michael Schroeder, Biotec 20
Breitensuche
§ Blätter = Schlange FIFO (first in, first out)
By Michael Schroeder, Biotec 21
Breitensuche
§ Blätter = Schlange FIFO (first in, first out)
By Michael Schroeder, Biotec 22
Breitensuche
§ Blätter = Schlange FIFO (first in, first out)
By Michael Schroeder, Biotec 23
Breitensuche
§ Vollständig (wenn b endlich)§ Zeitaufwand:
§ Jede Ebene hat b mal mehr Knoten als vorherige
§ Jeder Knoten wird expandiert§ Ziel in Ebene d bedeutet:
§ Speicheraufwand:§ Jeder Knoten bleibt im Speicher O(bd+1)
§ Optimal
By Michael Schroeder, Biotec 24
⇒1+b+b2+b3+...+bd + b d+1( ) − b( )=O bd+1( )
Breitensucheb = 10, 10,000 nodes/sec, 1000 bytes/node
Tiefe Knoten Zeit Speicher2 1100 .11 secs 1 MB4 111 100 11 secs 106 MB6 107 19 mins 10 GB8 109 31 hours 1 TB10 1011 129 days 101 TB12 1013 35 years 10 PetaBytes14 1015 3523 years 1 ExaByte
By Michael Schroeder, Biotec 25
Tiefensuche
§ Blätter = Stapel LIFO (last in, first out)
By Michael Schroeder, Biotec 26
Tiefensuche
§ Blätter = Stapel LIFO (last in, first out)
By Michael Schroeder, Biotec 27
Tiefensuche
§ Blätter = Stapel LIFO (last in, first out)
By Michael Schroeder, Biotec 28
Tiefensuche
§ Blätter = Stapel LIFO (last in, first out)
By Michael Schroeder, Biotec 29
Tiefensuche
§ Blätter = Stapel LIFO (last in, first out)
By Michael Schroeder, Biotec 30
Tiefensuche
§ Blätter = Stapel LIFO (last in, first out)
By Michael Schroeder, Biotec 31
Tiefensuche
§ Blätter = Stapel LIFO (last in, first out)
By Michael Schroeder, Biotec 32
Tiefensuche
§ Blätter = Stapel LIFO (last in, first out)
By Michael Schroeder, Biotec 33
Tiefensuche
§ Blätter = Schlange LIFO (last in, first out)
By Michael Schroeder, Biotec 34
Tiefensuche
§ Blätter = Schlange LIFO (last in, first out)
By Michael Schroeder, Biotec 35
Tiefensuche
§ Blätter = Stapel LIFO (last in, first out)
By Michael Schroeder, Biotec 36
Tiefensuche
§ Blätter = Stapel LIFO (last in, first out)
By Michael Schroeder, Biotec 37
Tiefensuche
§ Nicht Vollständig, wenn unendliche Tiefe oder Schleifen§ Vollständig, wenn endlich und Scheifenprüfung
§ Zeitaufwand:§ Jeder Zweig, also max. Tiefe m: § Schlecht, wenn m>>d
§ Speicheraufwand:§ Linear in Pfadlänge: O(m b)
§ Nicht optimal
By Michael Schroeder, Biotec 38
O bm( )
Tiefenbeschränkte Suche
§ Knoten mit Tiefe >t werden nicht expandiert
§ Unvollständig, wenn d>t
§ Nicht optimal § Zeitaufwand O(bt)§ Speicheraufwand O(b t)
§ Wie kann Vollständigkeit erreicht werden?§ Erhöhe t sukzeszive
By Michael Schroeder, Biotec 39
Iteratives Vertiefen
Iteratives Vertiefen
Iteratives Vertiefen
§ Vollständig �(wenn es keine unendlichen Pfade gibt)
§ Zeitaufwand
§ Speicheraufwand O(b d)
§ Optimal
By Michael Schroeder, Biotec 42
(d +1) ⋅1+ d ⋅b+ d −1( )b2+...+2 ⋅bd−1+1⋅bd = d − i+1( )i=0
d
∑ ⋅bi=O(bd )
Zusammenfassung
By Michael Schroeder, Biotec 43
BS TS TBS IV
Vollständig Ja Nein Ja, für t≥d Ja
Zeit bd+1 bm
bt
bd
Speicher bd+1 bm bt bd
Optimal Ja Nein Nein Ja
b Verzeigungsfaktor, d Tiefe der Lösung, m Tiefe des Baumes, t Tiefenbeschränkung
Baum vs. Graph
By Michael Schroeder, Biotec 44
Graphsuche§ Blätter = [Startknoten]§ For all Knoten
§ visited(Knoten) = false§ While Blätter nicht leer:
§ Nächster = pop(Blätter)§ If Nächster = Zielknoten then return Nächster§ visited(Nächster)=true§ For all Folgeknoten von Nächster
§ If not visited(Folgeknoten) then§ Füge Folgeknoten der Liste Blätter hinzu
§ Return failure
§ pop gibt erstes Element aus Liste �zurück und entfernt dieses aus Liste
§ Pfad? Pfadkosten? Tiefe? Vorgänger?
By Michael Schroeder, Biotec 45
Suchverfahren
§ Einfache Suche§ Breitensuche§ Tiefensuche
§ Tiefenbegrenzte Suche§ Iteratives Vertiefen
§ Bestensuche§ Gierige (greedy) Suche§ A*
By Michael Schroeder, Biotec 46
Motivation§ Von Dresden nach Brüssel?
§ Dresden bietet Flüge nach Moskau, Frankfurt, Düsseldorf,...§ Breitensuche: Dresden-Moskau-Brüssel: 3876km§ Beste Lösung: Dresden-Frankfurt-Brüssel: 692km
By Michael Schroeder, Biotec 47
Moskau
BrüsselFrankfurt
Dresden
§ Breitensuche nutzt keinerlei Bewertung
§ Wie lassen sich Knoten, Pfade, Lösungen bewerten?§ Wie lassen sich diese Bewertungen optimieren?
Motivation
§ Durchschnittliche Lösungstiefe für Schiebepuzzle ist 22§ Breitensuche expandiert ca. 3x1010 Knoten
By Michael Schroeder, Biotec 48
§ Breitensuche nutzt keinerlei Bewertung
§ Wie lassen sich Knoten, Pfade, Lösungen bewerten?§ Wie lassen sich diese Bewertungen optimieren?
Bewertung
§ Navigation: Distanzen
§ Schiebepuzzle: § Anzahl falschliegender Zahlen§ Summe Manhattandistanz jeder Zahl zur korrekten Position
§ Dame:§ Anzahl Bedrohungen
§ Multiples Sequenzalignment§ Anzahl Übereinstimmungen in Zeichenketten
By Michael Schroeder, Biotec 49
Idee
Sortiere zu expandierende Knoten gemäß Bewertung
Nutze Heuristik. Eureka = „Ich finde“
Heuristikfunktion h schätzt Kosten von Knoten zum Ziel
By Michael Schroeder, Biotec 50
Navigationsheuristik
§ Heuristik ist Luftliniendistanz zum Ziel
§ Euklidische Distanz
By Michael Schroeder, Biotec 51
d
ij
=
vuuutnX
k=1(x
ik
� x
jk
)2
1
Navigationsheuristik
§ Heuristik ist Luftliniendistanz zum Ziel
§ Erde ist keine Scheibe?
§ Distanz
By Michael Schroeder, Biotec 52
Rumänien
176
By Michael Schroeder, Biotec 53
Gierige Suche
Expandiere Knoten mit geringster Distanz zum Ziel zuerst
By Michael Schroeder, Biotec 54
Gierige Suche
By Michael Schroeder, Biotec 55
Gierige Suche
Gierige Suche
By Michael Schroeder, Biotec 57
Gierige Suche
By Michael Schroeder, Biotec 58
Gierige Suche
§ Vollständigkeit: Schleifen!§ Von Iasi nach Fagaras§ Iasi-Neamt-Iasi-Neamt-...
By Michael Schroeder, Biotec 59
Gierige Suche
§ Vollständig, wenn auf Schleifen getestet wird§ Zeitaufwand:
§ O(bm) wie Tiefensuche
§ Aber: Perfekte Heuristik = Lösung in d Schritten
§ Speicheraufwand:§ Wie Zeit
§ Optimalität:§ Nein!
By Michael Schroeder, Biotec 60
Gierige Suche
Gierige Suche findet lokales Optimum
(A* findet globales Optimum)
By Michael Schroeder, Biotec 61
Motivation§ Von Dresden nach Brüssel?
§ Dresden bietet Flüge nach Moskau, Frankfurt, Düsseldorf,...§ Breitensuche: Dresden-Moskau-Brüssel: 3876km§ Gierige Suche: Dresden-Düsseldorf-Amsterdam-Brüssel: 824km§ Beste Lösung: Dresden-Frankfurt-Brüssel: 692km
By Michael Schroeder, Biotec 62
Düsseldorf
BrüsselFrankfurt Dresden
§ Gierige Suche bewertet bisherige Kosten nicht§ A* tut dieses...
Amsterdam
A* Suche
§ Evaluiere vollständige Pfadkosten
§ Bisherige Kosten: g(n) § Abschätzung der Kosten bis zum Ziel: h(n)
§ Gesamtbewertung: f (n) = g(n)+h(n)
By Michael Schroeder, Biotec 63
A*
A*
A*
A*
A*
Pitesti wird expandiert, obwohl Bukarest bereits
gefunden wurde
A*
A* Suche
§ Vollständigkeit �(es sei denn, es gibt unendlich viele Knoten mit f(n)<f(G))
§ Zeitaufwand§ Abhängig von Abweichung der Heuristik von den wahren
Kosten
§ Speicheraufwand:§ Alle Knoten bleiben im Speicher. Verbesserung?
§ Optimalität?
Zulässige Heuristik
§ Eine zulässige Heuristik unterschätzt Kosten, �d.h. h(n) ≤h*(n), wobei h* die echten Kosten sind
§ h(Zielknoten)=0§ h(n)≥0
§ Luftliniendistanz ist zulässig
§ Schiebepuzzle § Anzahl der falschpositionierten �
Zahlen zulässig?§ Manhattandistanz zulässig?§ K*=26, hMan =18, hfpz=8
By Michael Schroeder, Biotec 71
A* ist optimal
■ Wenn die Heuristik h* zulässig ist, �so ist A* Baumsuche optimal
■ Beweis:■ Sei O eine optimale Lösung mit Kosten K* �
und N eine nichtoptimale Lösung mit Kosten K■ K* < K
■ Für jeden Knoten n im Pfad O gilt: �f(n) = g(n)+h(n) ≤ K*
■ Somit gilt, f(n) ≤K* < K
■ Damit würde nicht optimale Lösung N erst gewählt, �nachdem jeder Knoten n auf dem optimalen Pfad expandiert wird
By Michael Schroeder, Biotec 72
A* Graphsuche
■ Graphsuche prüft auf Schleifen, somit keine Wiederholungen
■ Bisheriger Pfad möglicherweise schlechter als neuer Pfad
■ Expandiere optimalen Pfad zu gleichen Knoten zuerst
■ Sichergestellt, wenn Kosten monoton steigen = Konsistenz
By Michael Schroeder, Biotec 73
Konsistenz
Eine Heuristik ist konsistent, gdw. �für jeden Knoten n und �jeden Folgeknoten n‘ gilt, daß ��h(n) ≤ c(n,n‘) + h(n‘), ��wobei c(n,n‘) die Kosten �für den Übergang �von n nach n‘ sind.
(Dreiecksungleichung)
By Michael Schroeder, Biotec 74
Jede konsistente Heuristik ist zulässig
§ Für alle Knoten n, die zum Ziel G führen, gilt��h(n) ≤ c(n,G) + h(G) (nach Def. Konsistenz) �und c(n,G) + h(G) = h*(n) (Def h*) �
§ Mittels Induktion über die Pfadlänge zum Ziel ergibt sich �h(n) ≤ h*(n) für alle n
§ Nicht jede zulässige Heuristik ist konsistent �(z.B. h = Luftlinie, doch für einige Knoten h(n)=0)
By Michael Schroeder, Biotec 75
Konsistenz = �Monoton steigende Bewertung
Ist h konsistent, so sind �die Werte f(n) monoton steigend �entlang eines Pfades
By Michael Schroeder, Biotec 76
A* ist optimal
§ Ist h konsistent, so ist A* optimal
§ Beweis: A* expandiert Knoten in Reihenfolge�steigender Bewertungen f
§ A* expandiert �alle Knoten mit f(n)<K*, �einige mit f(n)=K* und �keine Knoten mit f(n)>K* ��K* = Optimum
By Michael Schroeder, Biotec 77
Höhenlinie fi = Knoten mit f(n)<fi
Animation der Höhenlinien
Wikipedia.org
A* Suche
§ Knoten bleiben im Speicher = Problem
§ Schwellwert K: § Überschätzung der wahren Kosten K*§ Knoten n mit f(n)>K können nicht Teil der optimalen
Lösung sein und müssen daher nicht gespeichert werden
§ Je kleiner K-K*, desto weniger Knoten werden besucht
§ Wie lässt sich K bestimmen?§ Z.B. Nicht optimale Lösung aus gieriger Suche
By Michael Schroeder, Biotec 79
Effektiver Verzweigungsfaktor
§ N Knoten besucht, bis zur Lösung in Tiefe d § Verteile N Knoten gleichmäßig über Baum der Tiefe d, �
d.h. suche b*, so daß 1+N = 1+b*+b*2+b*3+...+b*d
§ Effektiver Verzweigungsfaktor b*=1 ist optimal
By Michael Schroeder, Biotec 80
Vergleich A* und iteratives Vertiefen�Schiebepuzzle
Suchkosten Effektiver Verzweigungsfaktor
d IV A* fpz A* Manh. IV A* fpz A* Manh.
2 10 6 6 2,45 1,79 1,79
6 680 20 18 2,73 1,34 1,30
10 47.127 93 39 2,79 1,38 1,22
12 3.644.035 227 73 2,78 1,42 1,24
14 - 539 113 - 1,44 1,23
20 - 7.276 676 - 1,47 1,27
24 - 39.139 1.641 - 1,48 1,26
d=Tiefe der Lösung, IV= iteratives Vertiefen, fpz=falsch plazierte Zahlen, Manh.=Manhattandistanz
Zusammenfassung
■ Heuristiken verbessern Suche
■ Gierige Suche = lokales Optimum, nicht vollständig
■ A* = optimal und vollständig■ Bewertung = Bisherige Kosten + Unterschätzung zum Ziel
■ Schwellwert K = Überschätzung der Kosten erlaubt Knoten zu entfernen, die nicht Teil des Optimums sein können
By Michael Schroeder, Biotec 82
§ Von Dresden nach Brüssel?§ Dresden bietet Flüge nach Moskau, Frankfurt, Düsseldorf,...§ Breitensuche: Dresden-Moskau-Brüssel: 3876km§ Gierige Suche: Dresden-Düsseldorf-Amsterdam-Brüssel: 824km§ A*: Dresden-Frankfurt-Brüssel: 692km
By Michael Schroeder, Biotec 83
BrüsselFrankfurt Dresden
§ Von Dresden nach Innsbruck?§ Breitensuche: Dresden-Frankfurt-Innsbruck: 759km§ Gierige Suche: �
Dresden�München�Venedig�Zürich�Salzburg�Linz�Frankfurt�Innsbruck: �2288km
§ A*: Dresden-Frankfurt-Innsbruck: 759km
By Michael Schroeder, Biotec 84
Innsbruck
Frankfurt Dresden
LinzSalzburg
Venedig
Zürich
München
top related