1.4 Suche in Und-oder-Bäumen

Größe: px
Ab Seite anzeigen:

Download "1.4 Suche in Und-oder-Bäumen"

Transkript

1 Einführung in die KI Prof. Dr. sc. Hans-Dieter Burkhard Vorlesung Suchverfahren -Teil 2: 1.4 Problemzerlegung 1.5 Spielbäume 1.4 Suche in Und-oder-Bäumen Problemzerlegung Und-oder-Baum Lösungsbaum Lösungsverfahren Umformung in Zustandsraum-Suche Beschränkung auf Bäume! Suchverfahren 2 1

2 Problemlösung durch Zerlegung Zerlege ein Problem P in einzelne Probleme P 1,...,P n Löse jedes Problem P i (als einfaches Problem oder durch iterierte Problemzerlegung) Füge die Lösungen zusammen zu P Beispiele: Ungarischer Würfel Kurvendiskussion Integralrechnung Prolog: Klausel -> Subgoals Agenten: Verteiltes Problemlösen Suchverfahren 3 Problemlösung durch Zerlegung Ergebnis: Plan als Hierarchie von Teilzielen: Darstellung als Baum bzw. Liste von Teilzielen: Folge von Basis-Aktionen (Blätter des Baumes) Least Commitment: Zerlegung in Teilziele möglichst spät Suchverfahren 4 2

3 Beweisbaum (PROLOG) mother_in_law(gaea,gaea) mother(gaea,uranus) parent(gaea,uranus) parent(uranus,gaea,cronus) father(uranus,cronus) female(gaea) mother(gaea,cronus) parent(uranus,cronus) male(uranus) parent(gaea,cronus) female(gaea) Suchverfahren 5 Prolog: Klausel als Problemzerlegung goal(x 1,...,X n ) :- subgoal 1 (X 1,...,X n ),..., subgoal m (X 1,...,X n ). erreichbar(start,ziel,zeit) :- s_bahn(start,zwischenziel,abfahrt,ankunft,_), erreichbar(zwischenziel,ziel,zeit1), addierezeit(zeit1,ankunft,abfahrt,zeit). Suchverfahren 6 3

4 Problemzerlegung Graphische Darstellung: Und-Verzweigung brother(b,x) :- male(b), parent(v,m,b), parent(v,m,x) brother(b,x) male(b) parent(v,m,b) parent(v,m,x) Suchverfahren 7 Abhängigkeit von Teilproblemen Abhängige Teilprobleme Inhaltlich: Ressourcen, Bindungen von Variablen in Prolog-Klauseln, Zeitlich Abfolge: Schritte (partiell) geordnet Suchverfahren 8 4

5 Alternativen für Problemzerlegung Zerlegung des Problems P in Probleme P 1,...,P n oder in Probleme P 1,...,P n oder... Klauseln einer Prolog-Prozedur bieten Alternativen grandfather(x,z):-father(x,y),father(y,z). grandfather(x,z):-father(x,y),mother(y,z). Graphische Darstellung: Oder-Verzweigung grandfather(x,z) Klausel1 Klausel2 Suchverfahren 9 Kombinierte Verzweigungen verreisen oder-verzweigung fliegen autofahren bahnfahren wandern und-verzweigungen oder-verzweigungen Zum Bahnhof fahren Fahrkarte kaufen... Tram Tai Bus Automat Schalter und-verzweigungen Suchverfahren 10 5

6 (Virtuelle) Optionen Hierarchie PlaySoccer Offensive Defensive... Score Kick DoublePass/1 DoublePass/2... Dribble Pass... ChangeWings/ Attack... OffsideTrap Run Reposition Intercept Architektur: RoboCup Spieler Suchverfahren Oder-Verzweigungen Auswahlmöglichkeiten in der Optionenhierarchie Angriff Torschuss Doppelpass/1 Doppelpass/2... Flügelwechsel/1... Suchverfahren 12 6

7 Intention Subtree (Resultat des Deliberators) PlaySoccer Offensive Defensive... Score Kick DoublePass/1 DoublePass/2... Dribble Pass... ChangeWings/ Attack... OffsideTrap Run Reposition Intercept Suchverfahren 13 Problem-Zerlegung Komplee Option: Petri-Netz, Und-Verzweigung Dribbling Pass Run Intercept Mitspieler frei Pass fertig Mitspieler hat gepasst Doppelpass Dribbling Pass Run Intercept Suchverfahren 14 7

8 Und-Oder-Baum Ein Und-oder-Baum besteht (abwechselnd) aus Knoten mit oder-verzweigungen und Knoten mit und-verzweigungen Modell für Problemzerlegungen: oder-verzweigungen für alternative Möglichkeiten zur Problemzerlegung und-verzweigungen für Teilprobleme Modell für Prolog-Programm: oder-verzweigungen für alternative Klauseln einer Prozedur und-verzweigungen für subgoals einer Klausel Suchverfahren 15 Und-Oder-Baum Anfrage Startknoten ( Wurzel ) modelliert Ausgangsproblem Knoten ohne Nachfolger ( Blätter ) sind unterteilt in - terminale Knoten ( primitive Probleme ) Fakt modellieren unmittelbar lösbare Probleme - nichtterminale Knoten modellieren nicht zu lösende Probleme Innere Knoten sind unterteilt in - Knoten mit und-verzweigung - Knoten mit oder-verzeigung Unerfüllbares Goal (keine unifizierende Klausel) Subgoals einer Klausel Alternative Klauseln Suchverfahren 16 8

9 Und-Oder-Baum a :- b,c. % (1) a :- e,f. % (2) b :- g,h. % (3) b :- e,h. % (4) c. % (5) e. % (6) f :- g. % (7) f :- h % (8) h. % (9) Suchverfahren 17 Und-Oder-Baum?-a (1) (2) a :- b,c. % (1) a :- e,f. % (2) b :- g,h. % (3) b :- e,h. % (4) c. % (5) e. % (6) f :- g. % (7) f :- h % (8) h. % (9) b c e f (3) (4) (5) (6) (7) (8) g h e h g h (9) (6) (9) (9) Suchverfahren 18 9

10 Lösbare/unlösbare Knoten Lösbare Knoten: 1. terminale Knoten, 2. Knoten mit Und-Verzweigung: falls alle Nachfolger lösbar sind 3. Knoten mit Oder-Verzweigung: falls mindestens ein Nachfolger lösbar ist Unlösbare Knoten: 1. nichtterminale Knoten, 2. Knoten mit Und-Verzweigung: falls mindest. ein Nachfolger unlösbar, 3. Knoten mit Oder-Verzweigung: falls alle Nachfolger unlösbar sind Für endliche Bäume ergibt sich bei Festlegung für die Blätter eine H.D.Burkhard, eindeutige HU Berlin Zerlegung Vorlesung Einführung in lösbare/unlösbare in die KI Knoten Suchverfahren 19 (Bedingungen sind jeweils komplementär) Lösbare/unlösbare Knoten?-a (1) (2) b c e f a :- b,c. % (1) a :- e,f. % (2) b :- g,h. % (3) b :- e,h. % (4) c. % (5) e. % (6) f :- g. % (7) f :- h % (8) h. % (9) (3) (4) (5) (6) (7) (8) g h e h g h (9) (6) (9) (6) Suchverfahren 20 10

