stringtranslate.com

Lenguaje de descripción del juego

Game Description Language (GDL) es un lenguaje de programación lógica especializado diseñado por Michael Genesereth . El objetivo de GDL es permitir el desarrollo de agentes de IA capaces de jugar juegos generales . Forma parte del Proyecto de Juego General de la Universidad de Stanford .

GDL es una herramienta para expresar las complejidades de las reglas y la dinámica del juego en una forma comprensible para los sistemas de IA a través de una combinación de construcciones basadas en la lógica y principios declarativos.

En la práctica, el GDL se utiliza a menudo para competiciones de juegos generales y para proyectos de investigación. En estos contextos, el GDL se utiliza para especificar las reglas de los juegos que se espera que jueguen los agentes de IA. Los desarrolladores e investigadores de IA utilizan el GDL para crear algoritmos que puedan comprender y participar en los juegos en función de sus descripciones de reglas. El uso del GDL allana el camino para el desarrollo de agentes de IA altamente adaptables, capaces de competir y destacarse en diversos escenarios de juego.

Esta innovación es un testimonio de la convergencia del formalismo basado en la lógica y el mundo de los juegos, y abre nuevos horizontes para el potencial de la IA en la comprensión y el dominio de una multitud de juegos. El lenguaje de descripción de juegos proporciona a la IA una clave universal para desvelar los misterios de diversos entornos y estrategias de juego.

Propósito de GDL

En un artículo de New Scientist , Genesereth señaló que, aunque Deep Blue puede jugar al ajedrez a nivel de gran maestro , no es capaz de jugar a las damas porque es un jugador especializado. [1] Tanto el ajedrez como las damas se pueden describir en GDL. Esto permite crear jugadores de juegos generales que puedan jugar a ambos juegos y a cualquier otro que se pueda describir utilizando GDL.

Especificación

Sintaxis

GDL es una variante de Datalog y la sintaxis es básicamente la misma. Generalmente se proporciona en notación de prefijo . Las variables comienzan con " ?". [2]

Palabras clave

La siguiente es la lista de palabras clave en GDL, junto con breves descripciones de sus funciones:

distinct
Este predicado se utiliza para requerir que dos términos sean sintácticamente diferentes.
does
El predicado does(?r,?m)significa que el jugador (o rol ) ?rrealiza un movimiento ?men el estado actual del juego.
goal
El predicado goal(?r,?n)se utiliza para definir el valor objetivo ?n(normalmente un número natural entre 0 y 100) para el rol ?ren el estado actual.
init
Este predicado se refiere a un hecho verdadero sobre el estado inicial del juego.
legal
El predicado legal(?r,?m)significa que ?mes un movimiento legal para el rol ?ren el estado actual.
next
Este predicado se refiere a un hecho verdadero sobre el próximo estado del juego.
role
Este predicado se utiliza para agregar el nombre de un jugador.
terminal
Este predicado significa que el estado actual es terminal.
true
Este predicado se refiere a un hecho verdadero sobre el estado actual del juego.

Normas

Una descripción del juego en GDL proporciona reglas completas para cada uno de los siguientes elementos de un juego.

Jugadores

Datos que definen los roles en un juego. El siguiente ejemplo es de una descripción de GDL del juego de dos jugadores Tres en raya :

(jugador de rol)(rol del jugador)

Estado inicial

Reglas que incluyen todos los hechos sobre el estado inicial del juego. Un ejemplo es:

(init (celda 1 1 en blanco))...(init (celda 3 3 en blanco))(init (control xplayer))

Reglas que describen cada movimiento según las condiciones de la posición actual en las que un jugador puede realizarlo. Un ejemplo es:

( <= ( legal ?jugador ( marca ?m ?n )) ( verdadero ( celda ?m ?n en blanco )) ( verdadero ( control ?jugador )))             

Actualización del estado del juego

Reglas que describen todos los hechos sobre el siguiente estado en relación con el estado actual y los movimientos realizados por los jugadores. Un ejemplo es:

( <= ( siguiente ( celda ?m ?n x )) ( hace xplayer ( marca ?m ?n ))) ( <= ( siguiente ( celda ?m ?n o )) ( hace oplayer ( marca ?m ?n )))                    

Terminación

Reglas que describen las condiciones en las que el estado actual es terminal. Un ejemplo es:

