Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9)...

44
- General Ga Einführung in die Kü Dr. Marco B Sommersemester 2009 ES ES P ME ME NN NN Vorlesung: Künstliche Intelligenz Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz ame Playing - ünstliche Intelligenz 1 Block-Berlitz LS LS S ST ST G O

Transcript of Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9)...

Page 1: Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9) Reinforcement Learning und Spieleprogrammierung 10) Genetische und evolutionäre Algorithmen

- General Game Playing

Einführung in die Künstliche Intelligenz

Dr. Marco BlockSommersemester 2009

ESES

PP

MEMENNNN

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

General Game Playing -

Einführung in die Künstliche Intelligenz

1Dr. Marco Block-Berlitz

LSLS

SS STST

GG

OO

Page 2: Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9) Reinforcement Learning und Spieleprogrammierung 10) Genetische und evolutionäre Algorithmen

1) Definition und Geschichte der KI, PROLOG

2) Expertensysteme

3) Logisches Schließen, Resolution

4) Suche und Spieltheorie

5) Optimierungen und Heuristiken (Spieleprogrammierung)

6) Mustererkennung

Übersicht zum Vorlesungsinhalt

6) Mustererkennung

7) Neuronale Netze

8) General Game Playing

9) Reinforcement Learning und Spieleprogrammierung

10) Genetische und evolutionäre Algorithmen

11) Bildverarbeitung

12) Robotik, Pathfinding

Sommersemester 2009 Dr. Marco Block

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

1) Definition und Geschichte der KI, PROLOG

5) Optimierungen und Heuristiken (Spieleprogrammierung)

9) Reinforcement Learning und Spieleprogrammierung

Dr. Marco Block-Berlitz 2

Page 3: Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9) Reinforcement Learning und Spieleprogrammierung 10) Genetische und evolutionäre Algorithmen

• Das Spiel Dame (checkers) gilt seit 2007 als „weakly solved“.

• Im Schach sind Maschinen den menschlichen Großmeistern seit den Bestes Programm: Rybka

• Go ist die neue Drosophila melanogaster der Künstlichen Intelligenz, aktuelle Programme haben aber nur Amateur-Niveau

Spiele und Komplexität

Im Vergleich dazu: Anzahl Atome der Erde (51) und Anzahl Atome im Weltall (78)

Sommersemester 2009 Dr. Marco Block

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

als „weakly solved“. Chinook ist nicht zu besiegen.

Im Schach sind Maschinen den menschlichen Großmeistern seit den 1990‘ern ebenwürdig.

der Künstlichen Intelligenz, aktuelle Programme haben aber nur

Im Vergleich dazu: Anzahl Atome der Erde (51) und Anzahl Atome im Weltall (78)

Dr. Marco Block-Berlitz 3

Page 4: Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9) Reinforcement Learning und Spieleprogrammierung 10) Genetische und evolutionäre Algorithmen

Schachprogramme sind in der Lage menschliche Weltmeister zu besiegen, aber nicht in der Lage, eine Partie TicTacToe zu spielen.

Spezialisierte Meister

Sommersemester 2009 Dr. Marco Block

Kasparov – Deep(er) Blue 1997 (2.5-3.5)

Dr. Marion Tinsley hatte zwischen 1950-1992 nur 5 Partien verloren.

Niemand hat über eine so lange Zeit ein Spiel so absolut dominiert.

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Schachprogramme sind in der Lage menschliche Weltmeister zu besiegen, aber nicht in der Lage, eine Partie

Dr. Marco Block-Berlitz 4

Tinsley - Chinook 1992 (4-33-2)

† 3. April 1995

Page 5: Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9) Reinforcement Learning und Spieleprogrammierung 10) Genetische und evolutionäre Algorithmen

Ein Mensch ist in der Lage, anhand von Spielregeln und auf Grund von Spielerfahrungen eigene GewinnKooperationsstrategien zu entwickeln.

Motiviert durch den Homo ludens wollen wir die Machina ludens

Machina ludens

Sommersemester 2009 Dr. Marco Block

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Ein Mensch ist in der Lage, anhand von Spielregeln und auf Grund von Spielerfahrungen eigene Gewinn- und

Machina ludens entwickeln.

Dr. Marco Block-Berlitz 5

Abbildung aus [1]

Page 6: Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9) Reinforcement Learning und Spieleprogrammierung 10) Genetische und evolutionäre Algorithmen

Große Herausforderung:

- eine allgemeine, formale Sprache wird benötigt, um Spiele zu beschreiben

Spieler: weiss, schwarz

Spielbrett: 8x8 Brettmatrix

Spielfiguren und Aktionsmöglichkeiten

... und so weiter

Machina ludens - Herausforderung

Sommersemester 2009 Dr. Marco Block

- Erkenntnisse und Konzepte aus spezialisierten Programmen zu allgemein gültigen Lösungen transformieren und vereinigen

MinMax-Prinzip, Alpha-Beta-Pruning, Evaluationsfunktion

Logisches Schließen

Transpositionstabellen

Eröffnungs- und Endspieldatenbanken

Maschinelles Lernen zur Optimierung und Kallibrierung

Aber: Machina ludens kann nie besser sein, als eine speziell an eine Domain angepasste Lösung!

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

eine allgemeine, formale Sprache wird benötigt, um Spiele zu beschreiben

Spielfiguren und Aktionsmöglichkeiten

Abbildung aus [1]

Dr. Marco Block-Berlitz 6

Bisher hatte der Mensch als Lehrer Kriterien für eine Bewertungsfunktion

vorgeschlagen (Expertensystem)

Erkenntnisse und Konzepte aus spezialisierten Programmen zu allgemein gültigen Lösungen

Pruning, Evaluationsfunktion

und Endspieldatenbanken

Maschinelles Lernen zur Optimierung und Kallibrierung

kann nie besser sein, als eine speziell an eine Domain angepasste Lösung!

Page 7: Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9) Reinforcement Learning und Spieleprogrammierung 10) Genetische und evolutionäre Algorithmen

Machina ludens – Warum das Ganze?

Das führt uns zu der Frage: Was ist ein Spiel?

Wenn wir soziale, biologische, politische, wirtschaftliche Zusammenhängeebenfalls formal beschreiben können und Agenten haben, die logische, korrekteEntscheidungen treffen können, verstehen wir uns und vielleicht sehr viel besser.

Sommersemester 2009 Dr. Marco Block