11 Bottom-up-Konstruktionsalgorithmus Anfang: M LÖSBAR := terminale Knoten M UNLÖSBAR := nichtterminale Knoten Zyklus: Solange nicht alle Knoten untersucht wurden: Wähle Knoten k, dessen Nachfolger alle untersucht wurden. Falls k und-verzweigung und alle Nachfolger von k in M LÖSBAR oder falls k oder-verzw. und ein Nachfolger von k in M LÖSBAR : M LÖSBAR := M LÖSBAR {k}, andernfalls: M UNLÖSBAR := M UNLÖSBAR {k}. Suchverfahren 21 Bottom-up-Konstruktionsalgorithmus Ergebnis für endliche Und-Oder-Bäume: Zerlegung der Knoten in lösbare Knoten (M LÖSBAR ) und unlösbare Knoten (M UNLÖSBAR ) Das Ausgangsproblem kann genau dann durch Problemzerlegung gelöst werden, wenn der Startknoten in M LÖSBAR ist. Falls Ausgangsproblem lösbar ist, kann ein Lösungsbaum konstruiert werden. Suchverfahren 22 11

12 Lösungsbaum Endlicher Teilbaum des Und-oder-Baums mit folgenden Eigenschaften: - Enthält nur lösbare Knoten, - enthält Wurzelknoten, - bei Und-Verzweigungen sind alle Nachfolger enthalten, - bei Oder-Verzweigungen ist (genau) ein Nachfolger enthalten Modell für Beweisbaum in PROLOG Suchverfahren 23 Lösungsbäume?-a (1) (2) a :- b,c. % (1) a :- e,f. % (2) b :- g,h. % (3) b :- e,h. % (4) c. % (5) e. % (6) f :- g. % (7) f :- h % (8) h. % (9) b c e f (3) (4) (5) (6) (7) (8) g h e h g h (9) (6) (9) (6) Suchverfahren 24 12

13 Lösungsbäume?-a (1) (2) b c e f a :- b,c. % (1) a :- e,f. % (2) b :- g,h. % (3) b :- e,h. % (4) c. % (5) e. % (6) f :- g. % (7) f :- h % (8) h. % (9) (3) (4) (5) (6) (7) (8) g h e h g h (9) (6) (9) (6) Suchverfahren 25 Und-oder-Baum modelliert Beweisversuche grandfather(x,ares) grandfather(x,ares):- father(x,y),father(y,ares). grandfather(x,ar father(x,y),moth father(x,y). father(x,y):-parent(x,y),male(x). father(y,ares). father(y,ares):-parent(y,ares),male(y). parent(x,y). male(x). parent(y,ares). male(y). parent(uranus, parent(gaea, cronus). uranus). male(uranus). parent(gaea, cronus). male(cronus). parent(uranus, parent(rhea, rhea). male(zeus). parent(gaea, cronus). parent(cronus, zeus). male(hades). uranus). male(uranus). parent(rhea, hera). zeus). male(apollo). parent(gaea, cronus). male(cronus). male(dionysius). parent(rhea, rhea). male(zeus). parent(cronus, zeus). male(hades). zeus). male(apollo). male(dionysius). male(hermes). male(hermes). parent(rhea, hera). Suchverfahren 26 13

