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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Unterrichtsvorhaben Q2- I:

Unterrichtsvorhaben Q2- I: Schulinterner Lehrplan Informatik Sekundarstufe II Q2 III. Qualifikationsphase Q2 Unterrichtsvorhaben Q2- I: Im ersten Halbjahr 1 Klausur, im 2. Halbjahr ein Projekt. Die Länge der Klausur beträgt 90 min.

Mehr

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

Nachtrag zu binären Suchbäumen

Nachtrag zu binären Suchbäumen Nachtrag zu binären Suchbäumen (nicht notwendigerweise zu AVL Bäumen) Löschen 1 3 2 10 4 12 1. Fall: Der zu löschende Knoten ist ein Blatt: einfach löschen 2. Fall: Der zu löschende Knoten hat ein Nachfolgeelement

Mehr

Data Mining und Text Mining Einführung. S2 Einfache Regellerner

Data Mining und Text Mining Einführung. S2 Einfache Regellerner Data Mining und Text Mining Einführung S2 Einfache Regellerner Hans Hermann Weber Univ. Erlangen, Informatik 8 Wintersemester 2003 hans.hermann.weber@gmx.de Inhalt Einiges über Regeln und Bäume R1 ein

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

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

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

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

Steinerbäume. Seminarausarbeitung Hochschule Aalen Fakultät für Elektronik und Informatik Studiengang Informatik Schwerpunkt Software Engineering

Steinerbäume. Seminarausarbeitung Hochschule Aalen Fakultät für Elektronik und Informatik Studiengang Informatik Schwerpunkt Software Engineering Steinerbäume Seminarausarbeitung Hochschule Aalen Fakultät für Elektronik und Informatik Studiengang Informatik Schwerpunkt Software Engineering Verfasser Flamur Kastrati Betreuer Prof. Dr. habil. Thomas

Mehr

w a is die Anzahl der Vorkommen von a in w Beispiel: abba a = 2

w a is die Anzahl der Vorkommen von a in w Beispiel: abba a = 2 1 2 Notation für Wörter Grundlagen der Theoretischen Informatik Till Mossakowski Fakultät für Informatik Otto-von-Guericke Universität Magdeburg w a is die Anzahl der Vorkommen von a in w Beispiel: abba

Mehr

Intelligente Spiele. Prof. Rolf Haenni. Master-Vorlesung SS 2006. http://www.iam.unibe.ch/ run/teachss06.html

Intelligente Spiele. Prof. Rolf Haenni. Master-Vorlesung SS 2006. http://www.iam.unibe.ch/ run/teachss06.html c by Rolf Haenni (2006) Seite 1 Intelligente Spiele Prof. Rolf Haenni Reasoning under UNcertainty Group Institute of Computer Science and Applied Mathematics University of Berne, Switzerland Master-Vorlesung

Mehr

PIWIN 1 Übung Blatt 5

PIWIN 1 Übung Blatt 5 Fakultät für Informatik Wintersemester 2008 André Gronemeier, LS 2, OH 14 Raum 307, andre.gronemeier@cs.uni-dortmund.de PIWIN 1 Übung Blatt 5 Ausgabedatum: 19.12.2008 Übungen: 12.1.2009-22.1.2009 Abgabe:

Mehr

Programmierung und Modellierung

Programmierung und Modellierung Programmierung und Modellierung Terme, Suchbäume und Pattern Matching Martin Wirsing in Zusammenarbeit mit Moritz Hammer SS 2009 2 Inhalt Kap. 7 Benutzerdefinierte Datentypen 7. Binärer Suchbaum 8. Anwendung:

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

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

Prolog basiert auf Prädikatenlogik

Prolog basiert auf Prädikatenlogik Software-Technologie Software-Systeme sind sehr komplex. Im Idealfall erfolgt die Programmierung problemorientiert, während die notwendige Übertragung in ausführbare Programme automatisch erfolgt. Prolog-Philosophie:

Mehr

Sortierte Folgen 250

