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

Praktische Informatik 2

Praktische Informatik 2 Praktische Informatik 2 Sommer-Semester 2007 Prof. Dr. sc. Hans-Dieter Burkhard www.ki.informatik.hu-berlin.de Praktische Informatik 2 Themen Alternative Programmiermethoden: Deklaratives (logisches Programmieren):

Mehr

Modell für Relationen (mit Variablen)

Modell für Relationen (mit Variablen) 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

Mehr

Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche. Suche in Spielbäumen. KI SS2011: Suche in Spielbäumen 1/20

Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche. Suche in Spielbäumen. KI SS2011: Suche in Spielbäumen 1/20 Suche in Spielbäumen Suche in Spielbäumen KI SS2011: Suche in Spielbäumen 1/20 Spiele in der KI Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche Einschränkung von Spielen auf: 2 Spieler:

Mehr

Praktische Informatik 2

Praktische Informatik 2 Praktische Informatik 2 Sommer-Semester 2007 Prof. Dr. sc. Hans-Dieter Burkhard www.ki.informatik.hu-berlin.de Praktische Informatik 2 Themen Alternative Programmiermethoden: Deklaratives (logisches Programmieren):

Mehr

Verfügbare arithmetische Operationen ( reelle Zahlen): +, -,, /, //, mod und ggf. weitere

Verfügbare arithmetische Operationen ( reelle Zahlen): +, -,, /, //, mod und ggf. weitere Prolog-Arithmetik Verfügbare arithmetische Operationen ( reelle Zahlen): +, -,, /, //, mod und ggf. weitere Verfügbare arithmetische Vergleichsoperationen: >, =, =

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

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

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

Praktische Informatik 2 Sommer-Semester 2005

Praktische Informatik 2 Sommer-Semester 2005 Praktische Informatik 2 Sommer-Semester 2005 Prof. Dr. sc. Hans-Dieter Burkhard www.ki.informatik.hu-berlin.de Praktische Informatik 2 Themen Alternative Programmiermethoden: Deklaratives (logisches Programmieren):

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Constraint-Algorithmen in Kürze - Mit der Lösung zur Path-Consistency-Aufgabe 9

Constraint-Algorithmen in Kürze - Mit der Lösung zur Path-Consistency-Aufgabe 9 Constraint-Algorithmen in Kürze - Mit der Lösung zur Path-Consistency-Aufgabe 9 Prof. Dr. W. Conen Version 1.0c Januar 2009 Genereller Ablauf der Suche Gegeben: Variablen X, Domains D, Constraints R (explizit

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

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

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

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

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

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)

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

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

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

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

Beweisbar sichere Verschlüsselung

Beweisbar sichere Verschlüsselung Beweisbar sichere Verschlüsselung ITS-Wahlpflichtvorlesung Dr. Bodo Möller Ruhr-Universität Bochum Horst-Görtz-Institut für IT-Sicherheit Lehrstuhl für Kommunikationssicherheit bmoeller@crypto.rub.de 6

Mehr

Kompetitive Analysen von Online-Algorithmen

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

Mehr

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

Keller (Stapel, Stack, LIFO)

Keller (Stapel, Stack, LIFO) Keller (Stapel, Stack, LIFO) Liste K=[ K(1), K(2),..., K(n) ] mit beschränktem Zugriff Operationen: pop: liefert oberstes Element K(1) entfernt oberstes Element: K = [ K(2),..., K(n) ] (Fehler bei leerem

Mehr

Analysis I für Studierende der Ingenieurwissenschaften

Analysis I für Studierende der Ingenieurwissenschaften Fachbereich Mathematik der Universität Hamburg WiSe 2015/16 Prof. Dr. M. Hinze Dr. P. Kiani Analysis I für Studierende der Ingenieurwissenschaften Lösungshinweise zu Blatt 2 Aufgabe 1: (12 Punkte) a) Beweisen

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

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

Kapitel 7 und Kapitel 8: Gleichgewichte in gemischten Strategien. Einleitung. Übersicht Teil 2 2. Übersicht 3

Kapitel 7 und Kapitel 8: Gleichgewichte in gemischten Strategien. Einleitung. Übersicht Teil 2 2. Übersicht 3 Übersicht Teil 2 Kaitel 7 und Kaitel 8: Gleichgewichte in gemischten Strategien Übersicht Teil 2 2 Übersicht Einleitung Was ist eine gemischte Strategie? Nutzen aus gemischten Strategien Reaktionsfunktionen