14 Und-oder-Baum modelliert Beweisversuche grandfather(x,ares) father(x,ares):- r(x,y),father(y,ares). grandfather(x,ares):- father(x,y),mother(y,ares). father(x,y). father(x,y):-parent(x,y),male(x). mother(y,ares). Mother(Y,ares):-parent(Y,ares),female(Y parent(x,y). male(x). parent(y,ares). female(y). parent(uranus, parent(gaea, cronus). uranus). male(uranus). parent(gaea, cronus). male(cronus). parent(uranus, parent(rhea, rhea). male(zeus). parent(gaea, cronus). parent(cronus, zeus). male(hades). uranus). female(gaea) parent(rhea, hera). zeus). male(apollo). parent(gaea, cronus). male(cronus male(dionysius). parent(rhea, rhea). male(zeus male(hermes). parent(cronus, zeus). male(ha parent(rhea, hera). zeus). male(a ma Suchverfahren 27 Lösungsbaum modelliert Beweisbaum grandfather(cronus,ares). father(cronus,zeus). father(zeus,ares). male(cronus). parent(cronus,zeus). male(zeus). parent(zeus,ares). Suchverfahren 28 14

15 Modell für nicht-deterministische Suche Beispiel: Vereinfachtes PROLOG-Schema (ohne Unifikation: Aussagen-Kalkül ) 1. Initialisiere: subgoals={g 1,...,g n } 2. Falls subgoals = : Erfolg. 3. Wähle g subgoals. 4. Wähle Klausel k: g :- g 1,...,g m der Prozedur für g. Falls kein solches k eistiert: Mißerfolg (des Versuchs). 5. subgoals := ({g 1,...,g n } - {g} ) {g 1,...,g m }. Weiter bei 2. Alle Varianten probieren, falls keine zum Erfolg führt: Nicht beweisbar Suchverfahren 29 Varianten für ND-Suche?-a (1) (2) b c e f (3) (4) (5) (6) (7) (8) g h e h g h (9) (6) (9) (9) {a} {b,c} {e,f} a :- b,c. % (1) a :- e,f. % (2) b :- g,h. % (3) b :- e,h. % (4) c. % (5) e. % (6) f :- g. % (7) f :- h % (8) h. % (9) {g,h,c} {e,h,c} {b} {f} {e,g} {e} {g,c} {g,h} {h,c} {e,c} {e,h} {g,h} {e,h} {g} {h} {g} {} {g} {g} {c} {h} {c} {e} {h} {e} {g} {h} {e} {} {} {} {} {} {} {} {} {} Alle H.D.Burkhard, Varianten HU Berlin (jeden Weg von der Wurzel aus) probieren, falls keine zum Erfolg führt: Nicht beweisbar Suchverfahren 30 15

16 Prolog-Interpreter Einschränkung der Varianten Reihenfolge innerhalb einer Klausel (Und-Verzweigung) (alle subgoals müssen erfüllt werden) links vor rechts Reihenfolge innerhalb einer Prozedur (Oder-Verzweigung) (Alternativen für Beweis) oben vor unten Zu zeigen wäre: Wenn Beweis eistiert, dann auch schon hierbei. Suchverfahren 31 Einschränkung der Varianten {a} {b,c} {e,f} a :- b,c. % (1) a :- e,f. % (2) b :- g,h. % (3) b :- e,h. % (4) c. % (5) e. % (6) f :- g. % (7) f :- h % (8) h. % (9) {g,h,c} {e,h,c} {b} {f} {e,g} {e} {g,c} {g,h} {h,c} {e,c} {e,h} {g,h} {e,h} {g} {h} {g} {} {g} {g} {c} {h} {c} {e} {h} {e} {g} {h} {e} {} {} {} {} {} {} {} {} {} Subgoals sind alle zu beweisen, Winter-Semester Reihenfolge 2008/09links vor rechts Suchverfahren 32 16

17 Einschränkung der Varianten {a} {b,c} {e,f} a :- b,c. % (1) a :- e,f. % (2) b :- g,h. % (3) b :- e,h. % (4) c. % (5) e. % (6) f :- g. % (7) f :- h % (8) h. % (9) {g,h,c} {e,h,c} {f} {c} {h,c} {g} {h} {} {} Subgoals sind alle zu beweisen, Winter-Semester Reihenfolge 2008/09links vor rechts Suchverfahren 33 Backtracking Effizienzgewinn Wege werden nicht vollständig neu probiert, sondern nur stückweise. Bei Alternativen: Einfügen eines Choicepoint Backtracking : Bei Fehlschlag am jüngsten Choicepoint andere Alternative verfolgen Suchverfahren 34 17

18 Backtracking {b,c} {a} a :- b,c. % (1) a :- e,f. % (2) b :- g,h. % (3) b :- e,h. % (4) c. % (5) Choicepoint e. % (6) f :- g. % (7) {e,f} f :- h % (8) h. % (9) {g,h,c} {e,h,c} {f} {h,c} Und so weiter {g} {h} {c} {} {} Suchverfahren 35 Modelle für Prolog-Suche Vereinfachtes Schema (ohne Unifikation: AK ) Liste 1. subgoals=[g 1,...,g n ]. 2. Falls subgoals = [ ] : Erfolg. 3. k sei nächste Klausel der Prozedur für g 1 : g 1 :- g 1,...,g m. Falls kein solches k eistiert: Backtracking. Falls kein Backtracking möglich: Misserfolg. 4. subgoals := [g 1,...,g m,g 2,...,g n, ]. Weiter bei 2. Suchverfahren 36 18

19 Prolog-Interpreter Und-Verzweigung: links vor rechts Teilziele der Reihe nach vollständig abarbeiten Verfolgen eines Zweiges in die Tiefe Oder-Verzweigung: oben vor unten Linke Zweige zuerst Backtracking bei Fehlschlag: Rückkehr zu Alternative an Oder-Verzweigung Nächster Zweig einer Oder-Verzweigung Problem: Choicepoint in subgoal Liste nicht repräsentierbar Suchverfahren 37 Modelle für Prolog-Suche [a] [b,c] Choicepoint [g,h,c] [e,h,c] b kommt nicht vor Problem: Choicepoint in subgoal Liste nicht repräsentierbar Suchverfahren 38 19

20 Quelle für Missverständnisse Bei erfolgreichem Beweis ist subgoal-liste leer Aber Baum noch nicht vollständig durchsucht [a] Choicepoint [b,c] [e,f] [g,h,c] [e,h,c] [f] [h,c] [g] [h] [c] [] [] Suchverfahren 39 Abarbeitung im Und-oder-Baum?-a Choice point (1) (2) b c e f Choice point (3) (4) (5) (6) (7) (8) a :- b,c. % (1) a :- e,f. % (2) b :- g,h. % (3) b :- e,h. % (4) c. % (5) e. % (6) f :- g. % (7) f :- h % (8) h. % (9) g h e h g h Fehlschlag (9) (6) (9) (6) Suchverfahren 40 20

21 Abarbeitung im Und-oder-Baum?-a Choice point (1) (2) b c e f a :- b,c. % (1) a :- e,f. % (2) b :- g,h. % (3) b :- e,h. % (4) c. % (5) e. % (6) f :- g. % (7) f :- h % (8) h. % (9) (3) (4) (5) (6) (7) (8) g h e h 1. Beweis gelungen g h (9) (6) (9) (6) Suchverfahren 41 Algorithmus für systematische Suche grandfather(x,ares) grandfather(x,ares):- father(x,y),father(y,ares). grandfather(x,ares):- father(x,y),mother(y,ares). father(x,y). father(y,ares). father(x,y). mother(y,ares). father(x,y):-parent(x,y),male(x). father(y,ares):-parent(y,ares),male(y). father(x,y):-parent(x,y),male(x). Mother(Y,ares):-parent(Y,ares),female(Y). parent(x,y). male(x). parent(y,ares). male(y). parent(x,y). male(x). parent(y,ares). female(y). parent(uranus, cronus). male(uranus). parent(gaea, uranus). male(cronus). parent(uranus, cronus). male(uranus). parent(gaea, cronus). male(zeus). parent(gaea, uranus). male(cronus). parent(gaea, cronus). male(zeus). parent(gaea, rhea). male(hades). parent(gaea, rhea). male(hades). parent(rhea, zeus). parent(cronus, zeus). male(apollo). parent(rhea, zeus). parent(rhea, hera). male(dionysius). parent(cronus, zeus). male(apollo). male(hermes). parent(rhea, hera). male(dionysius). male(hermes). parent(uranus, cronus). male(uranus). parent(gaea, uranus). male(cronus). parent(uranus, cronus). female(gaea). parent(gaea, cronus). male(zeus). parent(gaea, uranus). male(cronus). parent(gaea, rhea). male(hades). parent(gaea, cronus). male(zeus). parent(gaea, rhea). male(hades). parent(rhea, zeus). male(apollo). parent(rhea, zeus). parent(cronus, zeus). male(apollo). parent(rhea, hera). male(dionysius). parent(cronus, zeus). male(hermes). parent(rhea, hera). male(diony). male(herm). Suchverfahren 42 21

22 Algorithmus für systematische Suche PROCEDURE solve(unsolved_goals: GOALLIST); goals = [g 1,,g n ] Bezeichnet Liste von goals g i top(goals) = g 1 Bezeichnet erstes Element tail(goals) = [g 2,,g n ] Bezeichnet Rest-Liste NIL = [ ] Bezeichnet leere Liste concatenate( [g 1,,g n ], [g 1,,g m] ) = [ g 1,,g n, g 1,,g m] Bezeichnet Verkettung von Listen Suchverfahren 43 Algorithmus für systematische Suche PROCEDURE solve(unsolved_goals: GOALLIST); unsolved_goals klauseln(g) Liste ungelöster subgoals Klauseln der Prozedur für g ackermann(o,n,s(n)). ackermann(s(m),o,v):- ackermann(m,s(o),v). ackermann(s(m),s(n),v):- ackermann(s(m),n,v1),ackermann(m,v1,v). subgoals(k) Subgoals der Klausel k ackermann(s(m),s(n),v):- ackermann(s(m),n,v1), ackermann(m,v1,v). Suchverfahren 44 22

23 Algorithmus für systematische Suche PROCEDURE solve(unsolved_goals: GOALLIST); VAR k:klausel, g: GOAL; BEGIN IF unsolved_goals = NIL THEN HALT(yes) ELSE g:= top(unsolved_goals); FORALL k klauseln(g) DO (* Klauseln für g nacheinander rekursiv probieren*) solve(concatenate(subgoals(k),tail(unsolved_goals))) (* subgoals der Klausel k weiter verfolgen *) END (*FORALL*) END (*IF*) END solve; Aufruf mit solve([goal]); HALT(no). Choicepoints Reihenfolge: oben vor unten Reihenfolge: links vor rechts Suchverfahren 45 Algorithmus für systematische Suche Rekursive Prozedur-Aufrufe mit Subgoal-Listen. Bei leerer Subgoalliste: Resultat yes Abbruch der Prozedur-Kette. Nach erfolgloser vollständiger Abarbeitung einer Aufruf-Kette Rückkehr zur jüngsten Möglichkeit gemäß FORALL... (Backtracking). Wenn alle (FORALL-)Varianten erfolglos versucht: Resultat no Prozedur-Ketten vollständig abgearbeitet. Suchverfahren 46 23

24 Algorithmus für systematische Suche Transformation in Zustandsraumsuche: Subgoal-Listen sind Zustände eines Zustandsraums Algorithmus verwendet eigentlich zwei Listen (gemäß LIFO-Prinzip: Keller/stacks) - Liste unsolved_goals - Liste der offenen Prozedur-Aufrufe (Prozedurkeller) mit Alternativen für Backtracking'' Andere Repräsentation der Zustände: Betrachtung als verschachtelte Listen L = [ L 1,...,L m ] = [ [g 11,..., g 1n ],..., [g i1,..., g i,ni ],..., [g m1,..., g m,nm ]] Suchverfahren 47 Algorithmus für systematische Suche (0) (Start) L : = [ [Ausgangsproblem(e)] ]. (1) Falls L = [[ ],...,[ ]] : EXIT(yes). (2) Sei L i erste nicht-leere Subgoal-Liste aus L = [ L 1,...,L m ]. Sei g i1 erstes Element aus L i =[g i1,..., g i,ni ] : g i1 aus L i entfernen: L i := [g i2,..., g i,ni ]. Falls keine Klauseln für g i1 eistieren: weiter bei (4). (3) Sei k die nächste abzuarbeitende Klausel für g i1. Falls k Fakt: weiter bei (1). Falls k Regel: g i1 :- g 1,..., g n : L := [ [g 1,..., g n ], L 1,.., L i,..., L m ]. Falls weitere Klauseln für g i1 eistieren: Choice Point setzen. Weiter bei (2). (4) Backtracking: Rücksetzen zum jüngsten Choice Point : L zurücksetzen auf Stand vor Choice Point, weiter bei (3). Suchverfahren 48 Falls kein Choice Point eistiert: L =[ ], EXIT(no). 24

25 Algorithmus für systematische Suche [[a]] [ [b,c],[] ] [ [e,f],[] ] Choice point Choice point [ [g,h],[c],[] ] [ [e,h],[c],[] ] [ [f],[] ] a :- b,c. % (1) a :- e,f. % (2) b :- g,h. % (3) b :- e,h. % (4) c. % (5) e. % (6) f :- g. % (7) f :- h % (8) h. % (9) Choice point [ [h],[c],[] ] [ [g],[],[] ] [ [h],[],[] ] [ [],[c],[] ] [ [],[],[] ] [ [],[],[] ] Suchverfahren 49 Algorithmus für systematische Suche Alternative: Gelöste subgoals [[a]] markieren Choice point [ [b,c],[a] ] [ [e,f],[a] ] Choice point a :- b,c. % (1) a :- e,f. % (2) b :- g,h. % (3) b :- e,h. % (4) c. % (5) e. % (6) f :- g. % (7) f :- h % (8) h. % (9) [ [g,h],[b,c],[a] ] [ [e,h],[b,c],[a] ] [ [e,f],[a] ] Choice point [ [e,h],[b,c],[a] ] [ [h],[h,f],[a] ] [ [g],[e,f],[a] ] [ [e,h],[b,c],[a] ] [ [h],[h,f],[a] ] [ [e,h],[b,c],[a] ] Suchverfahren 50 25

26 Effizientere Implementation Bekannt sind: Reihenfolge von Klauseln in Prozeduren Reihenfolge von subgoals in Klauseln Zur Laufzeit nicht gesamte Listen speichern, sondern nur Referenz auf jeweils nächsten Eintrag g i statt [g i,..., g n ], Suchverfahren 51 Weitere Probleme für Prolog Behandlung von Variablenbindungen (Unifikation). Eingriffe in den Beweisablauf (cut). Effiziensteigerung (vorzeitige Speicherfreigabe), z.b. last call Optimierung ( lco ) deterministische Klauseln ( dco ) Prolog-Compiler: Übersetzung in optimiertes Programm (WAM = Warren abstract machine) Suchverfahren 52 26

27 Algorithmen für Problemzerlegung Analog zu Prolog-Variante: - Transformation in Zustandsraum - Anwendung entsprechender Verfahren Betrachtung der (abgewickelten) Und-Oder-Bäume Prinzipiell auch für Und-Oder-Graphen möglich, aber schwer überschaubar Suchverfahren Suche in Spielbäumen Spielbäume 2-Personen-Nullsummen-Spiele Minima-Strategie Pruning-Verfahren Heuristische Verfahren Suchverfahren 54 27

28 Spiele mit n Spielern P1,...,Pn Darstellung des Spiels als Spielbaum: Knoten: mit Spielsituationen markiert Kanten: Züge von einer Situation zur nächsten Ggf. gleiche Situation an unterschiedlichen Knoten Graph schwierig zu managen... Suchverfahren 55 Spiele mit n Spielern P1,...,Pn Endknoten mit Bewertung für jeden Spieler markiert Positive Zahl: Gewinn Negative Zahl: Verlust... -2, -5,-3, 0, 0 0, 0,0, 0, ,5,-3, 0, 7 Suchverfahren 56 28

29 o o o... o o Spieler A o o o o o o o o o o Spieler B o o o o o o o o o o o o o o o -1/ Spieler A o o o o o o o o o o o o o o o +1/-1 Spieler B... o o o o o o o o o o o o o o o o -1/+1 o o o o o o o o o o o o 0/0 +1/-1 0/0 Tic-Tac-Toe Spieler A Suchverfahren 57 Schach Durchschnittlich 30 Zugvarianten in jeder Situation 1. eigener Zug: 30 Nachfolgeknoten 1. gegnerischer Zug: 30 2 = 900 Nachfolgeknoten 2. eigener Zug: 30 3 = Nachfolgeknoten 2. gegnerischer Zug: 30 4 = Nachfolgeknoten gegnerischer Zug: ~ 6*10 14 Nachfolgeknoten gegnerischer Zug: ~ 3,5*10 29 Nachfolgeknoten... Suchverfahren 58 29

30 Weitere Spieltypen Spiel mit unvollständiger Information: Skat, Poker,... Eigene Unsicherheit vermindern Gegnerische Unsicherheit erhöhen Emotionen modellieren Emotionen beeinflussen Spiel mit Zufallseinfluss: Monopoly,... (Würfel als weiterer Spieler ) Nullsummenspiel: Gewinne = Verluste Suchverfahren 59 Simulation von Spielverläufen: Wahrschein-lichkeiten für Situationen Suchverfahren 60 30

31 π i : Spielstrategie (policy) des Spielers P i Vorgabe eines Zuges für jede Situation π i : Situationen Spielzüge des Spielers P i Entspricht einem Teilbaum des Spielbaums 1 Nachfolger für den eigenen Zug gemäß Strategie k Nachfolger für k mögliche Züge anderer Spieler Spielstrategien π 1,...,π n aller Spieler ergeben einen Weg im Baum zu einem Endzustand Suchverfahren 61 Spielbaum o o o... o o Spieler A o o o o o o o o o o Spieler B o o o o o o o o o o o o o o o -1/ Spieler A o o o o o o o o o o o o o o o +1/-1 Spieler B... o o o o o o o o o o o o o o o o -1/+1 o o o o o o o o o o o o 0/0 +1/-1 0/0 Spieler A Suchverfahren 62 31

32 Spielbaum Strategie Spieler A (Beispiel) o o o o Spieler A o o o o o o o o o o +1/-1 Spieler B o o o o o o Spieler A o o o o o o o o +1/-1 +1/-1 o o o Spieler B o o o o o o o o o +1/-1 o o o o Spieler A Suchverfahren 63 0/0 Zugfolge: Strategie Spieler A Strategie Spieler B (Beispiel) o o o o Spieler A o Spieler B o o Spieler A o o o o o o o o o o o Spieler B Suchverfahren 64 +1/-1 Spieler A 32

33 Gewinn/Verlust G i (π 1,...,π n ) : Gewinn/Verlust des Spielers P i wenn jeweils Spieler P k die Spielstrategie π k verwendet Bewertung für alle Spieler als Vektor: [G 1 (π 1,...,π n ), G 2 (π 1,...,π n ),..., G n (π 1,...,π n )] Gesamtheit der Bewertungen als n-dimensionale Matri Ausgangspunkt für Festlegung der eigenen Strategie (Gewinn maimieren) für Verhandlungen über Koalitionen (Problem: stabile Koalitionen) Suchverfahren 65 Gefangenendilemma Strategien: leugnen oder gestehen Resultatsmatri gestehen Spieler 2 leugnen Spieler 1 gestehen leugnen [5,5] [10,0] [0,10] [3,3] Suchverfahren 66 33

34 Modell für Koordination Koalitionsbildung Verhandlungen etc. einschließlich Kooperation (Koalitionen) z.b. Verhandlung über Strategie-Wahl π 1,...,π n gemäß erwarteten Gewinnen [G 1 (π 1,...,π n ),..., G n (π 1,...,π n )] und Konflikt (Gegnerschaft) Ziele: Probleme: Welche Werte optimieren? (Individuellen/Globalen) Gewinn optimieren Suchverfahren 67 Modelle für Koordination Nash-Gleichgewicht: Ein einzelner Spieler kann sich nicht verbessern, wenn er eine andere Strategie wählt (insbesondere ist individuelles Betrügen bei Vereinbarungen sinnlos). Pareto-Optimal: Bei jeder anderen Wahl der Strategienmenge schneidet wenigstens ein Spieler schlechter ab (insbesondere kann kein Spieler besser abschneiden, ohne dass ein anderer schlechter abschneidet). Global-Optimal: Summe über alle Gewinne optimal. Suchverfahren 68 34

35 Probabilistische Modelle Wahrscheinlichkeiten für Spielzustand (bei unvollst. Information) Zufallseinflüsse (Würfel) Strategien (Eigene/Gegnerische Züge) Ergebnis als Erwartungswert Hier nicht weiter verfolgen Spieltheorie Optimierung BWL Suchverfahren 69 Spielstrategien entwickeln Im weiteren beschränken: 2-Personen-Nullsummenspiele 2 konkurrierende Spieler A und B Spieler ziehen abwechselnd Gewinn(A) + Verlust(B) = 0 Angabe für Spieler A ausreichend Volle Information der Spieler Ohne Zufall Deterministische Strategien Suchverfahren 70 35

36 Spielbaum für diese Spiele Darstellung analog zu Und-Oder-Baum: A kann Zug wählen: Oder-Verzweigung A muss auf jeden Zug von B reagieren: Und-Verzweigung Bei Spielen mit Werten 1, -1 (Gewinn, Verlust) volle Analogie zu Problemzerlegung: lösbare Knoten: A gewinnt evtl. auch unlösbare Knoten: A verliert unentschieden Lösungsbaum liefert Gewinn-Strategie: einbeziehen A wählt jeweils Zug zu lösbarem Knoten, B muß dann ebenfalls zu lösbarem Knoten ziehen. Suchverfahren 71 o o o... o o Spieler A o o o o o o o o o o Spieler B o o o o o o o o o o o o o o o Spieler A o o o o o o o o o o o o o o o Spieler B... o o... o o o o o o o o o o o o o o A hat Problem gelöst o o o o o o o o o o o o A hat Problem gelöst Spieler A Suchverfahren 72 36

37 Optimalitätsannahme Annahme: Beide Spieler spielen optimal Mit Strategie π A durch Spieler A erreichbarer Wert: G(π A ) := Min{ G(π A, π B ) π B Strategie für B } Im Spiel durch Spieler A erreichbarer Wert: G A := Ma{ G(π A ) π A Strategie für A } Spieler A ist Maimierer (seines Gewinns) Spieler B ist Minimierer (des Gewinns für A) Optimale Strategie für Spieler A: π A * mit G(π A *) = G A Spieler A besitzt Gewinnstrategie, falls G A maimal möglichen Wert annimmt Suchverfahren 73 Problemstellungen Besitzt Spieler A eine Gewinnstrategie? Konstruiere ggf. Gewinnstrategie für A Konstruiere optimale Strategie π A * ( optimal z.b. hinsichtlich Spieldauer) Suchverfahren 74 37

38 Gewinnstrategien eistieren für Wolf und Schafe (Schafe gewinnen) Nim-Spiel (abhängig von Startsituation gewinnt A oder B) Baumspiel (1.Spieler gewinnt immer) Satz: Jedes Spiel mit endlicher Baumstruktur und nur Gewinn/Verlust besitzt entweder eine Gewinnstrategie für A oder eine Gewinnstrategie für B Suchverfahren 75 Baumspiel Situationen: Menge von Bäumen Start: Ein einziger Baum Zug: Streiche einen Knoten und alle seine Vorgänger in einem Baum (übrig bleiben Teilbäume) Gewinn: Wer letzten Baum streicht. Suchverfahren 76 38

39 Wert von Spielsituationen Welchen Zug soll Spieler als nächstes wählen? Wert G A (s) einer Spielsituation s für Spieler A G A (s) Gewinne G A (s) := maimaler Wert, den Spieler A von dort aus mit seiner optimalen Strategie π A * erreichen kann Aus G A kann umgekehrt π A * konstruiert werden: In Situation s wähle Zug zu einer Folgesituation s mit optimaler Bewertung G A (s) Suchverfahren 77 Ermitteln der Werte von Spielsituationen Credit-Assignment-Problem: Wert einer Situation (bzw. eines Spielzugs) ist erst am Spielende bekannt Immerhin: Iterative Abhängigkeit der Werte Wenn A in s zieht: G A (s) = Ma {G A (s ) s Nachfolgesituation von s } Wenn B in s zieht: G A (s) = Min {G A (s ) s Nachfolgesituation von s} Bei bekanntem Spielbaum: Bottom-Up-Konstruktion der Minima-Verfahren Werte im Spielbaum Suchverfahren 78 39

40 Lernen der Werte von Spielsituationen Immerhin: Iterative Abhängigkeit der Werte Wenn A in s zieht: G A (s) = Ma {G A (s ) s Nachfolgesituation von s } Wenn B in s zieht: G A (s) = Min {G A (s ) s Nachfolgesituation von s} Bei unbekanntem Spielbaum: Reinforcement-Lernen Eploration (Erkunden von Möglichkeiten, d.h. Spielzüge ausprobieren) Sukzessives Verbessern der Bewertungen Suchverfahren 79 Minima-Verfahren Voraussetzungen: Endlicher Spielbaum Endknoten mit Resultaten für Spieler A markiert (1)Falls Startknoten markiert: Eit: Wert der optimalen Strategie π A * = Wert(Startknoten) (2)Wähle unmarkierten Knoten k, dessen Nachfolger markiert sind Wenn A in k zieht: Wert(k):=Ma{Wert(k ) k Nachfolger von k } Wenn B in k zieht: Wert(k):=Min{Wert(k ) k Nachfolger von k } Weiter bei (1). Suchverfahren 80 40

41 Sicht Spieler A o o -1 o... o0o Spieler A o -1 o o -1 o o 0 o o o o o -1-1 Spieler B o o o-1o o o+1 o o 0 o o +1 o o+1 o o o Spieler A o o o o o o+1 o o-1o o -1 o o 0o o-1o Spieler B... o o o o o o -1 o o 0o 0-1 o+1 o o 0o o o o o o o o o 0o o+1 o o 0o o o Spieler A Suchverfahren 81 Sicht Spieler B o o +1 o... o0o Spieler A o +1 o o+1 o o 0 o o o o o Spieler B o o o+1 o o o-1o o0o o -1 o o-1o o o Spieler A o o o o o o-1o o+1 o o +1 o o 0o o+1 o Spieler B... o o o o o o +1 o o 0o 0 +1 o-1o o 0o o o o o o o o o 0o o-1o o 0o o o Spieler A Suchverfahren 82 41

42 Sicht Spieler B o 0o Spieler A o+1 o o +1 o o 0 o o o o o Spieler B o o o o +1 o o+1 o o o-1o o 0o o -1 o o-1o o o Spieler A... o o o o o +1 o-1o o+1 o o +1 o o 0 o o +1 o Spieler B... o o... o o o Hier eistiert +1 o +1 o o 0o +1 o-1o o 0o Gewinnstrategie o o o für Spieler B! o o o o Spieler A o 0o o -1 o o 0o o o Suchverfahren 83 Sicht Spieler B o o+1o o o o o+1o o+1 o o+1o o o o o o o o+1 o o 0o o+1 o o o o o o o o o o o o o Spieler A Spieler B o o o 0o o o o 0 o Spieler A Suchverfahren 84 42

43 Gewinnstrategie Spieler B o o o o o o o o o o o o Spieler A o o o o o o o o o o o o o o o o Spieler B Suchverfahren 85 Züge ausschließen: Pruning-Strategien Idee: Wenn es bereits bessere Varianten gibt, müssen schlechtere nicht weiter verfolgt werden Suchverfahren 86 43

44 α-pruning (Züge von A ausschließen) Spieler A wird diesen 30 Zug nicht wählen Suchverfahren 87 α-pruning (Züge von A ausschließen) α-pruning: Suchbaum in diesem Zweig nicht untersuchen Suchverfahren 88 44

45 β-pruning (Züge von B ausschließen) Spieler B wird diesen 50 Zug nicht wählen Suchverfahren 89 β-pruning (Züge von B ausschließen) β-pruning: Suchbaum in diesem Zweig nicht untersuchen Suchverfahren 90 45

46 Effizienz von Pruning-Strategien abhängig von der Reihenfolge: im ungünstigsten Fall keine Einsparung: Es bleibt bei b d Endknoten für Verzweigungsfaktor b, Tiefe d im günstigsten Fall ( beste Züge jeweils links ): Aufwand ungefähr 2 * b (d/2) 2 * b (d/2) 1 für gerade d, b ((d+1)/2) + b ((d 1)/2) 1 für ungerade d. d.h. Doppelte Suchtiefe mit gleichem Aufwand möglich Weitere Verfahren zur Auswahl günstiger Epansionsreihenfolge Suchverfahren 91 Heuristische Suche 1. Spielbaum teilweise entwickeln von aktueller Situation ausgehend 2. dort Situationen statisch bewerten (z.b. Figuren, Stellung,...) ????????????????????? Suchverfahren 92 46

47 Heuristische Suche 3. gefundene Werte dynamisch gemäß Minima zurückverfolgen 4. aussichtsreichsten Zug wählen ????????????????????? Suchverfahren 93 Woher kommen Bewertungen? Statische Bewertung von Situationen: Analogie zu Schätzfunktionen Vorhersage des erreichbaren Gewinns Unterschiedliche Bewertungsfaktoren Verdichtung zu einer Zahl, z.b. gewichtete Summe Bauer: 1 Läufer, Springer: 3 Turm: 5 Dame: 9 Bauernstellung: 0,5 Königsstellung: 0,5 Lernen von Gewichten anhand von Beispielen Suchverfahren 94 47

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

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

Einführung in Heuristische Suche

Einführung in Heuristische Suche Einführung in Heuristische Suche Beispiele 2 Überblick Intelligente Suche Rundenbasierte Spiele 3 Grundlagen Es muss ein Rätsel / Puzzle / Problem gelöst werden Wie kann ein Computer diese Aufgabe lösen?

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

Spieltheorie. Sebastian Wankerl. 16. Juli 2010

Spieltheorie. Sebastian Wankerl. 16. Juli 2010 Spieltheorie Sebastian Wankerl 16. Juli 2010 Inhalt 1 Einleitung 2 Grundlagen Extensive Form choice functions Strategien Nash-Gleichgewicht Beispiel: Gefangenendillema 3 Algorithmen Minimax Theorem Minimax

Mehr

Informatik II. PVK Part1 Severin Wischmann wiseveri@student.ethz.ch n.ethz.ch/~wiseveri

Informatik II. PVK Part1 Severin Wischmann wiseveri@student.ethz.ch n.ethz.ch/~wiseveri Informatik II PVK Part1 Severin Wischmann wiseveri@student.ethz.ch n.ethz.ch/~wiseveri KAUM JAVA Kaum Java Viel Zeit wird für Java-spezifisches Wissen benützt Wenig wichtig für Prüfung Letztjähriger Assistent

Mehr

Logische Programmierung

Logische Programmierung Logische Programmierung B-82 Deklaratives Programmieren in Prädikatenlogik: Problem beschreiben statt Algorithmus implementieren (idealisiert). Grundlagen: Relationen bzw. Prädikate (statt Funktionen);

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

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

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

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

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

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 einfachen Kreise enthält. Bäume und Wälder 2 / 37 Bäume

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

Hackenbusch und Spieltheorie

Hackenbusch und Spieltheorie Hackenbusch und Spieltheorie Was sind Spiele? Definition. Ein Spiel besteht für uns aus zwei Spielern, Positionen oder Stellungen, in welchen sich das Spiel befinden kann (insbesondere eine besondere Startposition)

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

Definition eines Spiels

Definition eines Spiels Definition eines piels 1. Einleitung 1.1 Einführung: Die mathematische pieltheorie beschäftigt sich nicht nur mit der Beschreibung und Analyse von pielen im üblichen inn, sondern allgemein mit Konfliktsituationen

Mehr

2. Spiele. Arten von Spielen. Kombinatorik. Spieler haben festgelegte Handlungsmöglichkeiten, die durch die Spielregeln definiert werden.

2. Spiele. Arten von Spielen. Kombinatorik. Spieler haben festgelegte Handlungsmöglichkeiten, die durch die Spielregeln definiert werden. . Spiele Arten von Spielen. Spiele. Spiele Arten von Spielen Kombinatorik Spieler haben festgelegte Handlungsmöglichkeiten, die durch die Spielregeln definiert werden. Kombinatorische Spiele als Suchproblem

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

13. Binäre Suchbäume

13. Binäre Suchbäume 1. Binäre Suchbäume Binäre Suchbäume realiesieren Wörterbücher. Sie unterstützen die Operationen 1. Einfügen (Insert) 2. Entfernen (Delete). Suchen (Search) 4. Maximum/Minimum-Suche 5. Vorgänger (Predecessor),

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

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

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

Praktikum Wissensbasierte Systeme Übung 1 Vier Gewinnt als Strategiespiel in Java

Praktikum Wissensbasierte Systeme Übung 1 Vier Gewinnt als Strategiespiel in Java Praktikum Wissensbasierte Systeme Übung 1 Vier Gewinnt als Strategiespiel in Java Prof. Dr. Daniel Pfeifer 18. März 2009 1 Einführung Im Laufe dieser Übung werden Sie (unter anderem) eine Mini-Max-Strategie

Mehr

Binäre Bäume Darstellung und Traversierung

Binäre Bäume Darstellung und Traversierung Binäre Bäume Darstellung und Traversierung Name Frank Bollwig Matrikel-Nr. 2770085 E-Mail fb641378@inf.tu-dresden.de Datum 15. November 2001 0. Vorbemerkungen... 3 1. Terminologie binärer Bäume... 4 2.

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

Dynamische Optimierung. Kapitel 4. Dynamische Optimierung. Peter Becker (H-BRS) Operations Research II Wintersemester 2014/15 160 / 206

Dynamische Optimierung. Kapitel 4. Dynamische Optimierung. Peter Becker (H-BRS) Operations Research II Wintersemester 2014/15 160 / 206 Kapitel 4 Dynamische Optimierung Peter Becker (H-BRS) Operations Research II Wintersemester 2014/15 160 / 206 Inhalt Inhalt 4 Dynamische Optimierung Allgemeiner Ansatz und Beispiele Stochastische dynamische

Mehr

Das Briefträgerproblem

Das Briefträgerproblem Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................

Mehr

Vier Gewinnt Nicolas Schmidt Matthias Dietsche Bernhard Weiß Benjamin Ruile Datum: 17.2.2009 Tutor: Prof. Schottenloher Spieltheorie

Vier Gewinnt Nicolas Schmidt Matthias Dietsche Bernhard Weiß Benjamin Ruile Datum: 17.2.2009 Tutor: Prof. Schottenloher Spieltheorie Vier Gewinnt Nicolas Schmidt Matthias Dietsche Bernhard Weiß Benjamin Ruile Datum: 17.2.2009 Tutor: Prof. Schottenloher Spieltheorie Präsentation Agenda I. Einführung 1. Motivation 2. Das Spiel Vier Gewinnt

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

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

11.1 Grundlagen - Denitionen

11.1 Grundlagen - Denitionen 11 Binärbäume 11.1 Grundlagen - Denitionen Denition: Ein Baum ist eine Menge, die durch eine sog. Nachfolgerrelation strukturiert ist. In einem Baum gilt: (I) (II) 1 Knoten w ohne VATER(w), das ist die

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

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

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

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

Wahrnehmung, Weltmodell. Modellierung anderer Akteure. Programmierung Intelligenter Roboter. Bewusstes Handeln, alternativ: Reflexe.

Wahrnehmung, Weltmodell. Modellierung anderer Akteure. Programmierung Intelligenter Roboter. Bewusstes Handeln, alternativ: Reflexe. Modellierung anderer Akteure Bezug auf bekannte Entscheidungsstrukturen (eigenes Team) Wahrnehmung, Weltmodell Zusammenfassung: Unvollständige, unsichere Sensordaten Wahrnehmungen: Aufbereitete Sensorinformationen

Mehr

Teil I: Einführung Motivation Einführendes Beispiel Merkmale eines Spiels Teil II: Mathematische Spieltheorie. Einführung

Teil I: Einführung Motivation Einführendes Beispiel Merkmale eines Spiels Teil II: Mathematische Spieltheorie. Einführung c by Rolf Haenni (2006) Seite 170 Teil I: Motivation Einführendes Beispiel Merkmale eines Spiels Teil II: Mathematische Spieltheorie Neutrale Spiele Die Conway-Theorie Teil III: Spielalgorithmen in der

Mehr

Programmierung in C++

Programmierung in C++ Skript zur Vorlesung Programmierung in C++ IT Kompaktkurs Teil 14: Rekursive Programmierung Wintersemester 2000/2001 Prof. Dr. Manfred Beham Fachhochschule Amberg-Weiden Empfohlene Literatur: Die C++ Bibel:

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

Zug Bart Borg Bart Borg Bart Borg Bart. Bart 2 1 1 1 Borg 1 1 2 verloren. Stand 8 7 6 5 4 2 1. Zug Bart Borg Bart Borg Bart Borg

Zug Bart Borg Bart Borg Bart Borg Bart. Bart 2 1 1 1 Borg 1 1 2 verloren. Stand 8 7 6 5 4 2 1. Zug Bart Borg Bart Borg Bart Borg . Das. Einführung Deep Blue Kasparow, Philadelphia 996 Deep Blue, der Supercomputer schlägt Garry Kasparow. So oder ähnlich lauteten die Schlagzeilen 996. Die 6 Partien waren insgesamt ausgeglichen, zum

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

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

3 Quellencodierung. 3.1 Einleitung

3 Quellencodierung. 3.1 Einleitung Source coding is what Alice uses to save money on her telephone bills. It is usually used for data compression, in other words, to make messages shorter. John Gordon 3 Quellencodierung 3. Einleitung Im

Mehr

Spieltheorie. Miriam Polzer 16.7.2013. Miriam Polzer Spieltheorie 16.7.2013 1 / 40

Spieltheorie. Miriam Polzer 16.7.2013. Miriam Polzer Spieltheorie 16.7.2013 1 / 40 Spieltheorie Miriam Polzer 16.7.2013 Miriam Polzer Spieltheorie 16.7.2013 1 / 40 1 Grundlagen 2 Minimax und Alpha-Beta-Pruning 3 Nim-Spiele 4 Josephus-Problem Miriam Polzer Spieltheorie 16.7.2013 2 / 40

Mehr

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel 3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel EADS 3.1 Konstruktion von minimalen Spannbäumen 16/36

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

Spieltheorie mit. sozialwissenschaftlichen Anwendungen

Spieltheorie mit. sozialwissenschaftlichen Anwendungen .. Friedel Bolle, Claudia Vogel Spieltheorie mit sozialwissenschaftlichen Anwendungen SS Inhalt. Einleitung. Sequentielle Spiele Terminologie Spielbäume Lösen von Sequentiellen Spielen .. Motivation: Warum

Mehr

Kapiteltests zum Leitprogramm Binäre Suchbäume

Kapiteltests zum Leitprogramm Binäre Suchbäume Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm

Mehr

Randomisierte Algorithmen

Randomisierte Algorithmen Randomisierte Algorithmen Randomisierte Algorithmen 5. Zwei spieltheoretische Aspekte Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2015/2016 1 / 36 Überblick

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

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

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

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

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

Randomisierte Algorithmen

Randomisierte Algorithmen Randomisierte Algorithmen Kapitel 2 Markus Lohrey Universität Leipzig http://www.informatik.uni-leipzig.de/~lohrey/rand WS 2005/2006 Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006

Mehr

Suchen und Sortieren Sortieren. Heaps

Suchen und Sortieren Sortieren. Heaps Suchen und Heaps (Folie 245, Seite 63 im Skript) 3 7 21 10 17 31 49 28 14 35 24 42 38 Definition Ein Heap ist ein Binärbaum, der die Heapeigenschaft hat (Kinder sind größer als der Vater), bis auf die

Mehr

Tutorium Algorithmen & Datenstrukturen

Tutorium Algorithmen & Datenstrukturen June 16, 2010 Binärer Baum Binärer Baum enthält keine Knoten (NIL) besteht aus drei disjunkten Knotenmengen: einem Wurzelknoten, einem binären Baum als linken Unterbaum und einem binären Baum als rechten

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

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

Binäre lineare Optimierung mit K*BMDs p.1/42

Binäre lineare Optimierung mit K*BMDs p.1/42 Binäre lineare Optimierung mit K*BMDs Ralf Wimmer wimmer@informatik.uni-freiburg.de Institut für Informatik Albert-Ludwigs-Universität Freiburg Binäre lineare Optimierung mit K*BMDs p.1/42 Grundlagen Binäre

Mehr

5. Spiele. offensichtlich eine Form von Intelligenz. Realisierung des Spielens als Suchproblem

5. Spiele. offensichtlich eine Form von Intelligenz. Realisierung des Spielens als Suchproblem 5. Spiele Spiele, insbesondere Brettspiele, stellen eines der ältesten Teil- und Anwendungsgebiete der KI dar (Shannon und Turing: 1950 erstes Schachprogramm). Brettspiele stellen eine sehr abstrakte und

Mehr

Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13)

Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13) Berlin, 21. Februar 2013 Name:... Matr.-Nr.:... Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13) 1 2 3 4 5 6 7 8 9 Σ Bearbeitungszeit: 90 min. max. Punktezahl:

Mehr

Spieltheorien und Theoreme

Spieltheorien und Theoreme Spieltheorien und Theoreme Seminar: Randomisierte Algorithmen Prof. Dr. R. Klein Alexander Hombach Eine bilinguale Ausarbeitung von Alexander Hombach, Daniel Herrmann und Ibraguim Kouliev (Teil 1) Rheinische

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

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

Sortierverfahren für Felder (Listen)

Sortierverfahren für Felder (Listen) Sortierverfahren für Felder (Listen) Generell geht es um die Sortierung von Daten nach einem bestimmten Sortierschlüssel. Es ist auch möglich, daß verschiedene Daten denselben Sortierschlüssel haben. Es

Mehr

B-Bäume I. Algorithmen und Datenstrukturen 220 DATABASE SYSTEMS GROUP

B-Bäume I. Algorithmen und Datenstrukturen 220 DATABASE SYSTEMS GROUP B-Bäume I Annahme: Sei die Anzahl der Objekte und damit der Datensätze. Das Datenvolumen ist zu groß, um im Hauptspeicher gehalten zu werden, z.b. 10. Datensätze auf externen Speicher auslagern, z.b. Festplatte

Mehr

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Divide-and-Conquer. Vorlesung 9: Quicksort (K7)

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Divide-and-Conquer. Vorlesung 9: Quicksort (K7) Datenstrukturen und Algorithmen Vorlesung 9: (K7) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://www-i2.rwth-aachen.de/i2/dsal0/ Algorithmus 8. Mai 200 Joost-Pieter