Sortierte Folgen 250 Sortierte Folgen 250 Sortierte Folgen: he 1,...,e n i mit e 1 apple applee n kennzeichnende Funktion: M.locate(k):= addressof min{e 2 M : e k} Navigations Datenstruktur 2 3 5 7 11 13 17 19 00 Annahme:

Mehr

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

Branch-and-Bound. Wir betrachten allgemein Probleme, deren Suchraum durch Bäume dargestellt werden kann. Innerhalb des Suchraums suchen wir Effiziente Algorithmen Lösen NP-vollständiger Probleme 289 Branch-and-Bound Wir betrachten allgemein Probleme, deren Suchraum durch Bäume dargestellt werden kann. Innerhalb des Suchraums suchen wir 1.

Mehr

Abschnitt: Algorithmendesign und Laufzeitanalyse

Abschnitt: Algorithmendesign und Laufzeitanalyse Abschnitt: Algorithmendesign und Laufzeitanalyse Definition Divide-and-Conquer Paradigma Divide-and-Conquer Algorithmen verwenden die Strategien 1 Divide: Teile das Problem rekursiv in Subproblem gleicher

Mehr

Spieltheorie Teil 2. Tone Arnold. Universität des Saarlandes. 28. April 2008

Spieltheorie Teil 2. Tone Arnold. Universität des Saarlandes. 28. April 2008 Spieltheorie Teil 2 Tone Arnold Universität des Saarlandes 28. April 2008 Tone Arnold (Universität des Saarlandes) Spieltheorie Teil 2 28. April 2008 1 / 66 Sequenzielle Spiele: Strategie vs. Aktion Bisher:

Mehr

Binäre Suchbäume (binary search trees, kurz: bst)

Binäre Suchbäume (binary search trees, kurz: bst) Binäre Suchbäume (binary search trees, kurz: bst) Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer: Binärbaum T mit n := M Knoten Jeder Knoten v von T ist mit einer Zahl m v M markiert.

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

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

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

368 4 Algorithmen und Datenstrukturen

368 4 Algorithmen und Datenstrukturen Kap04.fm Seite 368 Dienstag, 7. September 2010 1:51 13 368 4 Algorithmen und Datenstrukturen Java-Klassen Die ist die Klasse Object, ein Pfeil von Klasse A nach Klasse B bedeutet Bextends A, d.h. B ist

Mehr

Übungsaufgaben zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 6

Übungsaufgaben zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 6 Prof. Dr. Wilhelm Schäfer Paderborn, 24. November 204 Christian Brenner Tristan Wittgen Besprechung der Aufgaben:. - 4. Dezember 204 Übungsaufgaben zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester

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

Kodierungsalgorithmen

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

Mehr

Seminar künstliche Intelligenz

Seminar künstliche Intelligenz Seminar künstliche Intelligenz Das Kürzeste-Wege-Problem in öffentlichen Verkehrsnetzen Stefan Görlich mi5517 25.05.2005 Inhalt 1. Einleitung 1.1 Problemstellung 3 1.2 Zielsetzung 3 1.3 Die Suche in öffentlichen

Mehr

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

Bäume. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 10: Collections 4. Inhalt. Bäume. Einführung. Bäume.

Bäume. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 10: Collections 4. Inhalt. Bäume. Einführung. Bäume. Universität Osnabrück 1 Bäume 3 - Objektorientierte Programmierung in Java Vorlesung 10: Collections 4 Einführung Bäume sind verallgemeinerte Listenstrukturen Lineare Liste Jedes Element hat höchstens

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens aw@awilkens.com Überblick Grundlagen Definitionen Elementare Datenstrukturen Rekursionen Bäume 2 1 Datenstruktur Baum Definition eines Baumes

Mehr

Tutoren Simon Andermatt Lukas Beck. Alexis Peter Thomas Ritter

Tutoren Simon Andermatt Lukas Beck. Alexis Peter Thomas Ritter UNIVERSITÄT BASEL Dozent Prof. Dr. Thomas Vetter Departement Informatik Assistenten Brian Amberg Andreas Forster Tutoren Simon Andermatt Lukas Beck Webseite http://informatik.unibas.ch/lehre/hs10/cs101/index.html