- eine formale Sprache für Spiele läßt sich erweitern

- die KI wird mitwachsen

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Abbildung aus [1]

Wenn wir soziale, biologische, politische, wirtschaftliche Zusammenhängeebenfalls formal beschreiben können und Agenten haben, die logische, korrekte

und Intelligenz vielleicht

Dr. Marco Block-Berlitz 7

Page 8: Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9) Reinforcement Learning und Spieleprogrammierung 10) Genetische und evolutionäre Algorithmen

Machina ludens – PART I

1) Wir definieren eine allgemeine, formale Sprache für die Beschreibungvon Spielen.

2) Wir entwerfen eine KI, die GDL versteht und mittels Suche und allgemeinemWissen die richtigen Entscheidungen trifft, um ein Spiel zu gewinnen.

Sommersemester 2009 Dr. Marco Block

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Abbildung aus [1]

Wir definieren eine allgemeine, formale Sprache für die Beschreibung

2) Wir entwerfen eine KI, die GDL versteht und mittels Suche und allgemeinemWissen die richtigen Entscheidungen trifft, um ein Spiel zu gewinnen.

Dr. Marco Block-Berlitz 8

Page 9: Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9) Reinforcement Learning und Spieleprogrammierung 10) Genetische und evolutionäre Algorithmen

Game Description Language (GDL) seit 2005 [2]

Spiele können mit der formalen Sprache GDL beschrieben werden. Entwickelt wurde diese an der Stanford-University von Michael Genesereth. Eigenschaften der beschreibbaren Spiele sind:

• alle Spieler haben Zugriff auf die vollständigen Informationen des aktuellen Spielzustandes und des bisher geschehenen Spielverlaufes

• es gibt keine Zufallsereignisse

• das Spiel ist rundenbasiert

Formale Sprachen für Spielbeschreibungen

• es gibt keine Kommunikation und keine Kooperation zwischen Agenten

Es werden viele Turniere ausgetragen, z.B. bei der AAAI.

Extended General Gaming Model (EGGM) seit 2007

Objektorientierte Sprache, mit der auch wahrscheinlichkeitsbasierte Spiele formal beschreibbar sind (nicht kompatibel zu GDL).

Sommersemester 2009 Dr. Marco Block

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Spiele können mit der formalen Sprache GDL beschrieben werden. Entwickelt wurde diese an der University von Michael Genesereth. Eigenschaften der beschreibbaren Spiele sind:

alle Spieler haben Zugriff auf die vollständigen Informationen des aktuellen Spielzustandes und

Formale Sprachen für Spielbeschreibungen

es gibt keine Kommunikation und keine Kooperation zwischen Agenten

Es werden viele Turniere ausgetragen, z.B. bei der AAAI.

Extended General Gaming Model (EGGM) seit 2007 [3]

Objektorientierte Sprache, mit der auch wahrscheinlichkeitsbasierte Spiele formal beschreibbar sind

Dr. Marco Block-Berlitz 9

Page 10: Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9) Reinforcement Learning und Spieleprogrammierung 10) Genetische und evolutionäre Algorithmen

Ein-Spieler-Spiel dargestellt als State Machine

Zustandsautomaten

Aktionen lassen sich für Multi-Spieler-Spiele kombiniert darstellen

Sommersemester 2009 Dr. Marco Block

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Spiele kombiniert darstellen

Dr. Marco Block-Berlitz 10

Abbildungen aus [4]

Page 11: Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9) Reinforcement Learning und Spieleprogrammierung 10) Genetische und evolutionäre Algorithmen

Schauen wir uns ein paar Code-Beispiele in GDL an.

Beispiel 1:

General Description Language – Beispiele in Pseudo

Konstanten

Variablen

Sommersemester 2009 Dr. Marco Block

Beispiel 2 (Pattern matching):

Beispiel 3 (Substitution):

Beispiel 4 (Rekursion):

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Beispiele in Pseudo-GDL

Fakten/Atome

Regeln

Konstanten

Variablen

Lösungen für q, r und s:

Dr. Marco Block-Berlitz 11

Negation

Beispiel aus [4]

Page 12: Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9) Reinforcement Learning und Spieleprogrammierung 10) Genetische und evolutionäre Algorithmen

Eine Regel gilt genau dann als sicher, wenn jede Variable im Kopf in einem positiven

Subgoal im Funktionskörper erscheint.

General Description Language - Sicherheit

In GDL müssen alle Regeln sicher sein.

Sommersemester 2009 Dr. Marco Block

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

, wenn jede Variable im Kopf in einem positiven

Sicherheit

Sicher

Dr. Marco Block-Berlitz 12

Unsicher

Page 13: Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9) Reinforcement Learning und Spieleprogrammierung 10) Genetische und evolutionäre Algorithmen

Abhängigkeiten der Regeln lassen sich durch einen gerichteten Graphen veranschaulichen.

General Description Language – Dependency Graph

r(X,Y) :- p(X,Y) & q(X,Y)

s(X,Y) :- r(X,Y)

s(X,Z) :- r(X,Y) & t(Y,Z)

t(X,Z) :- s(X,Y) & s(Y,X)

Sommersemester 2009 Dr. Marco Block

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Abhängigkeiten der Regeln lassen sich durch einen gerichteten Graphen veranschaulichen.

Dependency Graph

s

t Schichten

Dr. Marco Block-Berlitz 13

r

p q

Beispiel aus [4]

Page 14: Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9) Reinforcement Learning und Spieleprogrammierung 10) Genetische und evolutionäre Algorithmen

Eine Negation gilt genau dann als geschichtet (stratified), wenn es keine rekursiven Zyklen

gibt, an denen die Negation beteiligt ist.

General Description Language – Geschichtete Negation

r(X,Z) :- p(X,Y)

r(X,Z) :- p(X,Y) & ~r(Y,Z)

In GDL müssen alle Negationen geschichtet sein.

Sommersemester 2009 Dr. Marco Block

t(X,Y) :- q(X,Y) & ~r(X,Y)

r(X,Z) :- p(X,Y)

r(X,Z) :- r(X,Y) & r(Y,Z)

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

(stratified), wenn es keine rekursiven Zyklen

Geschichtete Negation

r

p

Dr. Marco Block-Berlitz 14

Beispiel aus [4]

nicht geschichtet

t

q r

p

geschichtet

Page 15: Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9) Reinforcement Learning und Spieleprogrammierung 10) Genetische und evolutionäre Algorithmen