Mehr

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r ) Definition B : Menge der binären Bäume, rekursiv definiert durch die Regeln: ist ein binärer Baum sind t l, t r binäre Bäume, so ist auch t =, t l, t r ein binärer Baum nur das, was durch die beiden vorigen

Mehr

Was ist Logische Programmierung?

Was ist Logische Programmierung? Was ist Logische Programmierung? Die Bedeutung eines Computer-Programms kann durch Logik erklärt werden. Die Idee der logischen Programmierung besteht darin, die Logik eines Programms selber als Programm

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

3. Entscheidungsbäume. Verfahren zum Begriffslernen (Klassifikation) Beispiel: weiteres Beispiel: (aus Böhm 2003) (aus Morik 2002)

3. Entscheidungsbäume. Verfahren zum Begriffslernen (Klassifikation) Beispiel: weiteres Beispiel: (aus Böhm 2003) (aus Morik 2002) 3. Entscheidungsbäume Verfahren zum Begriffslernen (Klassifikation) Beispiel: weiteres Beispiel: (aus Böhm 2003) (aus Morik 2002) (aus Wilhelm 2001) Beispiel: (aus Böhm 2003) Wann sind Entscheidungsbäume

Mehr

Kapitel 3: Problemformulierungen in der KI. oder das Problem ist die halbe Lösung