(<=terminal (línea x))(<=terminal (línea o))(<=terminal no tablero abierto)

Estados objetivos

Los valores objetivo para cada jugador en un estado terminal. Un ejemplo es:

( <= ( objetivo xplayer 100 ) ( línea x )) ( <= ( objetivo oplayer 0 ) ( línea x ))          

Extensiones

GDL-II

Con GDL, se pueden describir juegos finitos con un número arbitrario de jugadores. Sin embargo, GDL no puede describir juegos que contengan un elemento de azar (por ejemplo, tirar dados) o juegos en los que los jugadores tengan información incompleta sobre el estado actual del juego (por ejemplo, en muchos juegos de cartas las cartas de los oponentes no son visibles). GDL-II , el Lenguaje de descripción de juegos para juegos con información incompleta , extiende GDL con dos palabras clave que permiten la descripción de elementos de azar e información incompleta: [3]

sees
El predicado sees(?r,?p)significa que el rol ?rpercibe ?pen el siguiente estado del juego.
random
Esta constante se refiere a un jugador predefinido que elige movimientos al azar.

El siguiente es un ejemplo de una descripción GDL-II del juego de cartas Texas Hold 'em :

( <= ( ve ?jugador ?carta ) ( hace aleatorio ( reparte_boca_abajo ?jugador ?carta ))) ( <= ( ve ?r ?carta ) ( rol ?r ) ( hace aleatorio ( reparte_río ?carta )))                 

GDL-III

Michael Thielscher también creó una extensión adicional, GDL-III , un lenguaje de descripción de juegos general con información imperfecta e introspección , que apoya la especificación de juegos epistémicos , aquellos caracterizados por reglas que dependen del conocimiento de los jugadores. [4]

Otros formalismos y lenguajes para la representación de juegos

En la teoría de juegos clásica, los juegos pueden formalizarse en formas extensivas y normales . Para la teoría de juegos cooperativos , los juegos se representan utilizando funciones características. Algunas subclases de juegos permiten representaciones especiales en tamaños más pequeños también conocidas como juegos sucintos . Algunos de los desarrollos más recientes de formalismos y lenguajes para la representación de algunas subclases de juegos o representaciones ajustadas a las necesidades de la investigación interdisciplinaria se resumen en la siguiente tabla. [5] Algunas de estas representaciones alternativas también codifican aspectos relacionados con el tiempo:

Aplicaciones

Un artículo de 2016 "describe un algoritmo multinivel que compila una descripción general de un juego en GDL en un razonador optimizado en un lenguaje de bajo nivel". [19]

Un artículo de 2017 utiliza GDL para modelar el proceso de mediación en la resolución de una disputa entre dos partes y presentó un algoritmo que utiliza la información disponible de manera eficiente para hacerlo. [20]

Véase también