Mehr

Programmiertechnik II

Programmiertechnik II Bäume Symboltabellen Suche nach Werten (items), die unter einem Schlüssel (key) gefunden werden können Bankkonten: Schlüssel ist Kontonummer Flugreservierung: Schlüssel ist Flugnummer, Reservierungsnummer,...

Mehr

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können. 6. Bäume Lernziele 6. Bäume Lernziele: Definition und Eigenschaften binärer Bäume kennen, Traversierungsalgorithmen für binäre Bäume implementieren können, die Bedeutung von Suchbäumen für die effiziente

Mehr

Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 04.06.2004 7. Vorlesung

Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 04.06.2004 7. Vorlesung Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 04.06.2004 7. Vorlesung 1 Kapitel III Skalierbare Peer to Peer-Netzwerke Tapestry von Zhao, Kubiatowicz und Joseph (2001) Netzw erke 2 Tapestry

Mehr

Kapitel 5: Dynamisches Programmieren Gliederung

Kapitel 5: Dynamisches Programmieren Gliederung Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen

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

Bisher angenommen: jeder Spieler kennt alle Teile des Spiels. - Diskontfaktor des Verhandlungspartners

Bisher angenommen: jeder Spieler kennt alle Teile des Spiels. - Diskontfaktor des Verhandlungspartners 1 KAP 15. Spiele unter unvollständiger Information Bisher angenommen: jeder Spieler kennt alle Teile des Spiels seine Gegenspieler, deren Aktionen, deren Nutzen, seinen eigenen Nutzen etc. Oft kennt man

Mehr

Suchen und Sortieren

Suchen und Sortieren (Folie 69, Seite 36 im Skript) 5 6 1 4 Als assoziatives Array geeignet Schlüssel aus geordneter Menge Linke Kinder kleiner, rechte Kinder größer als Elternknoten Externe und interne Knoten Externe Knoten

Mehr

Maschinelles Lernen Entscheidungsbäume

Maschinelles Lernen Entscheidungsbäume Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen Maschinelles Lernen Entscheidungsbäume Paul Prasse Entscheidungsbäume Eine von vielen Anwendungen: Kreditrisiken Kredit - Sicherheiten

Mehr

Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer:

Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer: Binäre Suchbäume (binary search trees, kurz: bst) Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer: Binärbaum T mit n := M Knoten Jeder Knoten v von T ist mit einer Zahl m v M markiert.

Mehr

Von Paul Curzon, Queen Mary, University of London mit Unterstützung von Google und EPSRC

Von Paul Curzon, Queen Mary, University of London mit Unterstützung von Google und EPSRC Compu terwissenscha ften mi t Spaßfak tor Spiele gewinnen: der perfekte Tic Tac Toe-Spieler Von Paul Curzon, Queen Mary, University of London mit Unterstützung von Google und EPSRC Spiele gewinnen: der

Mehr

Ich möchte eine Bildergalerie ins Internet stellen

Ich möchte eine Bildergalerie ins Internet stellen Ich möchte eine Bildergalerie ins Internet stellen Ich habe viele Fotos von Blumen, von Häusern, von Menschen. Ich möchte zu einem Thema Fotos sammeln, eine Vorschau erstellen und die Fotos so in der Größe

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

Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg 19.04.2011

Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg 19.04.2011 Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 19.04.2011 Überlagern von Kartenebenen Beispiel: Gegeben zwei

Mehr

Algorithmen und Datenstrukturen SS09

Algorithmen und Datenstrukturen SS09 Foliensatz 8 Michael Brinkmeier Technische Universität Ilmenau Institut für Theoretische Informatik Sommersemester 29 TU Ilmenau Seite / 54 Binärbäume TU Ilmenau Seite 2 / 54 Binäre Bäume Bäume und speziell