Kapitel 3: Problemformulierungen in der KI. oder das Problem ist die halbe Lösung Kapitel 3: Problemformulierungen in der KI oder das Problem ist die halbe Lösung Lernziele: eine Struktur für die Definition eines problemlösenden Agenten kennen die wichtige Rolle von Abstraktionen in

Mehr

Rechnerische Komplexität

Rechnerische Komplexität Proseminar Effiziente Algorithmen SS 2002 Rechnerische Komplexität Ulrike Krönert (34180) 0. Inhalt 1. Einführung 2. Algorithmen und Komplexität 2.1. Algorithmen 2.2. Laufzeitabschätzung 2.3. Polynomialzeit

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

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume Effiziente Algorithmen und Datenstrukturen I Kapitel 9: Minimale Spannbäume Christian Scheideler WS 008 19.0.009 Kapitel 9 1 Minimaler Spannbaum Zentrale Frage: Welche Kanten muss ich nehmen, um mit minimalen

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

8. Logische Programmierung. Prolog Sprachkonstrukte: Fakten. Prolog Übersicht

8. Logische Programmierung. Prolog Sprachkonstrukte: Fakten. Prolog Übersicht 8. Logische Programmierung GPS-8-1 Übersicht zur logischen Programmierung GPS-8-2 Themen dieses Kapitels: Deklaratives Programmieren: Problem beschreiben statt Algorithmus implementieren (idealisiert).