Eine Rekursion gilt genau dann als geschichtet (stratified), wenn jede Variable des Kopfes in

einem Subgoal auftaucht, das in eine niedrigere Schicht führt.

General Description Language – Geschichtete Rekursion

r(X,Z) :- p(X,Y) & q(Z) & r(Y,Z)

In GDL müssen alle Rekursionen geschichtet sein.

Sommersemester 2009 Dr. Marco Block

r(X,Z) :- r(X,Y) & r(Y,Z)

r(X,Z) :- p(X,Y) & q(X) & r(Y,Z)

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

(stratified), wenn jede Variable des Kopfes in

einem Subgoal auftaucht, das in eine niedrigere Schicht führt.

Geschichtete Rekursion

p(X,Y) & q(Z) & r(Y,Z)

geschichtet

Dr. Marco Block-Berlitz 15

Beispiel aus [4]

nicht geschichtet

p(X,Y) & q(X) & r(Y,Z)

Page 16: Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9) Reinforcement Learning und Spieleprogrammierung 10) Genetische und evolutionäre Algorithmen

Analog zu PROLOG lassen sich in GDL Spiele durch

TicTacToe in Pseudo-GDL

Sommersemester 2009 Dr. Marco Block

Alle fett gedruckten Relationensind in GDL vordefiniert.

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Analog zu PROLOG lassen sich in GDL Spiele durch Fakten und Regeln beschreiben

Dr. Marco Block-Berlitz 16

TicTacToe Code aus [4]

Page 17: Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9) Reinforcement Learning und Spieleprogrammierung 10) Genetische und evolutionäre Algorithmen

Für einen Zustand beim Spiel TicTacToe sind die Belegungen der Felder wichtig. Desweiteren muss

bekannt sein, welcher Spieler am Zug ist (control).

Repräsentation eines Zustands

Weiss

Sommersemester 2009 Dr. Marco Block

Schwarz

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Für einen Zustand beim Spiel TicTacToe sind die Belegungen der Felder wichtig. Desweiteren muss

Dr. Marco Block-Berlitz 17

Beispiel aus [4]

Page 18: Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9) Reinforcement Learning und Spieleprogrammierung 10) Genetische und evolutionäre Algorithmen

Ermittlung der legalen Züge (Zuggenerator)

In Abhängigkeit vom aktuellen Zustand und dem aktuell aktiven Spieler, können Regeln (legal)

für Zugmöglichkeiten abgeleitet werden. In diesem Fall markieren (mark) wir die möglichen

Zugfelder.

Sommersemester 2009 Dr. Marco Block

Weiss steht keine Operation (noop)

zur Verfügung

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Ermittlung der legalen Züge (Zuggenerator)

In Abhängigkeit vom aktuellen Zustand und dem aktuell aktiven Spieler, können Regeln (legal)

für Zugmöglichkeiten abgeleitet werden. In diesem Fall markieren (mark) wir die möglichen

Aktueller Zustand:

Dr. Marco Block-Berlitz 18

Weiss steht keine Operation (noop)

zur Verfügung

Schwarz kann auf alle leeren Felder

setzen

Beispiel aus [4]

Page 19: Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9) Reinforcement Learning und Spieleprogrammierung 10) Genetische und evolutionäre Algorithmen

Wenn ein Zug ausgewählt wurde, muss der Zustand aktualisiert werden und die Kontrolle der

Spieler gewechselt werden.

Aktualisierung des Zustands

Sommersemester 2009 Dr. Marco Block

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Wenn ein Zug ausgewählt wurde, muss der Zustand aktualisiert werden und die Kontrolle der

Dr. Marco Block-Berlitz 19

black

mark(1,3)

change control

Beispiel aus [4]

Page 20: Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9) Reinforcement Learning und Spieleprogrammierung 10) Genetische und evolutionäre Algorithmen

Die Regel next im Spiel TicTacToe:

Aktualisierung des Zustands

Sommersemester 2009 Dr. Marco Block

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Dr. Marco Block-Berlitz 20

Beispiel aus [4]

Control wechseln

Page 21: Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9) Reinforcement Learning und Spieleprogrammierung 10) Genetische und evolutionäre Algorithmen

Durch die Definition geeigneter Makros (Regeln) lassen sich die gewünschten Spielformulieren.

Definition von Makros

Sommersemester 2009 Dr. Marco Block

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Durch die Definition geeigneter Makros (Regeln) lassen sich die gewünschten Spiel-Eigenschaften besser

Dr. Marco Block-Berlitz 21

Beispiel aus [4]

Page 22: Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9) Reinforcement Learning und Spieleprogrammierung 10) Genetische und evolutionäre Algorithmen

Im Falle eines Sieges gibt es den Wert 100, bei Unentschieden 50 und bei Niederlage 0 Punkte (per Definition). Mit der Relation goal definieren wir Ziele (auch Zwischenziele) und über wir Situationen für ein Spielende.

Ziele und Spielende

Sommersemester 2009 Dr. Marco Block

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Im Falle eines Sieges gibt es den Wert 100, bei Unentschieden 50 und bei Niederlage 0 Punkte (per l definieren wir Ziele (auch Zwischenziele) und über terminal beschreiben

Dr. Marco Block-Berlitz 22

Beispiel aus [4]

Page 23: Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9) Reinforcement Learning und Spieleprogrammierung 10) Genetische und evolutionäre Algorithmen

Es lassen sich Spieler über die Relation role im Spiel anmelden.

Eine Übersicht der in GGP vordefinierten Relationen:

role(a) means that a is a role / player in the game

Rollen und GGP-Vokabular

init(p) means that the datum p is true in the initial state

true(p) means that the datum p is true in the current state

does(r,a) means that player r performs action

next(p) means that the datum p is true in the next state

legal(r,a) means it is legal for r to play a in the current state

goal(r) means that player r's goal is achieved in the current state

terminal means that the current state is a terminal state

GDL-Spezifikation: http://games.stanford.edu/language/language.html

Sommersemester 2009 Dr. Marco Block

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

im Spiel anmelden.

Eine Übersicht der in GGP vordefinierten Relationen:

is a role / player in the game

in the initial state

in the current state

performs action a in the current state

in the next state

in the current state

is achieved in the current state

means that the current state is a terminal state

http://games.stanford.edu/language/language.html

Dr. Marco Block-Berlitz 23