Mehr

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

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12 Grundlagen: Folge 19 - Bäume 19.1 Binärbäume - Allgemeines Unter Bäumen versteht man in der Informatik Datenstrukturen, bei denen jedes Element mindestens zwei Nachfolger hat. Bereits in der Folge 17 haben

Mehr

Datenstrukturen DCG Grammatiken. Tutorial I Operationen auf Datenstrukturen II Bäume DCGs und Semantik II

Datenstrukturen DCG Grammatiken. Tutorial I Operationen auf Datenstrukturen II Bäume DCGs und Semantik II Datenstrukturen DCG Grammatiken Tutorial I Operationen auf Datenstrukturen II Bäume DCGs und Semantik II Bäume Repräsentation von Mengen durch binäre Bäume: Eine häufige Anwendung von Listen ist es Mengen

Mehr

6. Algorithmen der Computer-Geometrie

6. Algorithmen der Computer-Geometrie 6. Algorithmen der Computer-Geometrie 1. Einführung 2. Schnitt von zwei Strecken 3. Punkt-in-Polygon-Test 4. Schnitt orthogonaler Strecken 5. Punkteinschlussproblem Geo-Informationssysteme 146 6.1 Computer-Geometrie

Mehr

Elemente der Analysis II

Elemente der Analysis II Elemente der Analysis II Kapitel 3: Lineare Abbildungen und Gleichungssysteme Informationen zur Vorlesung: http://www.mathematik.uni-trier.de/ wengenroth/ J. Wengenroth () 15. Mai 2009 1 / 35 3.1 Beispiel

Mehr

Algorithmik II. a) Fügen Sie in einen anfangs leeren binären Baum die Schlüsselfolge 20, 28, 35, 31, 9, 4, 13, 17, 37, 25 ein.

Algorithmik II. a) Fügen Sie in einen anfangs leeren binären Baum die Schlüsselfolge 20, 28, 35, 31, 9, 4, 13, 17, 37, 25 ein. Aufgabe 10 Binäre Bäume a) Fügen Sie in einen anfangs leeren binären Baum die Schlüsselfolge, 28, 35, 31, 9, 4,, 17, 37, 25 ein. 1. Einfügen von : 3. Einfugen von 35: 2. Einfügen von 28: 28 28 10. Einfügen

Mehr

Was bisher geschah Wissensrepräsentation und -verarbeitung in Zustandsübergangssystemen Constraint-Systemen Logiken Repräsentation von Mengen

Was bisher geschah Wissensrepräsentation und -verarbeitung in Zustandsübergangssystemen Constraint-Systemen Logiken Repräsentation von Mengen Was bisher geschah Wissensrepräsentation und -verarbeitung in Zustandsübergangssystemen Constraint-Systemen Logiken Repräsentation von Mengen aussagenlogischer Regeln: Wissensbasis (Kontextwissen): Formelmenge,

Mehr

Highway Hierarchies. Kristian Dannowski, Matthias Hoeschel

Highway Hierarchies. Kristian Dannowski, Matthias Hoeschel Highway Hierarchies Kristian Dannowski, Matthias Hoeschel Gliederung Einleitung / Bidirektional Dijkstra Intuition / Naive Strategie Konstruktion der Highway Hierarchie Suche in der Highway Hierarchie

Mehr

ABITURPRÜFUNG 2009 LEISTUNGSFACH INFORMATIK