Mehr

Kapitalerhöhung - Verbuchung

Kapitalerhöhung - Verbuchung Kapitalerhöhung - Verbuchung Beschreibung Eine Kapitalerhöhung ist eine Erhöhung des Aktienkapitals einer Aktiengesellschaft durch Emission von en Aktien. Es gibt unterschiedliche Formen von Kapitalerhöhung.

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

The Effects of Within-Group Communication on Group Decision and Individual Choice in the Assurance and Chicken Team Games

The Effects of Within-Group Communication on Group Decision and Individual Choice in the Assurance and Chicken Team Games Experimentelle Wirtschaftsforschung, Sommersemester 8 Zusatzaufgabe The Effects of Within-Group Communication on Group Decision and Individual Choice in the Assurance and Chicken Team Games Gary Bornstein,

Mehr

Suchbäume. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Suchbäume. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung Suchbäume Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative

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

Konzepte der Informatik

Konzepte der Informatik Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens

Mehr

WS 2013/14. Diskrete Strukturen

WS 2013/14. Diskrete Strukturen WS 2013/14 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/ws1314

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

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

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

Dokumentation zum Spielserver der Software Challenge

Dokumentation zum Spielserver der Software Challenge Dokumentation zum Spielserver der Software Challenge 10.08.2011 Inhaltsverzeichnis: Programmoberfläche... 2 Ein neues Spiel erstellen... 2 Spielfeldoberfläche... 4 Spielwiederholung laden... 5 Testdurchläufe...

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

Seminar Analyse von Petrinetz-Modellen

Seminar Analyse von Petrinetz-Modellen Seminar Analyse von Petrinetz-Modellen Vortrag: "Deadlocks und Fallen" II Steve Reich 26.11.2007 Wiederholung Falle Deadlock 1 Wiederholung Deadlock und Falle Nur Deadlock Nur Falle 2 Satz zur strukturellen

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

Statistische Untersuchungen zu endlichen Funktionsgraphen

Statistische Untersuchungen zu endlichen Funktionsgraphen C# Projekt 1 Name: Statistische Untersuchungen zu endlichen Funktionsgraphen Aufgabe: Basierend auf dem Abschnitt 2.1.6. Random mappings, Kap.2, S 54-55, in [1] sollen zunächst für eine beliebige Funktion

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

15 Optimales Kodieren

15 Optimales Kodieren 15 Optimales Kodieren Es soll ein optimaler Kodierer C(T ) entworfen werden, welcher eine Information (z.b. Text T ) mit möglichst geringer Bitanzahl eindeutig überträgt. Die Anforderungen an den optimalen

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

Software-Engineering SS03. Zustandsautomat

Software-Engineering SS03. Zustandsautomat Zustandsautomat Definition: Ein endlicher Automat oder Zustandsautomat besteht aus einer endlichen Zahl von internen Konfigurationen - Zustände genannt. Der Zustand eines Systems beinhaltet implizit die

Mehr

Einführung in Petri-Netze. Modellierung von Abläufen und Prozessen (1) Abhängigkeitsgraphen: Motivation. Petri-Netze

Einführung in Petri-Netze. Modellierung von Abläufen und Prozessen (1) Abhängigkeitsgraphen: Motivation. Petri-Netze Einführung in Petri-Netze Modellierung von Abläufen und Prozessen () Motivation Abhängigkeitsgraphen: A B 6 C 5 D Petri-Netze Markierungen Invarianten Credits: L. Priese, H. Wimmel: Petri-Netze, Theoretische

Mehr

Vorkurs Informatik WiSe 15/16

Vorkurs Informatik WiSe 15/16 Konzepte der Informatik Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 16.10.2015 Technische Universität Braunschweig, IPS Inhaltsverzeichnis Suchen Binärsuche Binäre Suchbäume 16.10.2015 Dr. Werner

Mehr

Merkblatt für Schiedsrichter zum Spielbetrieb 2014

Merkblatt für Schiedsrichter zum Spielbetrieb 2014 1.) SPIELABSAGEN Merkblatt für Schiedsrichter zum Spielbetrieb 2014 Bei frühzeitigen Spielabsagen durch Anruf vom Verein muss der Verein bei KM/Res.-Spielen auch den Klassenreferenten verständigen. Bis

