Einführung in die Methoden der Künstlichen Intelligenz. Suchverfahren / Uninformierte Suche

Größe: px
Ab Seite anzeigen:

Download "Einführung in die Methoden der Künstlichen Intelligenz. Suchverfahren / Uninformierte Suche"

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) Vortrag Suchverfahren der Künstlichen Intelligenz Sven Schmidt (Technische Informatik) Suchverfahren der Künstlichen Intelligenz Grundlagen Zustandsraumrepräsentation Generische Suche Bewertung von Suchstrategien

Mehr

Suche 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 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:

Mehr

Smart Graphics: Methoden 2 Suche

Smart 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

Mehr

Wissensbasierte Systeme

Wissensbasierte 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

Mehr

Wissensbasierte Systeme

Wissensbasierte 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?

Mehr

Seminar künstliche Intelligenz

Seminar 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

Mehr

8. Uninformierte Suche

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

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & 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

Mehr

1 topologisches Sortieren

1 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

Mehr

Wissensbasierte Systeme

Wissensbasierte 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

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen 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

Mehr

Unterscheidung: Workflowsystem vs. Informationssystem

Unterscheidung: 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

Mehr

Grundlagen der Programmierung 2. Bäume

Grundlagen 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)

Mehr

Kapitel 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 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:

Mehr

3. Problemlösen durch Suche

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

Mehr

KI und Sprachanalyse (KISA)

KI 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

Mehr

Algorithmen und Datenstrukturen

Algorithmen 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

Mehr

Guten Morgen und Willkommen zur Saalübung!

Guten 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

Mehr

Name: 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. 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?

Mehr

Spiele (antagonistische Suche) Übersicht. Typen von Spielen. Spielbaum. Spiele mit vollständiger Information

Spiele (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

Mehr

Algorithmen und Datenstrukturen Suchbaum

Algorithmen 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

Mehr

HEUTE. Datenstrukturen im Computer. Datenstrukturen. Rekursion. Feedback Evaluation. abstrakte Datenstrukturen

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

Mehr

2. Spielbäume und Intelligente Spiele

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

Mehr

Wissensbasierte Systeme 5. Constraint Satisfaction Probleme

Wissensbasierte 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

Mehr

Wiederholung ADT Menge Ziel: Verwaltung (Finden, Einfügen, Entfernen) einer Menge von Elementen

Wiederholung 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

Mehr

Graphen: Datenstrukturen und Algorithmen

Graphen: 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.

Mehr

1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert

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

Mehr

10 Dynamische Programmierung

10 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

Mehr

Kapitel 4: Analyse von Petrinetzen

Kapitel 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

Mehr

NP-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) 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

Mehr

Informatik 11 Kapitel 2 - Rekursive Datenstrukturen

Informatik 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

Mehr

Algorithmen und Datenstrukturen Balancierte Suchbäume

Algorithmen 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

Mehr

Graphen: Einführung. Vorlesung Mathematische Strukturen. Sommersemester 2011

Graphen: 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.

Mehr

Der linke Teilbaum von v enthält nur Schlüssel < key(v) und der rechte Teilbaum enthält nur Schlüssel > key(v)

Der 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

Mehr

Branch-and-Bound. Wir betrachten allgemein Probleme, deren Suchraum durch Bäume dargestellt werden kann. Innerhalb des Suchraums suchen wir

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

Mehr

Einführung in die Informatik

Einfü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

Mehr

Auswahl von Klauseln und Atomen in Prolog

Auswahl 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

Mehr

Die k kürzesten Wege in gerichteten Graphen

Die 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

Mehr

Datenstrukturen. Mariano Zelke. Sommersemester 2012

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

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen. (20 Graphen) T. Lauer

Vorlesung 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?

Mehr

Datenstrukturen und Algorithmen

Datenstrukturen 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

Mehr

Lineare Programmierung

Lineare 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

Mehr

Die Komplexitätsklassen P und NP

Die 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

Mehr

Programmierung 2. Dynamische Programmierung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland.

Programmierung 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

Mehr

Highway Hierarchies. Kristian Dannowski, Matthias Hoeschel

Highway 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

Mehr

ABITURPRÜFUNG 2009 LEISTUNGSFACH INFORMATIK

ABITURPRÜ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,

Mehr

Algorithmen und Datenstrukturen (WS 2007/08) 63