Beispiel aus [4]

Page 24: Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9) Reinforcement Learning und Spieleprogrammierung 10) Genetische und evolutionäre Algorithmen

Definition 21 (Termination): A game description in GDL terminates if all infinite sequences of legal moves from the initial state of the game reach a terminal state after a finite number of steps.

Definition 22 (Playability): A game description in GDL is playable if and only if every role has at least one legal move in every non-terminal state reachable from the initial state.

Definition 23 (Monotonicity): A game description in GDL is monotonic if and only if every role has exactly one goal value in every state reachable from the initial state, and goal values never decrease.

Definition 24 (Winnability): A game description in GDL is strongly winnable if and only if, for some role, there is a sequence of individual moves of that role that leads to a terminal state of the game where that role's goal value is

„Well-formed Games“ in GDL

maximal. A game description in GDL is weakly winnable if and only if, for every role, there is a sequence of joint moves of all roles that leads to a terminal state where that role's goal value is

Definition 25 (Well-formed Games): A game description in GDL is wellis both playable and weakly winnable.

Sommersemester 2009 Dr. Marco Block

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

A game description in GDL terminates if all infinite sequences of legal moves from the initial state of the game reach a terminal state after a finite number of steps.

A game description in GDL is playable if and only if every role has at least one legal terminal state reachable from the initial state.

A game description in GDL is monotonic if and only if every role has exactly one goal value in every state reachable from the initial state, and goal values never decrease.

A game description in GDL is strongly winnable if and only if, for some role, there is a sequence of individual moves of that role that leads to a terminal state of the game where that role's goal value is maximal. A game description in GDL is weakly winnable if and only if, for every role, there is a sequence of joint moves of all roles that leads to a terminal state where that role's goal value is maximal.

A game description in GDL is well-formed if it terminates, is monotonic, and

Dr. Marco Block-Berlitz 24

Achtung: In GDL lassen sich auch nicht „well-formed Games“

definieren.

Page 25: Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9) Reinforcement Learning und Spieleprogrammierung 10) Genetische und evolutionäre Algorithmen

In der Spielbeschreibung lesen (und interpretieren) wir:

Der Computer-Spieler versteht nur das:

Keine vordefinierten Annahmen

Sommersemester 2009 Dr. Marco Block

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

In der Spielbeschreibung lesen (und interpretieren) wir:

Dr. Marco Block-Berlitz 25

Es gibt also keine semantischen Informationen!

Beispiel aus [4]

Page 26: Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9) Reinforcement Learning und Spieleprogrammierung 10) Genetische und evolutionäre Algorithmen

KIF (Knowledge Interchange Format) ist ein Standardformat für den logischen Wissensaustausch.

Die gegebenen Hornklauseln der Form (ähnlich der PROLOG

werden dabei in Prefix-Schreibweise umgestellt.

GDL in KIF

Operatoren werden umbenannt und die Variablen erhalten das Symbol ‚?‘.

Sommersemester 2009 Dr. Marco Block

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

KIF (Knowledge Interchange Format) ist ein Standardformat für den logischen Wissensaustausch.

Die gegebenen Hornklauseln der Form (ähnlich der PROLOG-Syntax)

Operatoren werden umbenannt und die Variablen erhalten das Symbol ‚?‘.

Dr. Marco Block-Berlitz 26

Beispiel aus [4]

Page 27: Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9) Reinforcement Learning und Spieleprogrammierung 10) Genetische und evolutionäre Algorithmen

TicTacToe in GDL (KIF)

(role x)

(role o)

(init (cell 1 1 b))

(init (cell 1 2 b))

(init (cell 1 3 b))

(init (cell 2 1 b))

(init (cell 2 2 b))

(init (cell 2 3 b))

(init (cell 3 1 b))

(<= (row ?x ?player)

(true (cell ?x 1 ?player))

(true (cell ?x 2 ?player))

(true (cell ?x 3 ?player)))

(<= (column ?y ?player)

(true (cell 1 ?y ?player))

(true (cell 2 ?y ?player))

(true (cell 3 ?y ?player)))

(<= (diagonal ?player)

(true (cell 1 1 ?player))

(<= (next (cell ?x ?y ?player))

(does ?player (mark ?x ?y)))

Sommersemester 2009 Dr. Marco Block

(init (cell 3 1 b))

(init (cell 3 2 b))

(init (cell 3 3 b))

(init (control x))

(<= (next (cell ?x ?y ?player))

(does ?player (mark ?x ?y)))

(<= (next (cell ?x ?y ?mark))

(true (cell ?x ?y ?mark))

(does ?player (mark ?m ?n))

(distinctCell ?x ?y ?m ?n))

(<= (next (control x))

(true (control o)))

(<= (next (control o))

(true (control x)))

(true (cell 1 1 ?player))

(true (cell 2 2 ?player))

(true (cell 3 3 ?player)))

(<= (diagonal ?player)

(true (cell 1 3 ?player))

(true (cell 2 2 ?player))

(true (cell 3 1 ?player)))

(<= (line ?player) (row ?x ?player))

(<= (line ?player) (column ?y ?player))

(<= (line ?player) (diagonal ?player))

(<= open (true (cell ?x ?y b)))

(<= (distinctCell ?x ?y ?m ?n) (distinct ?x ?m))

(<= (distinctCell ?x ?y ?m ?n) (distinct ?y ?n))

(<= (legal ?player (mark ?x ?y))

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

(true (control ?player)))

(<= (legal x noop)

(true (control o)))

(<= (legal o noop)

(true (control x)))

(<= (goal ?player 100)

(line ?player))

(<= (goal ?player 50)

(not (line x))

(true (cell ?x 1 ?player))

(true (cell ?x 2 ?player))

(true (cell ?x 3 ?player)))

(true (cell 1 ?y ?player))

(true (cell 2 ?y ?player))

(true (cell 3 ?y ?player)))

(true (cell 1 1 ?player))

next(cell(M,N,P)) :-

does(P,mark(M,N))

(not (line x))

(not (line o))

(not open))

(<= (goal ?player1 0)

(line ?player2)

(distinct ?player1 ?player2))

(<= (goal ?player 0)

(not (line x))

(not (line o))

open)

(<= terminal

(line ?player))

(<= terminal

(not open))

Dr. Marco Block-Berlitz 27

(true (cell 1 1 ?player))

(true (cell 2 2 ?player))