Mehr

Kodierungsalgorithmen

Kodierungsalgorithmen Kodierungsalgorithmen Komprimierung Verschlüsselung Komprimierung Zielsetzung: Reduktion der Speicherkapazität Schnellere Übertragung Prinzipien: Wiederholungen in den Eingabedaten kompakter speichern

Mehr

Gliederung. Definition Wichtige Aussagen und Sätze Algorithmen zum Finden von Starken Zusammenhangskomponenten

Gliederung. Definition Wichtige Aussagen und Sätze Algorithmen zum Finden von Starken Zusammenhangskomponenten Gliederung Zusammenhang von Graphen Stark Zusammenhängend K-fach Zusammenhängend Brücken Definition Algorithmus zum Finden von Brücken Anwendung Zusammenhangskomponente Definition Wichtige Aussagen und

Mehr

6 Baumstrukturen. Formale Grundlagen der Informatik I Herbstsemester 2012. Robert Marti

6 Baumstrukturen. Formale Grundlagen der Informatik I Herbstsemester 2012. Robert Marti 6 Baumstrukturen Formale Grundlagen der Informatik I Herbstsemester 2012 Robert Marti Vorlesung teilweise basierend auf Unterlagen von Prof. emer. Helmut Schauer Beispiel: Hierarchisches File System 2

