Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.
-
Upload
kathrin-duhl -
Category
Documents
-
view
105 -
download
1
Transcript of Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.
![Page 1: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/1.jpg)
Handlungsplanung und Allgemeines Spiel
„Game Description Language (GDL)“Peter Kissmann
![Page 2: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/2.jpg)
General Game Playing
Einschränkungen des derzeitigen Formalismus: Spiele sindendlichdiskretdeterministischvollständige Information für alle Spieler
Ein- und MehrpersonenspieleSpielerzahl endlich und fest (von Start bis Ende)
Gleichzeitige und abwechselnde ZügeImmer ≥ 1 Zug pro Spielerstandardmäßig nur simultane Zügenicht-simultan: sog. “noops”
Züge, in denen die nicht-aktiven Spieler nichts tun
![Page 3: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/3.jpg)
Mögliche Spiele
Vier Gewinnt Tic-Tac-Toe Solitaire Türme von Hanoi Halma Schach Sokoban etc.
+ step-counter(damit endlich)+ step-counter(damit endlich)
![Page 4: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/4.jpg)
Unmögliche Spiele
Kartenspiele (Skat, Poker, Doppelkopf etc.) → unvollständiges Wissen
Schiffe versenken → unvollständiges Wissen Würfelspiele (Kniffel, Backgammon, Mensch ärgere Dich
nicht etc.) → Zufall (nicht deterministisch) Computerspiele → Zufall, unvollständiges Wissen, evtl.
kontinuierlich, nicht endlich (?) Pen-and-Paper Rollenspiele → Zufall, unvollständiges
Wissen, nicht endlich etc.
![Page 5: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/5.jpg)
Themen Allgemeines Spiel
Einführung Game Desciption Language (GDL) Spielen allgemeiner Spiele Heuristiken im allgemeinen Spiel und Verbesserungen Lösen allgemeiner Spiele Instanziierung Ausblick: Unvollständige Information und Zufall
![Page 6: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/6.jpg)
Ablauf
Beschreibungsformen Spiel-Modell Logische Spielbeschreibung Elemente von GDL Wichtige Eigenschaften von GDL
![Page 7: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/7.jpg)
Mögliche Beschreibungsformen
Jede Form muss Möglichkeit bieten,Legalität von Zügen,Zustandsübergänge,Terminierung undBewertungen zu bestimmen
![Page 8: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/8.jpg)
Mögliche Beschreibungsformen
Endliche AutomatenProblem: Riesige Zustandsräume
etwa 5000 in Tic-Tac-Toe etwa 4,5 x ^1012 in Vier Gewinnt etwa 1013 im 15-Puzzle
damit riesiger Speicherbedarf → nicht geeignet
A
B
C
D
E
F
G
H
I
J
a/-
b/-
-/b
-/a
-/b
-/a
b/a
a/a
a/b
-/a
b/b
a/-
-/b
b/-
-/b
-/a
-/b
-/a
![Page 9: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/9.jpg)
Mögliche Beschreibungsformen
Listen und Tabellenhaben gleiche Größe wie endliche Automatenebenfalls ungeeignet
![Page 10: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/10.jpg)
Mögliche Beschreibungsformen
Programmezum Generieren gültiger Züge und Nachfolgerzuständezur Evaluation der Terminierung und der BewertungenWelche Sprache? Java, Lisp, C, …?Schwierig, wenn Spieler allgemeine Struktur des Spiels untersuchen
möchte
![Page 11: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/11.jpg)
Mögliche Beschreibungsformen
Logikexistierende Interpreter / Compilereinfacher zu analysieren als prozedurale Beschreibungenheutzutage zumeist verwendet (“Game Description Language”)
![Page 12: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/12.jpg)
Mögliche Beschreibungsformen
Außer Logik darf nichts angenommen werdenkeine Arithmetikkeine Physikkein gesunder Menschenverstanddaher möglich, Spiele auch mit absurden Bezeichnern zu
beschreiben wird bei Meisterschaften zumeist auch explizit so gemacht
![Page 13: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/13.jpg)
Logisches Folgern
Minimalanforderungen:Berechnung gültiger ZügeBerechnung von Effekten von ZügenWissen, wann Spiel endetWissen, wie viele Punkte erhalten wurden (wann welches Ziel
erreicht wurde)
weitere Möglichkeiten:VereinfachungOptimierungErkennung spezieller Strukturen
![Page 14: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/14.jpg)
Endliche Spiele
Endliche UmgebungSpiel-”Welt” mit endlich vielen Zuständen1 Initialzustand, ≥ 1 TerminalzustandFestgelegte endliche Anzahl an Spielern
endlich viele Züge für jeden in jedem Zustand ≥ 1 Zielzustand (= Terminalzustand mit Maximalbewertung) für jeden
Kausales Modellnur Züge ändern UmgebungSynchrone Züge
![Page 15: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/15.jpg)
Spiel-Modell
Ein n-Personen Spiel ist ein Tupel mitS - Menge von ZuständenA1, …, An - n Mengen von Zügen, eine für jeden Spieler
l1, …, ln - mit li ⊆ Ai S, legal Relationen (Bestimmung gültiger Züge)
u: S A1 … An → S - Update-Funktion
s1 ∈ S - Initialzustand
t ⊆ S - Terminalzuständeg1, …, gn - mit gi ⊆ S ℕ, goal Relationen (Bestimmung der Bewertungen)
![Page 16: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/16.jpg)
Direkte Beschreibung
Spiele endlich → möglich, Spielinformationen durch Listen (von Zuständen und Zügen) und Tabellen (für Gültigkeit, Update etc.) zu kommunizieren
Problem: Größe der Beschreibung Lösungen:
modulare Umschreibungkompakte Kodierung
![Page 17: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/17.jpg)
Zustände und Fluents
Oft, Welt als Menge von Fluents, also Eigenschaften, die sich ändern können, etwa
“Position des schwarzen Königs”“Schwarz kann eine Rochade durchführen”
Züge betreffen Teilmenge dieser Fluents
![Page 18: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/18.jpg)
Zustände und Fluents
Zuständerepräsentieren alle Möglichkeiten, wie Welt aussehen kannZustandsanzahl exponentiell in Zahl der Fluents in der WeltTabellen für Züge etc. entsprechend groß
Lösung:Fluents direkt repräsentierenBeschreiben, wie Züge einzelne Fluents ändern (statt gesamte
Zustände)
![Page 19: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/19.jpg)
Buttons & Lights
Drücken von a ändert p Drücken von b vertauscht p und q Initial, p und q aus Ziel: p und q an
qp
aa b
qp
b
![Page 20: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/20.jpg)
Automat für Buttons & LightsFluents: p, q
Züge: a, b
⌐p, ⌐q
p, ⌐q ⌐p, q
p, q
a a
bb
a a
b
b
![Page 21: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/21.jpg)
Spielbeschreibung für Buttons & Lights
Gültige Zügelegal(robot, a)
legal(robot, b)
Updatenext(p) <= does(robot, a) ⌐true(p) does(robot, b) true(q)next(q) <= does(robot, a) true(q) does(robot, b) true(p)
Terminierung und Zielterminal <= true(p) true(q)goal(robot, 100) <= true(p) true(q)
![Page 22: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/22.jpg)
Relationale Logik
Objektvariablen: X, Y, Z Objektkonstanten: a, b, c Funktionskonstanten: f, g, h Relationskonstanten: p, q, r, distinct Logische Operatoren: ⌐, , , <=, <=> Terme: X, Y, Z, a, b, c, f(a), g(a, X), h(a, b, f(Y)) Relationale Sätze: p(a, b) Logische Sätze: r(X, Y) <= p(X, Y) q(Y) Standard Semantik (Prädikatenlogik)
entspricht ≠
![Page 23: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/23.jpg)
Klausellogik
Literale:relationale Sätzenegierte relationale Sätze
Klauseln:Fakten: Relationale SätzeRegeln: Head <= Body
Head: relationaler Satz Body: Logischer Satz aus , , Literal
Standard Completion Semantik (“Negation as Failure”)
![Page 24: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/24.jpg)
Completion
Sei P eine endliche Klauselmenge Für eine Relation p(X1, …, Xn) seien
p(t11, …, t1n) <= B1
p(tm1, …, tmn) <= Bm
alle Klauseln in P mit Head p Die Completion von p in P ist die Formel
p(X1, …, Xn) <=> X1 = t11 … Xn = t1n B1
… X1 = tm1 … Xn = tmn Bm
Falls m=0 ist die Completion ⌐p(X1, …, Xn)
![Page 25: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/25.jpg)
Completion für Buttons & Light
⌐init(F)
legal(P, A) <=> P=robot A=a P=robot A=bnext(F) <=> F=p (does(robot, a) ⌐true(p) does(robot, b) true(q)) F=q (does(robot, a) true(q) does(robot, b) true(p))terminal <=> true(p) true(q)goal(P,V) <=> P=robot V=100 true(p) true(q)
![Page 26: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/26.jpg)
Knowledge Interchange Format (KIF)
KIF ist Standard für Austausch von Wissen repräsentiert in relationaler Logik
Syntax ist Präfix-Version der Standardsyntax einige Operatoren sind umbenannt (not, and, or) Case-Independent Variablen durch Präfix ? dargestellt Semantik unverändert GDL nutzt KIF
![Page 27: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/27.jpg)
Knowledge Interchange Format (KIF)
damit wirdt(X, Y) <= q(X) q(Y) ⌐s(X, Y)
zu(<= (t ?x ?y) (and (q ?x) (q ?y) (not (s ?x ?y))))
oder, äquivalent, zu(<= (t ?x ?y) (q ?x) (q ?y) (not (s ?x ?y)))
![Page 28: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/28.jpg)
Spiel-unabhängiges Vokabular
Objektkonstanten0, 1, 2, 3, …
Relationen(role player) Rollenname im Spiel(true fluent) wahr im aktuellen Zustand(init fluent) wahr im Initialzustand(does player move) gewählter Zug(next fluent) wahr im Nachfolgeustand(legal player move) gültige Zügeterminal Terminalzustand(goal player value) Bewertung
![Page 29: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/29.jpg)
Tic-Tac-Toe
![Page 30: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/30.jpg)
Tic-Tac-Toe Vokabular
Objektkonstantenxplayer, oplayer Spielerx, o, b Markierungen
Funktionen(cell number number mark) Fluent (Belegung von
Spielbrettzelle)(control player) Fluent (Aktiver Spieler)(mark number number) Zug (Ziel der nächsten Markierung)noop Zug (nichts tun)
Relationen(row number mark) 3 Markierungen mark horizontal(column number mark) 3 Markierungen mark vertikal(diagonal mark) 3 Markierungen mark diagonal(line mark) 3 Markierungen mark in einer Linieopen freie Position auf Spielbrett
![Page 31: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/31.jpg)
Relationen - role
Definiert Namen der Spieler Beispiel Tic-Tac-Toe
(role xplayer)(role oplayer)Zwei Spieler: xplayer und oplayer
Zur Erinnerung: In Nachricht über gewählte Züge immer xplayer als 1. Spieler und oplayer als 2. Spieler
Darf nicht head einer Regel mit Body seinSpieler sind von Anfang an festgelegt und ändern sich nicht
![Page 32: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/32.jpg)
Relationen - true
Repräsentiert ein Fluent das im aktuellen Zustand wahr ist Zustand = Menge aller Fluents, die wahr sind
nicht spezifizierte Fluents sind falsch
Beispiel Tic-Tac-Toe:(true (control xplayer))xplayer aktiv im aktuellen Zustand(true (cell 1 1 b)) … (true (cell 3 1 b))(true (cell 3 2 x)) (true (cell 3 3 o))nur zwei Zellen belegt
(3, 2) mit x (3, 3) mit o
Darf nicht Head einer Regel sein
![Page 33: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/33.jpg)
Relationen - init
Analog zu true, nur im Initialzustand Beispiel Tic-Tac-Toe
(init (control xplayer))xplayer beginnt(init (cell 1 1 b)) … (init (cell 3 3 b))Spielbrett leer (b = blank)
Darf nur Head einer Regel sein Darf nicht von true, does, next, legal, goal oder terminal
abhängen
![Page 34: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/34.jpg)
Relationen - does
Wird entsprechend gewählter Züge gesetztgenau ein Zug für jeden Spieler
Nötig, um Nachfolgezustand zu berechnenZur Erinnerung: Nur Züge übertragen, nicht gesamte Zustände
Beispiel Tic-Tac-Toe:(does xplayer (mark 1 2))(does oplayer noop)xplayer markiert Zelle (1, 2) während oplayer nichts macht
Darf nicht Head einer Regel sein Darf nicht von legal, goal oder terminal abhängen (und
umgekehrt)
![Page 35: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/35.jpg)
Relationen - next
Nötig zur Berechnung des Nachfolgezustands (Update)hängt häufig von gewählten Zügen ab
Fluents, für die next wahr ist sind im nächsten Zustand in der true Relation wahr
Beispiel Tic-Tac-Toe(<= (next (control xplayer))
(true (control oplayer)))Wechsel des aktiven Spielers(<= (next (cell ?x ?y x))
(true (cell ?x ?y b))
(does xplayer (mark ?x ?y)))Setzen von x an Position (?x, ?y)
Darf nur Head von Regeln sein
![Page 36: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/36.jpg)
Relationen - next
Wichtig: Frame explizit modelliertFluents, für die next nicht wahr ist, gelten auch nicht im
Nachfolgezustanddaher nötig, Unverändertes explizit zu erwähnen
Beispiel Tic-Tac-Toe:(<= (next (cell ?x ?y b))
(true (cell ?x ?y b))
(does ?player (mark ?m ?n))
(or (distinct ?x ?m) (distinct ?y ?n)))Zelle (?x, ?y) bleibt leer, wenn
eine andere Zelle (?m ?n) markiert wird und ?x ≠ ?m oder ?y ≠ ?n gelten
![Page 37: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/37.jpg)
Relationen - legal
Bestimmung gültiger Zügemindestens ein Zug für jeden Spieler in jedem (nicht-terminalen)
Zustand
Beispiel Tic-Tac-Toe:(<= (legal ?player (mark ?x ?y))
(true (cell ?x ?y b))
(true (control ?player)))Spieler ?player kann Zelle (?x, ?y) nur markieren wenn
Zelle leer und ?player am Zug
![Page 38: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/38.jpg)
Relationen - legal
Zur Erinnerung:alle Spiele simultanabwechselnde Züge explizit modelliert
Beispiel Tic-Tac-Toe(<= (legal xplayer noop)
(true (control oplayer))xplayer kann nichts machen wenn oplayer am Zug istnoop könnte auch beliebig anders heißen
![Page 39: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/39.jpg)
Relationen - terminal
Definiert Terminalzustände Beispiel Tic-Tac-Toe
(<= terminal
(role ?player)
(line ?player))Spieler ?player hat eine Linie von 3 seiner Symbole erreicht(<= terminal
(not open))es gibt keine freie Zelle mehr
![Page 40: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/40.jpg)
Relationen - goal
Definiert Zielzustände für jeden Spielerordnet diesen Zuständen Bewertungen zuBewertungen ganzzahlig von 0 (schlecht) bis 100 (top)jeder Terminalzustand muss eindeutige Bewertung für jeden Spieler
haben
Beispiel Tic-Tac-Toe:(<= (goal ?player 100)
(line ?player))bestes Ziel für jeden Spieler: Linie von 3 eigenen Symbolen
![Page 41: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/41.jpg)
Relationen - goal
Bewertungen können binär seinnur 0 oder 100
Bewertungen können invers seinNullsummenspiele: (0, 100), (100, 0), evtl. (50, 50)
Bewertungen können identisch für mehrere Spieler seinKooperative Spiele
Bewertungen können beliebig anders verteilt sein
![Page 42: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/42.jpg)
Tic-Tac-Toe - Rollen
(role xplayer)
(role oplayer)
![Page 43: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/43.jpg)
Tic-Tac-Toe - Initialzustand
(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))
(init (cell 3 2 b))
(init (cell 3 3 b))
(init (control xplayer))
![Page 44: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/44.jpg)
Tic-Tac-Toe - gültige Züge
(<= (legal ?player (mark ?x ?y))
(true (cell ?x ?y b))
(true (control ?player))
(<= (legal xplayer noop)
(true (control oplayer)))
(<= (legal oplayer noop)
(true (control xplayer)))
![Page 45: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/45.jpg)
Tic-Tac-Toe - Update
(<= (next (cell ?x ?y x))
(does xplayer (mark ?x ?y)))
(<= (next (cell ?x ?y o))
(does oplayer (mark ?x ?y)))
(<= (next (cell ?x ?y ?mark))
(true (cell ?x ?y ?mark))
(distinct ?mark b))
(<= (next (cell ?x ?y b))
(true (cell ?x ?y b))
(does ?player (mark ?m ?n))
(or (distinct ?x ?m) (distinct ?y ?n)))
![Page 46: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/46.jpg)
Tic-Tac-Toe - Update
(<= (next (control xplayer))
(true (control oplayer)))
(<= (next (control oplayer))
(true (control xplayer)))
![Page 47: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/47.jpg)
Tic-Tac-Toe - Terminierung und eigene Relationen(<= terminal (or (line x) (line o)))
(<= terminal (not open))
(<= (line ?mark) (row ?row ?mark))
(<= (line ?mark) (column ?column ?mark))
(<= (line ?mark) (diagonal ?mark))
(<= open (true (cell ?x ?y b)))
![Page 48: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/48.jpg)
Tic-Tac-Toe - eigene Relationen
(<= (row ?row ?mark)
(true (cell ?row 1 ?mark))
(true (cell ?row 2 ?mark))
(true (cell ?row 3 ?mark)))
(<= (column ?column ?mark)
(true (cell 1 ?column ?mark))
(true (cell 2 ?column ?mark))
(true (cell 3 ?column ?mark)))
![Page 49: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/49.jpg)
Tic-Tac-Toe - eigene Relationen
(<= (diagonal ?mark)
(true (cell 1 1 ?mark))
(true (cell 2 2 ?mark))
(true (cell 3 3 ?mark)))
(<= (diagonal ?mark)
(true (cell 1 3 ?mark))
(true (cell 2 2 ?mark))
(true (cell 3 1 ?mark)))
![Page 50: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/50.jpg)
Tic-Tac-Toe - Bewertungen
(<= (goal xplayer 100)
(line x))
(<= (goal xplayer 50)
(not (line x))
(not (line o))
(not open))
(<= (goal xplayer 0)
(line o))
![Page 51: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/51.jpg)
Tic-Tac-Toe - Bewertungen
(<= (goal oplayer 100)
(line o))
(<= (goal oplayer 50)
(not (line x))
(not (line o))
(not open))
(<= (goal oplayer 0)
(line x))
![Page 52: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/52.jpg)
Endliche Ableitbarkeit (Sicherheit)
Eine Klausel ist sicher, gdw. jede Variable der Klausel in positivem Literal im Body auftaucht
Sichere Regel:(<= (r ?x ?y) (p ?x ?y) (not (q ?x ?y)))
Unsichere Regel:(<= (r ?x ?y) (p ?x ?y) (not (q ?x ?z)))
In GDL müssen alle Regeln sicher seindamit: alle Fakten (Regeln ohne Body) variablenfrei
![Page 53: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/53.jpg)
Abhängigkeitsgraph
Abhängigkeitsgraph für Menge von Klauseln ist gerichteter Graph mit
Knoten sind Relationen in Head und Body der KlauselKante von Knoten p nach q, wenn p in Body einer Klausel mit Head q
Menge von Klauseln rekursiv, wenn Abhängigkeitsgraph Kreis enthält
sonst nicht-rekursiv
![Page 54: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/54.jpg)
Abhängigkeitsgraph
(<= (q ?x)
(p ?x))
(<= (r ?x ?y)
(q ?x) (t ?x ?y))
(<= (s ?x ?y)
(r ?x ?y) (q ?y))
(<= (t ?x ?y)
(q ?x)
(q ?y)
(not (s ?x ?y)))p
q
r s
t
⌐
![Page 55: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/55.jpg)
Endliche Ableitbarkeit (Stratifizierte Negation) Menge von Regeln stratifiziert, wenn kein rekursiver Kreis
mit Negation in Abhängigkeitsgraph In GDL alle Regeln stratifiziert
![Page 56: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/56.jpg)
Abhängigkeitsgraph
p
q
r s
t
⌐
nicht stratifiziert!
(<= (q ?x)
(p ?x))
(<= (r ?x ?y)
(q ?x) (t ?x ?y))
(<= (s ?x ?y)
(r ?x ?y) (q ?y))
(<= (t ?x ?y)
(q ?x)
(q ?y)
(not (s ?x ?y)))
![Page 57: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/57.jpg)
Endliche Ableitbarkeit
Wenn Menge von Regeln Klausel(<= (p s1 … sm)
(b1 t11 … t1l)
(q v1 … vk)
(bn tn1 … tnl))
enthält, so dass p und q in Kreis des Abhängigkeitsgraphen auftreten, muss für jedes i ∈ {1, …, k} gelten:
vi variablenfrei oder
vi eines von s1, …, sm oder
vi tritt in einem tj1, …, tjl auf, so dass bj nicht auf Kreis mit p im Abhängigkeitsgraph liegt (1 ≤ j ≤ n)
![Page 58: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/58.jpg)
Definition: Terminierung
Eine Spielbeschreibung in GDL terminiert, wenn alle unendlichen Sequenzen gültiger Züge vom Initialzustand nach endlich vielen Schritten einen Terminalzustand erreichen
Jedes Spiel muss terminierenunendliche Spielverläufe nicht vorgesehenoft Step-Counter, damit Spiel endlich
![Page 59: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/59.jpg)
Definition: Spielbarkeit
Eine Spielbeschreibung in GDL ist spielbar, gdw. jeder Spieler in jedem nicht-terminalen Zustand, der vom Initialzustand aus erreichbar ist, mindestens einen gültigen Zug hat
Beispiel Schach:Wenn ein Spieler nicht mehr ziehen kann, ist eine Patt-Situation
erreichtPatt ist aber ein Terminalzustand (Remis)
Jedes Spiel muss spielbar sein
![Page 60: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/60.jpg)
Definition: Monotonie
Eine Spielbeschreibung in GDL ist monton, gdw. jeder Spieler genau eine Bewertung in jedem vom Initialzustand aus erreichbaren Zustand hat und die Bewertungen niemals geringer werden
![Page 61: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/61.jpg)
Definition: Gewinnbarkeit
Eine Spielbeschreibung in GDL ist stark gewinnbar, gdw. es für irgendeinen Spieler eine Sequenz individueller Züge gibt die zu einem Terminalzustand führt in dem die Bewertung für diesen Spieler maximal (= 100) ist.
Eine Spielbeschreibung in GDL ist schwach gewinnbar, gdw. es für jeden Spieler eine Sequenz gemeinsamer Züge gibt die zu einem Terminalzustand führt in dem die Bewertung für diesen Spieler maximal ist
![Page 62: Handlungsplanung und Allgemeines Spiel Game Description Language (GDL) Peter Kissmann.](https://reader036.fdocument.pub/reader036/viewer/2022070310/55204d6949795902118bf2bf/html5/thumbnails/62.jpg)
Definition: Wohlgeformtes Spiel
Eine Spielbeschreibung in GDL ist wohlgeformt (engl. well-formed), wenn es terminiert und monoton, spielbar sowie schwach gewinnbar ist
Damit müssen wohlgeformte Einpersonenspiele sogar stark gewinnbar sein
In Meisterschaften sollten Spiele stets wohlgeformt seinMonotonie dürfte aber häufig nicht gegeben seinBewertungen zumeist nur in Terminalzuständen