(true (cell 3 3 ?player)))

(true (cell 1 3 ?player))

(true (cell 2 2 ?player))

(true (cell 3 1 ?player)))

(<= (line ?player) (row ?x ?player))

(<= (line ?player) (column ?y ?player))

(<= (line ?player) (diagonal ?player))

(<= open (true (cell ?x ?y b)))

(<= (distinctCell ?x ?y ?m ?n) (distinct ?x ?m))

(<= (distinctCell ?x ?y ?m ?n) (distinct ?y ?n))

(<= (legal ?player (mark ?x ?y))

Beispiel aus [4]

Page 28: Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9) Reinforcement Learning und Spieleprogrammierung 10) Genetische und evolutionäre Algorithmen

Es gibt verschiedene Basis-Engines (verschiedene Programmiersprachen) im Netz zu finden:

http://www.general-game-playing.de/downloads.html

Wir werden uns mit einer Java-Engine vertraut machen. Dazu bietet es sich an, die (Plugin für Eclipse) zu verwenden.

Der Code und die ersten Schritte werden später von Johannes Kulick vorgestellt.

Eine eigene GDL-KI schreiben

Sommersemester 2009 Dr. Marco Block

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Engines (verschiedene Programmiersprachen) im Netz zu finden:

playing.de/downloads.html

vertraut machen. Dazu bietet es sich an, die Palamedes-IDE

Der Code und die ersten Schritte werden später von Johannes Kulick vorgestellt.

[5]

Dr. Marco Block-Berlitz 28

Page 29: Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9) Reinforcement Learning und Spieleprogrammierung 10) Genetische und evolutionäre Algorithmen

Machina ludens – PART II

1) Wir definieren eine allgemeine, formale Sprache für die Beschreibungvon Spielen.

2) Wir entwerfen eine KI, die GDL versteht und mittels Suche und allgemeinemWissen die richtigen Entscheidungen trifft, um ein Spiel zu gewinnen.

Sommersemester 2009 Dr. Marco Block

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Abbildung aus [1]

1) Wir definieren eine allgemeine, formale Sprache für die Beschreibung

Wir entwerfen eine KI, die GDL versteht und mittels Suche und allgemeinemWissen die richtigen Entscheidungen trifft, um ein Spiel zu gewinnen.

Dr. Marco Block-Berlitz 29

Page 30: Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9) Reinforcement Learning und Spieleprogrammierung 10) Genetische und evolutionäre Algorithmen

Aus den vorhergehenden Vorlesungen kennen wir bereits die wichtigsten Suchauf dem MinMax-Prinzip für Zwei-Spieler-Spiele.

Ein sehr wichtige Rolle spielt dabei die Bewertungsfunktion:

Kombination aus Suche und Bewertung

Sommersemester 2009 Dr. Marco Block

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Aus den vorhergehenden Vorlesungen kennen wir bereits die wichtigsten Such-Techniken basierend

Ein sehr wichtige Rolle spielt dabei die Bewertungsfunktion:

Dr. Marco Block-Berlitz 30

Page 31: Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9) Reinforcement Learning und Spieleprogrammierung 10) Genetische und evolutionäre Algorithmen

Monte-Carlo-Verfahren basieren auf durchgeführtenwird der oft zu große Suchraum (beispielsweise beimSituation eine Bewertung vorzunehmen. Dazu werdendurchgespielt, bis diese in einer terminalen Stellungeine Bewertung den Zustand s.

Monte-Carlo-Suche

Sommersemester 2009 Dr. Marco Block

Vollständige (Adversariale-)Suche

Begrenzung der Tiefe + Bewertungsfunktion

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Zufallsexperimenten. In dem Fall der Monte-Carlo-Suchebeim Spiel Go) zufällig abgetastet, um für eine konkrete

werden viele zufälligen Spielverläufen (ab einem Zustand s)Stellung enden. Die so statistisch ermittelten Ergebnisse geben

Von den aktuell ausgewerteten Knoten wird der beste um seine Nachfolger erweitert und diese zufällig ausgespielt, um eine

Bewertung zu erhalten.

Dr. Marco Block-Berlitz 31

Bestensuche + zufällige Spielausgänge

Abbildungen aus [8]

Page 32: Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9) Reinforcement Learning und Spieleprogrammierung 10) Genetische und evolutionäre Algorithmen

Wir haben vier Phasen bei der Monte-Carlo-Suche: Auswahl,

Monte-Carlo-Suche

Sommersemester 2009 Dr. Marco Block

Problem: der komplette Baum muss gespeichert werden.

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Auswahl, Expansion, Ausspielen, Werte updaten

Dr. Marco Block-Berlitz 32

Abbildung aus [9]

der komplette Baum muss gespeichert werden.

Page 33: Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9) Reinforcement Learning und Spieleprogrammierung 10) Genetische und evolutionäre Algorithmen

Beim Ausspielen einer Stellung wird ein zufälliger SpielausgangErgebnis als Bewertung in die Baumstruktur übernommen

Zufallsspiele

Zufallsspiel(State s)

1 if Leaf(s) then Ergebnis {gewonnen || verloren}

2 else

3 Kinder_von_s := bestimmeKinder(s)

4 nextState := randomKind(Kinder_von_s)

Sommersemester 2009 Dr. Marco Block

4 nextState := randomKind(Kinder_von_s)

5 Zufallsspiel(nextState)

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Spielausgang ermittelt und dasübernommen.

1 if Leaf(s) then Ergebnis {gewonnen || verloren}

3 Kinder_von_s := bestimmeKinder(s)

4 nextState := randomKind(Kinder_von_s)

Dr. Marco Block-Berlitz 33

4 nextState := randomKind(Kinder_von_s)

Page 34: Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9) Reinforcement Learning und Spieleprogrammierung 10) Genetische und evolutionäre Algorithmen

Im Spiel Go hat sich UCT als Erweiterung der Monteliefert die bisher besten Ergebnisse.

„Im Allgemeinen gibt es zwei Möglichkeiten den SpielbaumEinen kann in jedem Durchlauf ein bisher unbekannterum neue Informationen zu sammeln. Dabei ist esoptimaler Pfad gefunden wurde. Zum Anderen kannPfad gewählt werden, der einmal zum Ziel geführteinen besseren (z.B. kürzeren) unentdeckten Pfad gibtdiesen beiden Möoglichkeiten wird über die UCT-Funktion