Referencias

  1. ^ Biever, Celeste (29 de julio de 2006). "Producción de los robots para juegos definitivos - tecnología - 29 de julio de 2006 - New Scientist Tech". Archivado desde el original el 11 de agosto de 2007.
  2. ^ Love, N; Genesereth, M; Hinrichs, T (2006). "Juego general: especificación del lenguaje de descripción de juegos. Tech. Rep. LG-2006-01" (PDF) . Universidad de Stanford . Universidad de Stanford, Stanford . Consultado el 1 de julio de 2019 .
  3. ^ Thielscher, M (2010). Fox, M; Poole, D (eds.). "Un lenguaje general de descripción de juegos para juegos con información incompleta". Actas de la 24.ª Conferencia AAAI sobre Inteligencia Artificial, AAAI 2010. Atlanta: AAAI Press . Consultado el 1 de julio de 2019 .
  4. ^ Thielscher, Michael (2017). "GDL-III: Un lenguaje de descripción para el juego general epistémico" (PDF) . Actas de la vigésimo sexta conferencia conjunta internacional sobre inteligencia artificial . IJCAI. ISBN 978-0-9992411-0-3. Recuperado el 1 de julio de 2019 .
  5. ^ Tagiew, Rustam (3 de mayo de 2011). "Si se necesita algo más que un modelo analítico para predecir la interacción estratégica de los agentes reales". arXiv : 1105.0558 [cs.GT].
  6. ^ Rosenthal, Robert W. (diciembre de 1973). "Una clase de juegos que poseen equilibrios de Nash de estrategia pura". Revista Internacional de Teoría de Juegos . 2 (1): 65–67. doi :10.1007/BF01737559. S2CID  121904640.
  7. ^ Koller, Daphne ; Megiddo, Nimrod ; von Stengel, Bernhard (1994). "Algoritmos rápidos para encontrar estrategias aleatorias en árboles de juego". Actas del vigésimo sexto simposio anual de la ACM sobre teoría de la computación - STOC '94 . págs. 750–759. doi :10.1145/195058.195451. ISBN 0-89791-663-8. Número de identificación del sujeto  1893272.
  8. ^ Alur, Rajeev; Dill, David L. (abril de 1994). "Una teoría de autómatas temporizados". Ciencias Informáticas Teóricas . 126 (2): 183–235. doi : 10.1016/0304-3975(94)90010-8 .
  9. ^ Tomlin, CJ; Lygeros, J.; Shankar Sastry, S. (julio de 2000). "Un enfoque teórico de juegos para el diseño de controladores para sistemas híbridos". Actas del IEEE . 88 (7): 949–970. CiteSeerX 10.1.1.129.8347 . doi :10.1109/5.871303. S2CID  1844682. 
  10. ^ Koller, Daphne; Pfeffer, Avi (1997). "Representaciones y soluciones para problemas de teoría de juegos" (PDF) . Inteligencia artificial . 94 (1–2): 167–215. doi : 10.1016/S0004-3702(97)00023-4 .
  11. ^ Michael, Michael Kearns; Littman, Michael L. (2001). "Modelos gráficos para la teoría de juegos". En UAI : 253–260. CiteSeerX 10.1.1.22.5705 . 
  12. ^ Kearns, Michael; Littman, Michael L.; Singh, Satinder (7 de marzo de 2011). "Modelos gráficos para la teoría de juegos". arXiv : 1301.2281 [cs.GT].
  13. ^ Leyton-Brown, Kevin; Tennenholtz, Moshe (2003). "Juegos de efectos locales". IJCAI'03: Actas de la 18.ª Conferencia conjunta internacional sobre inteligencia artificial : 772–777.
  14. ^ Clempner, Julio (2006). "Modelado de juegos de caminos más cortos con redes de Petri: una teoría basada en Lyapunov". Revista Internacional de Matemática Aplicada y Ciencias de la Computación . 16 (3): 387–397. ISSN  1641-876X.
  15. ^ Sannikov, Yuliy (septiembre de 2007). "Juegos con acciones imperfectamente observables en tiempo continuo" (PDF) . Econometrica . 75 (5): 1285–1329. doi :10.1111/j.1468-0262.2007.00795.x.
  16. ^ Tagiew, Rustam (diciembre de 2008). "Juegos de Petri multiagente". Conferencia internacional de 2008 sobre inteligencia computacional para modelado, control y automatización . pp. 130–135. doi :10.1109/CIMCA.2008.15. ISBN 978-0-7695-3514-2. Número de identificación del sujeto  16679934.
  17. ^ Tagiew, Rustam (2009). "Sobre modelos de redes de Petri multiagente para el cálculo de juegos finitos extensivos". Nuevos desafíos en inteligencia colectiva computacional . Estudios en inteligencia computacional. Vol. 244. Springer. págs. 243–254. doi :10.1007/978-3-642-03958-4_21. ISBN . 978-3-642-03957-7.
  18. ^ Bhat, Navin; Leyton-Brown, Kevin (11 de julio de 2012). "Cálculo de equilibrios de Nash de juegos de gráficos de acción". arXiv : 1207.4128 [cs.GT].
  19. ^ Kowalski, Jakub; Szykuła, Marek (2013). "Construcción de compiladores de lenguaje de descripción de juegos". AI 2013: Advances in Artificial Intelligence: 26th Australasian Joint Conference, Dunedin, Nueva Zelanda, 1-6 de diciembre de 2013. Actas . págs. 234–245 . Consultado el 1 de julio de 2019 .
  20. ^ de Jonge, Dave; Trescak, Tomás; Sierra, Carles; Simoff, Simeón; López de Mántaras, Ramón (2017). "Uso del lenguaje de descripción de juegos para la resolución mediada de disputas". IA y sociedad . 2017 (4). Saltador: 767–784. doi :10.1007/s00146-017-0790-8. S2CID  22738517.

Enlaces externos