Algorithmen 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

Mehr

Technische Universität Berlin Fakultät IV - Elektrotechnik und Informatik. Klausur

Technische 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:

Mehr

Kü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 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

Mehr

Maximaler 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 Von Sebastian Thurm sebastian.thurm@student.uni-magedburg.de Maximaler Fluß und minimaler Schnitt Wasist das? Maximaler Fluss Minimaler Schnitt Warumtut man das? Logistische

Mehr

Abstrakt 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 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

Mehr

4 Greedy-Algorithmen (gierige Algorithmen)

4 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

Mehr

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder

Eine 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

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

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

Mehr

Seminar aus maschinellem Lernen MCTS und UCT

Seminar 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

Mehr

Kurs 1613 Einführung in die imperative Programmierung

Kurs 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

Mehr

WS 2009/10. Diskrete Strukturen

WS 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

Mehr

Kap. 4.2: Binäre Suchbäume

Kap. 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:

Mehr

Anmerkungen zur Übergangsprüfung

Anmerkungen 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

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen 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

[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

Mehr

Kapitel MK:IV. IV. Modellieren mit Constraints

Kapitel 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

Mehr

Teil III: Routing - Inhalt I. Literatur. Geometric Routing. Voraussetzungen. Unit Disk Graph (UDG) Geometric Routing 29

Teil 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

Mehr

Grundlagen der Künstlichen Intelligenz

Grundlagen 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

Mehr

Babeș-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 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

Mehr

Algorithmen II Vorlesung am 15.11.2012

Algorithmen 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

Mehr

8 Diskrete Optimierung

8 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

Mehr

Algorithmen & Datenstrukturen 1. Klausur

Algorithmen & 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

Mehr

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

Folge 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

Mehr

Vorkurs Informatik WiSe 15/16

Vorkurs 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

Mehr

Bä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 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:

Mehr

Eine molekulare Lösung des Hamiltonkreisproblems mit DNA

Eine 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

Mehr

Praktikum Planare Graphen

Praktikum 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

Mehr

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

Mehr

Kapitel 9 Suchalgorithmen

Kapitel 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

Mehr

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

Mehr

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

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

Mehr

Alles zu seiner Zeit Projektplanung heute

Alles 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?

Mehr

3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1

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

Mehr

Datenstruktur, die viele Operationen dynamischer Mengen unterstützt

Datenstruktur, 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)

Mehr

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. smichel@cs.uni-kl.de

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

Mehr

Motivation. Formale Grundlagen der Informatik 1 Kapitel 10. Motivation. Motivation. Bisher haben wir mit TMs. Probleme gelöst/entschieden/berechnet.

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

Mehr

Kostenmaße. F3 03/04 p.188/395

Kostenmaß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);

Mehr

Moderne Methoden der KI: Maschinelles Lernen

Moderne 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

Mehr

Beispielblatt 2 186.813 VU Algorithmen und Datenstrukturen 1 VU 6.0

Beispielblatt 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

Mehr

9.4 Binäre Suchbäume. Xiaoyi Jiang Informatik II Datenstrukturen und Algorithmen

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

Mehr

Informatik II Bäume. Beispiele. G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de. Stammbaum. Stammbaum. Stammbaum

Informatik 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

Mehr

2.11 Kontextfreie Grammatiken und Parsebäume

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

Mehr

Aufgabe 3: Übersetzen Sie die folgenden natürlich-sprachlichen Aussagen in die Sprache der

Aufgabe 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

Mehr

Laufzeit und Komplexität

Laufzeit 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

Mehr

DATENSTRUKTUREN UND ZAHLENSYSTEME

DATENSTRUKTUREN 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

Mehr

KONSTRUKTION VON ROT-SCHWARZ-BÄUMEN

KONSTRUKTION 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

Mehr

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

Literatur. 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,

Mehr

Unterrichtsvorhaben Q2- I:

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

Mehr

16. All Pairs Shortest Path (ASPS)

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

Mehr

Was ist Mathematik? Eine Strukturwissenschaft, eine Geisteswissenschaft, aber keine Naturwissenschaft.

Was 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

Mehr

Theoretische Informatik 1

Theoretische 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

Mehr

Theoretische Grundlagen der Informatik

Theoretische 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

Mehr

Einführung in (Binäre) Bäume

Einfü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