ABITURPRÜFUNG 2009 LEISTUNGSFACH INFORMATIK ABITURPRÜFUNG 2009 LEISTUNGSFACH INFORMATIK (HAUPTTERMIN) Bearbeitungszeit: 270 Minuten Hilfsmittel: Wörterbuch zur deutschen Rechtschreibung Taschenrechner (nicht programmierbar, nicht grafikfähig) (Schüler,

Mehr

Data Cube. Aggregation in SQL. Beispiel: Autoverkäufe. On-line Analytical Processing (OLAP) 1. Einführung. 2. Aggregation in SQL, GROUP BY

Data Cube. Aggregation in SQL. Beispiel: Autoverkäufe. On-line Analytical Processing (OLAP) 1. Einführung. 2. Aggregation in SQL, GROUP BY Data Cube On-line Analytical Processing (OLAP). Einführung Ziel: Auffinden interessanter Muster in großen Datenmengen 2. Aggregation in SQL, GROUP BY 3. Probleme mit GROUP BY 4. Der Cube-Operator! Formulierung

Mehr

Idee: Wenn wir beim Kopfknoten zwei Referenzen verfolgen können, sind die Teillisten kürzer. kopf Eine Datenstruktur mit Schlüsselwerten 1 bis 10

Idee: Wenn wir beim Kopfknoten zwei Referenzen verfolgen können, sind die Teillisten kürzer. kopf Eine Datenstruktur mit Schlüsselwerten 1 bis 10 Binäre Bäume Bäume gehören zu den wichtigsten Datenstrukturen in der Informatik. Sie repräsentieren z.b. die Struktur eines arithmetischen Terms oder die Struktur eines Buchs. Bäume beschreiben Organisationshierarchien

Mehr

Fiktives Spiel und Verlustminimierung. Seminarvortrag von Alexander Marinc zur TUD Computer Poker Challenge 2008

Fiktives Spiel und Verlustminimierung. Seminarvortrag von Alexander Marinc zur TUD Computer Poker Challenge 2008 Fiktives Spiel und Verlustminimierung Seminarvortrag von Alexander Marinc zur TUD Computer Poker Challenge 2008 Dezimierung Übersicht Fiktives Spiel Verlustminimierung Splines Seite 2/30 Inhalt Einführung

Mehr

Knowledge Engineering Solved Games (I) Now and in the future H.J. van den Herik (2002)

Knowledge Engineering Solved Games (I) Now and in the future H.J. van den Herik (2002) Knowledge Engineering Solved Games (I) Now and in the future H.J. van den Herik (2002) von Florian Scheuring Agenda I. Einleitung II. III. Grundlagen Eingesetzte Lösungsmethoden IV. Vorstellung bereits

Mehr

Kugel-Fächer-Modell. 1fach. 3fach. Für die Einzelkugel gibt es 3 Möglichkeiten. 6fach. 3! Möglichkeiten

Kugel-Fächer-Modell. 1fach. 3fach. Für die Einzelkugel gibt es 3 Möglichkeiten. 6fach. 3! Möglichkeiten Kugel-Fächer-Modell n Kugeln (Rosinen) sollen auf m Fächer (Brötchen) verteilt werden, zunächst 3 Kugeln auf 3 Fächer. 1fach 3fach Für die Einzelkugel gibt es 3 Möglichkeiten } 6fach 3! Möglichkeiten Es

Mehr

VS7 Slide 1. Verteilte Systeme. Vorlesung 7 vom 27.05.2004 Dr. Sebastian Iwanowski FH Wedel

VS7 Slide 1. Verteilte Systeme. Vorlesung 7 vom 27.05.2004 Dr. Sebastian Iwanowski FH Wedel VS7 Slide 1 Verteilte Systeme Vorlesung 7 vom 27.05.2004 Dr. Sebastian Iwanowski FH Wedel Inhaltsverzeichnis für die Vorlesung Zur Motivation: 4 Beispiele aus der Praxis Allgemeine Anforderungen an Verteilte

Mehr

Grundlagen und Basisalgorithmus

Grundlagen und Basisalgorithmus Grundlagen und Basisalgorithmus Proseminar -Genetische Programmierung- Dezember 2001 David König Quelle: Kinnebrock W.: Optimierung mit genetischen und selektiven Algorithmen. München, Wien: Oldenbourg

Mehr

Seminar Komplexe Objekte in Datenbanken

Seminar Komplexe Objekte in Datenbanken Seminar Komplexe Objekte in Datenbanken OPTICS: Ordering Points To Identify the Clustering Structure Lehrstuhl für Informatik IX - Univ.-Prof. Dr. Thomas Seidl, RWTH-Aachen http://www-i9.informatik.rwth-aachen.de