Mehr

Beispiellösungen zu Blatt 111

Beispiellösungen zu Blatt 111 µ κ Mathematisches Institut Georg-August-Universität Göttingen Beispiellösungen zu Blatt 111 Aufgabe 1 Ludwigshafen hat einen Bahnhof in Dreiecksform. Markus, Sabine und Wilhelm beobachten den Zugverkehr

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

Einführung in PROLOG. Christian Stocker

Einführung in PROLOG. Christian Stocker Einführung in PROLOG Christian Stocker Inhalt Was ist PROLOG? Der PROLOG- Interpreter Welcher Interpreter? SWI-Prolog Syntax Einführung Fakten, Regeln, Anfragen Operatoren Rekursion Listen Cut Funktionsweise

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

Ein Algorithmus für die

Ein Algorithmus für die VGG 1 Ein Algorithmus für die Visualisierung gerichteter Graphen in der Ebene (2D) Seminar Graph Drawing SS 2004 bei Prof. Bischof (Lehrstuhl für Hochleistungsrechnen) Gliederung VGG 2 Einleitung Motivation

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

Schwierige Probleme in der Informatik Informationen für die Lehrperson

Schwierige Probleme in der Informatik Informationen für die Lehrperson Schwierige Probleme in der Informatik Informationen für die Lehrperson Thema, Adressaten,... Das Thema dieses Moduls sind NP-vollständige Probleme, also schwierige Probleme in der Informatik. GraphBench

Mehr

4. Lernen von Entscheidungsbäumen. Klassifikation mit Entscheidungsbäumen. Entscheidungsbaum

4. Lernen von Entscheidungsbäumen. Klassifikation mit Entscheidungsbäumen. Entscheidungsbaum 4. Lernen von Entscheidungsbäumen Klassifikation mit Entscheidungsbäumen Gegeben sei eine Menge von Objekten, die durch /Wert- Paare beschrieben sind. Jedes Objekt kann einer Klasse zugeordnet werden.

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

Zeichnen von Graphen. graph drawing

Zeichnen von Graphen. graph drawing Zeichnen von Graphen graph drawing WS 2006 / 2007 Gruppe: D_rot_Ala0607 Christian Becker 11042315 Eugen Plischke 11042351 Vadim Filippov 11042026 Gegeben sei ein Graph G = (V; E) Problemstellung V E =

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

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

Beispiel. Bsp.: Betrachte Schlussweise in: (3) folgt aus (1) und (2), siehe z.b. Resolutionsregel. was ist mit folgender Schlußweise:

Beispiel. Bsp.: Betrachte Schlussweise in: (3) folgt aus (1) und (2), siehe z.b. Resolutionsregel. was ist mit folgender Schlußweise: Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 5.4 Prädikatenlogik mit Gleichheit Resolution 192 Beispiel Bsp.: Betrachte Schlussweise in: 1 Wenn es regnet, dann wird die Straße nass. R N

Mehr

Balancierte Bäume. Martin Wirsing. in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer. http://www.pst.ifi.lmu.de/lehre/ss06/infoii/ SS 06

Balancierte Bäume. Martin Wirsing. in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer. http://www.pst.ifi.lmu.de/lehre/ss06/infoii/ SS 06 Balancierte Bäume Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer http://www.pst.ifi.lmu.de/lehre/ss06/infoii/ SS 06 2 Ziele AVL-Bäume als einen wichtigen Vertreter balancierter

Mehr

Kompetitive Analysen von Online-Algorithmen

Kompetitive Analysen von Online-Algorithmen Kompetitive Analysen von Online-Algorithmen jonas echterhoff 16. Juli 004 1 Einführung 1.1 Terminologie Online-Algorithmen sind Algorithmen, die Probleme lösen sollen, bei denen Entscheidungen getroffen

Mehr

Codierung, Codes (variabler Länge)

Codierung, Codes (variabler Länge) Codierung, Codes (variabler Länge) A = {a, b, c,...} eine endliche Menge von Nachrichten (Quellalphabet) B = {0, 1} das Kanalalphabet Eine (binäre) Codierung ist eine injektive Abbildung Φ : A B +, falls

Mehr