1 / 53

Spezialvorlesung Suchalgorithmen

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

malory
Download Presentation

Spezialvorlesung Suchalgorithmen

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SpezialvorlesungSuchalgorithmen Stefan Edelkamp Mi 14-16

  2. Überblick • Struktur der Vorlesung • Crashkurs (Gerichtete) Suche • Anwendungen • Navigation • Handlungsplanung • Verifikation (Model Checking) • Multiple Sequenzalignierung • Robotik • Literatur

  3. Überblick • Struktur der Vorlesung • Crashkurs (Gerichtete) Suche • Anwendungen • Navigation • Handlungsplanung • Verifikation (Model Checking) • Multiple Sequenzalignierung • Robotik • Literatur

  4. 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 (?)

  5. 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)

  6. Überblick • Struktur der Vorlesung • Crashkurs (Gerichtete) Suche • Anwendungen • Navigation • Handlungsplanung • Verifikation (Model Checking) • Multiple Sequenzalignierung • Robotik • Literatur

  7. z s Suche s: Start z: Ziel

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. A* Fach h • Annahmen: • Ungewichteter Problemgraph • KonsistenteHeuristik ∆h ={-1,0,1,2,…} g

  14. Überblick • Struktur der Vorlesung • Crashkurs (Gerichtete) Suche • Anwendungen • Navigation • Handlungsplanung • Verifikation (Model Checking) • Multiple Sequenzalignierung • Robotik • Literatur

  15. Navigation

  16. GPS-Karten

  17. 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

  18. Komponenten + PDA + Karten-Generierung +Routing +Simulation

  19. 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

  20. 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

  21. Planungszustandsraum a d i f f a d d d a i a i f i f

  22. 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))

  23. Model Checking • Exploration formaler Modelle

  24. Model Checking • Exploration formaler Modelle floor 1 floor 0

  25. Model Checking • Exploration formaler Modelle floor 1 at1 closed start close => open at1 open down floor 0 moving open

  26. Model Checking • Exploration formaler Modelle floor 1 at1 closed start close => open at1 open down floor 0 moving open moving => ¬open?

  27. Model Checking • Exploration formaler Modelle floor 1 at1 closed start close => open at1 open down floor 0 moving open ! moving => ¬open?

  28. Model Checking • Exploration formaler Modelle floor 1 at1 closed start close => open at1 open down floor 0 moving open ! moving => ¬open? Fehlerpfad: (start, down)

  29. 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

  30. State Explosion 1xKabine 1xTür 2xKnopf

  31. State Explosion 1xKabine 1xTür 2xKnopf

  32. 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,…

  33. Software Model Checking • Wasserfallmodell Anforderungsanalyse Design Implementierung Integration Wartung

  34. Software Model Checking • Wasserfallmodell Suche nach konzeptionellen Fehlern Anforderungsanalyse Design Implementierung Integration Wartung

  35. Software Model Checking • Wasserfallmodell Suche nach konzeptionellen Fehlern Anforderungsanalyse Design Implementierung Integration Suche nach Implementierungs- fehlern Wartung

  36. State-of-the-Art: STEAM

  37. Programmzustand

  38. 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)

  39. 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

  40. 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

  41. 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

  42. 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

  43. Petri Netze (State-of-the-Art ?) 4-Philosophen 2-Philosophen φ  • Zulässig • Konsitent

  44. 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

  45. State-of-the-Art: GROOVE

  46. 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

  47. Idee: Dynamische Programmierung

  48. State-of-the-Art: IDDP

  49. Robotik • Pfadplanung in • bekannter • unbekannter • Umgebung • Realzeitanforderungen • Unsicherheit (Modell, Sensorik) • Diskretisierungen

  50. Suche Wissen des Roboters Beispiel

More Related