Upper Confidence Bounds for Trees (UCT)

Sommersemester 2009 Dr. Marco Block

Gewinnwahrscheinlichkeit bei der Aktion a in Zustand s

„Neues Terrain erkunden„Wissen optimal einsetzen

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Monte-Carlo-Suche etabliert und

Spielbaum zu durchlaufen: Zumunbekannter Pfad eingeschlagen werden,

es nicht relevant, ob schon einkann immer der bisher optimalste

hat, unabhängig davon, ob esgibt. Ein Kompromiss zwischen

Funktion geschaffen:“ [9]

Upper Confidence Bounds for Trees (UCT)

Dr. Marco Block-Berlitz 34

Häufigkeit der Wahl von Aktion a in Zustand s

Häufigkeit aller ausgewählten Aktionen in Zustand s

Gewichtung zwischen Neues Terrain erkunden“ und

Wissen optimal einsetzen“

Page 35: Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9) Reinforcement Learning und Spieleprogrammierung 10) Genetische und evolutionäre Algorithmen

Die Selektionsfunktion (Auswahl) wählt die Aktion a mit

Zurück-Propagation:

Upper Confidence Bounds for Trees (UCT)

Sommersemester 2009 Dr. Marco Block

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

mit dem höchsten Wert aus:

Upper Confidence Bounds for Trees (UCT)

Dr. Marco Block-Berlitz 35

Reward aus {0 für Niederlage,1 für Sieg}

Page 36: Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9) Reinforcement Learning und Spieleprogrammierung 10) Genetische und evolutionäre Algorithmen

Wir erinnern uns an die speziellen Bewertungskriterien eines Schachprogramms:

Spezielle Bewertungsfunktionen für Schachprogramme

BishopPair

Knight_Outpost

Supported_Knight_Outpost

Connected_Rooks

Opposite_Bishops

Opening_King_Advance

King_Proximity

Blocked_Knight

Draw_Value

No_Material

Passed_Pawn_Control

Doubled_Pawn

Odd_Bishop_Pawn_Pos

King_Passed_Pawn_Supported

Passed_Pawn_Rook_Supported

Blocked_EPawn

Pawn_Advance

King_Passed_Pawn_Defence

Pawn_Defence

Mega_Weak_Pawn

Sommersemester 2009 Dr. Marco Block

No_Material

Bishop_XRay

Rook_Pos

Pos_Base

Pos_Queenside

Bishop_Mobility

Queen_Mobility

Knight_SMobility

Rook_SMobility

King_SMobility

Threat

Overloaded_Penalty

Q_King_Attack_Opponent

NoQ_King_attack_Opponent

NoQueen_File_Safty

Attack_Value

Unsupported_Pawn

Mega_Weak_Pawn

Castle_Bonus

Bishop_Outpost

Supported_Bishop_Outpost

Seventh_Rank_Rooks

Early_Queen_Movement

Mid_King_Advance

Trapped_Step

Useless_Piece

Near_Draw_Value

Mating_Positions

Ending_King_Pos

Knight_Pos

Pos_Kingside

Knight_Mobility

Rook_Mobility

King_Mobility

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Wir erinnern uns an die speziellen Bewertungskriterien eines Schachprogramms:

Spezielle Bewertungsfunktionen für Schachprogramme

Passed_Pawn_Control

Odd_Bishop_Pawn_Pos

King_Passed_Pawn_Supported

Passed_Pawn_Rook_Supported

King_Passed_Pawn_Defence

Bishop_SMobility

Queen_SMobility

Piece_Values

Opponents_Threat

Q_King_Attack_Computer

NoQ_King_Attack_Computer

Queen_File_Safty

Piece_Trade_Bonus

Pawn_Trade_Bonus

Adjacent_Pawn

Dr. Marco Block-Berlitz 36

Supported_Bishop_Outpost

Seventh_Rank_Rooks

Early_Queen_Movement

Mid_King_Advance

Near_Draw_Value

Mating_Positions

Ending_King_Pos

Knight_Mobility

Adjacent_Pawn

Unstoppable_Pawn

Weak_Pawn

Blocked_Pawn

Passed_Pawn_Rook_Attack

Blocked_DPawn

Pawn_Advance

Pawn_Advance2

Pawn_Pos

Isolated_Pawn

Weak_Pawn_Attack_Value

... und viele mehr!

Page 37: Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9) Reinforcement Learning und Spieleprogrammierung 10) Genetische und evolutionäre Algorithmen

Es ist sehr schwer allgemeine Kriterien zu formulieren, aber ein paar erwiesen.

Analog zu Schachprogrammen

Allgemeine Bewertungskriterien

- Logisches Ableiten von Bewertungskriterien basierend auf den Goals

- Kalibrierung der Mixgewichte (alpha‘s) -> gibt es in der nächsten Vorlesung

Sommersemester 2009 Dr. Marco Block

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Es ist sehr schwer allgemeine Kriterien zu formulieren, aber ein paar Heuristiken haben sich als „gut“

Logisches Ableiten von Bewertungskriterien basierend auf den Goals

> gibt es in der nächsten Vorlesung

Dr. Marco Block-Berlitz 37

Page 38: Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9) Reinforcement Learning und Spieleprogrammierung 10) Genetische und evolutionäre Algorithmen

Mit der International General Game Playing Competition bei der AAAI gibt es seit 2005 einen sehr renomierten und gut organisierten Wettbewerb, bei dem viele Forschungszentren ihre Programme gegeneinander antreten lassen können (10000 Dollar und Ruhm&Ehre).

Internationale Teams:

University of California (LA) Cluneplayer

Technische Universität Dresden FLUXPLAYER

Internationale Wettbewerbe

Reykjavik University CADIAPlayer

Universität Potsdam Centurio

Freie Universität Berlin

Sommersemester 2009 Dr. Marco Block

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

International General Game Playing Competition bei der AAAI gibt es seit 2005 einen sehr renomierten und gut organisierten Wettbewerb, bei dem viele Forschungszentren ihre Programme gegeneinander antreten lassen können (10000 Dollar und Ruhm&Ehre).

Cluneplayer MinMax Sieger 2005

FLUXPLAYER Sieger 2006

[6]

CADIAPlayer UCT Sieger 2007, 2008

UCT

Dr. Marco Block-Berlitz 38

UCT = Upper Confidence bound for Trees(Monte-Carlo-Methode)