Mehr

Prof. Dr. sc. Hans-Dieter Burkhard Vorlesung Winter-Semester 2003/04. Wissensrepräsentation: Resolution (im PK1)

Prof. Dr. sc. Hans-Dieter Burkhard Vorlesung Winter-Semester 2003/04. Wissensrepräsentation: Resolution (im PK1) Einführung in die KI Prof. Dr. sc. Hans-Dieter Burkhard Vorlesung Wissensrepräsentation: Resolution (im PK1) 2. Resolution Vorbild für Formalismus : exakt, präzise, (theoretisch) beherrscht Aufbau: Zeichen

Mehr

Verfahren zur Berechnung von Routen zur Gewährleistung von Ende-zu-Ende QoS

Verfahren zur Berechnung von Routen zur Gewährleistung von Ende-zu-Ende QoS Verfahren zur Berechnung von Routen zur Gewährleistung von Ende-zu-Ende QoS Dezember 007 Dipl.-Ing. Stefan Abu Salah Dipl.-Ing. Achim Marikar QoS (Quality of Service): Sicherstellung der Qualität Zeitkritische

Mehr

Proseminar: Geschichte des Computers Schachprogrammierung Die Digitale Revolution

Proseminar: Geschichte des Computers Schachprogrammierung Die Digitale Revolution Die Digitale Revolution Internet 3D-Drucker Quants Singularität 27.02.14 Johannes Polster Das Spiel der Könige Sehr altes Spiel: Entstehung vor 1500 Jahren Weltberühmt Strategisches Spiel Kein Glück, Intelligenz,

Mehr

2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik

2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik Stefan Lucks Diskrete Strukturen (WS 2009/10) 57 2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik Uhr: Stunden mod 24, Minuten mod 60, Sekunden mod 60,... Rechnerarithmetik: mod 2 w, w {8, 16, 32,

Mehr

1. Das Grundspiel Ziel des Spiels. Inhalt: 1 Spielplan, 34 Gängekarten, 24 Bildkarten, 4 Spielfiguren

1. Das Grundspiel Ziel des Spiels. Inhalt: 1 Spielplan, 34 Gängekarten, 24 Bildkarten, 4 Spielfiguren Inhalt: 1 Spielplan, 34 Gängekarten, 24 Bildkarten, 4 Spielfiguren Ravensburger Spiele 26 534 3 Ein Spiel für 2-4 Spieler ab 7 Jahren Autor: Max J. Kobbert Illustration: Joachim Krause, illuvision Design:

Mehr

Kopf und Rest einer Liste (head and tail): Trennung durch. Listenkopf: kann mehrere Elemente umfassen

Kopf und Rest einer Liste (head and tail): Trennung durch. Listenkopf: kann mehrere Elemente umfassen Prolog Syntax Liste, Variable [ Term Liste ] Listenelemente: Trennung durch Komma [1, pferd, klaus] Kopf und Rest einer Liste (head and tail): Trennung durch [K R] = [1, pferd, klaus] (K = 1, R = [pferd,

Mehr

Softcomputing. Künstliche Intelligenz in endlichen Zwei-Personen-Nullsummenspiele mit perfekter Information. Michael Dorner. Prof. Dr.

Softcomputing. Künstliche Intelligenz in endlichen Zwei-Personen-Nullsummenspiele mit perfekter Information. Michael Dorner. Prof. Dr. Technische Hochschule Nürnberg Georg-Simon-Ohm Fakultät Informatik Softcomputing Künstliche Intelligenz in endlichen Zwei-Personen-Nullsummenspiele mit perfekter Information Autor Michael Dorner betreut

Mehr

Theoretische Informatik I

Theoretische Informatik I Theoretische nformatik inheit 3 Kontextfreie Sprachen 1. Kontextfreie Grammatiken 2. Pushdown Automaten 3. igenschaften kontextfreier Sprachen Theoretische nformatik inheit 3.1 Kontextfreie Grammatiken

Mehr