Mehr

Alles zu seiner Zeit Projektplanung heute

Alles zu seiner Zeit Projektplanung heute Alles zu seiner Zeit Projektplanung heute Nicole Megow Matheon Überblick Projektplanung Planen mit Graphentheorie Maschinenscheduling Ein 1 Mio. $ Problem Schwere & leichte Probleme? Zeitplanungsprobleme?

Mehr

Erstellen von x-y-diagrammen in OpenOffice.calc

Erstellen von x-y-diagrammen in OpenOffice.calc Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens 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

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

KONSTRUKTION VON ROT-SCHWARZ-BÄUMEN

KONSTRUKTION VON ROT-SCHWARZ-BÄUMEN KONSTRUKTION VON ROT-SCHWARZ-BÄUMEN RALF HINZE Institut für Informatik III Universität Bonn Email: ralf@informatik.uni-bonn.de Homepage: http://www.informatik.uni-bonn.de/~ralf Februar, 2001 Binäre Suchbäume

Mehr

Es kann maximal ein Prozess die Umladestelle benutzen.

Es kann maximal ein Prozess die Umladestelle benutzen. SoSe 0 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung (Musterlösung) 0-06-0 bis 0-06-06 Aufgabe : Erzeuger/Verbraucher-Pattern Ein Getränkemarkt hat

Mehr

6.2 Petri-Netze. kommunizierenden Prozessen in der Realität oder in Rechnern Verhalten von Hardware-Komponenten Geschäftsabläufe Spielpläne

6.2 Petri-Netze. kommunizierenden Prozessen in der Realität oder in Rechnern Verhalten von Hardware-Komponenten Geschäftsabläufe Spielpläne 6.2 Petri-Netze WS 06/07 mod 621 Petri-Netz (auch Stellen-/Transitions-Netz): Formaler Kalkül zur Modellierung von Abläufen mit nebenläufigen Prozessen und kausalen Beziehungen Basiert auf bipartiten gerichteten

Mehr

Hilfe zur Urlaubsplanung und Zeiterfassung

Hilfe zur Urlaubsplanung und Zeiterfassung Hilfe zur Urlaubsplanung und Zeiterfassung Urlaubs- und Arbeitsplanung: Mit der Urlaubs- und Arbeitsplanung kann jeder Mitarbeiter in Coffee seine Zeiten eintragen. Die Eintragung kann mit dem Status anfragen,

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

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

4. Dynamische Optimierung

4. Dynamische Optimierung 4. Dynamische Optimierung Allgemeine Form dynamischer Optimierungsprobleme 4. Dynamische Optimierung Die dynamische Optimierung (DO) betrachtet Entscheidungsprobleme als eine Folge voneinander abhängiger

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

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

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

Structure Sharing vs. Structure Copying

Structure Sharing vs. Structure Copying a, b, c, d?-a. a, e, f CP a a, g b, c, d b, g, h g, h, c, d c, k, g h, c, d g c, d h k, g, d backtracking SLD-Ableitungen a :- b,c,d. a :- e,f. a :- g. b :- g,h. c :- k,g. g. h. CP a e, f a g { } backtracking

Mehr

2.11 Kontextfreie Grammatiken und Parsebäume

2.11 Kontextfreie Grammatiken und Parsebäume 2.11 Kontextfreie Grammatiken und Parsebäume Beispiel: Beispiel (Teil 3): Beweis für L(G) L: Alle Strings aus L der Länge 0 und 2 sind auch in L(G). Als Induktionsannahme gehen wir davon aus, dass alle

Mehr

Diagnostisches Interview zur Bruchrechnung

Diagnostisches Interview zur Bruchrechnung Diagnostisches Interview zur Bruchrechnung (1) Tortendiagramm Zeigen Sie der Schülerin/dem Schüler das Tortendiagramm. a) Wie groß ist der Teil B des Kreises? b) Wie groß ist der Teil D des Kreises? (2)

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

Alignment-Verfahren zum Vergleich biologischer Sequenzen

Alignment-Verfahren zum Vergleich biologischer Sequenzen zum Vergleich biologischer Sequenzen Hans-Joachim Böckenhauer Dennis Komm Volkshochschule Zürich. April Ein biologisches Problem Fragestellung Finde eine Methode zum Vergleich von DNA-Molekülen oder Proteinen

