Vorlesung: „ Künstliche Intelligenz · 420 € 430 € 440 € 440 € 430 € Skier 10 €...

60
Vorlesung: „Küns - Suche und S Miao W Künstliche Intelligenz ES ES P Vorlesung Künstliche Intelligenz Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz stliche IntelligenzSpieltheorie - Wang 1 LS LS S ST ST

Transcript of Vorlesung: „ Künstliche Intelligenz · 420 € 430 € 440 € 440 € 430 € Skier 10 €...

  • Vorlesung: „Künstliche Intelligenz

    - Suche und Spieltheorie

    Miao WangKünstliche Intelligenz

    ESES

    PP

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    Künstliche Intelligenz“

    Suche und Spieltheorie -

    Miao Wang 1

    LSLS

    SS STST

  • Inhaltliche Planung für die Vorlesung

    1) Definition und Geschichte der KI, PROLOG

    2) Expertensysteme

    3) Logisches Schließen, Resolution

    4) Suche und Spieltheorie

    5) Spieleprogrammierung

    Künstliche Intelligenz Miao Wang

    6) General Game Playing

    7) Reinforcement Learning und Spieleprogrammierung

    8) Mustererkennung

    9) Neuronale Netze

    10) Optimierungen (genetische und evolutionäre Algorithmen)

    11) Bayes-Netze, Markovmodelle

    12) Robotik, Pathfinding

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    1) Definition und Geschichte der KI, PROLOG

    Miao Wang 2

    7) Reinforcement Learning und Spieleprogrammierung

    (genetische und evolutionäre Algorithmen)

    der rote Vorlesungsfaden...

  • Suche

    Künstliche Intelligenz Miao Wang

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    Miao Wang 3

  • Anwendungen der Suche

    Künstliche Intelligenz Miao Wang

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    Miao Wang 4

  • Heutiger Inhalt der Vorlesung

    • Allgemeines Suchproblem

    • Uninformierte Suche

    • Tiefensuche

    • Breitensuche

    • Iterative Tiefensuche

    • Bidirektionale Suche

    • Informierte Suche

    • Branch-and-Bound

    Künstliche Intelligenz Miao Wang

    • Suche mit uniformen Kosten

    • Heuristiken

    • Bestensuche

    • A*-Suche

    • A*-Varianten

    • Spieltheoretische Suche

    • Min-Max-Algorithmus (Zweispielersuche)

    • Alpha-Beta-Pruning (Zweispielersuche)

    • Unterscheidung von Spielen

    • maxN-Variante (Mehrspielersuche)

    • Paranoid-Variante (Mehrspielersuche)

    • Zusammenfassung

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    Miao Wang 5

  • Das allgemeine Suchproblem

    Finde einen Weg von einem Startpunkt zu einem derder Graphentheorie) explizit gegeben, sondern wird

    Gegeben:Startzustand: s0Übergangsfunktion (Transition): T = S x SZustände (implizit generiert aus s0 und T): S = {s0, s

    Gesucht:Zielzustand (Goal): ein Element aus G ⊆ S

    Künstliche Intelligenz Miao Wang

    Zielzustand (Goal): ein Element aus G ⊆ SOptional: Weg von s0 zum Goal

    Hilfsvariablen:OPEN = Liste von aktiv zu untersuchenden ZuständenCLOSED = Liste von bereits besuchten Zuständen

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    der Zielpunkte. Der Graph wird dabei nicht (wie üblich inwird implizit als Baum erstellt und repräsentiert.

    s1, s2, …, sn}

    Miao Wang 6

    Zuständen

  • Uninformierte Suche

    Eine uninformierter Suchalgorithmus benutzt intuitivefinden keine Optimierung statt, die den SuchraumDatensatz gezogen werden.

    1. Init: OPEN = {s0} , CLOSED

    2. Fail: if OPEN = {} terminate with FAIL

    3. Select: Extract a state n

    4. Terminate: if n ∈∈∈∈ G terminate with SUCCESS5. Expand: Find successors m

    Künstliche Intelligenz Miao Wang

    5. Expand: Find successors m

    If m ∈∈∈∈ (OPEN ∪∪∪∪ CLOSEDadd m to OPEN

    6. Loop: Goto Step 2

    OPEN als Stack � TiefensucheOPEN als Queue � Breitensuche

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    intuitive Methoden für das Durchsuchen des Suchraumes. EsSuchraum reduzieren könnten, indem Informationen aus dem

    CLOSED = {}

    terminate with FAIL

    from OPEN and save n to CLOSED

    terminate with SUCCESS

    of n with T

    Miao Wang 7

    of n with T

    CLOSED)

  • Beispiel: Tiefensuche

    Künstliche Intelligenz Miao Wang

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    OPEN CLOSED

    1

    2, 5, 9, 12

    -

    3, 4, 5, 9, 12

    4, 5, 9, 12

    5, 9, 12

    1

    1, 2

    1, 2, 3

    1, 2, 3, 4

    1, 2, 3, 4, 56, 7, 8, 9, 12

    7, 8, 9, 12 1, 2, 3, 4, 5, 6

    Miao Wang 8

    7, 8, 9, 12

    8, 9, 12

    9, 12

    10, 11, 12

    11, 12

    12

    13, 14, 15

    14, 15

    15

    -

    1, 2, 3, 4, 5, 6

    1, 2, 3, 4, 5, 6, 7

    1, 2, 3, 4, 5, 6, 7, 8

    1, 2, 3, 4, 5, 6, 7, 8, 9

    1, 2, 3, 4, 5, 6, 7, 8, 9, 10

    1, 2, 3, 4, 5, 6, 7, 8, 9, 10,111, 2, 3, 4, 5, 6, 7, 8, 9, 10,11,121, 2, 3, 4, 5, 6, 7, 8, 9, 10,11, 12 , 131, 2, 3, 4, 5, 6, 7, 8, 9, 10,11, 12, 13, 141, 2, 3, 4, 5, 6, 7, 8, 9, 10,11, 12, 13, 14, 15

  • Beispiel: Breitensuche

    Künstliche Intelligenz Miao Wang

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    OPEN CLOSED

    1

    2, 3, 4, 5

    -

    3, 4, 5, 6, 7

    4, 5, 6, 7, 8, 9, 10

    5, 6, 7, 8, 9, 10, 11, 12

    1

    1, 2

    1, 2, 3

    1, 2, 3, 4

    1, 2, 3, 4, 56, 7, 8, 9, 10, 11, 12, 13,14, 15

    7, 8, 9, 10, 11, 12, 13, 14, 15

    1, 2, 3, 4, 5, 6

    Miao Wang 9

    14, 15

    8, 9, 10, 11, 12, 13, 14, 15

    9, 10, 11, 12, 13, 14, 15

    10, 11, 12, 13, 14, 15

    11, 12, 13, 14, 15

    12, 13, 14, 15

    13, 14, 15

    14, 15

    15

    -

    1, 2, 3, 4, 5, 6, 7

    1, 2, 3, 4, 5, 6, 7, 8

    1, 2, 3, 4, 5, 6, 7, 8, 9

    1, 2, 3, 4, 5, 6, 7, 8, 9, 10

    1, 2, 3, 4, 5, 6, 7, 8, 9, 10,11

    1, 2, 3, 4, 5, 6, 7, 8, 9, 10,11, 12

    1, 2, 3, 4, 5, 6, 7, 8, 9, 10,11, 12 , 13

    1, 2, 3, 4, 5, 6, 7, 8, 9, 10,11, 12, 13, 14

    1, 2, 3, 4, 5, 6, 7, 8, 9, 10,11, 12, 13, 14, 15

  • Analyse: Tiefensuche

    Sei b der maximale Verzweigungsfaktor,d die Tiefe von G undt die Tiefe des Suchbaums (d < t)

    Laufzeit: Wie viele Knoten müssen angefasst werden (worst case)?

    G befindet sich auf Tiefe d, im worst case ist er im „rechtesten“ AstWir müssen aber evtl. vorher mehrmals bis Tiefe t runter, d.h.

    Künstliche Intelligenz Miao Wang

    Wir müssen aber evtl. vorher mehrmals bis Tiefe t runter, d.h.

    Speicherverbrauch: Wie viele Knoten werden im Stack maximal gespeichert (worst case)?

    Bis Tiefe t haben wir (t-1) * (b-1)In Tiefe d kommen noch b hinzu, d.h. insgesamt (t-1) * (b

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    Wie viele Knoten müssen angefasst werden (worst case)?

    G befindet sich auf Tiefe d, im worst case ist er im „rechtesten“ AstWir müssen aber evtl. vorher mehrmals bis Tiefe t runter, d.h. O(bt)

    Miao Wang 10

    Wir müssen aber evtl. vorher mehrmals bis Tiefe t runter, d.h. O(b )

    Wie viele Knoten werden im Stack maximal gespeichert (worst case)?

    1) * (b-1) + b = O(t*b)

  • Analyse: Breitensuche

    Sei b der maximale Verzweigungsfaktor,d die Tiefe von G undt die Tiefe des Suchbaums (d < t)

    Laufzeit:Wie viele Knoten müssen angefasst werden (worst case)?

    Es müssen alle Knoten bis Tiefe d angefasst werden, d.h. b

    Künstliche Intelligenz Miao Wang

    Speicherverbrauch:Wie viele Knoten werden in der Queue maximal gespeichert (worst case)?

    In der Tiefe d müssen maximal bd Knoten abgespeichert werden, d.h.

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    Wie viele Knoten müssen angefasst werden (worst case)?

    Es müssen alle Knoten bis Tiefe d angefasst werden, d.h. bd+1 = O(bd)

    Miao Wang 11

    Wie viele Knoten werden in der Queue maximal gespeichert (worst case)?

    Knoten abgespeichert werden, d.h. O (bd)

  • Tiefensuche in Prolog

    %Graph definiert als

    %con(X,Y).

    % depth(Goals, Open, Closed)

    depth(Goals, [X|_], _) :-

    member (X, Goals), !, write(X).

    depth(Goals, [X|RestOpen], Closed) :-

    member(X, Closed), !, depth(Goals, RestOpen

    Künstliche Intelligenz Miao Wang

    member(X, Closed), !, depth(Goals, RestOpen

    depth(Goals, [X|RestOpen], Closed) :-

    write(X), kinder(X, L), append(L, RestOpen

    % kinder (X, L) findet alle Kinder von X und legt sie in L ab

    kinder(X, L) :- setof(Y, con(X,Y), L).

    kinder(_, []).

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    RestOpen, Closed).

    Miao Wang 12

    RestOpen, Closed).

    RestOpen, Open), depth(Goals, Open, [X|Closed]).

    (X, L) findet alle Kinder von X und legt sie in L ab

  • Breitensuche in Prolog

    %Graph definiert als

    %con(X,Y).

    % depth(Goals, Open, Closed)

    depth(Goals, [X|_], _) :-

    member (X, Goals), !, write(X).

    depth(Goals, [X|RestOpen], Closed) :-

    member(X, Closed), !, depth(Goals, RestOpen

    Künstliche Intelligenz Miao Wang

    member(X, Closed), !, depth(Goals, RestOpen

    depth(Goals, [X|RestOpen], Closed) :-

    write(X), kinder(X, L), append(RestOpen

    % kinder (X, L) findet alle Kinder von X und legt sie in L ab

    kinder(X, L) :- setof(Y, con(X,Y), L).

    kinder(_, []).

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    RestOpen, Closed).

    Miao Wang 13

    RestOpen, Closed).

    RestOpen, L, Open), depth(Goals, Open, [X|Closed]).

    (X, L) findet alle Kinder von X und legt sie in L ab

  • Iterative Tiefensuche (Iterative Deepening)

    Mischung zwischen Tiefen- und Breitensuche

    Tradeoff zwischen Laufzeit und Speicher

    Tiefensuche für Tiefe 1

    Künstliche Intelligenz Miao Wang

    Laufzeit: O(bd)Speicher: O(b*d)

    Tiefensuche für Tiefe 1

    Tiefensuche für Tiefe 2

    Tiefensuche für Tiefe 3

    Tiefensuche für Tiefe 4

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    Iterative Tiefensuche (Iterative Deepening)

    Tiefensuche für Tiefe 1

    Miao Wang 14

    Tiefensuche für Tiefe 1

    Tiefensuche für Tiefe 2

    Tiefensuche für Tiefe 3

    Tiefensuche für Tiefe 4

    Bsp.: Schach

  • Bidirektionale Suche

    Gleichzeitig vom Start und Ziel suchen verringert die Laufzeit (nicht immer möglich)

    siehe auch: Daten- vs. Zielorientierte Suche

    Künstliche Intelligenz Miao Wang

    Laufzeit: O(bd/2)Speicher: O(bd/2)

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    Gleichzeitig vom Start und Ziel suchen verringert die Laufzeit (nicht immer möglich)

    Miao Wang 15

    Bsp.: Navigationssysteme

  • Das 8-Puzzle-Problem(aka 3x3-Schieberätsel)

    Künstliche Intelligenz Miao Wang

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    Miao Wang 16

  • Das 8-Puzzle-Problem(aka 3x3-Schieberätsel)

    Künstliche Intelligenz Miao Wang

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    Modell:Verschieben des Blanks, Suchbaum wird implizit aufgebaut

    Optimierung:Speichern der Rotation

    Definieren eines festen Ablaufs, z.B:

    Miao Wang 17

    Definieren eines festen Ablaufs, z.B:zuerst hochdann linksdann runter dann rechts

  • Das 8-Puzzle-Problem(aka 3x3-Schieberätsel)

    Künstliche Intelligenz Miao Wang

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    Miao Wang 18

  • Informierte Suche

    Bisher wurde der Knoten in Schritt 3 immer beliebig

    Die Suche kann hier jedoch beschleunigt werden, wenn Informationen des Datensatzes mit in die Entscheidung einfließen, welcher Knoten als nächster aus OPEN entnommen wird.

    Für größere Suchbäume sind Breiten- und Tiefensuche nicht effizient genug. Vielversprechender sind Ansätze, bei denen Domänenwissen zur Steuerung des Suchprozesses eingesetzt wird

    Dies kann dadurch geschehen, dass die Zustände (Knoten) danach bewertet werden, wie

    Künstliche Intelligenz Miao Wang

    Dies kann dadurch geschehen, dass die Zustände (Knoten) danach bewertet werden, wie erfolgversprechend sie sind. Solch eine Bewertung nennt man

    Ein Suchverfahren, das eine heuristische Funktion zur Auswahl der zu expandierenden Zustände einsetzt, heißt informiertes Suchverfahren oder auch heuristisches Suchverfahren

    Einfache Heuristik: Einführung eines Kostenmaßesc(s) = bisher berechneten Kosten von s0 bis sc(n,m) = Kosten für den Übergang von n nach m gemäß T

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    beliebig ausgewählt (entspr. der Datenstruktur von OPEN).

    Die Suche kann hier jedoch beschleunigt werden, wenn Informationen des Datensatzes mit in die Entscheidung einfließen, welcher Knoten als nächster aus OPEN entnommen wird.

    und Tiefensuche nicht effizient genug. Vielversprechender sind Ansätze, bei denen Domänenwissen zur Steuerung des Suchprozesses eingesetzt wird.

    kann dadurch geschehen, dass die Zustände (Knoten) danach bewertet werden, wie

    Miao Wang 19

    kann dadurch geschehen, dass die Zustände (Knoten) danach bewertet werden, wie erfolgversprechend sie sind. Solch eine Bewertung nennt man heuristische Funktion.

    Ein Suchverfahren, das eine heuristische Funktion zur Auswahl der zu expandierenden Zustände einsetzt, heuristisches Suchverfahren.

    Kostenmaßes für den bisher eingeschlagenen Weg:bis s

    ) = Kosten für den Übergang von n nach m gemäß T

  • Branch-and-Bound

    Branch-and-Bound ist ein einfacher Algorithmus, um in einem Optimierungsverfahren unnötige Äste im Suchbaum abzuschneiden („Pruning“). Es wird häufig in der Kostenanalyse verwendet.

    Einführung einer Kostenschranke:c* = minimale Kosten bis zum jetzigen Zeitpunkt in der Suche

    Idee:Starte mit c* = ∞∞∞∞ und reduziere c* immer dann, wenn ein neues, besseres Ziel aus G gefunden wird

    1. Init: OPEN = {s0} , CLOSED = {} , c(

    Künstliche Intelligenz Miao Wang

    Nicht geeignet für negative Kosten!

    1. Init: OPEN = {s0} , CLOSED = {} , c(

    2. Fail: if OPEN = {} terminate with c*

    3. Select: Extract a state n from

    4. Loop1: if n ∈∈∈∈ G and c(n) < c*c* = c(n) and goto

    5. Expand: if c(n) < c* generate successors

    For each successor m:

    if m ∉∉∉∉ (OPEN ∪∪∪∪ CLOSEDc(m) = c(n) + c(

    insert m to OPEN

    else if m ∈∈∈∈ (OPENc(m) = min { c(

    if c(m) has decreased and

    move m from

    6. Loop2: Goto Step 2

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    Bound ist ein einfacher Algorithmus, um in einem Optimierungsverfahren unnötige Äste im Suchbaum abzuschneiden („Pruning“). Es wird häufig in der Kostenanalyse verwendet.

    c* = minimale Kosten bis zum jetzigen Zeitpunkt in der Suche

    und reduziere c* immer dann, wenn ein neues, besseres Ziel aus G gefunden wird

    = {} , c(s0) = 0 , c* = ∞∞∞∞

    Miao Wang 20

    = {} , c(s0) = 0 , c* = ∞∞∞∞terminate with c*

    from OPEN and save n to CLOSED

    c*

    goto Step 2

    generate successors m of n with T

    CLOSED)

    ) + c(n, m)

    OPEN

    ∪∪∪∪ CLOSED)) = min { c(m) , c(n) + c(n, m) }

    ) has decreased and m ∈∈∈∈ CLOSEDfrom CLOSED to OPEN

  • Beispiel: Branch-and-Bound (kombiniert mit Tiefensuche)

    Angenommen wir planen eine Skireise und wollen die günstigste Variante wählen:

    Skireise

    Flug A250 €

    Künstliche Intelligenz Miao Wang

    Hotel A1120 €

    Hotel A2160 €

    Hotel B180 €

    Skier40 €

    Skier20 €

    Skier30 €

    Skier40 €

    Skier20 €

    410 € 390 € 400 € 400 € 380 €

    Skier10 €

    Skier20 €

    420 € 430 €

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    Bound (kombiniert mit Tiefensuche)

    Angenommen wir planen eine Skireise und wollen die günstigste Variante wählen:

    Skireise planen

    Flug B280 €

    Flug C390 €

    Miao Wang 21

    Hotel B2110 €

    Hotel B320 €

    Hotel C140 €

    Hotel C230 €

    Skier20 €

    Skier10 €

    Skier0 €

    Skier10 €

    Skier10 €

    420 € 430 € 440 € 440 € 430 €

    Skier10 €

    Skier0 €

    400 € 390 €

  • Beispiel: Branch-and-Bound (kombiniert mit Tiefensuche)

    Angenommen wir planen eine Skireise und wollen die günstigste Variante wählen:

    Skireise

    Flug A250 €

    Künstliche Intelligenz Miao Wang

    Hotel A1120 €

    Hotel A2160 €

    Hotel B180 €

    Skier40 €

    Skier20 €

    Skier30 €

    Skier40 €

    Skier20 €

    410 € 390 € 380 400 € 400 €

    410 €

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    Bound (kombiniert mit Tiefensuche)

    Angenommen wir planen eine Skireise und wollen die günstigste Variante wählen:

    Skireise planen

    Flug B280 €

    Flug C390 €

    Miao Wang 22

    Hotel B2110 €

    Skier€

    380 €

    390 €

    390 €

  • Suche mit uniformen Kosten

    Modifizierung der Breitensuche mit Kostenfunktion:Wähle immer den Knoten mit den niedrigsten Kosten, die von Start bis zu diesem Punkt angefallen sind.

    1. Init: OPEN = {s0} , CLOSED

    2. Fail: if OPEN = {} terminate with FAIL

    3. Select: Extract state n with minimum costs c(

    and save n to CLOSED

    4. Terminate: if n ∈∈∈∈ G terminate with SUCCESS5. Expand: Find successors m

    For each successor

    Künstliche Intelligenz Miao Wang

    For each successor

    if m ∉∉∉∉ (OPEN ∪∪∪∪ CLOSEDc(m) = c(n) + c(

    insert m to OPEN

    else if m ∈∈∈∈ (OPENc(m) = min { c(

    if c(m) has decreased and

    move m from

    6. Loop: Goto Step 2

    Positive Kosten: DijkstraNegative Kosten: können m von CLOSED zurück zu OPEN bringenNegative Zyklen: führen zur Nichtterminierung

    E. W. Dijkstra: A note on two problems in connexion with graphs. In: Numerischehttp://www-m3.ma.tum.de/foswiki/pub/MN0506/WebHome/dijkstra.pdf

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    Modifizierung der Breitensuche mit Kostenfunktion:Wähle immer den Knoten mit den niedrigsten Kosten, die von Start bis zu diesem Punkt angefallen sind.

    CLOSED = {} , c(s0) = 0

    terminate with FAIL

    with minimum costs c(n) from OPEN

    CLOSED

    terminate with SUCCESS

    m of n with T

    For each successor m:

    Miao Wang 23

    For each successor m:

    CLOSED)

    ) + c(n, m)

    OPEN

    OPEN ∪∪∪∪ CLOSED)) = min { c(m), c(n) + c(n, m) }

    ) has decreased and m ∈∈∈∈ CLOSEDfrom CLOSED to OPEN

    können m von CLOSED zurück zu OPEN bringenführen zur Nichtterminierung

    Numerische Mathematik. 1 (1959), S. 269–271

  • Beispiel 1: Uniforme Kostensuche

    2 1 2

    515

    138

    1

    1

    3

    4

    3

    10

    1

    15

    Künstliche Intelligenz Miao Wang

    138

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    OPEN CLOSED

    1 (0) -

    2 (2), 5 (1) 1 (0)

    2 (2), 9 (2) 1 (0), 5 (1)

    9 (2), 3 (3), 6 (5)

    3 (3), 6 (5), 10 (10)

    1 (0), 5 (1), 2 (2)

    1 (0), 5 (1), 2 (2), 9 (2)

    6 (5), 10 (10), 4 (5) 1 (0), 5 (1), 2 (2), 9 (2), 3 (3)

    Miao Wang 24

    6 (5), 10 (10), 4 (5) 1 (0), 5 (1), 2 (2), 9 (2), 3 (3)

    1 (0), 5 (1), 2 (2), 9 (2), 3 (3), 6 (5)10 (10), 4 (5), 7 (6), 10 (9)

    1 (0), 5 (1), 2 (2), 9 (2), 3 (3), 6 (5),4 (5)

    7 (6), 10 (9), 8 (6)

    1 (0), 5 (1), 2 (2), 9 (2), 3 (3), 6 (5),4 (5), 7 (6)

    10 (9), 8 (6), 3 (9), 11 (16)

    1 (0), 5 (1), 2 (2), 9 (2), 3 (3), 6 (5),4 (5), 7 (6), 8 (6)

    10 (9), 3 (9), 11 (16), 12 (21)

    1 (0), 5 (1), 2 (2), 9 (2), 3 (3), 6 (5),4 (5), 7 (6), 8 (6), 10 (9)

    3 (9), 11 (16), 12 (21), 11 (12)

    1 (0), 5 (1), 2 (2), 9 (2), 3 (3), 6 (5),4 (5), 7 (6), 8 (6), 10 (9)

    12 (21), 11 (12)

    1 (0), 5 (1), 2 (2), 9 (2), 3 (3), 6 (5),4 (5), 7 (6), 8 (6), 10 (9), 11 (12)

    12 (21), 12 (13)

    - 1 (0), 5 (1), 2 (2), 9 (2), 3 (3), 6 (5),4 (5), 7 (6), 8 (6), 10 (9), 11 (12), 12 (13)

  • Beispiel 2: Uniforme Kostensuche

    10 20

    2 -15

    15

    Künstliche Intelligenz Miao Wang

    15

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    OPEN CLOSED

    1 (0) -

    2 (10), 3 (20) 1 (0)

    3 (20), 4 (12) 1 (0), 2 (10)

    3 (20), 5 (27)

    5 (27), 4 (5)

    1 (0), 2 (10), 4 (12)

    1 (0), 2 (10), 4 (12), 3 (20)

    Miao Wang 25

    5 (27), 4 (5) 1 (0), 2 (10), 4 (12), 3 (20)

    5 (27), 5 (20) 1 (0), 2 (10), 4 (12), 3 (20), 4 (5)

    1 (0), 2 (10), 3 (20), 4 (5), 5 (20)-

  • Heuristiken

    Domänenspezifisches Wissen um die Qualität von potentiellen oder partiellen Lösungen zu schätzenz.B. Kostenüberschlagsrechnung für eine Reise, Luftlinie als Distanz zwischen zwei Orten

    Eine Suche kann mit Hilfe von Heuristiken erheblich beschleunigt werden.

    Eine geeignete Heuristik sollte zielgerichtet sein, d.h. nicht nur die bisherige Vergangenheit betrachten, sondern auch eine Abschätzung zum Ziel geben.

    Künstliche Intelligenz Miao Wang

    h(n) = heuristische (geschätzte) Kosten von n zum Ziel

    Eine heuristische Funktion ist um so brauchbarer, je mehr Zustände sie unterschiedlich bewertet

    Eine heuristische Funktion, die alle Zustände gleich bewertet, ist unbrauchbar.

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    Domänenspezifisches Wissen um die Qualität von potentiellen oder partiellen Lösungen zu schätzenfür eine Reise, Luftlinie als Distanz zwischen zwei Orten

    Eine Suche kann mit Hilfe von Heuristiken erheblich beschleunigt werden.

    Eine geeignete Heuristik sollte zielgerichtet sein, d.h. nicht nur die bisherige Vergangenheit betrachten,

    Miao Wang 26

    = heuristische (geschätzte) Kosten von n zum Ziel

    Eine heuristische Funktion ist um so brauchbarer, je mehr Zustände sie unterschiedlich bewertet.

    Eine heuristische Funktion, die alle Zustände gleich bewertet, ist unbrauchbar.

  • Bestensuche (Best-First-Search)

    Eine Bestensuche priorisiert nach einer Heuristik. Es wird in jeder Iteration stets der Knoten ausgewählt mit minimalen heuristischen Kosten. Die optimale Lösung ist jedoch nicht garantiert.

    Greedy-Bestensuche:

    Künstliche Intelligenz Miao Wang

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    priorisiert nach einer Heuristik. Es wird in jeder Iteration stets der Knoten ausgewählt mit minimalen heuristischen Kosten. Die optimale Lösung ist jedoch nicht garantiert.

    Luftlinie nach Ulm:

    Basel 204Bayreuth 207Bern 247

    Miao Wang 27

    Bern 247Frankfurt 215Innsbruck 163Karlsruhe 137Landeck 143Linz 318München 120Mannheim 164Memmingen 47Nürnberg 132Passau 257Rosenheim 168Stuttgart 75Salzburg 236Würzburg 153Zürich 157

  • Beispiel: Greedy-Bestensuche

    Künstliche Intelligenz Miao Wang

    Von Mannheim nach Ulm mit Greedy-Bestensuche:

    Mannheimh = 164

    Würzburgh = 153

    Mannheimh = 164

    Ulmh = 0

    Münchenh = 120

    Passauh = 257

    Karlsruheh = 137

    Nürnbergh = 132

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    Luftlinie nach Ulm:

    Basel 204Bayreuth 207Bern 247Frankfurt 215Innsbruck 163Karlsruhe 137Landeck 143Linz 318München 120Mannheim 164

    Memmingen 47Nürnberg 132Passau 257Rosenheim 168Stuttgart 75Salzburg 236Würzburg 153Zürich 157

    Miao Wang 28

    Mannheim 164

    Passauh = 257

    Bayreuthh = 207

    Frankfurth = 215

    Greedy findet den Weg Mannheim-Nürnberg-Ulm mit 401 km.

    Aber Mannheim-Karlsruhe-Stuttgart-Ulm mit 238 km wäre deutlich kürzer.

  • Heuristiken (2)

    Um die Probleme der Greedy-Bestensuche zu umgehen, wird nicht nur die heuristische Wert zum Ziel gewählt sondern zusätzlich noch die bisher verbrauchten Kosten vom Start.

    g(n) = minimale Kosten von s0 nach n

    h(n) = heuristische (geschätzte) Kosten von n zum Ziel

    f(n) = g(n) + h(n)

    Künstliche Intelligenz Miao Wang

    mit g(s0) = 0

    Eine Heuristik h ist zulässig, wenn sie optimistischh(n) ≤ h*(n) mit h*(n) = echte minimale Kosten von n zum Ziel

    Eine Heuristik h ist monoton, wenn jede Kante unterschätzt wird:∀ Kinder m von n : h(n) – h(m) ≤ c(n,m)

    Konvertiere eine zulässige Heuristik in eine monotone mith‘(m) = max { h(m), h(n) – c(n,m) }

    Eine Heuristik h1 ist mehr informiert als h2, wenn∀n : h*(n) ≥ h1(n) > h2(n)

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    zu umgehen, wird nicht nur die heuristische Wert zum Ziel gewählt sondern zusätzlich noch die bisher verbrauchten Kosten vom Start.

    = heuristische (geschätzte) Kosten von n zum Ziel

    Miao Wang 29

    ist (Unterschätzung):mit h*(n) = echte minimale Kosten von n zum Ziel

    jede Kante unterschätzt wird:

    Konvertiere eine zulässige Heuristik in eine monotone mit

  • A*-Algorithmus

    A* ist eine Bestensuche, die nur optimistische Heuristiken benutzt:

    1. Init: OPEN = {s0} , CLOSED

    2. Fail: if OPEN = {} terminate with FAIL

    3. Select: Extract a state n

    and save n to CLOSED

    4. Terminate: if n ∈∈∈∈ G terminate with SUCCESS 5. Expand: For each successor

    if m ∉∉∉∉ (OPEN ∪∪∪∪ CLOSEDg(m) = g(n) + c(

    Künstliche Intelligenz Miao Wang

    Existieren bei Schritt 3 mehrere Zustände n mit gleichem f(n), so wähle jenes mit zusätzlich minimalsten g(n)

    Unzulässige Heuristiken können den Suchraum beschneiden, aber wenn zu viel beschnitten wird, kann das optimale Ziel ebenfalls weggeschnitten werden (siehe Greedy

    g(m) = g(n) + c(

    f(m) = g(m) + h(

    insert m to OPEN

    else if m ∈∈∈∈ (OPENg(m) = min { g(

    f(m) = g(m) + h(

    if f(m) has decreased and

    move m from

    6. Loop2: Goto Step 2

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    A* ist eine Bestensuche, die nur optimistische Heuristiken benutzt:

    CLOSED = {} , f(s0) = g(s0) + h(s0) = h(s0)

    terminate with FAIL

    with minimum heuristic cost f(n) from OPEN

    CLOSED

    terminate with SUCCESS and return f(n)

    For each successor m of n with T:

    CLOSED)

    ) + c(n, m)

    Miao Wang 30

    Existieren bei Schritt 3 mehrere Zustände n mit gleichem f(n), so wähle jenes mit zusätzlich minimalsten g(n)

    Unzulässige Heuristiken können den Suchraum beschneiden, aber wenn zu viel beschnitten wird, kann das optimale Ziel ebenfalls weggeschnitten werden (siehe Greedy-Bestensuche)

    ) + c(n, m)

    ) + h(m)

    OPEN

    ∪∪∪∪ CLOSED)) = min { g(m) , g(n) + c(n, m) }

    ) + h(m)

    ) has decreased and m ∈∈∈∈ CLOSEDfrom CLOSED to OPEN

  • Beispiel: A*

    Von Mannheim nach Ulm mit A*:

    Mannheimg = 0, h = 164, f = 164

    Karlsruheg = 67, h = 137, f = 204

    Nürnbergg = 230, h = 132, f = 362

    Frankfurtg = 85, h = 215, g = 300

    Künstliche Intelligenz Miao Wang

    Stuttgartg = 131, h = 75, f = 206

    Baselg = 258, h = 204, f = 462

    Würzburgg = 271, h = 153, f = 424

    Ulmg = 238, h = 0, f = 238

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    Frankfurt215, g = 300

    Miao Wang 31

    Luftlinie nach Ulm:

    Basel 204Bayreuth 207Bern 247Frankfurt 215Innsbruck 163Karlsruhe 137Landeck 143Linz 318München 120Mannheim 164Memmingen 47Nürnberg 132Passau 257Rosenheim 168Stuttgart 75Salzburg 236Würzburg 153Zürich 157

  • Beispiel 2: A*

    Von Linz nach Ulm mit A*:

    Linzg = 0, h = 318, f = 318

    Passaug = 102, h = 257, f = 359

    Salzburgg = 126, h = 236, g = 362

    Künstliche Intelligenz Miao Wang

    Nürnbergg = 322, h = 132, f = 454

    Müncheng = 291, h = 120, f = 411

    Rosenheimg = 207, h = 168, f = 375

    Innsbruckg = 300, h = 163, f = 463

    Memmingeng = 381, h = 47, f = 428

    Ulmg = 389, h = 0, f = 389

    Nürnbergg = 436, h

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    Salzburg236, g = 362

    Miao Wang 32

    Luftlinie nach Ulm:

    Basel 204Bayreuth 207Bern 247Frankfurt 215Innsbruck 163Karlsruhe 137Landeck 143Linz 318München 120Mannheim 164Memmingen 47Nürnberg 132Passau 257Rosenheim 168Stuttgart 75Salzburg 236Würzburg 153Zürich 157

    Rosenheim168, f = 375

    Müncheng = 266, h = 120, f = 386

    Nürnbergg = 436, h = 132, f = 568

    Passaug = 455, h = 257, f = 712

  • A*-Algorithmus

    Der A*-Algorithmus ist optimal. Das heißt, er findet immer die Lösung mit den niedrigsten Gesamtkosten, wenn die Heuristik h zulässig ist.

    Wie bei Dijkstra hängt die Laufzeit von A* vom Datentyp von OPEN ab.

    Der A*-Algorithmus ist laufzeittechnisch recht effizient hat aber einen hohen Speicherbedarf in dichten Netzen, da alle Knoten in Open im Speicher liegen müssen.

    Der A*-Algorithmus enthält die folgenden Algorithmen als

    Künstliche Intelligenz Miao Wang

    Der A*-Algorithmus enthält die folgenden Algorithmen als

    • Für c ≥ 0 und h = 0 erhält man den Dijkstra

    • Für c = 0 erhält man die Bestensuche.

    • Für c = 1 und h = 0 erhält man die Breitensuche.

    • Für c = -1 und h = 0 erhält man die Tiefensuche, wenn man nach OPEN zu gelangen

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    . Das heißt, er findet immer die Lösung mit den niedrigsten Gesamtkosten,

    Wie bei Dijkstra hängt die Laufzeit von A* vom Datentyp von OPEN ab.

    Algorithmus ist laufzeittechnisch recht effizient hat aber einen hohen Speicherbedarf in dichten Netzen, da alle Knoten in Open im Speicher liegen müssen.

    die folgenden Algorithmen als Spezialfälle:

    Miao Wang 33

    die folgenden Algorithmen als Spezialfälle:

    man den Dijkstra-Algorithmus.

    man die Breitensuche.

    man die Tiefensuche, wenn man Knoten verbietet wieder von CLOSED

  • A* in Prolog

    %Graph definiert als

    %con(X,Y).

    % besta(Goals, Open, Closed)

    besta(Goals, [[X,_] | _], _) :-

    member(X, Goals), !, write(X).

    besta(Goals, [[X,T] | RestOpen], Closed) :-

    member([X,T1], Closed), T >= T1, !, besta

    Künstliche Intelligenz Miao Wang

    besta(Goals, [[X,T] | RestOpen], Closed) :-

    member([X,T1], Closed), T < T1, !, kinderbest

    qsort(NewOpen, Open), besta(Goals, Open,

    besta(Goals, [[X,T] | RestOpen], Closed) :-

    write(X), heuristik(X,T,FX), write(FX),

    append(L, RestOpen, NewOpen), qsort(NewOpen

    besta(Goals,Open,[[X|T],Closed]).

    % kinderbest(X,T,L) holt alle Kinder von X und fügt sie in L hinzu mit dem

    % heuristischen Wert basierend auf T und der Heuristik

    % qsort(X,Y) sortiert Liste X in Liste Y

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    -

    besta(Goals, RestOpen, Closed).

    Miao Wang 34

    -

    kinderbest(X,T,L), append(L, RestOpen, NewOpen),

    (Goals, Open, Closed).

    -

    (FX), nl, kinderbest(X,T,L),

    NewOpen, Open),

    (X,T,L) holt alle Kinder von X und fügt sie in L hinzu mit dem

    % heuristischen Wert basierend auf T und der Heuristik

  • A*-Varianten

    Um die Speicherproblematik von A* zu umgehen, gibt es viele Variationen von A*:

    • IDA* (Iterative Deepening A*)

    • RBFS (Recursive Best-First Search)

    • MA* (Memory-Bounded A*)

    • SMA* (Simplified MA*)

    • D* (A* für dynamische Graphen)

    • SSS* (A* mit Alpha-Beta-Pruning bei Schach

    Künstliche Intelligenz Miao Wang

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    Um die Speicherproblematik von A* zu umgehen, gibt es viele Variationen von A*:

    Schach)

    Miao Wang 35

  • Implementierung der Wegfindung ist nicht immer perfekt

    Künstliche Intelligenz Miao Wang

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    Implementierung der Wegfindung ist nicht immer perfekt

    Miao Wang 36

  • Spieltheorie

    Künstliche Intelligenz Miao Wang

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    Miao Wang 37

  • Grundlagen der Spieltheorie

    Die Suche wird in der Spieltheorie benutzt um optimale Aktionen zu gegebenen Stellungen zu ermitteln.

    Dabei entstammt die Spieltheorie nicht Spielen, sondern ist ein mathematisches Feld, welches aus den Wirtschaftswissenschaften entstammt. Sie findet aber auch Anwendung in Biologie, der Soziologie, der Psychologie oder der Künstlichen

    Für spieltheoretische Probleme müssen wir das allgemeine Suchproblem etwas modifizieren:

    • Ein Zustand entspricht nun einer bestimmten Stellung / Zustand im Spiel

    Künstliche Intelligenz Miao Wang

    • Ein Zustand entspricht nun einer bestimmten Stellung / Zustand im Spiel

    • Die Übergangsfunktion beschreibt mögliche Aktionen des Computers oder des menschlichen Spielers um von einem Zustand zu einem Folgezustand zu gelangen

    • Meist existiert ein Zuggenerator, der gegeben einen Zustand eine Menge an zulässigen Aktionen generiert

    • Ein Blattknoten repräsentiert ein Spielende und wird als

    • In der Regel können wir die Suche nicht bis zu den Blattknoten ausführen. Wir brechen in einer Tiefe t vorzeitig ab. Die Stellungen auf Tiefe t sind nun ebenfalls terminale Stellungen

    • Alle terminalen Stellungen werden von einer gute oder schlechte Stellung für den jeweiligen suchenden Spieler ist

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    Die Suche wird in der Spieltheorie benutzt um optimale Aktionen zu gegebenen Stellungen zu ermitteln.

    Dabei entstammt die Spieltheorie nicht Spielen, sondern ist ein mathematisches Feld, welches aus den Wirtschaftswissenschaften entstammt. Sie findet aber auch Anwendung in Politikwissenschaften, der

    Psychologie oder der Künstlichen Intelligenz.

    Für spieltheoretische Probleme müssen wir das allgemeine Suchproblem etwas modifizieren:

    Ein Zustand entspricht nun einer bestimmten Stellung / Zustand im Spiel

    Miao Wang 38

    Ein Zustand entspricht nun einer bestimmten Stellung / Zustand im Spiel

    beschreibt mögliche Aktionen des Computers oder des menschlichen Spielers um von einem Zustand zu einem Folgezustand zu gelangen

    , der gegeben einen Zustand eine Menge an zulässigen Aktionen

    Ein Blattknoten repräsentiert ein Spielende und wird als terminale Stellung bezeichnet

    In der Regel können wir die Suche nicht bis zu den Blattknoten ausführen. Wir brechen in einer Tiefe t vorzeitig ab. Die Stellungen auf Tiefe t sind nun ebenfalls terminale Stellungen

    Alle terminalen Stellungen werden von einer Bewertungsfunktion bewertet, die angibt, ob das eine gute oder schlechte Stellung für den jeweiligen suchenden Spieler ist

  • Grundlagen der Spieltheorie

    Ein allgemeiner Suchbaum der Spieltheorie:

    Künstliche Intelligenz Miao Wang

    Die Bewertungsfunktion ist in der Regel eine gewichtete Summe aus vielen kleinen Heuristiken:

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    Miao Wang 39

    Die Bewertungsfunktion ist in der Regel eine gewichtete Summe aus vielen kleinen Heuristiken:

  • Warum können wir nicht bis zu den Blättern suchen?

    Angenommen unser Spiel hat einen konstanten Verzweigungsfaktor von 30, d.h. 30 unterschiedliche Aktionsmöglichkeiten pro Stellung.

    Sei unsere erste Lösung in Tiefe 50.

    Der entsprechende Suchbaum hätte Knoten.

    Angenommen wir hätten 10.000 Computer, die jeweils eine Milliarde Suchschritte pro Sekunde schaffen, und

    Künstliche Intelligenz Miao Wang

    Angenommen wir hätten 10.000 Computer, die jeweils eine Milliarde Suchschritte pro Sekunde schaffen, und man könne die Arbeit ohne Verluste auf alle Rechner verteilen, dann beläuft sich die Rechenzeit auf

    Dies ist zum Glück nur 1043 mal so lange wie unser Universum alt ist.

    Wie kann es dann sein, dass ein Schachcomputer gegen den Weltmeister gewinnt?

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    Warum können wir nicht bis zu den Blättern suchen?

    Angenommen unser Spiel hat einen konstanten Verzweigungsfaktor von 30, d.h. 30 unterschiedliche

    hätte Knoten.

    Angenommen wir hätten 10.000 Computer, die jeweils eine Milliarde Suchschritte pro Sekunde schaffen, und

    Miao Wang 40

    Angenommen wir hätten 10.000 Computer, die jeweils eine Milliarde Suchschritte pro Sekunde schaffen, und man könne die Arbeit ohne Verluste auf alle Rechner verteilen, dann beläuft sich die Rechenzeit auf

    mal so lange wie unser Universum alt ist.

    Wie kann es dann sein, dass ein Schachcomputer gegen den Weltmeister gewinnt?

  • Tic-Tac-Toe

    Ein einfaches Spiel zur Überschaubarkeit ist Tic-Tactheoretisch auch bis zu den Blättern suchen könnte.

    Wenn wir suchen, müssen wir auch das mögliche Verhalten des Gegner in Betracht ziehen und entsprechend agieren. Das Verhalten des Gegners ist jedoch ungewiss

    Idee: Gegner ist unfehlbar, spielt immer den bestmöglichen Zug (optimale Spielstrategie)

    Künstliche Intelligenz Miao Wang

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    Tac-Toe. Der Zustandsraum von TTT ist so klein, dass man theoretisch auch bis zu den Blättern suchen könnte.

    Wenn wir suchen, müssen wir auch das mögliche Verhalten des Gegner in Betracht ziehen und entsprechend agieren. Das Verhalten des Gegners ist jedoch ungewiss und meistens kontraproduktiv.

    Gegner ist unfehlbar, spielt immer den bestmöglichen Zug (optimale Spielstrategie)

    Miao Wang 41

    Halbzug

    Zug

    Bewertung für terminale Stellungen:

    -1 10

    x gewinntremiso gewinnt

  • Min-Max-Algorithmus

    Ein Nullsummenspiel ist definiert als ein Spiel, wo eine gewinnbringende Aktion eines Spielers den Gegenspieler stets schadet und andersrum. Die Gesamtsumme der Gewinne/Verluste aller Spieler ist gleich 0.

    Für einen optimalen Gegenspieler findet der Min-Max-optimale Lösung:

    Ein Spieler versucht seine Bewertung stets zu maximieren, während der Gegenspieler versucht ihn zu minimieren.

    Künstliche Intelligenz Miao Wang

    J. von Neumann, “Zur Theorie der Gesellschaftsspiele,” Mathematische Annalen, vol. J. von Neumann and O. Morgenstern, Theory of Games and Economic Behavior.

    -1 -1

    0

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    Ein Nullsummenspiel ist definiert als ein Spiel, wo eine gewinnbringende Aktion eines Spielers den Gegenspieler stets schadet und andersrum. Die Gesamtsumme der Gewinne/Verluste aller Spieler ist gleich 0.

    -Algorithmus für Nullsummenspiele für zwei Spieler die

    Ein Spieler versucht seine Bewertung stets zu maximieren, während der Gegenspieler versucht ihn zu minimieren.

    Miao Wang 42

    J. von Neumann, “Zur Theorie der Gesellschaftsspiele,” Mathematische Annalen, vol. 100, no. 1, pp. 295–320, 1928.. von Neumann and O. Morgenstern, Theory of Games and Economic Behavior. Princeton University Press, 2007. ISBN-13: 978-0-69113-061-3.

    0

  • Min-Max-Algorithmus

    Sei n die aktuelle Spielstellung

    Pseudocode:

    maxKnoten(n)

    Künstliche Intelligenz Miao Wang

    Sei b der Verzweigungsgrad (branching-factor) und

    Laufzeit: O(bt)

    Variante: Der NegaMax-Algorithmus

    maxKnoten(n)

    if n is terminal state

    return eval(n)

    else

    w = -∞∞∞∞for each successor m of n

    v = minKnoten(m)

    if v > w then w = v

    return w

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    minKnoten(n)

    Miao Wang 43

    ) und t die Tiefe des Suchbaums:

    minKnoten(n)

    if n is terminal state

    return eval(n)

    else

    w = ∞∞∞∞for each successor m of n

    v = maxKnoten(m)

    if v < w then w = v

    return w

  • Beispiel: Min-Max-Algorithmus

    Künstliche Intelligenz Miao Wang

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    Miao Wang 44

  • Min-Max-Algorithmus in Prolog

    minmax(Pos, BestSucc, Val) :-

    (moves(Pos, PosList), !, best(PosList

    eval(Pos, Val).

    best([Pos], Pos, Val) :- minmax(Pos, _, Val), !.

    best([Pos1 | PosList], BestPos, BestVal) :

    minmax(Pos1, _, Val1), best(PosList, Pos2, Val2),

    betterof(Pos1, Val1, Pos2, Val2, BestPos

    Künstliche Intelligenz Miao Wang

    betterof(Pos1, Val1, Pos2, Val2, Pos1, Val1) :

    (mintomove(Pos1), Val1 > Val2, !);

    (maxtomove(Pos1), Val1 < Val2, !).

    betterof(Pos1, Val1, Pos2, Val2, Pos2, Val2).

    % moves(P,L) ist der Zuggenerator und fügt alle gültigen Folgezustände von P in L

    % wenn P terminale Stellung, dann liefert

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    PosList, BestSucc, Val));

    (Pos, _, Val), !.

    ) :-

    , Pos2, Val2),

    BestPos, BestVal).

    Miao Wang 45

    (Pos1, Val1, Pos2, Val2, Pos1, Val1) :-

    % max-Knoten

    % min-Knoten

    (Pos1, Val1, Pos2, Val2, Pos2, Val2).

    (P,L) ist der Zuggenerator und fügt alle gültigen Folgezustände von P in L

    % wenn P terminale Stellung, dann liefert moves(P,L) false

  • Das Nash-Equilibrium

    Der Min-Max-Algorithmus findet als Hauptvariante stets ein Nash

    Weicht der Spieler oder Gegenspieler von dieser Variante ab, kann der jeweilige Spieler seine Bewertung aus seiner Sicht nur verschlechtern.

    Beispiel von vorhin:

    Künstliche Intelligenz Miao Wang

    J. Nash, “Equilibrium Points in N-Person Games,” Proceedings of the National J. Nash, “Non-Cooperative Games,” The Annals of Mathematics, vol. 54, no. 2, pp.

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    stets ein Nash-Gleichgewicht.

    Weicht der Spieler oder Gegenspieler von dieser Variante ab, kann der jeweilige Spieler seine Bewertung aus

    Miao Wang 46

    Person Games,” Proceedings of the National Academy of Sciences, vol. 36, pp. 48–49, 1950.Cooperative Games,” The Annals of Mathematics, vol. 54, no. 2, pp. 286–295, 1951.

  • Alpha-Beta-Pruning

    Min-Max hat exponentielles Wachstum, da alle Situationen betrachtet werden. Es gibt jedoch Situationen im Spielbaum, bei denen einzelne Zweige nicht mehr betrachtet werden müssen, da sie ein Maximum/Minimum am Elternknoten nicht mehr verändern.

    Das Alpha-Beta-Pruning nutzt dies aus um unnötige Äste im Baum abzuschneiden.

    Künstliche Intelligenz Miao Wang

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    Max hat exponentielles Wachstum, da alle Situationen betrachtet werden. Es gibt jedoch Situationen im Spielbaum, bei denen einzelne Zweige nicht mehr betrachtet werden müssen, da sie ein Maximum/Minimum

    nutzt dies aus um unnötige Äste im Baum abzuschneiden.

    Miao Wang 47

  • Alpha-Beta-Pruning

    Pseudocode:

    alpha-beta(n, αααα, ββββ):if n is terminal state return eval

    if n is max-Node

    for each successor m of n

    αααα = max{αααα, alpha-beta(m, if αααα ≥≥≥≥ ββββ return ββββelse continue

    return αααα

    Künstliche Intelligenz Miao Wang

    return ααααelse if n is min-Node

    for each successor m of n

    ββββ = max{ββββ, alpha-beta(m, if αααα ≥≥≥≥ ββββ return ααααelse continue

    return ββββ

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    eval(n)

    (m, αααα, ββββ)}

    Miao Wang 48

    (m, αααα, ββββ)}

  • Beispiel: Alpha-Beta-Pruning

    [-∞∞∞∞,

    [-∞∞∞∞, ∞∞∞∞]

    1

    0

    0

    [0,

    1

    Künstliche Intelligenz Miao Wang

    1 -1

    0 5 -2

    [-∞∞∞∞, ∞∞∞∞]

    1

    -2 < α (= 0)

    αααα-Cutoff

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    , ∞∞∞∞]

    [αααα, ββββ]

    hat blau sicher hat rot sicher

    Blau will maximierenRot will minimieren

    , ∞∞∞∞]

    5

    [0, ∞∞∞∞]

    1

    Miao Wang 49

    -5 1 2

    [0, ∞∞∞∞]

    1

    [0, 1]

    2 > β (= 1)

    ββββ-Cutoff

  • Alpha-Beta-Pruning

    Exemplarisch illustrierte Laufzeiten für 4-gewinnt in einem 7x6 Feld

    Tiefe Min-Max Alpha-Beta

    7 0:05 min

  • Unterscheidung von Spielen

    Spiele können unterschiedliche Eigenschaften haben, sodass sie nicht immer mit den vorgestellten Methoden so einfach zu lösen sind:

    Spieleranzahl: Ein-Spieler, Zwei-Spieler, Mehrspieler

    Zugfolge: Partisan

    Informationsstand: perfekt, vollständig, unvollständig, …

    Wahrscheinlichkeiten: keine, diskret oder stetig

    Künstliche Intelligenz Miao Wang

    Allianzen: kooperativ, nicht-kooperativ

    Gleichgewichte: kein, ein oder mehrere

    Wiederholungen: einmalig, mehrmalig eigenständig, mehrmalig aufbauend, …

    Entscheidungszeitraum: dynamisch / Echtzeit, statisch / rundenbasiert, …

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    Spiele können unterschiedliche Eigenschaften haben, sodass sie nicht immer mit den vorgestellten Methoden

    Spieler, Mehrspieler

    perfekt, vollständig, unvollständig, …

    Miao Wang 51

    einmalig, mehrmalig eigenständig, mehrmalig aufbauend, …

    dynamisch / Echtzeit, statisch / rundenbasiert, …

  • Unvollständige Information: Das Ziegenproblem

    1. Hinter einem Tor versteckt sich ein Auto, hinter den anderen beiden eine Ziege.

    Künstliche Intelligenz Miao Wang

    1. Hinter einem Tor versteckt sich ein Auto, hinter den anderen beiden eine Ziege.

    2. Der Kandidat wählt ein Tor aus.

    3. Hat der Kandidat das Tor mit dem Auto gewählt, dann öffnet der Moderator zufällig eines der beiden anderen Tore, hinter dem sich immer eine Ziege befindet.

    4. Hat der Kandidat ein Tor mit einer Ziege gewählt, dann öffnet der Moderator dasjenige der beiden anderen Tore, hinter dem die zweite Ziege steht.

    5. Der Moderator bietet dem Kandidaten an, seine Entscheidung zu überdenken und das andere ungeöffnete Tor zu wählen.

    Was sollte der Kandidat tun?

    Weitere interessante Beispiele der Spieltheorie: http://de.wikipedia.org/wiki/Spieltheorie#Beispiele

    Lösung: Der Kandidat sollte das Tor wechseln. Seine Gewinnchance beträgt dann 2/3 anstatt 1/3.

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    Unvollständige Information: Das Ziegenproblem

    Hinter einem Tor versteckt sich ein Auto, hinter den anderen beiden eine Ziege.

    Miao Wang 52

    Hinter einem Tor versteckt sich ein Auto, hinter den anderen beiden eine Ziege.

    Hat der Kandidat das Tor mit dem Auto gewählt, dann öffnet der Moderator zufällig eines der beiden anderen Tore, hinter dem sich immer eine Ziege befindet.

    Hat der Kandidat ein Tor mit einer Ziege gewählt, dann öffnet der Moderator dasjenige der beiden anderen Tore, hinter dem die zweite Ziege steht.

    Der Moderator bietet dem Kandidaten an, seine Entscheidung zu überdenken und das andere

    http://de.wikipedia.org/wiki/Spieltheorie#Beispiele

    Lösung: Der Kandidat sollte das Tor wechseln. Seine Gewinnchance beträgt dann 2/3 anstatt 1/3.

  • Allianzen: Das Gefangenendilemma

    • Zwei Gefangene werden verdächtigt, gemeinsam eine Straftat begangen zu haben. Die Höchststrafe für das Verbrechen beträgt fünf Jahre.

    • Beiden Gefangenen wird ein Handel vorgeschlagen: Wenn einer gesteht und somit seinen Partner mitbelastet, kommt er mit einer milden Strafe davon (1 Jahr) – der andere muss die vollen 5 Jahre absitzen.

    • Entscheiden sich beide weiter zu schweigen, führen die Indizienbeweise beide für 2 Jahre hinter Gitter.

    Künstliche Intelligenz Miao Wang

    Indizienbeweise beide für 2 Jahre hinter Gitter.

    • Gestehen beide die Tat, erwartet jeden weiterhin eine Gefängnisstrafe von 3 Jahren.

    • Beide Gefangenen werden unabhängig voneinander befragt. Weder vor noch während der Befragung haben die beiden die Möglichkeit, sich untereinander abzusprechen.

    Was wäre eine rationale Entscheidung?

    Weitere interessante Beispiele der Spieltheorie: http://de.wikipedia.org/wiki/Spieltheorie#Beispiele

    Kollektiv wäre es sinnvoll zu schweigenDoch individuell wäre es vorteilhafter auszusagen

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    Zwei Gefangene werden verdächtigt, gemeinsam eine Straftat begangen zu haben. Die Höchststrafe für das

    Beiden Gefangenen wird ein Handel vorgeschlagen: Wenn einer gesteht und somit seinen Partner mitbelastet, kommt

    der andere muss

    Entscheiden sich beide weiter zu schweigen, führen die

    Miao Wang 53

    Gestehen beide die Tat, erwartet jeden weiterhin eine

    Beide Gefangenen werden unabhängig voneinander befragt. Weder vor noch während der Befragung haben die beiden die Möglichkeit, sich untereinander abzusprechen.

    http://de.wikipedia.org/wiki/Spieltheorie#Beispiele

  • Kooperationen: Eisverkäufer am Strand

    Hotellings Gesetz ist ein Theorem in der Mikroökonomie, welches demonstriert das einzeln, rational entscheidende Produzenten im Gesamten weniger Gewinn erwirtschaften als kooperativ handelnde.

    • Zwei Eisverkäufer platzieren ihre Stände an einem Strand von 100

    • Der Strand ist gleichmäßig mit Badegästen gefüllt und jeder Badegast wählt den Eisverkäufer, der näher dran ist, es sei denn der Weg ist zu weit.

    • Gesucht ist die optimale Position beider Eisverkäufer für den maximalen Umsatz

    Wenn beide Eisverkäufer rational und zielgerichtet handeln werden sie aus Konkurrenzgedanken immer näher Richtung Mitte wandern und letztlich weniger Umsatz machen!

    Künstliche Intelligenz Miao Wang

    Weitere interessante Beispiele der Spieltheorie: http://de.wikipedia.org/wiki/Spieltheorie#Beispiele

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    Gesetz ist ein Theorem in der Mikroökonomie, welches demonstriert das einzeln, rational entscheidende Produzenten im Gesamten weniger Gewinn erwirtschaften als kooperativ handelnde.

    Zwei Eisverkäufer platzieren ihre Stände an einem Strand von 100 m Länge.

    Der Strand ist gleichmäßig mit Badegästen gefüllt und jeder Badegast wählt den Eisverkäufer, der näher dran ist, es sei denn der Weg ist zu weit.

    Gesucht ist die optimale Position beider Eisverkäufer für den maximalen Umsatz

    Miao Wang 54

    http://de.wikipedia.org/wiki/Spieltheorie#Beispiele

  • Mehrere Gleichgewichte: Der Kampf der Geschlechter

    Der Kampf der Geschlechter ist ein verwandtes Problem zum Gefangendilemma und weist zwei Nash-Gleichgewichte auf:

    Ein Mann und eine Frau wollen den Abend verbringen, haben sich aber noch nicht auf einen Ort geeinigt. Beide müssen sich unabhängig voneinander entscheiden. Das Fußballspiel wird von dem Mann, das Konzert von der Frau präferiert.

    Folgende Tabelle zeigt die mögliche „Auszahlung“:

    Künstliche Intelligenz Miao Wang

    Weitere interessante Beispiele der Spieltheorie: http://de.wikipedia.org/wiki/Spieltheorie#Beispiele

    Fußball

    Fußball (3,1)

    Konzert (0,0)

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    Mehrere Gleichgewichte: Der Kampf der Geschlechter

    Der Kampf der Geschlechter ist ein verwandtes Problem zum Gefangendilemma

    Ein Mann und eine Frau wollen den Abend verbringen, haben sich aber noch nicht auf einen Ort geeinigt. Beide müssen sich unabhängig voneinander entscheiden. Das Fußballspiel wird von dem Mann, das Konzert von der Frau präferiert.

    Miao Wang 55

    http://de.wikipedia.org/wiki/Spieltheorie#Beispiele

    Konzert

    (0,0)

    (3,1)

    Es gibt zwei Nash-Gleichgewichte oben links und unten rechts.

    Das Problem ist, dass es keine dominanten Strategien

  • Mehrspielerproblem

    Um Min-Max für mehrere Spieler anwenden zu können, müssen einige Anpassungen vorgenommen werden:

    • Für jede Ebene muss gespeichert werden, welcher Spieler an der Reihe ist

    • Die Bewertungsfunktion darf nicht mehr einen Wert zurückliefern, sondern muss einen erstellen, welche die Bewertungen für alle Spieler aus ihrer Sicht enthalten

    Künstliche Intelligenz Miao Wang

    Es existieren nun jedoch mehrere Möglichkeiten die beste Alternative zu wählen.

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    Max für mehrere Spieler anwenden zu können, müssen einige Anpassungen vorgenommen werden:

    Für jede Ebene muss gespeichert werden, welcher Spieler an der Reihe ist

    Die Bewertungsfunktion darf nicht mehr einen Wert zurückliefern, sondern muss einen Nutzenvektorerstellen, welche die Bewertungen für alle Spieler aus ihrer Sicht enthalten

    Miao Wang 56

    Es existieren nun jedoch mehrere Möglichkeiten die beste Alternative zu wählen.

  • maxN-Variante

    Eine Variante wäre, wenn sich alle Spieler optimistisch verhalten und jeweils versuchen ihren eigenen Nutzen im Nutzenvektor stets zu maximieren:

    Künstliche Intelligenz Miao Wang

    N. R. Sturtevant, A Comparison of Algorithms for Multi-player Games, vol. C. Luckhardt and K. Irani, “An algorithmic solution of N-person games,” Fifth (AAAI-86), vol. 1986, pp. 158–162, 1986.

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    Eine Variante wäre, wenn sich alle Spieler optimistisch verhalten und jeweils versuchen ihren eigenen Nutzen

    Miao Wang 57

    player Games, vol. 0302/2003. Springer Berlin / Heidelberg, 2003. ISBN-13: 978-3-540-20545-6.person games,” Fifth National Conference of the American Association for Artificial Intelligence

  • Paranoid-Variante

    Im Gegensatz zu maxN können sich die Spieler aber auch pessimistisch verhalten und die Annahme treffen, dass sich alle Gegenspieler zu einer Allianz gegen sich selbst geschlossen haben. Die Annahme ist, dass sich die Gegner verbünden und vorhaben den eigenen Nutzen stets zu minimieren:

    Künstliche Intelligenz Miao Wang

    N. R. Sturtevant, A Comparison of Algorithms for Multi-player Games, vol. N. R. Sturtevant and R. E. Korf, “On Pruning Techniques for Multi-Player Games,” Artificial Intelligence (AAAI-00), pp. 201–207, 2000.

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    können sich die Spieler aber auch pessimistisch verhalten und die Annahme treffen, dass sich alle Gegenspieler zu einer Allianz gegen sich selbst geschlossen haben. Die Annahme ist, dass sich die Gegner verbünden und vorhaben den eigenen Nutzen stets zu minimieren:

    Miao Wang 58

    player Games, vol. 0302/2003. Springer Berlin / Heidelberg, 2003. ISBN-13: 978-3-540-20545-6.Player Games,” Sixteenth National Conference of the American Association for

    Selber Suchbaum wie vorhin. Eingetragen ist nur der Nutzenwert vom suchenden Spieler A

  • Zusammenfassung

    • Das allgemeines Suchproblem beschreibt das Problem einen Weg von einem Startzustand zu einem Zielzustand zu finden. Der Graph wird dabei implizit aufgebaut.

    • Uninformierte Suchverfahren wie Tiefensuche oder Graphen ineffizient.

    • Informierte Suchverfahren bedienen sich einer heuristischen Funktionabschätzen.

    • Die Bestensuche priorisiert nach einer Heuristik und ist sehr schnell, findet aber die „erstbeste“ Lösung und somit nicht immer die allgemein beste Lösung

    • Der A*-Algorithmus ist ein optimaler Wegfindungsalgorithmus und

    Künstliche Intelligenz Miao Wang

    • Der A*-Algorithmus ist ein optimaler Wegfindungsalgorithmus undniedrigsten Gesamtkosten, wenn die Heuristik h zulässig ist.

    • Methoden wie Iterative Tiefensuche, Bidirektionale Suche und beschleunigen.

    • Für die Suche in der Spieltheorie wird das allgemeine Suchproblem leicht modifiziert.

    • Der Min-Max-Algorithmus findet in einem Nullsummenspiel für zwei Spieler stets die optimale Hauptvariante gemäß dem Nash-Gleichgewicht.

    • Der Suchbaum kann mit Hilfe von Alpha-Beta-Pruning

    • Für Mehrspielerspiele müssen zusätzliche Faktoren berücksichtigt werden.

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    beschreibt das Problem einen Weg von einem Startzustand zu einem Zielzustand zu finden. Der Graph wird dabei implizit aufgebaut.

    oder Breitensuche suchen „blind“, und sind für große

    heuristischen Funktion, mit der sie die Kosten zum Ziel

    priorisiert nach einer Heuristik und ist sehr schnell, findet aber die „erstbeste“ Lösung und somit nicht immer die allgemein beste Lösung

    ist ein optimaler Wegfindungsalgorithmus und findet immer die Lösung mit den

    Miao Wang 59

    ist ein optimaler Wegfindungsalgorithmus und findet immer die Lösung mit den niedrigsten Gesamtkosten, wenn die Heuristik h zulässig ist.

    Methoden wie Iterative Tiefensuche, Bidirektionale Suche und Branch-and-Bound können die Suche

    wird das allgemeine Suchproblem leicht modifiziert.

    findet in einem Nullsummenspiel für zwei Spieler stets die optimale Gleichgewicht.

    Pruning stark beschnitten werden.

    Für Mehrspielerspiele müssen zusätzliche Faktoren berücksichtigt werden.

  • Übungsaufgaben

    Aufgabe 1 – Mehrere Anfangszustände (2P)Die Algorithmen in der Vorlesung sind immer von genau einem Anfangszustand ausgegangen. Wie kann man die Ansätze generalisiermöglichen Anfangszuständen umzugehen?

    Aufgabe 2 – 6 Steine (5 P)Gegeben sind drei weiße und drei schwarze Steine auf sieben nebeneinanderliegenden Feldern in der unten abgebildeten Verteiluweißen Steine links von den schwarzen liegen. Die Position des leeren Feldesist dabei unerheblich.Bei jedem Zug wird ein Stein auf das leere Feld bewegt. Erlaubte Züge sind einen Stein auf ein benachbartes leeres Feld zu ziStein zu überspringen (Kosten 1) oder zwei Steine zu überspringen (Kosten 2).

    • Analysieren Sie den Zustandsraum im Hinblick auf Komplexität und Schleifen. (1P)

    Künstliche Intelligenz Miao Wang

    • Analysieren Sie den Zustandsraum im Hinblick auf Komplexität und Schleifen. (1P)• Beschreiben Sie eine geeignete heuristische Funktion h, um dieses Problem zu lösen. Analysieren Sie h im Hinblick auf ZuläsInformiertheit. (3P)• Angenommen es existieren mehrere zulässige Heuristiken h1 … hk, die unterschiedlich informiert sind. D.h. keine Heuristik ist für alle Knoten informierter als eine andere, aber für einige Knoten schon. Welche Heuristik sollte man bei einem Knoten wählen? (1P)

    Aufgabe 3 – 8-Puzzle einfach und leicht (Advanced KI-Skills)Schreiben Sie ein Prologprogramm, welches das 8-Puzzle für eine beliebige Startkonfiguration mittels Breitensuche oder A* löst.

    Aufgabe 4 - Minimax und Alpha-Beta-Pruning (10P)

    • Führen Sie die Auswertung des abgebildeten Baumes per Minimax aus (auf Papier). (3P)• Werten Sie den Baum mit Alpha-Beta-Pruning von links nach rechts aus. (3P)• Werten Sie den Baum mit Alpha-Beta-Pruning von rechts nach links aus. (3P)• Erörtern Sie, warum bei den beiden Durchgängen für die Alpha-Beta-Pruning unterschiedlich beschnitten wurde. (1P)

    Vorlesung Künstliche Intelligenz

    Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

    Die Algorithmen in der Vorlesung sind immer von genau einem Anfangszustand ausgegangen. Wie kann man die Ansätze generalisieren, um mit mehreren

    Gegeben sind drei weiße und drei schwarze Steine auf sieben nebeneinanderliegenden Feldern in der unten abgebildeten Verteilung. Ziel ist es, dass alle

    Bei jedem Zug wird ein Stein auf das leere Feld bewegt. Erlaubte Züge sind einen Stein auf ein benachbartes leeres Feld zu ziehen (mit Kosten von 1), einen

    • Analysieren Sie den Zustandsraum im Hinblick auf Komplexität und Schleifen. (1P)

    Miao Wang 60

    • Analysieren Sie den Zustandsraum im Hinblick auf Komplexität und Schleifen. (1P)• Beschreiben Sie eine geeignete heuristische Funktion h, um dieses Problem zu lösen. Analysieren Sie h im Hinblick auf Zulässigkeit, Monotonie und

    , die unterschiedlich informiert sind. D.h. keine Heuristik ist für alle Knoten informierter als eine andere, aber für einige Knoten schon. Welche Heuristik sollte man bei einem Knoten wählen? (1P)

    Puzzle für eine beliebige Startkonfiguration mittels Breitensuche oder A* löst.

    • Führen Sie die Auswertung des abgebildeten Baumes per Minimax aus (auf Papier). (3P)

    unterschiedlich beschnitten wurde. (1P)