Game Description Language

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 8. Juli 2016 um 13:17 Uhr durch Elamphat (Diskussion | Beiträge) (→‎Weblinks). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Zur Navigation springen Zur Suche springen

Game Description Language (GDL) ist eine Beschreibungssprache, die von Michael Genesereth als Teil des General Game Playing Projekts an der Stanford University, Kalifornien entwickelt wurde. GDL beschreibt den Zustand eines Spiels als eine Reihe von Fakten und die Spielmechanik als logische Regeln. GDL wird als Basissprache zur Entwicklung von Spielbeschreibungen im wissenschaftlichen Umfeld eingesetzt. Auf dieser Sprache basierend können über eine geeignete Schnittstelle beliebige endliche, deterministische Spiele mit vollständigem Wissen (also ohne Zufall) modelliert und gegeneinander gespielt werden.[1]

Beschreibung

Eine GDL Beschreibung erfolgt in Form einer Reihe von logischen Sätzen. Diese Sätze müssen in jedem Stadium des betreffenden Spiels gegeben sein. Als gegebene Sätze werden folgende Begriffe definiert:

  • Role - wird verwendet, um den Namen bzw. die Rolle eines Spielers festzulegen oder hinzuzufügen;
  • Init - bezeichnet den anfänglichen, wahren Spielzustand (die zu diesem Zeitpunkt gegebene, wahre Tatsache);
  • True - bezeichnet den derzeitigen, aktuellen Spielzustand (die zu diesem Zeitpunkt gegebene, wahre Tatsache);
  • Does – Der Zug, die Aktion, die der Spieler im aktuellen Zustand des Spieles durchführt;
  • Next – bezeichnet eine wahre Tatsache über den folgenden Spielzustand;
  • Legal – bezieht sich auf einen legalen Schritt („Does“) im aktuellen Zustand;
  • Goal - wird verwendet um den Zielwert des Spieles im aktuellen Zustand zu definieren;
  • Terminal - bedeutet den aktuellen Zustand des Endspiels;

GDL ist eine offene Sprache, dessen Vokabular erweitert werden kann, jedoch ist die Bedeutung dieser Grundbegriffe für alle Spiele immer gleichbleibend.[2]

Begriffsbeschreibung Spiel Tic-Tac-Toe (zwei Spieler)

Role - Zwei Spieler - xplayer und oplayer

(role xplayer)
(role oplayer)

Init - xplayer beginnt

(init (control xplayer))
(init (cell 1 1 blank))
 ...
(init (cell 3 3 blank))

True - xplayer aktiv im aktuellen Zustand

(true (control xplayer)) 
(true (cell 1 1 b)) 
(true (cell 3 2 x))
(true (cell 3 3 o))

Does - xplayer markiert Zelle (1, 2) während oplayer nichts macht

(does xplayer (mark 1 2))
(does oplayer noop)

Next - hängt häufig von den gewählten Zügen ab

(<= (next (control xplayer))
(true (control oplayer)))

Legal - mindestens ein Zug für jeden Spieler in jedem (nicht terminalen) Zustand

(<= (legal ?player (mark ?x ?y))
(true (cell ?x ?y b))
(true (control ?player)))

Goal - ordnet diesen Zuständen Bewertungen zu

(<= (goal ?player 100)
(line ?player))

Terminal - Definiert Terminalzustände

(<= terminal
(role ?player)
(line ?player))

Weblinks

Einzelnachweise

  1. Stanford University - Game Description Language Specification (PDF, 285 KB) - abgerufen am 1. März 2013
  2. (GDL) Handlungsplanung und Allgemeines Spiel docstoc.com - abgerufen am 1. März 2013