Mehr

Die restlichen Steine bilden den Vorrat (verdeckt auf dem Tisch liegend).

Die restlichen Steine bilden den Vorrat (verdeckt auf dem Tisch liegend). Swisstrimino Das Swisstrimino ist sehr vielseitig und wird ohne Spielplan gespielt. Schon nach der nachstehenden Spielregel gespielt, kann es auch angestandene Dominospieler fesseln. Zum Spielen benötigen

Mehr

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

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

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

Vorlesung Dokumentation und Datenbanken Klausur

Vorlesung Dokumentation und Datenbanken Klausur Dr. Stefan Brass 5. Februar 2002 Institut für Informatik Universität Giessen Vorlesung Dokumentation und Datenbanken Klausur Name: Geburtsdatum: Geburtsort: (Diese Daten werden zur Ausstellung des Leistungsnachweises

Mehr

Programmieren I. Kapitel 7. Sortieren und Suchen

Programmieren I. Kapitel 7. Sortieren und Suchen Programmieren I Kapitel 7. Sortieren und Suchen Kapitel 7: Sortieren und Suchen Ziel: Varianten der häufigsten Anwendung kennenlernen Ordnung Suchen lineares Suchen Binärsuche oder Bisektionssuche Sortieren

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

OPERATIONEN AUF EINER DATENBANK

OPERATIONEN AUF EINER DATENBANK Einführung 1 OPERATIONEN AUF EINER DATENBANK Ein Benutzer stellt eine Anfrage: Die Benutzer einer Datenbank können meist sowohl interaktiv als auch über Anwendungen Anfragen an eine Datenbank stellen:

Mehr

GRS SIGNUM Product-Lifecycle-Management

GRS SIGNUM Product-Lifecycle-Management GRS SIGNUM Product-Lifecycle-Management Das optionale Modul Product-Lifecycle-Management stellt eine mächtige Ergänzung zum Modul Forschung & Entwicklung dar. Folgende Punkte werden dabei abgedeckt: Definition

Mehr

Lastenheft. Poker iphone App

Lastenheft. Poker iphone App Lastenheft Poker iphone App Auftraggeber: Lehrstuhl für Informatik V Prof. Dr. Reinhard Männer Universität Heidelberg Zuletzt geändert: 10.April 2012 Inhaltsverzeichnis Inhaltsverzeichnis Inhaltsverzeichnis

Mehr

Verkehrsstauspiel: Wieviel Prozent der Autos fahren über blau/grün? Jörg Rambau

Verkehrsstauspiel: Wieviel Prozent der Autos fahren über blau/grün? Jörg Rambau Verkehrsstauspiel: Wieviel Prozent der Autos fahren über blau/grün? Verkehrsstauspiel: Wieviel Prozent der Autos fahren über blau/grün? 1 x x = Anteil der Fahrzeuge, die dort entlang fahren Verkehrsstauspiel:

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

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren. Basis und Dimension Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren. Definition. Sei V ein K-Vektorraum und (v i ) i I eine Familie von Vektoren

Mehr

Aufgabe 6 Excel 2013 (Fortgeschrittene) Musterlösung

Aufgabe 6 Excel 2013 (Fortgeschrittene) Musterlösung - 1 - Aufgabe 6 Excel 2013 (Fortgeschrittene) Musterlösung 1. Die Tabelle mit den Werten und Gewichten der Gegenstände, sowie die Spalte mit der Anzahl ist vorgegeben und braucht nur eingegeben zu werden

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

Anleitung für die Teilnahme an den Platzvergaben "Studio II, Studio IV und Studio VI" im Studiengang Bachelor Architektur SS15

Anleitung für die Teilnahme an den Platzvergaben Studio II, Studio IV und Studio VI im Studiengang Bachelor Architektur SS15 Anleitung für die Teilnahme an den Platzvergaben "Studio II, Studio IV und Studio VI" im Studiengang Bachelor Architektur SS15 1 Bitte melden Sie sich über das Campusmanagementportal campus.studium.kit.edu

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Lineare Gleichungssysteme 1 Zwei Gleichungen mit zwei Unbekannten Es kommt häufig vor, dass man nicht mit einer Variablen alleine auskommt, um ein Problem zu lösen. Das folgende Beispiel soll dies verdeutlichen

Mehr