Upload
malory
View
19
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Spezialvorlesung Suchalgorithmen. Stefan Edelkamp Mi 14-16. Überblick. Struktur der Vorlesung Crashkurs (Gerichtete) Suche Anwendungen Navigation Handlungsplanung Verifikation (Model Checking) Multiple Sequenzalignierung Robotik Literatur. Überblick. Struktur der Vorlesung - PowerPoint PPT Presentation
Citation preview
SpezialvorlesungSuchalgorithmen
Stefan Edelkamp
Mi 14-16
Überblick
Struktur der Vorlesung Crashkurs (Gerichtete) Suche Anwendungen
Navigation Handlungsplanung Verifikation (Model Checking) Multiple Sequenzalignierung Robotik
Literatur
Überblick
Struktur der Vorlesung Crashkurs (Gerichtete) Suche Anwendungen
Navigation Handlungsplanung Verifikation (Model Checking) Multiple Sequenzalignierung Robotik
Literatur
Struktur der Vorlesung: Theorie
Explizite Suche (1 Vorlesung) Speicherplatzbeschränkte Suche (1 Vorlesung) Symbolische und externe Suche (1 Vorlesung) Verteilte Suche (1 Vorlesung) Inkrementelle Suche (1 Vorlesung) Realzeitsuche (1 Vorlesung) Constraintsuche (1 Vorlesung) Selektive Suche (1 Vorlesung) Internetsuche (?)
Struktur der Vorlesung: Anwendungen
Navigation: (GPS-Route) (1 Vorlesung) Handlungsplanung: (MIPS,FF) (1 Vorlesung)
Planen in PDDL
Verifikation (2 Vorlesungen) Modelle und Programme (SPIN, STEAM) Zeitliche Automaten (UPPAAL) Graphtransitionssysteme (GROOVE)
Multiple Sequenzalignierung (IDDP) (1 Vorlesung) Robotik (?!) (1 Vorlesung)
Überblick
Struktur der Vorlesung Crashkurs (Gerichtete) Suche Anwendungen
Navigation Handlungsplanung Verifikation (Model Checking) Multiple Sequenzalignierung Robotik
Literatur
Suche
s
z
s: Startz: Ziel
Breitensuche
Gleichmäßige Entwicklung in die Tiefe
z
0
1
1
1
1
2
2
2
2
2
2
2
2
3
3
3
3
3 3 4
3
3
44
4
Heuristik
Manhattan Distanz = Summe horizontaler und vertikaler Abstand zum Ziel
z
4
3
3
5
5
4
2
2
2
4
6
6
6
1
5
3
7
7 5 4
3
1
04
8
Tiefe + Heuristik
z
0+4
1+3
1+3
6
6
6
2+2
2+2
2+2
6
8
8
8
3+1
8
6
10
10 8 8
6
3+1
4+08
12
Zulässige Heuristik (global): Untere Schranke für die optimale Lösungslänge. Garantiert optimale Lösungen.
Konsistente Heuristik (lokal): Schätzwert fällt nicht schneller als das Kantengewicht. Garantiert zusätzlich minimale Anzahl explorierter/expandierter Knoten.
Gerichtete Suche mit A*
s
g
A*
Breitensuche
z
4
4
4
6
6
6
4
4
4
6
8
8
8
4
8
6
10
10 8 8
6
4
48
12
Einpersonenspiele und Abstraktionen
1 2 3
4 5 6 7
8 9 10 11
12 13 14 15
5 10 14 7
8 3 6 1
15 12 9
2 11 4 13
A*
Annahmen:
Ungewichteter Problemgraph
Konsistente Heuristik
∆h ={-1,0,1,2,…}
g
0
1
2
3
4
5
0 1 2 3 4 5 6
h Fach
Überblick
Struktur der Vorlesung Crashkurs (Gerichtete) Suche Anwendungen
Navigation Handlungsplanung Verifikation (Model Checking) Multiple Sequenzalignierung Robotik
Literatur
Navigation
GPS-Karten
State-of-the-Art:GPS-Route
PDA
Route Planning Input
Start / End Points
Output
Path
Disturbances
Simulation
Vectorization Simulation Data Points
Raster Maps
Map Generation
Data points
Start / End points
Path
Over TCP/IP
GPS Traces
Request for the graph Graph
Komponenten
+ PDA
+Simulation
+ Karten-Generierung
+Routing
Handlungsplanung:Blocksworld-Domäne (define (domain BLOCKS) (:requirements :strips :typing) (:predicates (on ?x - block ?y - block) (ontable ?x - block) (clear ?x - block) (handempty) (holding ?x – block)) (:action pick-up :parameters (?x - block) :precondition (and (clear ?x) (ontable ?x) (handempty)) :effect (and (not (ontable ?x)) (not (clear ?x)) (not (handempty)) (holding ?x)))
(:action put-down … ) (:action stack ..) (:action unstack …))
cejbghadi f
cfjehbagi
d
Blocksworld-Instanz
(define (problem BLOCKS-6-0)(:domain BLOCKS)(:objects a b c d e f g h i j - block) (:init (clear c) (clear f) (handempty) (on a d) (on b g) (on c e) (on d i) (on e j) (on g h) (on h a) (on j b) (ontable f) (ontable i)) (:goal (and (on a g) (on b a) (on c f) (on d c) (on e h) (on f j) (on g i) (on h b) (on j e)))
cejbghadi f
cfjehbagi
d
Planungszustandsraum
adi f
adi f
adi f
adi
f
State-of-the-Art: PDDL3 in MIPS Präferenzbedingungen (preference <name> <goal>) (preference p (on a b)) (:metric minimize (is-violated p))
Planbedingungen (modal-operator <goal>)
(always (on-table f)) (sometimes (on-table a)) (at-most-once (on-table a))
Model Checking
Exploration formaler Modelle
Model Checking
Exploration formaler Modelle
floor 1
floor 0
Model Checking
Exploration formaler Modelle
floor 1
floor 0
=> at1
open
start
at1
closedclose
moving
open
open
down
Model Checking
Exploration formaler Modelle
floor 1
floor 0
=> at1
open
start
at1
closedclose
moving
open
open
down
moving => ¬open ?
Model Checking
Exploration formaler Modelle
floor 1
floor 0
=> at1
open
start
at1
closedclose
moving
open
open
down
!moving => ¬open ?
Model Checking
Exploration formaler Modelle
floor 1
floor 0
=> at1
open
start
at1
closedclose
moving
open
open
down
!moving => ¬open ?
Fehlerpfad: (start, down)
State Explosion
#Zustände steigt exponentiell in der Anzahl der Komponenten.
at0 at1
moving
closedopen idlepressedup
downdown
up
open
close release
press
Kabine Tür Knopf
State Explosion
1xKabine
1xTür
2xKnopf
State Explosion
1xKabine
1xTür
2xKnopf
State-of-the-Art: (IO-HSF) SPIN
Modellierungssprache: PromelaZwischenformat: C/C++Frontend: XSPIN
Eigenschaft: Lineare temporale Logik (LTL) Implementation: C/C++ ACM-Preis: Beste Software Suchverfahren: DFS, BFS, A*, Bestensuche , IDA*,
Externes Verteiltes A* Beschleunigungen: POR, inkrementelles Hashing,…
Software Model Checking
Wasserfallmodell
Anforderungsanalyse
Design
Implementierung
Integration
Wartung
Software Model Checking
Wasserfallmodell
Anforderungsanalyse
Design
Implementierung
Integration
Wartung
Suche nach konzeptionellen Fehlern
Software Model Checking
Wasserfallmodell
Anforderungsanalyse
Design
Implementierung
Integration
Wartung
Suche nach konzeptionellen Fehlern
Suche nach Implementierungs- fehlern
State-of-the-Art: STEAM
Programmzustand
Design
VM-basierter MC‘er für (z.B. c/Java) Programme Erweiterung virtuelle Maschinen (JVM, ICVM) Unterstützung von Nebenläufigkeit
(Multithreading) Vorteile:
Existierende Compiler (Java, gcc) Exakte Modellierung der Programmsemantik Gegenbeispiele einfach zu simulieren Detektion von Lowlevel-Fehlern (z.B. illegalen
Speicherzugriff)
Realzeitsysteme
Beispiel: Die Kontrolle einer Weiche muss strikte Zeitrestriktionen einhalten
Systeme werden als zeitliche Automaten modelliert Erweiterung gewöhlicher Automaten mit Uhren und
Bedingungen
s1 s2 s30 ≤ y ≤ 4
y ≤ 4
x ←0
x ←0
x ←0
y ≤ 4
Constraints
Reset
x und y sind Realzeituhren
State-of-the-Art: UPPAAL-CORA
Erweitert TA-Konzept um Kosten
Anwendung: Resourcen-optimales Scheduling
Erste Lösung nicht optimal: Branch-and-Bound
Kosten
Suchfront
Ziel
Beschneidung
Verifikation (Model Checking)
Phase I: Generiere Fehler, nutze Spezifikation des Fehlers bzw. der Eigenschaft zur Richtung
Phase II: Finde kurzes Gegenbeispiel Suchverfahren: finden mitunter kürzeste
Fehlerpfade Pfadverbesserung: Transfer von Information aus
Phase I für Phase II Suchziele:
Sicherheit: Gegenbeispiel ist ein einfacher Pfad Lebendigkeit: Gegenbeispiel ist ein Lasso
Kommunikationsprotokolle Beipielautomat 10 dinierende Philosophen:
state 1 -(tr 3)-> state 6 line 11 => forkl!fork state 6 -(tr 4)-> state 3 line 12 => forkl?fork state 3 -(tr 5)-> state 4 line 14 => forkr?fork state 4 -(tr 3)-> state 5 line 16 => forkl!fork state 5 -(tr 6)-> state 6 line 16 => forkr!fork
Prozess P: Graph (M, trans, init, curr) Kanal Q: Graph (S, head, tail, mess,cont) Suchraum: Kreuzproduktbildung
s1 s6 s3forkl!fork
forkl?fork
s5 s4forkl!fork
forkr!forkforkr!fork
Petri Netze (State-of-the-Art ?)4-Philosophen
φ
2-Philosophen
•Zulässig•Konsitent
Graphtransitionssysteme
Suchraum mitGraphen als ZuständeÜbergängen als Graphmorphismen
Anwendungen: Biologie – Änderungen in der molekulären Strukture Netzwerke – Klienten/Server melden sich an und ab Softwarespezifikation – z.B. in UML/MSC
State-of-the-Art: GROOVE
MSA Das Sequenzalignierungsproblem in der
Algorithmischen Biologie fordert die Alignierung mehrerer Sequenzen (Strings), z.B. verwandter Genen von verschiedenen Organismen, um Ähnlichkeiten und Verschiedenheiten in einer Gruppe zu studieren
Enweder: DNA wird direkt verglichen, und das unterliegende Alphabet besteht aus der Menge {C,G,A,T} der 4 Standartnukleotidenbasen Cytosin, Guanin, Adenin und Thymin
Oder: wir vergleichen Proteine, die in dem Fall aus 20 Aminosäuren zusammengesetzt sind
Idee: Dynamische Programmierung
State-of-the-Art: IDDP
Robotik
•Pfadplanung in
• bekannter
• unbekannter
Umgebung
•Realzeitanforderungen
•Unsicherheit (Modell, Sensorik)
•Diskretisierungen
Suche
Beispiel
Wissen des Roboters
Überblick
Struktur der Vorlesung Crashkurs (Gerichtete) Suche Anwendungen
Navigation Handlungsplanung Verifikation (Model Checking) Multiple Sequenzalignierung Robotik
Literatur
Literatur zur Vorlesung
Heuristic Search: Theory and Applications
(21 Kapitel, ~ 800 Seiten)
Morgan Kaufmann (~Sommer 2007)
Co-Autoren: Stefan Schroedl und Sven Koenig
Relevante Kapitel Suchalgorithmen (1 Kapitel) Speicherplatzbeschränkte Suche (1 Kapitel) Symbolische und externe Suche (2 Kapitel) Verteilte Suche (1 Kapitel) Inkrementelle Suche (1 Kapitel) Realzeitsuche (1 Kapitel) Constraintsuche (1 Kapitel) Selektive Suche (1 Kapitel) Navigation (1 Kapitel) Handlungsplanung (1 Kapitel) Verifikation (1 Kapitel) Sequenzalignierung (1 Kapitel) Robotik (1 Kapitel)