Einführung in die Methoden der Künstlichen Intelligenz. Suchverfahren / Uninformierte Suche
|
|
- Paulina Brahms
- vor 6 Jahren
- Abrufe
Transkript
1 Einführung in die Methoden der Künstlichen Intelligenz Suchverfahren / Uninformierte Suche PD Dr. David Sabel SoSe 0 Stand der Folien:. pril 0
2 Einführung Blind Search n-damen Missionare & Kannibalen Modellierung Motivation für Suchverfahren Beispiele: Spiele: Suche nach dem besten Zug Logik: Suche nach einer Herleitung einer ussage genten: Suche nach der optimalen nächsten ktion Planen: Suche nach einer Folge von ktionen eines intelligenten genten. Optimierung: Suche eines Maximums einer mehrstelligen Funktion auf den reellen Zahlen D. Sabel KI SoSe 0 Suchverfahren /
3 Einführung Blind Search n-damen Missionare & Kannibalen Modellierung Repräsentation eines Suchproblems nfangssituationen Nachfolgerfunktion Ein Test auf Zielsituation Normalerweise nicht gegeben: Der gesamte Suchgraph! D. Sabel KI SoSe 0 Suchverfahren /
4 Beispiele: Einführung Blind Search n-damen Missionare & Kannibalen Modellierung Schach nfangssituation: Eine Stellung im Spiel Nachfolgerfunktion: Mögliche Züge Zielsituation: Wenn man gewonnen hat Gesucht: Zug der zum Gewinn führt Deduktionssystem nfangssituation: Zu beweisende ussage, Menge von xiomen und bewiesenen Sätzen Nachfolgerfunktion: Deduktionsregeln Zielsituation: Beweis Gesucht: Beweis für Planen nfangssituation: Formale Beschreibung des intessierenden Bereichs z.b. Fahrplan, Start- und Zielort, Nachfolgerfunktion: Zugverbindungen usw. Gesucht: Plan, der Reise ermöglicht D. Sabel KI SoSe 0 Suchverfahren /
5 Einführung Blind Search n-damen Missionare & Kannibalen Modellierung Beispiel: n Damen Platziere auf n n Schachbrett n Damen, so dass keine die andere bedroht D. Sabel KI SoSe 0 Suchverfahren /
6 Einführung Blind Search n-damen Missionare & Kannibalen Modellierung Beispiel: n Damen, mögliche Lösung Platziere auf n n Schachbrett n Damen, so dass keine die andere bedroht D. Sabel KI SoSe 0 Suchverfahren /
7 Einführung Blind Search n-damen Missionare & Kannibalen Modellierung Beispiel: n Damen, mögliche Suche Platziere die Damen zeilenweise nacheinander, und backtracke bei Konflikt. D. Sabel KI SoSe 0 Suchverfahren /
8 Einführung Blind Search n-damen Missionare & Kannibalen Modellierung Beispiel: n Damen, mögliche Suche Platziere die Damen zeilenweise nacheinander, und backtracke bei Konflikt. D. Sabel KI SoSe 0 Suchverfahren /
9 Einführung Blind Search n-damen Missionare & Kannibalen Modellierung Beispiel: n Damen, mögliche Suche Platziere die Damen zeilenweise nacheinander, und backtracke bei Konflikt. D. Sabel KI SoSe 0 Suchverfahren /
10 Einführung Blind Search n-damen Missionare & Kannibalen Modellierung Beispiel: n Damen, mögliche Suche Platziere die Damen zeilenweise nacheinander, und backtracke bei Konflikt. D. Sabel KI SoSe 0 Suchverfahren /
11 Einführung Blind Search n-damen Missionare & Kannibalen Modellierung Beispiel: n Damen, mögliche Suche Platziere die Damen zeilenweise nacheinander, und backtracke bei Konflikt. D. Sabel KI SoSe 0 Suchverfahren /
12 Einführung Blind Search n-damen Missionare & Kannibalen Modellierung Beispiel: n Damen, mögliche Suche Platziere die Damen zeilenweise nacheinander, und backtracke bei Konflikt. D. Sabel KI SoSe 0 Suchverfahren /
13 Einführung Blind Search n-damen Missionare & Kannibalen Modellierung Beispiel: n Damen, mögliche Suche Platziere die Damen zeilenweise nacheinander, und backtracke bei Konflikt. D. Sabel KI SoSe 0 Suchverfahren /
14 Einführung Blind Search n-damen Missionare & Kannibalen Modellierung Beispiel: n Damen, mögliche Suche Platziere die Damen zeilenweise nacheinander, und backtracke bei Konflikt. D. Sabel KI SoSe 0 Suchverfahren /
15 Einführung Blind Search n-damen Missionare & Kannibalen Modellierung Beispiel: n Damen, mögliche Suche Platziere die Damen zeilenweise nacheinander, und backtracke bei Konflikt. D. Sabel KI SoSe 0 Suchverfahren /
16 Einführung Blind Search n-damen Missionare & Kannibalen Modellierung Beispiel: n Damen, mögliche Suche Platziere die Damen zeilenweise nacheinander, und backtracke bei Konflikt. D. Sabel KI SoSe 0 Suchverfahren /
17 Einführung Blind Search n-damen Missionare & Kannibalen Modellierung Beispiel: n Damen, mögliche Suche Platziere die Damen zeilenweise nacheinander, und backtracke bei Konflikt. D. Sabel KI SoSe 0 Suchverfahren /
18 Einführung Blind Search n-damen Missionare & Kannibalen Modellierung Beispiel: n Damen, mögliche Suche Platziere die Damen zeilenweise nacheinander, und backtracke bei Konflikt. D. Sabel KI SoSe 0 Suchverfahren /
19 Einführung Blind Search n-damen Missionare & Kannibalen Modellierung Beispiel: n Damen, mögliche Suche Platziere die Damen zeilenweise nacheinander, und backtracke bei Konflikt. D. Sabel KI SoSe 0 Suchverfahren /
20 Einführung Blind Search n-damen Missionare & Kannibalen Modellierung Beispiel: Missionare und Kannibalen Missionare und Kannibalen sind auf einer Seite eines Flusses. Boot mit maximal zwei Plätzen Bedingung: uf keiner Uferseite Kannibalen in der Überzahl Gesucht: Plan zur Überquerung des Flusses D. Sabel KI SoSe 0 Suchverfahren /
21 Einführung Blind Search n-damen Missionare & Kannibalen Modellierung Eine Kodierung des Problems Zustand: (#M, #K, Boot (< oder >), #M, # K) Start: (M, K, <, 0M, 0K) Ziel: (0M, 0K, >, M, K) Nachfolger des Startzustands: (M, K, >, M, 0K) verboten (M, K, >, M, 0K) verboten (M, K, >, M, K) (M, K, >, 0M, K) (M, K, >, 0M, K) D. Sabel KI SoSe 0 Suchverfahren /
22 Einführung Blind Search n-damen Missionare & Kannibalen Modellierung Suchbaum (usschnitt) (,,<,0,0) (,,>,,0) (,,>,,0) (,,>,,) (,,>,0,) (,,>,0,) (,,<,,0) (,,<,0,) (,,<,0,0) (,,<,0,0) (,,<,0,) (,,<,0,0) D. Sabel KI SoSe 0 Suchverfahren 0/
23 Einführung Blind Search n-damen Missionare & Kannibalen Modellierung Suchbaum (usschnitt) (,,<,0,0) (,,>,,0) (,,>,,0) (,,>,,) (,,>,0,) (,,>,0,) (,,<,,0) (,,<,0,) (,,<,0,0) (,,<,0,0) (,,<,0,) (,,<,0,0) Ineffizienzen: Doppelte Knoten Schon versuchte Situationen nicht noch einmal Verwende gerichteten Graphen statt Baum D. Sabel KI SoSe 0 Suchverfahren 0/
24 Suchgraph Einführung Blind Search n-damen Missionare & Kannibalen Modellierung (,,<,0,0) (,,>,0,) (,,>,,) (,,<,0,) (,0,>,0,) (,,<,0,) (,,>,,) (,,<,,) (0,,>,,) (0,,<,,) (0,,>,,) (0,,<,,) (0,0,>,,) (,,>,0,) D. Sabel KI SoSe 0 Suchverfahren /
25 Einführung Blind Search n-damen Missionare & Kannibalen Modellierung Modellierung des Problems ist wichtig! Nicht Berücksichtigung wichtiger Tatsachen: Kannibalen: Ein-und ussteigen aus dem Boot ist nicht berücksichtigt! Sollte man die Zustände während des Bootfahrens berücksichtigen? ndere Repräsentation bestimmt die Struktur des Suchraumes. Z.B. Modellierung: Missionare und Kannibalen haben eine Identität Zustand: Menge der Identitäten auf der Startseite und B falls das Boot auf der Startseite Start: {M, M, M, K, K, K, B} Ziel: Ist diese Repräsentation besser / schlechter? D. Sabel KI SoSe 0 Suchverfahren /
26 Einführung Blind Search n-damen Missionare & Kannibalen Modellierung Modellierung () Start {M, M, M, K, K, K, B} hat (!) Nachfolger. {M, M, K, K, K }. {M, M, K, K, K }. {M, M, K, K, K }. {M, M, M, K, K }. {M, M, M, K, K }. {M, M, M, K, K }. {M, K, K, K }. {M, K, K, K }. {M, M, K, K } 0. {M, M, K, K }. {M, M, K, K }. {M, K, K, K }. {M, M, K, K }. {M, M, K, K }. {M, M, K, K }. {M, M, K, K }. {M, M, K, K }. {M, M, K, K }. {M, M, M, K } 0. {M, M, M, K }. {M, M, M, K } Davon sind erlaubt In dieser Repräsentation ist die Suche sehr viel schwieriger! D. Sabel KI SoSe 0 Suchverfahren /
27 Einführung Blind Search n-damen Missionare & Kannibalen Modellierung Suchraum, Suchgraph Suche nach Lösung = Suche in einem gerichten Graphen ber: Der Graph ist nicht explizit gegeben! Suchgraph (Suchraum) gegeben durch: Knoten: Situation, Zustände Kanten: implizit als Nachfolger-Funktion N nfangssituation Zieltest: Entscheidbarer Test, ob Knoten Zielknoten D. Sabel KI SoSe 0 Suchverfahren /
28 Eigenschaften Einführung Blind Search n-damen Missionare & Kannibalen Modellierung Verzweigungrate des Knotens K (branching factor): nzahl der direkten Nachfolger von K, also N(K). K K K... K n K n N(K) = {K,..., K n } N(K) = n Mittlere Verzweigunsrate des Suchraumes: Durchschnittliche Verzweigungrate aller Knoten. D. Sabel KI SoSe 0 Suchverfahren /
29 Einführung Blind Search n-damen Missionare & Kannibalen Modellierung Eigenschaften() Größe des Suchraumes ab Knoten K in Tiefe d: nzahl Knoten, die von K aus in d Schritten erreichbar sind D.h. N d (K), wobei N (M) = {N(L) L M} und N i (K) = N(N i (K)). K K K K K K K K K K0 K K K K K K D. Sabel KI SoSe 0 Suchverfahren /
30 Einführung Blind Search n-damen Missionare & Kannibalen Modellierung Eigenschaften() Größe des Suchraumes ab Knoten K in Tiefe d: nzahl Knoten, die von K aus in d Schritten erreichbar sind D.h. N d (K), wobei N (M) = {N(L) L M} und N i (K) = N(N i (K)). K K K K K K K K K K0 K K K K K K Größe des Suchraums ab K in Tiefe = D. Sabel KI SoSe 0 Suchverfahren /
31 Einführung Blind Search n-damen Missionare & Kannibalen Modellierung Eigenschaften() Größe des Suchraumes ab Knoten K in Tiefe d: nzahl Knoten, die von K aus in d Schritten erreichbar sind D.h. N d (K), wobei N (M) = {N(L) L M} und N i (K) = N(N i (K)). K K K K K K K K K K0 K K K K K K Größe des Suchraums ab K in Tiefe = Größe des Suchraums ab K in Tiefe = D. Sabel KI SoSe 0 Suchverfahren /
32 Einführung Blind Search n-damen Missionare & Kannibalen Modellierung Eigenschaften () Eine Suchstragie ist vollständig, wenn sie einen Zielknoten nach endlichen vielen Schritten findet, falls dieser existiert. D. Sabel KI SoSe 0 Suchverfahren /
33 Einführung Blind Search n-damen Missionare & Kannibalen Modellierung Kombinatorische Explosion Üblicherweise: mittlere Verzweigungrate > Suche ist expontiell in der Tiefe des Suchraums das nennt man: kombinatorische Explosion Die meisten Suchprobleme sind NP-hart (NP-vollständig) D. Sabel KI SoSe 0 Suchverfahren /
34 Blind Search Einführung Blind Search Tiefensuche It. Vertiefen Rückw.- & Bidir. Suche Eingabe: Blind Search = Nicht-informierte Suche Nur der Suchgraph ist (implizit) gegeben keine anderen Informationen (z.b. Heuristik) Menge der initialen Knoten Menge der Zielknoten, bzw. eindeutige Festlegung der Eigenschaften der Zielknoten Nachfolgerfunktion N usgabe: Pfad zum Zielknoten (falls dieser existiert) D. Sabel KI SoSe 0 Suchverfahren /
35 Nicht-informierte Suche, allg. lgorithmus Nicht-informierte Suche Datenstrukturen: L = Menge von Knoten, markiert Weg dorthin Eingabe: Setze L := Menge der initialen Knoten mit leerem Weg lgorithmus: Wenn L leer ist, dann breche ab. Wähle einen beliebigen Knoten K aus L. Wenn K ein Zielknoten ist, dann gebe aus: Zielknoten und Weg dorthin (d.h. Weg im Graphen dorthin) Wenn K kein Zielknoten, dann nehme Menge N(K) der direkten Nachfolger von K und verändere L folgendermaßen: L := (L N(K)) \ {K} (Wege entsprechend anpassen) Mache weiter mit Schritt D. Sabel KI SoSe 0 Suchverfahren 0/
36 Nicht-informierte Suche, allg. lgorithmus Nicht-informierte Suche Datenstrukturen: L = Menge von Knoten, markiert Weg dorthin Eingabe: Setze L := Menge der initialen Knoten mit leerem Weg lgorithmus: Wenn L leer ist, dann breche ab. Wähle einen beliebigen Knoten K aus L. Wenn K ein Zielknoten ist, dann gebe aus: Zielknoten und Weg dorthin (d.h. Weg im Graphen dorthin) Wenn K kein Zielknoten, dann nehme Menge N(K) der direkten Nachfolger von K und verändere L folgendermaßen: L := (L N(K)) \ {K} (Wege entsprechend anpassen) Mache weiter mit Schritt Keine Strategie!, nichtdeterministisch D. Sabel KI SoSe 0 Suchverfahren 0/
37 Tiefensuche Einführung Blind Search Tiefensuche It. Vertiefen Rückw.- & Bidir. Suche lgorithmus Tiefensuche Datenstrukturen: L = Liste (Stack) von Knoten, markiert Weg dorthin Eingabe: Füge die initialen Knoten in die Liste L ein. lgorithmus: Wenn L die leere Liste ist, dann breche ab. Wähle ersten Knoten K aus L, sei R die Restliste. Wenn K ein Zielknoten ist, dann gebe aus: Zielknoten und Weg dorthin (d.h. Weg im Graphen dorthin) Wenn K kein Zielknoten, dann sei N(K) die (geordnete) Liste der direkten Nachfolger von K, mit dem Weg dorthin markiert L := N(K) ++ R. (wobei ++ Listen zusammenhängt) Mache weiter mit. D. Sabel KI SoSe 0 Suchverfahren /
38 Beispiel Tiefensuche 0 D. Sabel KI SoSe 0 Suchverfahren /
39 Beispiel Tiefensuche 0 m nfang: L := [(, [])] D. Sabel KI SoSe 0 Suchverfahren /
40 Beispiel Tiefensuche 0. Knoten K := (, []) R := [] NF (K) = [,,, ] L := [(, []), (, []), (, []), (, [])]++R = [(, []), (, []), (, []), (, [])] D. Sabel KI SoSe 0 Suchverfahren /
41 Beispiel Tiefensuche 0. Knoten K := (, []) R := [(, []), (, []), (, [])] NF () = [, ] L := [(, [, ]), (, [, ])]++R = [(, [, ]), (, [, ]), (, ), (, ), (, )] D. Sabel KI SoSe 0 Suchverfahren /
42 Beispiel Tiefensuche 0. Knoten K := (, [, ]) R := [(, [, ]), (, []), (, []), (, [])] NF () = [] L := []++R = [(, [, ]), (, []), (, []), (, [])] D. Sabel KI SoSe 0 Suchverfahren /
43 Beispiel Tiefensuche 0. Knoten K := (, [, ]) R := [(, []), (, []), (, [])] NF () = [] L := [(, [,, ])]++R = [(, [,, ]), (, []), (, []), (, [])] D. Sabel KI SoSe 0 Suchverfahren /
44 Beispiel Tiefensuche 0. Knoten K := (, [,, ]) R := [(, []), (, []), (, [])] NF () = [] L := []++R = [(, []), (, []), (, [])] D. Sabel KI SoSe 0 Suchverfahren /
45 Beispiel Tiefensuche 0. Knoten K := (, []) R := [(, []), (, [])] NF () = [] L := [(, [, ])]++R = [(, [, ]), (, []), (, [])] D. Sabel KI SoSe 0 Suchverfahren /
46 Beispiel Tiefensuche 0. Knoten K := (, [, ]) R := [(, []), (, [])] NF () = [] L := [(, [,, ])]++R = [(, [,, ]), (, []), (, [])] D. Sabel KI SoSe 0 Suchverfahren /
47 Beispiel Tiefensuche 0. Knoten K := (, [,, ]) R := [(, []), (, [])] NF () = [] L := [(, [,,, ])]++R = [(, [,,, ]), (, []), (, [])] D. Sabel KI SoSe 0 Suchverfahren /
48 Beispiel Tiefensuche 0. Knoten K := (, [,,, ]) R := [(, []), (, [])] Ziel() == True gebe,,,, aus D. Sabel KI SoSe 0 Suchverfahren /
49 Tiefensuche in Haskell dfs ::(a -> Bool) -- Zieltest (goal) -> (a -> [a]) -- Nachfolgerfunktion (succ) -> [a] -- Startknoten -> Maybe (a, [a]) -- Ergebnis: Just (Zielknoten,Pfad) -- oder Nothing dfs goal succ stack = -- Einfuegen der nfangspfade, dann mit iterieren mit go go [(k,[k]) k <- stack] where go [] = Nothing -- lles abgesucht, nichts gefunden go ((k,p):r) goal k = Just (k,p) -- Ziel gefunden otherwise = go ([(k,k :p) k <- succ k] ++ r) D. Sabel KI SoSe 0 Suchverfahren /
50 Eigenschaften der Tiefensuche Komplexität (worst-case) bei fester Verzweigungrate c > : Platz: linear in der Tiefe Zeit: exponentiell in der Tiefe des Zielknotens Vollständigkeit: Nicht vollständig, wenn der Suchgraph unendlich groß ist D. Sabel KI SoSe 0 Suchverfahren /
51 Unvollständigkeit der Tiefensuche Zielknoten wird nie besucht! D. Sabel KI SoSe 0 Suchverfahren /
52 Varianten der Tiefensuche Tiefensuche mit Tiefenbeschränkung k Wenn Tiefe k überschritten, setze NF (K) = Findet Zielknoten, die maximal in Tiefe k liegen In Haskell: dfsbistiefe goal succ stack maxdepth = -- wir speichern die Tiefe mit in den Knoten auf dem Stack: go [(k,maxdepth,[k]) k <- stack] where go [] = Nothing -- lles abgesucht, nichts gefunden go ((k,i,p):r) goal k = Just (k,p) -- Ziel gefunden i > 0 = go ([(k,i -, k :p) k <- succ k] ++ r) otherwise = go r -- Tiefenschranke erreicht D. Sabel KI SoSe 0 Suchverfahren /
53 Varianten der Tiefensuche () Tiefensuche mit Sharing Merke bereits besuchte Knoten, um Knoten nicht doppelt zu besuchen (bei zyklischen Suchgraphen!) Speichern der besuchten Knoten: Hashtabelle Platz: nzahl der besuchten Knoten (wegen Speicher für schon untersuchte Knoten) Zeit: n log(n) mit n = nzahl der untersuchten Knoten. Pragmatische Verbesserung: Nur maximal l viele Knoten speichern (damit der Platz beschränkt ist) D. Sabel KI SoSe 0 Suchverfahren /
54 Tiefensuche mit Sharing dfssharing goal succ stack = -- Einfuegen der nfangspfade, dann mit iterieren mit go, -- letzes rgument ist die Merkliste go [(k,[k]) k <- stack] [] where go [] mem = Nothing -- lles abgesucht, nichts gefunden go ((k,p):r) mem goal k = Just (k,p) -- Ziel gefunden k elem mem = go r mem -- Knoten schon besucht otherwise = go ([(k,k :p) k <- succ k] ++ r) (k:mem) D. Sabel KI SoSe 0 Suchverfahren /
55 Varianten beim Backtracking Vorgestelltes Verfahren Chronologisches Backtracking Varianten Dynamic Backtracking Dependency-directed Backtracking bkürzungen, wenn sichergestellt ist, dass kein Zielknoten übersehen wird. D. Sabel KI SoSe 0 Suchverfahren /
56 Breitensuche Einführung Blind Search Tiefensuche It. Vertiefen Rückw.- & Bidir. Suche lgorithmus Breitensuche Datenstrukturen: L = Menge von Knoten markiert mit Weg Eingabe: Füge die initialen Knoten in die MengeL ein. lgorithmus: Wenn L leer ist, dann breche ab. Wenn L einen Zielknoten K enthält, dann gebe aus: K und Weg dorthin. Sonst, sei N(L) Menge aller direkten Nachfolger der Knoten von L, mit einem Weg dorthin markiert. Mache weiter mit Schritt und L := N(L). D. Sabel KI SoSe 0 Suchverfahren 0/
57 Beispiel Breitensuche 0 D. Sabel KI SoSe 0 Suchverfahren /
58 Beispiel Breitensuche 0 m nfang: L := {(, [])} D. Sabel KI SoSe 0 Suchverfahren /
59 Beispiel Breitensuche 0. Iteration L := {(, [])} NF (L) = {,,, } L := {(, []), (, []), (, []), (, [])} D. Sabel KI SoSe 0 Suchverfahren /
60 Beispiel Breitensuche 0. Iteration L := {(, []), (, []), (, []), (, [])} NF (L) = NF () NF () NF () NF () = {,,,, 0, } L := {(, [, ]), (, [, ]), (, [, ]), (, [, ]), (0, [, ]), (, [, ])} D. Sabel KI SoSe 0 Suchverfahren /
61 Beispiel Breitensuche 0. Iteration L := {(, [, ]), (, [, ]), (, [, ]), (, [, ]), (0, [, ]), (, [, ])} NF (L) = NF () NF () NF () NF () NF () NF (0) NF () = {,,, } L := {(, [,, ]), (, [,, ]), (, [,, ]), (, [,, 0])} D. Sabel KI SoSe 0 Suchverfahren /
62 Beispiel Breitensuche 0. Iteration L := {(, [,, ]), (, [,, ]), (, [,, ]), (, [,, 0])} NF (L) = NF () NF () NF () NF () = {, } L := {(, [,,, ]), (, [,,, ])} D. Sabel KI SoSe 0 Suchverfahren /
63 Beispiel Breitensuche 0. Iteration L := {(, [,,, ]), (, [,,, ])} L enhält Zielknoten gebe,,,, aus D. Sabel KI SoSe 0 Suchverfahren /
64 Breitensuche in Haskell bfs goal succ start = go [(k,[k]) k <- start] -- Pfade erzeugen where go [] = Nothing -- nichts gefunden go rs = case filter (goal. fst) rs of -- ein Zielknoten enthalten? -- Nein, mache weiter mit allen Nachfolgern [] -> go [(k,k :p) (k,p) <- rs, k <- succ k] -- Ja, dann stoppe: (r:rs) -> Just r D. Sabel KI SoSe 0 Suchverfahren /
65 Eigenschaften Einführung Blind Search Tiefensuche It. Vertiefen Rückw.- & Bidir. Suche Komplexität (worst-case) bei fester Verzweigungrate c > Platz: nzahl der Knoten in Tiefe d, d.h. O(c d ) = exponentiell in der Tiefe d! Zeit: nzahl } der Knoten {{ in Tiefe d } + (n log n) = }{{} n Mengenbildung O(c d ( + d log c)) Vollständigkeit Die Breitensuche ist vollständig! (bei endlicher Verzweigungrate) D. Sabel KI SoSe 0 Suchverfahren /
66 Fazit: Tiefen- und Breitensuche Tiefensuche Breitensuche Zeit O(c d ) O(c d ( + d log c)) Platz O(d) O(c d ) Vollständig nein ja D. Sabel KI SoSe 0 Suchverfahren /
67 Iteratives Vertiefen iterative deepening Kompromiss a la Vollständige Tiefensuche Pseudo-lgorithmus: k := 0; Tiefensuche mit Tiefenschranke k; wenn Ziel gefunden dann breche ab, und gebe Ziel mit Weg aus sonst k := k + ; gehe zu D. Sabel KI SoSe 0 Suchverfahren /
68 Iteratives Vertiefen in Haskell idfs goal succ stack = let -- alle Ergebnisse mit sukzessiver Erh"ohung der Tiefenschranke allesuchen = [dfsbistiefe goal succ stack i i <- [..]] in case filter isjust allesuchen of [] -> Nothing -- Trotzdem nichts gefunden (r:rs) -> r -- sonst erstes Ergebnisse D. Sabel KI SoSe 0 Suchverfahren /
69 Beispiel: Iterative Tiefensuche 0 Reihenfolge der Knotenbesuche k = D. Sabel KI SoSe 0 Suchverfahren /
70 Beispiel: Iterative Tiefensuche 0 Reihenfolge der Knotenbesuche k =,,,, D. Sabel KI SoSe 0 Suchverfahren /
71 Beispiel: Iterative Tiefensuche 0 Reihenfolge der Knotenbesuche k =,,,, D. Sabel KI SoSe 0 Suchverfahren /
72 Beispiel: Iterative Tiefensuche 0 Reihenfolge der Knotenbesuche k =,,,, D. Sabel KI SoSe 0 Suchverfahren /
73 Beispiel: Iterative Tiefensuche 0 Reihenfolge der Knotenbesuche k =,,,, D. Sabel KI SoSe 0 Suchverfahren /
74 Beispiel: Iterative Tiefensuche 0 Reihenfolge der Knotenbesuche k =,,,, D. Sabel KI SoSe 0 Suchverfahren /
75 Beispiel: Iterative Tiefensuche 0 Reihenfolge der Knotenbesuche k =,,,,,,,,,0, D. Sabel KI SoSe 0 Suchverfahren /
76 Beispiel: Iterative Tiefensuche 0 Reihenfolge der Knotenbesuche k =,,,,,,,,,0, D. Sabel KI SoSe 0 Suchverfahren /
77 Beispiel: Iterative Tiefensuche 0 Reihenfolge der Knotenbesuche k =,,,,,,,,,0, D. Sabel KI SoSe 0 Suchverfahren /
78 Beispiel: Iterative Tiefensuche 0 Reihenfolge der Knotenbesuche k =,,,,,,,,,0, D. Sabel KI SoSe 0 Suchverfahren /
79 Beispiel: Iterative Tiefensuche 0 Reihenfolge der Knotenbesuche k =,,,,,,,,,0, D. Sabel KI SoSe 0 Suchverfahren /
80 Beispiel: Iterative Tiefensuche 0 Reihenfolge der Knotenbesuche k =,,,,,,,,,0, D. Sabel KI SoSe 0 Suchverfahren /
81 Beispiel: Iterative Tiefensuche 0 Reihenfolge der Knotenbesuche k =,,,,,,,,,0, D. Sabel KI SoSe 0 Suchverfahren /
82 Beispiel: Iterative Tiefensuche 0 Reihenfolge der Knotenbesuche k =,,,,,,,,,0, D. Sabel KI SoSe 0 Suchverfahren /
83 Beispiel: Iterative Tiefensuche 0 Reihenfolge der Knotenbesuche k =,,,,,,,,,0, D. Sabel KI SoSe 0 Suchverfahren /
84 Beispiel: Iterative Tiefensuche 0 Reihenfolge der Knotenbesuche k =,,,,,,,,,0, D. Sabel KI SoSe 0 Suchverfahren /
85 Beispiel: Iterative Tiefensuche 0 Reihenfolge der Knotenbesuche k =,,,,,,,,,0, D. Sabel KI SoSe 0 Suchverfahren /
86 Beispiel: Iterative Tiefensuche 0 Reihenfolge der Knotenbesuche k =,,,,,,,,,,,,0,, D. Sabel KI SoSe 0 Suchverfahren /
87 Beispiel: Iterative Tiefensuche 0 Reihenfolge der Knotenbesuche k =,,,,,,,,,,,,0,, D. Sabel KI SoSe 0 Suchverfahren /
88 Beispiel: Iterative Tiefensuche 0 Reihenfolge der Knotenbesuche k =,,,,,,,,,,,,0,, D. Sabel KI SoSe 0 Suchverfahren /
89 Beispiel: Iterative Tiefensuche 0 Reihenfolge der Knotenbesuche k =,,,,,,,,,,,,0,, D. Sabel KI SoSe 0 Suchverfahren /
90 Beispiel: Iterative Tiefensuche 0 Reihenfolge der Knotenbesuche k =,,,,,,,,,,,,0,, D. Sabel KI SoSe 0 Suchverfahren /
91 Beispiel: Iterative Tiefensuche 0 Reihenfolge der Knotenbesuche k =,,,,,,,,,,,,0,, D. Sabel KI SoSe 0 Suchverfahren /
92 Beispiel: Iterative Tiefensuche 0 Reihenfolge der Knotenbesuche k =,,,,,,,,,,,,0,, D. Sabel KI SoSe 0 Suchverfahren /
93 Beispiel: Iterative Tiefensuche 0 Reihenfolge der Knotenbesuche k =,,,,,,,,,,,,0,, D. Sabel KI SoSe 0 Suchverfahren /
94 Beispiel: Iterative Tiefensuche 0 Reihenfolge der Knotenbesuche k =,,,,,,,,,,,,0,, D. Sabel KI SoSe 0 Suchverfahren /
95 Beispiel: Iterative Tiefensuche 0 Reihenfolge der Knotenbesuche k =,,,,,,,,,,,,0,, D. Sabel KI SoSe 0 Suchverfahren /
96 Beispiel: Iterative Tiefensuche 0 Reihenfolge der Knotenbesuche k =,,,,,,,,,,,,0,, D. Sabel KI SoSe 0 Suchverfahren /
97 Beispiel: Iterative Tiefensuche 0 Reihenfolge der Knotenbesuche k =,,,,,,,,,,,,0,, D. Sabel KI SoSe 0 Suchverfahren /
98 Beispiel: Iterative Tiefensuche 0 Reihenfolge der Knotenbesuche k =,,,,,,,,,,,,0,, D. Sabel KI SoSe 0 Suchverfahren /
99 Beispiel: Iterative Tiefensuche 0 Reihenfolge der Knotenbesuche k =,,,,,,,,,,,,0,, D. Sabel KI SoSe 0 Suchverfahren /
100 Beispiel: Iterative Tiefensuche 0 Reihenfolge der Knotenbesuche k =,,,,,,,,,,,,0,, D. Sabel KI SoSe 0 Suchverfahren /
101 Beispiel: Iterative Tiefensuche 0 Reihenfolge der Knotenbesuche k =,,,,,,,, Ziel D. Sabel KI SoSe 0 Suchverfahren /
102 Beispiel: Iterative Tiefensuche 0 Reihenfolge der Knotenbesuche k =,,,,,,,, Ziel D. Sabel KI SoSe 0 Suchverfahren /
103 Beispiel: Iterative Tiefensuche 0 Reihenfolge der Knotenbesuche k =,,,,,,,, Ziel D. Sabel KI SoSe 0 Suchverfahren /
104 Beispiel: Iterative Tiefensuche 0 Reihenfolge der Knotenbesuche k =,,,,,,,, Ziel D. Sabel KI SoSe 0 Suchverfahren /
105 Beispiel: Iterative Tiefensuche 0 Reihenfolge der Knotenbesuche k =,,,,,,,, Ziel D. Sabel KI SoSe 0 Suchverfahren /
106 Beispiel: Iterative Tiefensuche 0 Reihenfolge der Knotenbesuche k =,,,,,,,, Ziel D. Sabel KI SoSe 0 Suchverfahren /
107 Beispiel: Iterative Tiefensuche 0 Reihenfolge der Knotenbesuche k =,,,,,,,, Ziel D. Sabel KI SoSe 0 Suchverfahren /
108 Beispiel: Iterative Tiefensuche 0 Reihenfolge der Knotenbesuche k =,,,,,,,, Ziel D. Sabel KI SoSe 0 Suchverfahren /
109 Beispiel: Iterative Tiefensuche 0 Reihenfolge der Knotenbesuche k =,,,,,,,, Ziel D. Sabel KI SoSe 0 Suchverfahren /
110 Beispiel: Iterative Tiefensuche 0 Reihenfolge der Knotenbesuche besuchte Knoten! D. Sabel KI SoSe 0 Suchverfahren /
111 Eigenschaften Einführung Blind Search Tiefensuche It. Vertiefen Rückw.- & Bidir. Suche Komplexität (worst-case) bei mittlerer Verzweigungsreate c > Platz: Linear in der Tiefe Zeit:? (gleich) Vollständigkeit Die iterative Tiefensuche ist vollständig (bei endlicher Verzweigungrate) D. Sabel KI SoSe 0 Suchverfahren /
112 Zeitbedarf iteratives Vertiefen () Näherung: n i= a i an+ a Tiefensuche mit Tiefenbeschränkung k k lle Knoten besuchen: c i i= Im Mittel besuchte Knoten (Zielknoten in Tiefe k): 0. ( k c i ) 0. ( ck+ c ) i= Iteratives Vertiefen bis Tiefe k, im Mittel, Zielknoten in Tiefe k: k Tiefensuchen für Tiefe,..., k +Tiefensuche für Tiefe k (Hälfte der Knoten) = k i= c i+ ck+ c + 0. ( c ) D. Sabel KI SoSe 0 Suchverfahren /
113 Zeitbedarf iteratives Vertiefen () Näherung: = k n i= a i an+ a c i+ ck+ c + 0. ( c ) = i= ( k c i ) c k i= c = ( ck+ (c ) ) k c i+ i= c + 0. ( ck+ c ) c c c + 0. ( ck+ c ) (( ck+ c ) c ) + 0. ( ck+ c ) + 0. ( ck+ c ) ( ck+ (c ) ) + 0. ( ck+ c ) D. Sabel KI SoSe 0 Suchverfahren 0/
114 Zeitbedarf iteratives Vertiefen () Faktor Iteratives Vertiefen Tiefensuche bis k : c k+ ck ( (c ) c ) 0. ( ck+ c ) = c k+ (c ) 0. ( ck+ c ) Tabelle der ca.-werte des Faktors d = c + ist c... 0 d,,..., + = c + D. Sabel KI SoSe 0 Suchverfahren /
115 Bemerkungen zur iterativen Tiefensuche llgemeine Idee dabei: Spare Platz, opfere Zeit (speichern vs. neu berechnen) Gegensätzlich zum dynamischen Programmieren: Dort: Opfere Platz für schnellere Zeit D. Sabel KI SoSe 0 Suchverfahren /
116 Varianten Einführung Blind Search Tiefensuche It. Vertiefen Rückw.- & Bidir. Suche Nutze Platz: Speichere Knoten, die bereits expandiert wurden, und betrachte sie nicht neu keine wiederholten Expansionen Speichere einen Teil des letzten Suchbaums (z.b. den linken Teil), damit er beim nächsten mal nicht betrachtet werden muss. Kombiniere Breitensuche mit Tiefensuche: erst in die Breite, ab dort dann Tiefensuche D. Sabel KI SoSe 0 Suchverfahren /
117 Rückwärtssuche Idee Suche nicht vom Start das Ziel, sondern umgekehrt Statt Nachfolgerfunktion benutze Vorgängerfunktion Lohnswert? Lohnt, wenn die Verzweigungsrate der Vorgängerfunktion kleiner ist, als die der Nachfolgerfunktion Problematisch: Finde algorithmische Beschreibung der Vorgängerfunktion D. Sabel KI SoSe 0 Suchverfahren /
118 Bidirektionale Suche Suche vorwärts und rückwärts Erfordert Vergleich der momentan expandierten Knoten (Schnittmenge) Vorteil z.b. bei Breitensuche: Platz: statt c d nur (c d/ ) Doppelt so tief suchen in gleichem Platz (wenn #Eingangsknoten #usgangsknoten) Nachteil: Schnittbildung (Zeitintensiv), und Vorgänger- und Nachfolgerfunktion nötig. D. Sabel KI SoSe 0 Suchverfahren /
Vortrag. Suchverfahren der Künstlichen Intelligenz. Sven Schmidt (Technische Informatik)
Vortrag Suchverfahren der Künstlichen Intelligenz Sven Schmidt (Technische Informatik) Suchverfahren der Künstlichen Intelligenz Grundlagen Zustandsraumrepräsentation Generische Suche Bewertung von Suchstrategien
MehrSuche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche. Suche in Spielbäumen. KI SS2011: Suche in Spielbäumen 1/20
Suche in Spielbäumen Suche in Spielbäumen KI SS2011: Suche in Spielbäumen 1/20 Spiele in der KI Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche Einschränkung von Spielen auf: 2 Spieler:
MehrSmart Graphics: Methoden 2 Suche
Smart Graphics: Methoden 2 Suche Vorlesung Smart Graphics LMU München Medieninformatik Butz/Boring Smart Graphics SS2007 Methoden: Suche Folie 1 Themen heute Smart Graphics Probleme als Suchprobleme Suchverfahren
MehrWissensbasierte Systeme
WBS4 Slide 1 Wissensbasierte Systeme Vorlesung 4 vom 03.11.2004 Sebastian Iwanowski FH Wedel WBS4 Slide 2 Wissensbasierte Systeme 1. Motivation 2. Prinzipien und Anwendungen 3. Logische Grundlagen 4. Suchstrategien
MehrWissensbasierte Systeme
WBS3 Slide 1 Wissensbasierte Systeme Sebastian Iwanowski FH Wedel Kap. 3: Algorithmische Grundlagen der KI WBS3 Slide 2 Suchstrategien Warum sind Suchstrategien so wichtig in Wissensbasierten Systemen?
MehrSeminar künstliche Intelligenz
Seminar künstliche Intelligenz Das Kürzeste-Wege-Problem in öffentlichen Verkehrsnetzen Stefan Görlich mi5517 25.05.2005 Inhalt 1. Einleitung 1.1 Problemstellung 3 1.2 Zielsetzung 3 1.3 Die Suche in öffentlichen
Mehr8. Uninformierte Suche
8. Uninformierte Suche Prof. Dr. Ruolf Kruse University of Mageurg Faculty of Computer Science Mageurg, Germany ruolf.kruse@cs.uni-mageurg.e S otationen () otationen: Graph Vorgänger (ancestor) von Knoten
MehrDatenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen
Mehr1 topologisches Sortieren
Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung
MehrWissensbasierte Systeme
WBS5 Slide 1 Wissensbasierte Systeme Vorlesung 5 vom 17.11.2004 Sebastian Iwanowski FH Wedel WBS5 Slide 2 Wissensbasierte Systeme 1. Motivation 2. Prinzipien und Anwendungen 3. Logische Grundlagen 4. Suchstrategien
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2007 4. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Traversierung Durchlaufen eines Graphen, bei
MehrUnterscheidung: Workflowsystem vs. Informationssystem
1. Vorwort 1.1. Gemeinsamkeiten Unterscheidung: Workflowsystem vs. Die Überschneidungsfläche zwischen Workflowsystem und ist die Domäne, also dass es darum geht, Varianten eines Dokuments schrittweise
MehrGrundlagen der Programmierung 2. Bäume
Grundlagen der Programmierung 2 Bäume Prof. Dr. Manfred Schmidt-Schauÿ Künstliche Intelligenz und Softwaretechnologie 24. Mai 2006 Graphen Graph: Menge von Knoten undzugehörige (gerichtete oder ungerichtete)
MehrKapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete
Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2012/13 Prof. Dr. Sándor Fekete 4.4 Binäre Suche Aufgabenstellung: Rate eine Zahl zwischen 100 und 114! Algorithmus 4.1 INPUT: OUTPUT:
Mehr3. Problemlösen durch Suche
3. Problemlösen durch Suche Problemlösende Agenten sind zielorientierte Agenten. Zielformulierung Fokussierung des möglichen Verhaltens unter Berücksichtigung der aktuellen Situation Problemformulierung
MehrKI und Sprachanalyse (KISA)
Folie 1 KI und Sprachanalyse (KISA) Studiengänge DMM, MI (B. Sc.) Sommer Semester 15 Prof. Adrian Müller, PMP, PSM1, CSM HS Kaiserslautern e: adrian.mueller@ hs-kl.de Folie 2 ADVERSIALE SUCHE Spiele: Multi-Agenten
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens aw@awilkens.com Überblick Grundlagen Definitionen Elementare Datenstrukturen Rekursionen Bäume 2 1 Datenstruktur Baum Definition eines Baumes
MehrGuten Morgen und Willkommen zur Saalübung!
Guten Morgen und Willkommen zur Saalübung! 1 Wie gewinnt man ein Spiel? Was ist ein Spiel? 2 Verschiedene Spiele Schach, Tic-Tac-Toe, Go Memory Backgammon Poker Nim, Käsekästchen... 3 Einschränkungen Zwei
MehrName: Seite 2. Beantworten Sie die Fragen in den Aufgaben 1 und 2 mit einer kurzen, prägnanten Antwort.
Name: Seite 2 Beantworten Sie die Fragen in den Aufgaben 1 und 2 mit einer kurzen, prägnanten Antwort. Aufgabe 1 (8 Punkte) 1. Wie viele negative Zahlen (ohne 0) lassen sich im 4-Bit-Zweierkomplement darstellen?
MehrSpiele (antagonistische Suche) Übersicht. Typen von Spielen. Spielbaum. Spiele mit vollständiger Information
Übersicht I Künstliche Intelligenz II Problemlösen 3. Problemlösen durch Suche 4. Informierte Suchmethoden 5. Constraint-Probleme 6. Spiele III Wissen und Schlußfolgern IV Logisch Handeln V Unsicheres
MehrAlgorithmen und Datenstrukturen Suchbaum
Algorithmen und Datenstrukturen Suchbaum Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Motivation Datenstruktur zur Repräsentation dynamischer Mengen
MehrHEUTE. Datenstrukturen im Computer. Datenstrukturen. Rekursion. Feedback Evaluation. abstrakte Datenstrukturen
9.2.5 HUT 9.2.5 3 atenstrukturen im omputer atenstrukturen ie beiden fundamentalen atenstrukturen in der Praxis sind rray und Liste Rekursion Feedback valuation rray Zugriff: schnell Umordnung: langsam
Mehr2. Spielbäume und Intelligente Spiele
2. Spielbäume und Intelligente Spiele Arten von Spielen 2. Spielbäume und Intelligente Spiele Kombinatorische Spiele als Suchproblem Wie berechnet man eine gute Entscheidung? Effizienzverbesserung durch
MehrWissensbasierte Systeme 5. Constraint Satisfaction Probleme
Wissensbasierte Systeme 5. Constraint Satisfaction Probleme Michael Beetz Vorlesung Wissensbasierte Systeme 1 Inhalt 5.1 Begriffe 5.2 Constraint Satisfaction in Linienbildern 5.3 Beispielanwendungen 5.4
MehrWiederholung ADT Menge Ziel: Verwaltung (Finden, Einfügen, Entfernen) einer Menge von Elementen
Was bisher geschah abstrakter Datentyp : Signatur Σ und Axiome Φ z.b. ADT Menge zur Verwaltung (Finden, Einfügen, Entfernen) mehrerer Elemente desselben Typs Spezifikation einer Schnittstelle Konkreter
MehrGraphen: Datenstrukturen und Algorithmen
Graphen: Datenstrukturen und Algorithmen Ein Graph G = (V, E) wird durch die Knotenmenge V und die Kantenmenge E repräsentiert. G ist ungerichtet, wenn wir keinen Start- und Zielpunkt der Kanten auszeichnen.
Mehr1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert
Inhalt Einführung 1. Arrays 1. Array unsortiert 2. Array sortiert 3. Heap 2. Listen 1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert 3. Bäume
Mehr10 Dynamische Programmierung
137 Dynamische Programmierung Das Prinzip der Dynamischen Programmierung wird häufig bei Fragestellungen auf Worten angewendet..1 Längste gemeinsame Teilfolge Wir betrachten Worte der rt w = a 1 a 2 a
MehrKapitel 4: Analyse von Petrinetzen
Kapitel 4: Analyse von Petrinetzen 1. Beispiele 2. Analyseansatz 3. Markierungsgraph 4. Beschränktheit 5. State Space Explosion: Beispiel 6. Komplementbildung 7. Zusammenhängend 8. Tot, lebendig, verklemmungsfrei
MehrNP-Vollständigkeit. Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984)
NP-Vollständigkeit Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984) 0 Übersicht: Einleitung Einteilung in Klassen Die Klassen P und NP
MehrInformatik 11 Kapitel 2 - Rekursive Datenstrukturen
Fachschaft Informatik Informatik 11 Kapitel 2 - Rekursive Datenstrukturen Michael Steinhuber König-Karlmann-Gymnasium Altötting 15. Januar 2016 Folie 1/77 Inhaltsverzeichnis I 1 Datenstruktur Schlange
MehrAlgorithmen und Datenstrukturen Balancierte Suchbäume
Algorithmen und Datenstrukturen Balancierte Suchbäume Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Überblick Einführung Einfügen und Löschen Einfügen
MehrGraphen: Einführung. Vorlesung Mathematische Strukturen. Sommersemester 2011
Graphen: Einführung Vorlesung Mathematische Strukturen Zum Ende der Vorlesung beschäftigen wir uns mit Graphen. Graphen sind netzartige Strukturen, bestehend aus Knoten und Kanten. Sommersemester 20 Prof.
MehrDer linke Teilbaum von v enthält nur Schlüssel < key(v) und der rechte Teilbaum enthält nur Schlüssel > key(v)
Ein Baum T mit Knotengraden 2, dessen Knoten Schlüssel aus einer total geordneten Menge speichern, ist ein binärer Suchbaum (BST), wenn für jeden inneren Knoten v von T die Suchbaumeigenschaft gilt: Der
MehrBranch-and-Bound. Wir betrachten allgemein Probleme, deren Suchraum durch Bäume dargestellt werden kann. Innerhalb des Suchraums suchen wir
Effiziente Algorithmen Lösen NP-vollständiger Probleme 289 Branch-and-Bound Wir betrachten allgemein Probleme, deren Suchraum durch Bäume dargestellt werden kann. Innerhalb des Suchraums suchen wir 1.
MehrEinführung in die Informatik
Einführung in die Informatik Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Sommersemester 2014 Jochen Hoenicke (Software Engineering) Einführung in die Informatik Sommersemester
MehrAuswahl von Klauseln und Atomen in Prolog
5.6 Prolog... ist die bekannteste Implementierung einer LP-Sprache; wurde Anfang der 1970er von Alain Colmerauer (Marseille) und Robert Kowalski (Edinburgh) entwickelt. konkretisiert den vorgestellten
MehrDie k kürzesten Wege in gerichteten Graphen
Die k kürzesten Wege in gerichteten Graphen Marc Benkert Wintersemester 001/00 1 Einführung 1.1 Problemstellung In einem gerichteten, gewichteten Graphen G = (V, E) sollen die k kürzesten Wege zu zwei
MehrDatenstrukturen. Mariano Zelke. Sommersemester 2012
Datenstrukturen Mariano Zelke Sommersemester 2012 Mathematische Grundlagen: Das Handwerkszeug Mariano Zelke Datenstrukturen 2/26 Formeln: n - i = n (n+1) 2 und - i=1 k i=0 a i = ak+1 1 a 1, falls a 1 Rechnen
MehrVorlesung Informatik 2 Algorithmen und Datenstrukturen. (20 Graphen) T. Lauer
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (20 Graphen) T. Lauer 1 Motivation Wie komme ich am besten von Freiburg nach Ulm? Was ist die kürzeste Rundreise durch eine gegebene Menge von Städten?
MehrDatenstrukturen und Algorithmen
Datenstrukturen und Algorithmen VO 708.031 Bäume robert.legenstein@igi.tugraz.at 1 Inhalt der Vorlesung 1. Motivation, Einführung, Grundlagen 2. Algorithmische Grundprinzipien 3. Sortierverfahren 4. Halden
MehrLineare Programmierung
Lineare Programmierung WS 2003/04 Rolle der Linearen Programmierung für das TSP 1954: Dantzig, Fulkerson & Johnson lösen das TSP für 49 US-Städte (ca. 6.2 10 60 mögliche Touren) 1998: 13.509 Städte in
MehrDie Komplexitätsklassen P und NP
Die Komplexitätsklassen P und NP Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 3. Dezember 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und
MehrProgrammierung 2. Dynamische Programmierung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland.
1 Programmierung 2 Dynamische Programmierung Sebastian Hack hack@cs.uni-saarland.de Klaas Boesche boesche@cs.uni-saarland.de Sommersemester 2012 2 Übersicht Stammt aus den Zeiten als mit Programmierung
MehrHighway Hierarchies. Kristian Dannowski, Matthias Hoeschel
Highway Hierarchies Kristian Dannowski, Matthias Hoeschel Gliederung Einleitung / Bidirektional Dijkstra Intuition / Naive Strategie Konstruktion der Highway Hierarchie Suche in der Highway Hierarchie
MehrABITURPRÜFUNG 2009 LEISTUNGSFACH INFORMATIK
ABITURPRÜFUNG 2009 LEISTUNGSFACH INFORMATIK (HAUPTTERMIN) Bearbeitungszeit: 270 Minuten Hilfsmittel: Wörterbuch zur deutschen Rechtschreibung Taschenrechner (nicht programmierbar, nicht grafikfähig) (Schüler,
MehrAlgorithmen und Datenstrukturen (WS 2007/08) 63
Kapitel 6 Graphen Beziehungen zwischen Objekten werden sehr oft durch binäre Relationen modelliert. Wir beschäftigen uns in diesem Kapitel mit speziellen binären Relationen, die nicht nur nur besonders
MehrTechnische Universität Berlin Fakultät IV - Elektrotechnik und Informatik. Klausur
Technische Universität Berlin Fakultät IV - Elektrotechnik und Informatik Grundlagen der künstlichen Intelligenz WS 07/08 Albayrak, Fricke (AOT) Opper, Ruttor (KI) Klausur 18.04.2008 Name, Vorname: Studiengang:
MehrKürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik
Kürzeste Wege in Graphen Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik Gliederung Einleitung Definitionen Algorithmus von Dijkstra Bellmann-Ford Algorithmus Floyd-Warshall Algorithmus
MehrMaximaler Fluß und minimaler Schnitt. Von Sebastian Thurm sebastian.thurm@student.uni-magedburg.de
Maximaler Fluß und minimaler Schnitt Von Sebastian Thurm sebastian.thurm@student.uni-magedburg.de Maximaler Fluß und minimaler Schnitt Wasist das? Maximaler Fluss Minimaler Schnitt Warumtut man das? Logistische
MehrAbstrakt zum Vortrag im Oberseminar. Graphdatenbanken. Gero Kraus HTWK Leipzig 14. Juli 2015
Abstrakt zum Vortrag im Oberseminar Graphdatenbanken Gero Kraus HTWK Leipzig 14. Juli 2015 1 Motivation Zur Darstellung komplexer Beziehungen bzw. Graphen sind sowohl relationale als auch NoSQL-Datenbanken
Mehr4 Greedy-Algorithmen (gierige Algorithmen)
Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine
MehrEine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder
Programmieren in PASCAL Bäume 1 1. Baumstrukturen Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder 1. die leere Struktur oder 2. ein Knoten vom Typ Element
MehrGrundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny
Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.
MehrSeminar aus maschinellem Lernen MCTS und UCT
Seminar aus maschinellem Lernen MCTS und UCT 26. November 2014 TU Darmstadt FB 20 Patrick Bitz 1 Übersicht Historisches zu MCTS MCTS UCT Eigenschaften von MCTS Zusammenfassung 26. November 2014 TU Darmstadt
MehrKurs 1613 Einführung in die imperative Programmierung
Aufgabe 1 Gegeben sei die Prozedur BubbleSort: procedure BubbleSort(var iofeld:tfeld); { var hilf:integer; i:tindex; j:tindex; vertauscht:boolean; i:=1; repeat vertauscht := false; for j := 1 to N - i
MehrWS 2009/10. Diskrete Strukturen
WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910
MehrKap. 4.2: Binäre Suchbäume
Kap. 4.2: Binäre Suchbäume Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 11. VO DAP2 SS 2009 26. Mai 2009 1 Zusätzliche Lernraumbetreuung Morteza Monemizadeh:
MehrAnmerkungen zur Übergangsprüfung
DM11 Slide 1 Anmerkungen zur Übergangsprüfung Aufgabeneingrenzung Aufgaben des folgenden Typs werden wegen ihres Schwierigkeitsgrads oder wegen eines ungeeigneten fachlichen Schwerpunkts in der Übergangsprüfung
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2006 3. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Algorithmen für Graphen Fragestellungen: Suche
Mehr[10] Software Transactional Memory in Haskell, Tortenwurf und Aufgabenblatt 7
Haskell Live [10 Software Transactional Memory in Haskell, Tortenwurf und Aufgabenblatt 7 Bong Min Kim e0327177@student.tuwien.ac.at Christoph Spörk christoph.spoerk@inode.at Bernhard Urban lewurm@gmail.com
MehrKapitel MK:IV. IV. Modellieren mit Constraints
Kapitel MK:IV IV. Modellieren mit Constraints Einführung und frühe Systeme Konsistenz I Binarization Generate-and-Test Backtracking-basierte Verfahren Konsistenz II Konsistenzanalyse Weitere Analyseverfahren
MehrTeil III: Routing - Inhalt I. Literatur. Geometric Routing. Voraussetzungen. Unit Disk Graph (UDG) Geometric Routing 29
1 29 Teil III: Routing - Inhalt I Literatur Compass & Face Routing Bounded & Adaptive Face Routing Nicht Ω(1) UDG E. Kranakis, H. Singh und Jorge Urrutia: Compass Routing on Geometric Networks. Canadian
MehrGrundlagen der Künstlichen Intelligenz
Grundlagen der Künstlichen Intelligenz 22. Constraint-Satisfaction-Probleme: Kantenkonsistenz Malte Helmert Universität Basel 14. April 2014 Constraint-Satisfaction-Probleme: Überblick Kapitelüberblick
MehrBabeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf
Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Paradigmen im Algorithmenentwurf Problemlösen Problem definieren Algorithmus entwerfen
MehrAlgorithmen II Vorlesung am 15.11.2012
Algorithmen II Vorlesung am 15.11.2012 Kreisbasen, Matroide & Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales
Mehr8 Diskrete Optimierung
8 Diskrete Optimierung Definition 8.1. Ein Graph G ist ein Paar (V (G), E(G)) besteh aus einer lichen Menge V (G) von Knoten (oder Ecken) und einer Menge E(G) ( ) V (G) 2 von Kanten. Die Ordnung n(g) von
MehrAlgorithmen & Datenstrukturen 1. Klausur
Algorithmen & Datenstrukturen 1. Klausur 7. Juli 2010 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 35 2 30 3 30 4 15 5 40 6 30 Gesamt 180 1 Seite 2 von 14 Aufgabe 1) Programm Analyse
MehrFolge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12
Grundlagen: Folge 19 - Bäume 19.1 Binärbäume - Allgemeines Unter Bäumen versteht man in der Informatik Datenstrukturen, bei denen jedes Element mindestens zwei Nachfolger hat. Bereits in der Folge 17 haben
MehrVorkurs Informatik WiSe 15/16
Konzepte der Informatik Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 16.10.2015 Technische Universität Braunschweig, IPS Inhaltsverzeichnis Suchen Binärsuche Binäre Suchbäume 16.10.2015 Dr. Werner
MehrBäume und Wälder. Bäume und Wälder 1 / 37
Bäume und Wälder Bäume und Wälder 1 / 37 Bäume Ein (ungerichteter) Baum ist ein ungerichteter Graph G = (V, E), der zusammenhängend ist und keine Kreise enthält. Diese Graphen sind Bäume: Diese aber nicht:
MehrEine molekulare Lösung des Hamiltonkreisproblems mit DNA
Eine molekulare Lösung des Hamiltonkreisproblems mit DNA Seminar Molecular Computing Bild: http://creatia2013.files.wordpress.com/2013/03/dna.gif Andreas Fehn 11. Juli 2013 Gliederung 1. Problemstellung
MehrPraktikum Planare Graphen
1 Praktikum Planare Graphen Michael Baur, Martin Holzer, Steffen Mecke 10. November 2006 Einleitung Gliederung 2 Grundlagenwissen zu planaren Graphen Themenvorstellung Gruppeneinteilung Planare Graphen
MehrKap. 4.4: B-Bäume Kap. 4.5: Dictionaries in der Praxis
Kap. 4.4: B-Bäume Kap. 4.5: Dictionaries in der Praxis Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 13./14. VO DAP2 SS 2009 2./4. Juni 2009 1 2. Übungstest
MehrKapitel 9 Suchalgorithmen
Kapitel 9 Suchalgorithmen Technische Universität München Suchverfahren: Verfahren, das in einem Suchraum nach Mustern oder Objekten mit bestimmten Eigenschaften sucht. Vielfältige Anwendungsbereiche für
Mehr5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c)
5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) mit V = {1,...,n} und E {(v, w) 1 apple v, w apple n, v 6= w}. c : E!
Mehr4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.
Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel
MehrAlles zu seiner Zeit Projektplanung heute
Alles zu seiner Zeit Projektplanung heute Nicole Megow Matheon Überblick Projektplanung Planen mit Graphentheorie Maschinenscheduling Ein 1 Mio. $ Problem Schwere & leichte Probleme? Zeitplanungsprobleme?
Mehr3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1
3.2 Binäre Suche Beispiel 6.5.1: Intervallschachtelung (oder binäre Suche) (Hier ist n die Anzahl der Elemente im Feld!) Ein Feld A: array (1..n) of Integer sei gegeben. Das Feld sei sortiert, d.h.: A(i)
MehrDatenstruktur, die viele Operationen dynamischer Mengen unterstützt
Algorithmen und Datenstrukturen 265 10 Binäre Suchbäume Suchbäume Datenstruktur, die viele Operationen dynamischer Mengen unterstützt Kann als Wörterbuch, aber auch zu mehr eingesetzt werden (Prioritätsschlange)
MehrDatenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. smichel@cs.uni-kl.de
Datenbankanwendung Wintersemester 2014/15 Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern smichel@cs.uni-kl.de Wiederholung: Anfragegraph Anfragen dieses Typs können als Graph dargestellt werden: Der
MehrMotivation. Formale Grundlagen der Informatik 1 Kapitel 10. Motivation. Motivation. Bisher haben wir mit TMs. Probleme gelöst/entschieden/berechnet.
bei TMs bei Computern Formale Grundlagen der Informatik 1 Kapitel 10 Frank Heitmann heitmann@informatik.uni-hamburg.de Bisher haben wir mit TMs Probleme gelöst/entschieden/berechnet. Dabei war entscheidbar
MehrKostenmaße. F3 03/04 p.188/395
Kostenmaße Bei der TM nur ein Kostenmaß: Ein Schritt (Konfigurationsübergang) kostet eine Zeiteinheit; eine Bandzelle kostet eine Platzeinheit. Bei der RAM zwei Kostenmaße: uniformes Kostenmaß: (wie oben);
MehrModerne Methoden der KI: Maschinelles Lernen
Moderne Methoden der KI: Maschinelles Lernen Prof. Dr.Hans-Dieter Burkhard Vorlesung Entscheidungsbäume Darstellung durch Regeln ID3 / C4.5 Bevorzugung kleiner Hypothesen Overfitting Entscheidungsbäume
MehrBeispielblatt 2 186.813 VU Algorithmen und Datenstrukturen 1 VU 6.0
Beispielblatt 2 186.813 VU Algorithmen und Datenstrukturen 1 VU 6.0 25. September 2013 Aufgabe 1 Gegeben sei ein binärer Suchbaum mit Werten im Bereich von 1 bis 1001. In diesem Baum wird nach der Zahl
Mehr9.4 Binäre Suchbäume. Xiaoyi Jiang Informatik II Datenstrukturen und Algorithmen
9.4 Binäre Suchbäume Erweiterung: Einfügen an der Wurzel Standardimplementierung: Der neue Schlüssel wird am Ende des Suchpfades angefügt (natürlich, weil zuerst festgestellt werden muss, ob der Schlüssel
MehrInformatik II Bäume. Beispiele. G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de. Stammbaum. Stammbaum. Stammbaum
lausthal Beispiele Stammbaum Informatik II. Zachmann lausthal University, ermany zach@in.tu-clausthal.de. Zachmann Informatik - SS 06 Stammbaum Stammbaum / Parse tree, Rekursionsbaum Parse tree, Rekursionsbaum
Mehr2.11 Kontextfreie Grammatiken und Parsebäume
2.11 Kontextfreie Grammatiken und Parsebäume Beispiel: Beispiel (Teil 3): Beweis für L(G) L: Alle Strings aus L der Länge 0 und 2 sind auch in L(G). Als Induktionsannahme gehen wir davon aus, dass alle
MehrAufgabe 3: Übersetzen Sie die folgenden natürlich-sprachlichen Aussagen in die Sprache der
Aufgabe 1: Sind die folgenden Abbildungen jeweils injektiv, surjektiv und/oder bijektiv? (a) f 1 (x) = x, mit f 1 : R + R + (b) f (x) = x, mit f : R R (c) f 3 (x) = x, mit f 3 : R R (d) f 4 (x) = 3x, mit
MehrLaufzeit und Komplexität
Laufzeit und Komplexität Laufzeit eines Algorithmus Benchmarking versus Analyse Abstraktion Rechenzeit, Anzahl Schritte Bester, Mittlerer, Schlechtester Fall Beispiel: Lineare Suche Komplexitätsklassen
MehrDATENSTRUKTUREN UND ZAHLENSYSTEME
DATENSTRUKTUREN UND ZAHLENSYSTEME RALF HINZE Institute of Information and Computing Sciences Utrecht University Email: ralf@cs.uu.nl Homepage: http://www.cs.uu.nl/~ralf/ March, 2001 (Die Folien finden
MehrKONSTRUKTION VON ROT-SCHWARZ-BÄUMEN
KONSTRUKTION VON ROT-SCHWARZ-BÄUMEN RALF HINZE Institut für Informatik III Universität Bonn Email: ralf@informatik.uni-bonn.de Homepage: http://www.informatik.uni-bonn.de/~ralf Februar, 2001 Binäre Suchbäume
MehrLiteratur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)
Dominating Set 59 Literatur Dominating Set Grundlagen 60 Dominating Set (DS) M. V. Marathe, H. Breu, H.B. Hunt III, S. S. Ravi, and D. J. Rosenkrantz: Simple Heuristics for Unit Disk Graphs. Networks 25,
MehrUnterrichtsvorhaben Q2- I:
Schulinterner Lehrplan Informatik Sekundarstufe II Q2 III. Qualifikationsphase Q2 Unterrichtsvorhaben Q2- I: Im ersten Halbjahr 1 Klausur, im 2. Halbjahr ein Projekt. Die Länge der Klausur beträgt 90 min.
Mehr16. All Pairs Shortest Path (ASPS)
. All Pairs Shortest Path (ASPS) All Pairs Shortest Path (APSP): Eingabe: Gewichteter Graph G=(V,E) Ausgabe: Für jedes Paar von Knoten u,v V die Distanz von u nach v sowie einen kürzesten Weg a b c d e
MehrWas ist Mathematik? Eine Strukturwissenschaft, eine Geisteswissenschaft, aber keine Naturwissenschaft.
Vorlesung 1 Einführung 1.1 Praktisches Zeiten: 10:00-12:00 Uhr Vorlesung 12:00-13:00 Uhr Mittagspause 13:00-14:30 Uhr Präsenzübung 14:30-16:00 Uhr Übungsgruppen Material: Papier und Stift wacher Verstand
MehrTheoretische Informatik 1
Theoretische Informatik 1 Bernhard Nessler Institut für Grundlagen der Informationsverabeitung TU Graz SS 2007 Übersicht 1 Allgemein Teilgebiete der Informatik ohne Theoretische Grundlagen 2 Fragen an
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik
MehrEinführung in (Binäre) Bäume
edeutung und Ziele inführung in (inäre) äume Marc Rennhard http://www.tik.ee.ethz.ch/~rennhard rennhard@tik.ee.ethz.ch äume gehören ganz allgemein zu den wichtigsten in der Informatik auftretenden atenstrukturen,
Mehr