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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Klausur Informatik B April Teil I: Informatik 3

Klausur Informatik B April Teil I: Informatik 3 Informatik 3 Seite 1 von 8 Klausur Informatik B April 1998 Teil I: Informatik 3 Informatik 3 Seite 2 von 8 Aufgabe 1: Fragekatalog (gesamt 5 ) Beantworten Sie folgende Fragen kurz in ein oder zwei Sätzen.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

9. Heuristische Suche

9. Heuristische Suche 9. Heuristische Suche Prof. Dr. Rudolf Kruse University of Magdeburg Faculty of Computer Science Magdeburg, Germany rudolf.kruse@cs.uni-magdeburg.de S Heuristische Suche Idee: Wir nutzen eine (heuristische)

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

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

Datenstrukturen & Algorithmen Lösungen zu Blatt 6 FS 14

Datenstrukturen & Algorithmen Lösungen zu Blatt 6 FS 14 Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik 2. April

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

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

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

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

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

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

Bericht vom 1. Leipziger Seminar am 25. November 2006

Bericht vom 1. Leipziger Seminar am 25. November 2006 Bericht vom 1. Leipziger Seminar am 25. November 2006 Das Wythoff-Nim-Spiel Wir wollen uns ein Spiel für zwei Personen ansehen, welches sich W.A.Wythoff 1907 ausgedacht hat: Vor den Spielern liegen zwei

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

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

5 Zwei spieltheoretische Aspekte

5 Zwei spieltheoretische Aspekte 5 Zwei spieltheoretische Aspekte In diesem Kapitel wollen wir uns mit dem algorithmischen Problem beschäftigen, sogenannte Und-Oder-Bäume (kurz UOB) auszuwerten. Sie sind ein Spezialfall von Spielbäumen,

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

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

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

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

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

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

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

Ü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

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

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

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 13 (18.6.2014) Binäre Suchbäume IV (Rot Schwarz Bäume) Algorithmen und Komplexität Rot Schwarz Bäume Ziel: Binäre Suchbäume, welche immer

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

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

G : (V; E) mit E V V G : (V 1, V 2 ; E) mit E V 1 V 2 V 2 V 1 l(w) k i1 l(e i ) dist(u, v) 0 min(l(w) : W ist ein Weg von u nach v falls u v falls ein solcher Weg existiert sonst v 1 V v i V (i

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

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

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

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

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

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

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

Vorlesung 04.12.2006: Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz

Vorlesung 04.12.2006: Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz Vorlesung 04.12.2006: Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz Datenstruktur BDD 1986 von R. Bryant vorgeschlagen zur Darstellung von aussagenlogischen Formeln (genauer: Booleschen Funktionen)

Mehr

Jan Parthey, Christin Seifert. 22. Mai 2003

Jan Parthey, Christin Seifert. 22. Mai 2003 Simulation Rekursiver Auto-Assoziativer Speicher (RAAM) durch Erweiterung eines klassischen Backpropagation-Simulators Jan Parthey, Christin Seifert jpar@hrz.tu-chemnitz.de, sech@hrz.tu-chemnitz.de 22.

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

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

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

Periodische Fahrpläne und Kreise in Graphen

Periodische Fahrpläne und Kreise in Graphen Periodische Fahrpläne und Kreise in Graphen Vorlesung Algorithmentechnik WS 2009/10 Dorothea Wagner Karlsruher Institut für Technologie Eisenbahnoptimierungsprozess 1 Anforderungserhebung Netzwerkentwurf

Mehr