Die aktuell stärksten GO-Programme verwenden UCT.

Page 39: Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9) Reinforcement Learning und Spieleprogrammierung 10) Genetische und evolutionäre Algorithmen

Wir werden in den folgenden Folien das Wikinger-Brettspiels passagen aus [7]) kennenlernen und damit beginnen, es in GDL zu formulieren.

Grundzüge:

Gespielt wird auf einem schachähnlichen, quadratischen Brett mit quadratischen Feldern (in unterschiedlichen Dimensionen).

Es gibt drei verschiedene Figurentypen: Angreifer, Verteidiger

Ein Spiel in GDL erzeugen

Startaufstellungen:

Die Beispielvarianten für die Startpositionen der Spielfiguren werden hier an zwei verschiedenen Brettern gezeigt: dem 7x7 Felder großen Brett, wie man es z.B. in Irland gefunden hat und dem finnischen 9x9 Felder großen Tablut. Hnefatafl wurde aber auch auf größeren Formaten gespielt, wie z.B. auf 11x11 Feldern in Wales oder gar auf 19x19 Feldern bei der sächsischen Variante.

Sommersemester 2009 Dr. Marco Block

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Brettspiels Hnefatafl (Regeln, Abbildungen und Text-passagen aus [7]) kennenlernen und damit beginnen, es in GDL zu formulieren.

Gespielt wird auf einem schachähnlichen, quadratischen Brett mit quadratischen Feldern (in

Verteidiger und einen König.

Die Beispielvarianten für die Startpositionen der Spielfiguren werden hier an zwei verschiedenen Brettern gezeigt: dem 7x7 Felder großen Brett, wie man es z.B. in Irland gefunden hat und dem finnischen 9x9 Felder großen Tablut. Hnefatafl wurde aber auch auf größeren Formaten gespielt, wie z.B. auf 11x11 Feldern in Wales oder gar auf 19x19 Feldern bei der sächsischen Variante.

Dr. Marco Block-Berlitz 39

Angreifer

König

Verteidiger

Page 40: Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9) Reinforcement Learning und Spieleprogrammierung 10) Genetische und evolutionäre Algorithmen

Die braun dargestellten Figuren stellen die Königswachenblauen König in der Mitte. Sein Ziel ist es zu entkommen, d.h. eine der vier Ecken davon zu erreichen.

Die gelben Figuren symbolisieren die Angreifer, deren Ziel es ist, dies zu verhindern. Das tun sie, indem sie den König umzingeln und bewegungsunfähig machen.

Die Verteidiger beginnen das Spiel, gezogen wird abwechselnd.

Hnefatafl – Regeln und Ziele

Jeder Spieler setzt, wenn er an der Reihe ist,

Sommersemester 2009 Dr. Marco Block

Gezogen wird diese wie ein Turm im Schach, dabei sind alle Richtungen erlaubt außer diagonale.

Wird dabei ein gegnerischer Spielstein von zwei gegenüberliegenden Seiten umstelltso gilt dieser als geschlagen und wird vom Spielfeld entfernt. Die Figur muß aktiv geschlagen werden d.h., wenn eine Figur zwischen zwei Gegner gestellt wird, macht das überhaupt nichts.

Somit kann es natürlich auch vorkommen, daß

Der König beginnt auf dem "Trohn", dem mittleren Feld, das auch nur von ihm selbst betreten werden darf. Jeder Andere darf jedoch über den leeren Trohn hinwegziehen.

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Königswachen (Verteidiger) dar, mit ihrem zu entkommen, d.h. den Spielfeldrand bzw.

, deren Ziel es ist, dies zu verhindern. Das tun sie, indem sie den König umzingeln und bewegungsunfähig machen.

Die Verteidiger beginnen das Spiel, gezogen wird abwechselnd.

Jeder Spieler setzt, wenn er an der Reihe ist, eine Figur um ein oder mehr Felder weiter.

Dr. Marco Block-Berlitz 40

Gezogen wird diese wie ein Turm im Schach, dabei sind alle Richtungen erlaubt außer

von zwei gegenüberliegenden Seiten umstellt, und wird vom Spielfeld entfernt. Die Figur muß aktiv

geschlagen werden d.h., wenn eine Figur zwischen zwei Gegner gestellt wird, macht

Somit kann es natürlich auch vorkommen, daß ein Zug gleich zwei Spielsteine erwischt.

Der König beginnt auf dem "Trohn", dem mittleren Feld, das auch nur von ihm selbst betreten werden darf. Jeder Andere darf jedoch über den leeren Trohn hinwegziehen.

Page 41: Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9) Reinforcement Learning und Spieleprogrammierung 10) Genetische und evolutionäre Algorithmen

Die Königsjäger gewinnen, wenn vier Angreifer den König umzingelngrößeren Kreis mit einigen Wachen einschließen, was ja schließlich auch zu seiner Bewegungsunfähigkeit führt. In vielen Quellen liest man auch von der Regel, daß der König ebenfalls als gefangen gilt wenn er nur von drei Seiten umstellt ist, aber "mit dem Rücken zum Trohn" steht.

Der König gewinnt, wenn er den Spielfeldrand erreicht

In einigen Fällen kann es auch zu einer Patt-SituationAngreifer den König ein Feld vor seinem Ziel aufhält, ohne daß andere Figuren in der Nähe wären. Das könnte nämlich ewig hin und her gehen.

Hnefatafl – Spielende und Variationen

Nähe wären. Das könnte nämlich ewig hin und her gehen.

Sommersemester 2009 Dr. Marco Block

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

vier Angreifer den König umzingeln oder ihn im , was ja schließlich auch zu seiner

Bewegungsunfähigkeit führt. In vielen Quellen liest man auch von der Regel, daß der König ebenfalls als gefangen gilt wenn er nur von drei Seiten umstellt ist, aber "mit

Spielfeldrand erreicht.

Situation kommen, und zwar wenn ein Angreifer den König ein Feld vor seinem Ziel aufhält, ohne daß andere Figuren in der Nähe wären. Das könnte nämlich ewig hin und her gehen.Nähe wären. Das könnte nämlich ewig hin und her gehen.

Dr. Marco Block-Berlitz 41

Page 42: Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9) Reinforcement Learning und Spieleprogrammierung 10) Genetische und evolutionäre Algorithmen

• Beim Spiel sollten die Angreifer beachten, dass sievorrücken. Vor allem müssen die ungedeckten Ecken

