530 likes | 643 Views
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
E N D
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
z s Suche s: Start z: Ziel
Breitensuche • Gleichmäßige Entwicklung in die Tiefe z 4 3 2 3 4 3 2 1 2 3 2 1 0 1 2 3 2 1 2 3 4 3 2 3 4
Heuristik • Manhattan Distanz = Summe horizontaler und vertikaler Abstand zum Ziel z 4 3 2 1 0 5 4 3 2 1 6 5 4 3 2 7 6 5 4 3 8 7 6 5 4
Tiefe + Heuristik • 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. z 8 6 2+2 3+1 4+0 8 6 1+3 2+2 3+1 8 6 0+4 1+3 2+2 10 8 6 6 6 12 10 8 8 8
g s Gerichtete Suche mit A* z 8 6 4 4 4 A* 8 6 4 4 4 8 6 4 4 4 Breitensuche 10 8 6 6 6 12 10 8 8 8
5 10 14 7 1 2 3 8 3 6 1 4 5 6 7 15 12 9 8 9 10 11 2 11 4 13 12 13 14 15 Einpersonenspiele und Abstraktionen
A* Fach h • Annahmen: • Ungewichteter Problemgraph • KonsistenteHeuristik ∆h ={-1,0,1,2,…} g
Überblick • Struktur der Vorlesung • Crashkurs (Gerichtete) Suche • Anwendungen • Navigation • Handlungsplanung • Verifikation (Model Checking) • Multiple Sequenzalignierung • Robotik • Literatur
State-of-the-Art:GPS-Route Route Planning Input Start / End points Request for the graph Start / End Points Path Graph Map Generation PDA Disturbances GPS Traces Data points Over TCP/IP Output Path Simulation Vectorization Simulation Data Points Raster Maps
Komponenten + PDA + Karten-Generierung +Routing +Simulation
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 …)) d c c e f j j b e g h h b a a d g i f i
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))) d c c e f j j b e g h h b a a d g i f i
Planungszustandsraum a d i f f a d d d a i a i f i 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 at1 closed start close => open at1 open down floor 0 moving open
Model Checking • Exploration formaler Modelle floor 1 at1 closed start close => open at1 open down floor 0 moving open moving => ¬open?
Model Checking • Exploration formaler Modelle floor 1 at1 closed start close => open at1 open down floor 0 moving open ! moving => ¬open?
Model Checking • Exploration formaler Modelle floor 1 at1 closed start close => open at1 open down floor 0 moving open ! moving => ¬open? Fehlerpfad: (start, down)
State Explosion • #Zustände steigt exponentiell in der Anzahl der Komponenten. release close at0 at1 open closed pressed idle up down down up moving open press Knopf Kabine Tür
State Explosion 1xKabine 1xTür 2xKnopf
State Explosion 1xKabine 1xTür 2xKnopf
State-of-the-Art: (IO-HSF) SPIN Modellierungssprache: Promela Zwischenformat: 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 Suche nach konzeptionellen Fehlern Anforderungsanalyse Design Implementierung Integration Wartung
Software Model Checking • Wasserfallmodell Suche nach konzeptionellen Fehlern Anforderungsanalyse Design Implementierung Integration Suche nach Implementierungs- fehlern Wartung
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 x ←0 x und y sind Realzeituhren Constraints y ≤ 4 y ≤ 4 0 ≤ y ≤ 4 s3 s2 s1 x ←0 x ←0 Reset
State-of-the-Art: UPPAAL-CORA Erweitert TA-Konzept um Kosten Anwendung:Resourcen-optimales Scheduling Erste Lösung nicht optimal: Branch-and-Bound Ziel Beschneidung Kosten Suchfront
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 • ProzessP: Graph (M, trans, init, curr) • Kanal Q: Graph (S, head, tail, mess,cont) • Suchraum: Kreuzproduktbildung forkl!fork forkl?fork s3 s6 s1 forkr!fork forkr!fork forkl!fork s4 s5
Petri Netze (State-of-the-Art ?) 4-Philosophen 2-Philosophen φ • Zulässig • Konsitent
Graphtransitionssysteme Suchraum mit • Graphen als Zustände • Übergängen alsGraphmorphismen Anwendungen: • Biologie – Änderungen in der molekulären Strukture • Netzwerke – Klienten/Server melden sich an und ab • Softwarespezifikation – z.B. in UML/MSC
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
Robotik • Pfadplanung in • bekannter • unbekannter • Umgebung • Realzeitanforderungen • Unsicherheit (Modell, Sensorik) • Diskretisierungen
Suche Wissen des Roboters Beispiel