Grundlagen der Künstlichen Intelligenz

Werbung
Grundlagen der Künstlichen Intelligenz
5. April 2013 — 8. Suchalgorithmen: Lokale Suche
Grundlagen der Künstlichen Intelligenz
8.1 Einleitung
8. Suchalgorithmen: Lokale Suche
Malte Helmert
8.2 Lokale Suchverfahren
Universität Basel
8.3 Zusammenfassung
5. April 2013
M. Helmert (Universität Basel)
Grundlagen der Künstlichen Intelligenz
5. April 2013
8. Suchalgorithmen: Lokale Suche
1 / 18
Einleitung
M. Helmert (Universität Basel)
Grundlagen der Künstlichen Intelligenz
5. April 2013
8. Suchalgorithmen: Lokale Suche
2 / 18
Einleitung
Suchprobleme: Überblick
Kapitelüberblick klassische Suchprobleme:
8.1 Einleitung
M. Helmert (Universität Basel)
Grundlagen der Künstlichen Intelligenz
5. April 2013
3 / 18
I
Formalisierung von Suchproblemen (
I
blinde Suchverfahren (
I
Heuristiken (
I
Bestensuche (
I
Eigenschaften von A∗ (
I
Lokale Suche (
M. Helmert (Universität Basel)
Kapitel 3)
Kapitel 4)
Kapitel 5)
Kapitel 6)
Kapitel 7)
dieses Kapitel)
Grundlagen der Künstlichen Intelligenz
5. April 2013
4 / 18
8. Suchalgorithmen: Lokale Suche
Einleitung
8. Suchalgorithmen: Lokale Suche
Lokale Suchverfahren
Lokale Suchverfahren
Lokale Suchverfahren arbeiten nur mit einem (oder wenigen)
aktuellen Knoten, statt systematisch Pfade zu untersuchen.
Besonders geeignet für kombinatorische Optimierungsprobleme:
I
I
I
Lösung ist ein Zustand, nicht der Pfad dorthin.
Es gibt keine Aktionskosten, aber Zielzustände können
verschiedene Kosten/Nutzen haben
8.2 Lokale Suchverfahren
Definition der Suchnachbarschaft ist frei wählbar, nur Menge
der Zustände ist durch die Problemdefinition vorgegeben
(und ob sie Lösungen und wie teuer sie sind)
Beispiele:
I
I
I
Timetabling
Konfigurationsprobleme
kombinatorische Auktionen
Fokus im Folgenden auf solchen Problemen,
aber auch für allgemeine klassische Suchprobleme anwendbar
M. Helmert (Universität Basel)
Grundlagen der Künstlichen Intelligenz
5. April 2013
8. Suchalgorithmen: Lokale Suche
5 / 18
Lokale Suchverfahren
Lokale Suchverfahren: Ideen
M. Helmert (Universität Basel)
Grundlagen der Künstlichen Intelligenz
8. Suchalgorithmen: Lokale Suche
Heuristik schätzt ab, wie weit eine Lösung entfernt ist
und/oder wie gut diese Lösung ist
I
es werden keine Pfade gemerkt, nur Zustände
I
normalerweise ein aktueller Zustand
sehr speicherfreundlich
(dafür nicht vollständig oder optimal)
Lokale Suchverfahren
Aufgabe: Platziere 8 Damen so, dass sie sich nicht bedrohen
Heuristik: Anzahl Damenpaare, die sich bedrohen
Nachbarschaft: bewege eine Dame in ihrer Spalte
18
12
14
13
13
12
14
14
I
oft Initialisierung mit zufälligem Zustand
14
16
13
15
12
14
12
16
I
schrittweise Verbesserung durch Bergsteigen“ (hill-climbing)
”
14
12
18
13
15
12
14
14
15
14
14
13
16
13
16
14
17
15
14
16
16
16
18
15
15
15
14
17
12
14
17
Grundlagen der Künstlichen Intelligenz
6 / 18
Beispiel: 8-Damen-Problem
I
M. Helmert (Universität Basel)
5. April 2013
5. April 2013
7 / 18
M. Helmert (Universität Basel)
18
14
14
14
13
15
16
12
18
Grundlagen der Künstlichen Intelligenz
5. April 2013
8 / 18
4
8. Suchalgorithmen: Lokale Suche
SEARCH
Lokale Suchverfahren
Hill-Climbing
8. Suchalgorithmen: Lokale Suche
Lokale Suchverfahren
Beispiel: Hill-Climbing für 8-Damen-Problem
Eine mögliche Variation von Hill-Climbing:
wähle zufällig eine Spalte und setze Dame dort
auf Feld mit minimal vielen Konflikten.
function H ILL -C LIMBING( problem) returns a state that is a local maximum
current ← M AKE -N ODE(problem.I NITIAL -S TATE)
loop do
neighbor ← a highest-valued successor of current
if neighbor.VALUE ≤ current.VALUE then return current .S TATE
current ← neighbor
Figure 4.2
2
3
2
3
1
The hill-climbing search algorithm, which is the most basic local search technique. At
2
2
3
3
1
2
2
3
Hier alseach
Maximierung
formuliert.
step the currentvon
nodeQualität
is replaced(value)
by the best
neighbor; in this version, that means the neighbor
with the von
highest
VALUE, but if a heuristic
cost estimate h is used, we would find the neighbor with the
Minimierung
Kosten/Heuristik
analog.
lowest h.
Gute lokale Suchverfahren kombinieren oft
Zufall (Exploration) mit Heuristik (Exploitation).
function S IMULATED -A
NNEALING( problem, schedule) returns a solution state
Grundlagen der Künstlichen Intelligenz
5. April 2013
inputs: problem, a problem
schedule, a mapping from time to “temperature”
M. Helmert (Universität Basel)
← M AKE -N ODE(problem.I NITIAL -S TATE)
8. Suchalgorithmen: current
Lokale Suche
for t = 1 to ∞ do
T ← schedule(t)
if T = 0 then return current
next ← a randomly selected successor of current
∆E ← next .VALUE – current .VALUE
if ∆E > 0 then current ← next
else current ← next only with probability e∆E/T
9 / 18
Lokale Suchverfahren
Probleme von lokalen Suchverfahren
I
0
M. Helmert (Universität Basel)
Grundlagen der Künstlichen Intelligenz
5. April 2013
8. Suchalgorithmen: Lokale Suche
10 / 18
Lokale Suchverfahren
Beispiel: lokales Minimum im 8-Damen-Problem
Lokales Minimum:
Lokale Minima:
4.5
The
simulated annealing
algorithm,
a version of stochastic
alleFigure
Nachbarn
schlechter
als aktueller
Zustand
I
Zustand hat 1 Konflikt
I
alle Nachbarn haben mindestens 2
hill climbing where some
downhill
moves are allowed. Downhill moves are accepted readily early in the annealing schedule and
I Algorithmus
bleibt auf diesem Zustand stecken
then less often as time goes on. The schedule input determines the value of the temperature T as a
I = lokale Maxima, wenn es um Maximierung von
function of time.
Nutzen/Qualität geht statt um Minimierung von Kosten
I
Plateaus:
viele Nachbarn gleich gut wie aktueller Zustand; keiner besser
I
keine Führung zum Zielzustand möglich
8
Massnahmen: zufällige Bewegung, Breitensuche
oder Neustart
M. Helmert (Universität Basel)
Grundlagen der Künstlichen Intelligenz
5. April 2013
11 / 18
M. Helmert (Universität Basel)
Grundlagen der Künstlichen Intelligenz
5. April 2013
12 / 18
8. Suchalgorithmen: Lokale Suche
Lokale Suchverfahren
Performance-Zahlen für 8-Damen-Problem
current ← M AKE -N ODE(problem.I NITIAL -S TATE)
loop do
neighbor
8. Suchalgorithmen: Lokale
Suche ← a highest-valued successor of current
if neighbor.VALUE ≤ current.VALUE then return current .S TATE
current ← neighbor
Lokale Suchverfahren
Simulierte Abkühlung
Figure 4.2
The hill-climbing search algorithm, which is the most basic local search technique. At
each step the current node is replaced by the best neighbor; in this version, that means the neighbor
Simulierte
Abkühlung (simulated annealing) ist ein lokales
with the highest VALUE, but if a heuristic cost estimate h is used, we would find the neighbor with the
lowest h.
Suchverfahren,
bei dem systematisch Rauschen“ injiziert wird:
”
erst viel, dann immer weniger.
I
Problem hat 88 ≈ 17 Millionen Zustände.
I
Nach zufälliger Initialisierung findet Hill-Climbing in etwa 14%
der Fälle direkt eine Lösung.
I
Im Durchschnitt nur etwa 4 Schritte!
I
bessere Verfahren: Seitwärtsbewegung“ (Schritte ohne
”
Verbesserung) erlauben und Anzahl Schritte beschränken
I
Bei max. 100 erlaubten Schritten: Lösung in 94% der Fälle,
im Durchschnitt 21 Schritte zur Lösung
function S IMULATED -A NNEALING( problem, schedule) returns a solution state
inputs: problem, a problem
schedule, a mapping from time to “temperature”
current ← M AKE -N ODE(problem.I NITIAL -S TATE)
for t = 1 to ∞ do
T ← schedule(t)
if T = 0 then return current
next ← a randomly selected successor of current
∆E ← next .VALUE – current .VALUE
if ∆E > 0 then current ← next
else current ← next only with probability e∆E/T
Figure 4.5
The simulated annealing algorithm, a version of stochastic hill climbing where some
downhill movesin
arebestimmten
allowed. Downhill Anwendungen,
moves are accepted readily
earlyVLSI-Layout.
in the annealing schedule and
Sehr erfolgreich
z. B.
then less often as time goes on. The schedule input determines the value of the temperature T as a
function of time.
M. Helmert (Universität Basel)
Grundlagen der Künstlichen Intelligenz
5. April 2013
8. Suchalgorithmen: Lokale Suche
13 / 18
Lokale Suchverfahren
M. Helmert (Universität Basel)
Grundlagen der Künstlichen Intelligenz
5. April 2013
8. Suchalgorithmen: Lokale Suche
14 / 18
Lokale Suchverfahren
8
Genetische Algorithmen
Selektion, Mutation und Kreuzung
Die Evolution findet sehr erfolgreich gute Lösungen.
Viele Varianten:
Wie wird selektiert? Wie wird
gekreuzt? Wie wird mutiert?
Idee: Simuliere Evolution durch Selektion, Kreuzen und Mutation
von Individuen.
Zutaten:
I
Kodierung von Zuständen durch einen String von Symbolen
(oder Bits)
I
Fitness-Funktion: bewertet die Güte von Zuständen
(entspricht Heuristik)
I
Eine Bevölkerung von k (z. B. 10–1000) Individuen“
”
(Zuständen)
Selektion anhand von
Fitness-Funktion; anschliessend
Paarung
Bestimmung von Punkten, an denen
gekreuzt wird, dann Rekombination
Beispiel 8-Damen-Problem: Kodierung als String von 8 Zahlen.
Fitness ist Anzahl nicht-attackierender Paare. Population besteht
aus 100 derartigen Zuständen.
M. Helmert (Universität Basel)
Grundlagen der Künstlichen Intelligenz
5. April 2013
Mutation: String-Elemente werden mit
bestimmter Wahrscheinlichkeit
verändert.
15 / 18
M. Helmert (Universität Basel)
Grundlagen der Künstlichen Intelligenz
5. April 2013
16 / 18
8. Suchalgorithmen: Lokale Suche
Zusammenfassung
8. Suchalgorithmen: Lokale Suche
Zusammenfassung
Zusammenfassung
8.3 Zusammenfassung
M. Helmert (Universität Basel)
Grundlagen der Künstlichen Intelligenz
5. April 2013
17 / 18
I
lokale Suchverfahren betrachten einen oder wenige Zustände
auf einmal und versuchen, schrittweise Verbesserungen zu
erzielen
I
besonders häufig im Einsatz für kombinatorische
Optimierungsprobleme, wo der Pfad zum Ziel nicht wichtig
ist, sondern nur der gefundene Zielzustand
I
Simuliertes Abkühlung und genetische Algorithmen sind
komplexere Suchverfahren, die typische Ideen aus der lokalen
Suche aufgreifen (Randomisierung, Weiterverfolgung von
vielversprechenden Zuständen)
M. Helmert (Universität Basel)
Grundlagen der Künstlichen Intelligenz
5. April 2013
18 / 18
Herunterladen