• In der ersten Phase des Spiels kann es sich Weiß kaumweil der König sonst leicht durch die Lücke schlüpfen

• Ein einzelner Verteidiger, der sich außerhalb deskann beträchtlichen Schaden anrichten. Wenn der Ringeinen Schlagabtausch hinnehmen. Doch das ist nichtmehr Verteidiger eingeschlossen sind, desto stärkerBeweglichkeit des eigenen Königs ein.

Hnefatafl – Tipps und Strategien

Beweglichkeit des eigenen Königs ein.

• Der Angriff einiger weniger Krieger ist leicht zurückzuschlagenalle Figuren gleichmäßig einsetzen. Schwarz hingegenvon einer Seite des Brettes immer wieder auf eine weitdamit Weiß aus dem Gleichgewicht gerät.

• Gelingt es dem König, sich in die Nähe einer Ecke zutrotzdem leicht unentschieden ausgehen, weil eventuellderselben Figuren Weiß zwar den König am Erreichenjedoch nicht von allen vier Seiten umzingeln kann.

Sommersemester 2009 Dr. Marco Block

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

sie von allen Seiten gleichmäßigEcken geschützt werden.

kaum leisten, Kämpfer zu verlieren,schlüpfen kann.

Belagerungsgürtels herumtreibt,Ring enger geworden ist, kann man

nicht immer nur von Vorteil; denn jestärker schränken sie auch die

zurückzuschlagen. Weiß muss deshalbhingegen sollte versuchen, den König

weit entfernte Stelle zu verlagern,

zu retten, so kann aber das Spieleventuell durch Auf- und Abschieben

Erreichen der Brettspielkante hindert, ihn

Dr. Marco Block-Berlitz 42

Page 43: Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9) Reinforcement Learning und Spieleprogrammierung 10) Genetische und evolutionäre Algorithmen

Literatur- und Abbildungsquellen

Michulke D., Schiffel S.: „Matt bei Vier gewinnt“, C’t: Computer und Technik Magazin, pp.174, 1/2009

Love N., Hinrichs T., Haley D., Schkufza E., Genesereth M.: „

Language Specification“, Stanford Logic Group Computer Science Department Stanford University,

Technical Report LG-2006-01, 2008

Quenault M., Cazenave T.: „Extended General Gaming Modell

pp. 195-204, 2007

Genesereth M.: Vorlesungsfolien der Stanford-Universität, CS227B: General Game Playing,

siehe dazu: http://logic.stanford.edu/classes/cs227/index.html

[1]

[2]

[3]

[4]

Sommersemester 2009 Dr. Marco Block

siehe dazu: http://logic.stanford.edu/classes/cs227/index.html

Palamedes-IDE(Eclipse-Plugin): http://palamedes

AAAI-GGP-Competitions: http://www.aaai.org/Conferences/AAAI/2008/aaai08generalgame.php

Homepage von Frank Nießen: http://www.frank-niessen.de/hnefatafl/index.html

Coulom R.: „The Monte-Carlo Revolution in Go“, Präsentation bei dem

Möller F.M., Schneider M., Wegner M.: „Centurio 2.0

Playing”, Dokumentation der Engine Centurio, Universität Potsdam, 2008

[5]

[6]

[7]

[8]

[9]

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

“, C’t: Computer und Technik Magazin, pp.174, 1/2009

Love N., Hinrichs T., Haley D., Schkufza E., Genesereth M.: „General Game Playing: Game Description

“, Stanford Logic Group Computer Science Department Stanford University,

Extended General Gaming Modell“ Computer Games Workshop,

Universität, CS227B: General Game Playing,

http://logic.stanford.edu/classes/cs227/index.html

Dr. Marco Block-Berlitz 43

http://logic.stanford.edu/classes/cs227/index.html

http://palamedes-ide.sourceforge.net/

http://www.aaai.org/Conferences/AAAI/2008/aaai08generalgame.php

niessen.de/hnefatafl/index.html

“, Präsentation bei dem JFFoS'2008

Centurio 2.0 - Monte Carlo Tree Search für General Game

”, Dokumentation der Engine Centurio, Universität Potsdam, 2008

Page 44: Einführung in die Künstliche Intelligenz · 2009-06-11 · 8) General Game Playing 9) Reinforcement Learning und Spieleprogrammierung 10) Genetische und evolutionäre Algorithmen

Übungsaufgaben

Aufgabe 1 – GDL (10 Punkte)Formulieren Sie das in der Vorlesung vorgestellte Spiel „Hnefatafl“ in GDL. DaStartstellungen gespielt werden kann, sollten Sie vorab eine genaue Beschreibungund Schritt für Schritt zeigen, wie Sie diese in GDL abbilden.Entscheiden Sie sich für eine der verschiedenen Spiel-Varianten und beschreiben

Abgabe: 19.06.2009 (eine Woche)

Aufgabe 2 – KI für GDL (30 Punkte)Es soll in Java (Palamedes-IDE/Eclipse) eine allgemeine KI für GDL entwickeltfolgenden Bestandteile aufweisen:

a) MinMax-Algorithmus

Sommersemester 2009 Dr. Marco Block

a) MinMax-Algorithmusb) Bewertungsfunktion mit Material, Mobilität und mindestens 3 weiteren Kriterien

Wünschenswert (und beim Wettbewerb sicherlich erfolgversprechender) ist es aber,implementieren.

Abgabe: 26.06.2009 (zwei Wochen)

Wettbewerb: Die abgegebenen (spielbaren) Programmeweiteren Spielen gegeneinander antreten. Es werden dieTutorien Halbfinale und Finale bestreiten.

Der Sieger wird mit Ruhm und Ehre (ein paar Zusatzpunkten)

Hier nocheinmal die Webseite mit den Spielregeln: http://www

Vorlesung: Künstliche Intelligenz

Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz

Da es mit verschiedenen Brettgrößen undBeschreibung der Zustände und Regeln vornehmen

beschreiben Sie diese.

entwickelt werden. Diese soll mindestens die

Dr. Marco Block-Berlitz 44

Kriterien

aber, eine UCT-basierende Suche zu

Programme werden in dem in der Vorlesung vorgestellten Spiel Hnefatafl und zweidie vier stärksten Programme ermittelt, die live in der Vorlesung oder den

Zusatzpunkten) überschüttet.

//www.frank-niessen.de/hnefatafl/index.html