stringtranslate.com

juego general

El juego general ( GGP ) es el diseño de programas de inteligencia artificial para poder jugar más de un juego con éxito. [1] [2] [3] Para muchos juegos como el ajedrez, las computadoras están programadas para jugar estos juegos utilizando un algoritmo especialmente diseñado, que no se puede transferir a otro contexto. Por ejemplo, un programa informático para jugar al ajedrez no puede jugar a las damas . Los juegos en general se consideran un hito necesario en el camino hacia la inteligencia artificial general . [4]

Videojuegos en general ( GVGP ) es el concepto de GGP ajustado a la finalidad de jugar videojuegos . Para los videojuegos, las reglas del juego deben ser aprendidas mediante múltiples iteraciones por parte de jugadores artificiales como TD-Gammon , [5] o deben predefinirse manualmente en un lenguaje específico de dominio y enviarse por adelantado a los jugadores artificiales [6] [7] como en GGP tradicional. A partir de 2013, se lograron avances significativos siguiendo el enfoque de aprendizaje por refuerzo profundo , incluido el desarrollo de programas que pueden aprender a jugar juegos Atari 2600 [8] [5] [9] [10] [11], así como un programa que puede aprende a jugar juegos de Nintendo Entertainment System . [12] [13] [14]

El primer uso comercial de la tecnología de juegos en general fue Zillions of Games en 1998. También se propuso el juego en general para los agentes comerciales en la gestión de la cadena de suministro en el marco de la negociación de precios en subastas en línea a partir de 2003. [15] [16] [17] [18]

Historia

En 1992, Barney Pell definió el concepto de metajuego y desarrolló el sistema "MetaGame". Este fue el primer programa que generó automáticamente reglas de juego similares al ajedrez y uno de los primeros programas en utilizar la generación automatizada de juegos. Pell luego desarrolló el sistema Metagamer . [19] Este sistema fue capaz de jugar una serie de juegos similares al ajedrez, dada la definición de las reglas del juego en un lenguaje especial llamado Lenguaje de descripción de juegos (GDL), sin ninguna interacción humana una vez que se generaron los juegos. [20]

En 1998, Jeff Mallett y Mark Lefler desarrollaron el sistema comercial Zillions of Games . El sistema utilizó un lenguaje similar a LISP para definir las reglas del juego. Millones de juegos derivaron la función de evaluación automáticamente a partir de las reglas del juego basadas en la movilidad de las piezas, la estructura del tablero y los objetivos del juego. También empleó algoritmos habituales como los que se encuentran en los sistemas de ajedrez informáticos : poda alfa-beta con orden de movimientos, tablas de transposición , etc. [21] El paquete se amplió en 2007 mediante la adición del complemento Axiom, un motor de metajuego alternativo que incorpora un completo lenguaje de programación basado en Forth.

En 1998, Urs Fischbacher desarrolló z-Tree . [22] z-Tree es la primera y más citada herramienta de software para economía experimental . z-Tree permite la definición de reglas de juego en el lenguaje z-Tree para experimentos de teoría de juegos con sujetos humanos . También permite la definición de jugadores informáticos que participan en un juego con sujetos humanos. [23]

En 2005, se estableció el Proyecto Stanford General Game Playing . [3]

En 2012 se inició el desarrollo de PyVGDL. [24]

Implementaciones de GGP

proyecto stanford

General Game Playing es un proyecto del Stanford Logic Group de la Universidad de Stanford , California, cuyo objetivo es crear una plataforma para juegos en general. Es el esfuerzo más conocido para estandarizar la IA de GGP y, en general, se considera el estándar para los sistemas GGP. Los juegos están definidos por conjuntos de reglas representadas en el Lenguaje de descripción de juegos . Para jugar, los jugadores interactúan con un servidor de alojamiento de juegos [25] [26] que monitorea la legalidad de los movimientos y mantiene a los jugadores informados sobre los cambios de estado.

Desde 2005, ha habido competencias anuales de juegos generales en la Conferencia AAAI . La competencia juzga las habilidades de la IA de los competidores para jugar una variedad de juegos diferentes, registrando su desempeño en cada juego individual. En la primera etapa de la competencia, los participantes son juzgados por su capacidad para realizar movimientos legales, ganar ventaja y completar juegos más rápido. En la siguiente ronda de desempate, las IA se enfrentan en juegos cada vez más complejos. La IA que gane más juegos en esta etapa gana la competencia, y hasta 2013 su creador solía ganar un premio de 10.000 dólares. [19] Hasta ahora, los siguientes programas salieron victoriosos: [27]

Otros enfoques

Existen otros sistemas de juego generales, que utilizan sus propios lenguajes para definir las reglas del juego. Otro software de juego general incluye:

Implementaciones de GVGP

Aprendizaje reforzado

GVGP podría usarse potencialmente para crear automáticamente IA real de videojuegos , así como "para probar entornos de juego, incluidos aquellos creados automáticamente mediante generación de contenido procedimental y para encontrar posibles lagunas en el juego que un jugador humano podría explotar". [7] GVGP también se ha utilizado para generar reglas de juego y estimar la calidad de un juego basándose en perfiles de rendimiento de algoritmos relativos (RAPP), que comparan la diferenciación de habilidades que permite un juego entre IA buena y mala. [42]

Idioma de descripción del videojuego

El Concurso General de Inteligencia Artificial de Videojuegos (GVGAI) se lleva a cabo desde 2014. En este concurso, se utilizan videojuegos bidimensionales similares (y a veces basados ​​en) los juegos de arcade y consola de la década de 1980 en lugar de los juegos de mesa utilizados en el GGP. competencia. Ha ofrecido una forma para que investigadores y profesionales prueben y comparen sus mejores algoritmos generales de juego de videojuegos. La competencia tiene un marco de software asociado que incluye una gran cantidad de juegos escritos en el lenguaje de descripción de videojuegos (VGDL) , que no debe confundirse con GDL y es un lenguaje de codificación que utiliza una semántica y comandos simples que se pueden analizar fácilmente. Un ejemplo de VGDL es PyVGDL desarrollado en 2013. [6] [24] Los juegos utilizados en GVGP son, por ahora, a menudo juegos arcade bidimensionales, ya que son los más simples y fáciles de cuantificar. [43] Para simplificar el proceso de creación de una IA que pueda interpretar videojuegos, los juegos para este propósito se escriben en VGDL manualmente. [ se necesita aclaración ] VGDL se puede utilizar para describir un juego específicamente para la generación procedimental de niveles, utilizando la programación de conjuntos de respuestas (ASP) y un algoritmo evolutivo (EA). Luego, GVGP se puede utilizar para probar la validez de los niveles de procedimiento, así como la dificultad o calidad de los niveles en función del desempeño de un agente. [44]

Algoritmos

Dado que GGP AI debe diseñarse para jugar múltiples juegos, su diseño no puede depender de algoritmos creados específicamente para ciertos juegos. En cambio, la IA debe diseñarse utilizando algoritmos cuyos métodos puedan aplicarse a una amplia gama de juegos. La IA también debe ser un proceso continuo, que pueda adaptarse a su estado actual en lugar de a los resultados de estados anteriores. Por esta razón, las técnicas de bucle abierto suelen ser las más efectivas. [45]

Un método popular para desarrollar GGP AI es el algoritmo de búsqueda de árbol de Monte Carlo (MCTS). [46] A menudo utilizado junto con el método UCT ( límite superior de confianza aplicado a los árboles ), se han propuesto variaciones de MCTS para jugar mejor a ciertos juegos, así como para hacerlo compatible con los videojuegos. [47] [48] [49] Otra variación de los algoritmos de búsqueda de árbol utilizados es la búsqueda dirigida en amplitud (DBS), [50] en la que se crea un nodo hijo del estado actual para cada acción disponible y visita cada niño ordenado por recompensa promedio más alta, hasta que finalice el juego o se acabe el tiempo. [51] En cada método de búsqueda de árbol, la IA simula acciones potenciales y clasifica cada una en función de la recompensa más alta promedio de cada ruta, en términos de puntos obtenidos. [46] [51]

Suposiciones

Para interactuar con los juegos, los algoritmos deben operar bajo el supuesto de que todos los juegos comparten características comunes. En el libro Half-Real: Video Games Between Real Worlds and Fictional Worlds , Jesper Juul da la siguiente definición de juegos: Los juegos se basan en reglas, tienen resultados variables, diferentes resultados dan diferentes valores, el esfuerzo del jugador influye en los resultados, el jugador es adjunto a los resultados, y el juego tiene consecuencias negociables. [52] Utilizando estos supuestos, la IA del juego se puede crear cuantificando la entrada del jugador, los resultados del juego y cómo se aplican las diversas reglas, y utilizando algoritmos para calcular el camino más favorable. [43]

Ver también

Referencias

  1. ^ Pell, Barney (1992). H. van den Herik; L.Allis (eds.). "Metajuego: un nuevo desafío para los juegos y el aprendizaje" [Programación heurística en inteligencia artificial 3: la tercera olimpiada informática] (PDF) . Ellis-Horwood. Archivado (PDF) desde el original el 17 de febrero de 2020 . Consultado el 17 de febrero de 2020 . {{cite journal}}: Citar diario requiere |journal=( ayuda )
  2. ^ Pell, Barney (1996). "Un jugador de metajuego estratégico para juegos generales similares al ajedrez". Inteligencia Computacional . 12 (1): 177–198. doi :10.1111/j.1467-8640.1996.tb00258.x. ISSN  1467-8640. S2CID  996006.
  3. ^ ab Genesereth, Michael; Con cariño, Natanael; Pell, Barney (15 de junio de 2005). "Juego general: descripción general de la competencia AAAI". Revista AI . 26 (2): 62. doi :10.1609/aimag.v26i2.1813. ISSN  2371-9621.
  4. ^ Canaán, Rodrigo; Salge, Christoph; Togelius, Julián; Nealen, Andy (2019). Actas de la 14.ª Conferencia Internacional sobre los fundamentos de los juegos digitales [ Actas de la 14.ª Conferencia Internacional sobre la nivelación del campo de juego: equidad en los puntos de referencia de los juegos de IA versus humanos ]. págs. 1–8. doi :10.1145/3337722. ISBN 9781450372176. S2CID  58599284. {{cite book}}: |website=ignorado ( ayuda )
  5. ^ ab Mnih, Volodymyr; Kavukcuoglu, Koray; Plata, David; Tumbas, Alex; Antonoglou, Ioannis; Wierstra, Daan; Riedmiller, Martín (2013). "Jugar a Atari con aprendizaje por refuerzo profundo" (PDF) . Taller de sistemas de procesamiento de información neuronal 2013. Archivado (PDF) desde el original el 12 de septiembre de 2014 . Consultado el 25 de abril de 2015 .
  6. ^ ab Schaul, Tom (agosto de 2013). "Un lenguaje de descripción de videojuegos para el aprendizaje interactivo o basado en modelos". Conferencia IEEE 2013 sobre inteligencia computacional en juegos (CIG) . págs. 1–8. CiteSeerX 10.1.1.360.2263 . doi :10.1109/CIG.2013.6633610. ISBN  978-1-4673-5311-3. S2CID  812565.
  7. ^ ab Levine, John; Congdon, Clara Bates; Ebner, Marc; Kendall, Graham; Lucas, Simón M.; Mükkulainen, Risto; Schaul, Tom; Thompson, Tommy (2013). "Juego de videojuegos en general". Inteligencia artificial y computacional en juegos . 6 . Schloss Dagstuhl – Leibniz-Zentrum fuer Informatik: 77–83. Archivado desde el original el 9 de abril de 2016 . Consultado el 25 de abril de 2015 .
  8. ^ Bolos, M.; Venecia, J.; Naddaf, Y.; Bellemare, MG (14 de junio de 2013). "El entorno de aprendizaje Arcade: una plataforma de evaluación para agentes generales". Revista de investigación en inteligencia artificial . 47 : 253–279. arXiv : 1207.4708 . doi :10.1613/jair.3912. ISSN  1076-9757. S2CID  1552061.
  9. ^ Mnih, Volodymyr; Kavukcuoglu, Koray; Plata, David; Rusu, Andrei A.; Venecia, Joel; Hassabis, Demis; Bellemare, Marc G.; Tumbas, Alex; Riedmiller, Martín; Fidjeland, Andreas K.; Stig Petersen, Georg Ostrovski; Beattie, Charles; Sadik, Amir; Antonoglou, Ioannis; Rey, Helena; Kumaran, Dharshan; Wierstra, Daan; Legg, Shane (26 de febrero de 2015). "Control a nivel humano mediante aprendizaje por refuerzo profundo". Naturaleza . 518 (7540): 529–533. Código Bib :2015Natur.518..529M. doi : 10.1038/naturaleza14236. PMID  25719670. S2CID  205242740.
  10. ^ Korjus, Kristjan; Kuzovkin, Ilya; Tampuu, Ardi; Pungas, Taivo (2014). "Replicando el artículo" Jugando a Atari con aprendizaje por refuerzo profundo"" (PDF) . Universidad de Tartu . Archivado (PDF) desde el original el 18 de diciembre de 2014 . Consultado el 25 de abril de 2015 .
  11. ^ Guo, Xiaoxiao; Singh, Satinder; Lee, Honglak; Lewis, Richard L.; Wang, Xiaoshi (2014). "Aprendizaje profundo para juegos Atari en tiempo real utilizando la planificación de búsqueda de árboles Monte-Carlo sin conexión" (PDF) . Procedimientos NIPS β . Jornada sobre Sistemas de Procesamiento de Información Neural . Archivado (PDF) desde el original el 17 de noviembre de 2015 . Consultado el 25 de abril de 2015 .
  12. ^ Murphy, Tom (2013). "El primer nivel de Super Mario Bros. es fácil con ordenamiento lexicográfico y viajes en el tiempo... después de eso se vuelve un poco complicado". (PDF) . SIGBOVIK. Archivado (PDF) desde el original el 26 de abril de 2013 . Consultado el 25 de abril de 2015 .
  13. ^ Murphy, Tom. "learnfun & playfun: una técnica general para automatizar juegos de NES". Archivado desde el original el 19 de abril de 2015 . Consultado el 25 de abril de 2015 .
  14. ^ Cajero, Swizec (28 de octubre de 2013). "Semana 2: el nivel 1 de Super Mario Bros. es fácil con ordenamiento lexicográfico y". Un friki con sombrero . Archivado desde el original el 30 de abril de 2015 . Consultado el 25 de abril de 2015 .
  15. ^ McMillen, Colin (2003). "Hacia el desarrollo de un agente inteligente para el juego de gestión de la cadena de suministro del Concurso de Agentes Comerciales de 2003" [Concurso de Agentes Comerciales de 2003]. Tesis de maestría. Minneapolis, MN: Universidad de Minnesota. S2CID  167336006. {{cite journal}}: Citar diario requiere |journal=( ayuda )
  16. ^ Zhang, Dongmo (2009). Desde descripciones generales de juegos hasta un lenguaje de especificación de mercado para agentes comerciales generales [ Comercio electrónico mediado por agentes. Diseño de estrategias y mecanismos de negociación para los mercados electrónicos. ]. Berlín, Heidelberg: Springer. págs. 259–274. Código bibliográfico : 2010aecd.book..259T. CiteSeerX 10.1.1.467.4629 . 
  17. ^ "AGAPE: un lenguaje de subastas para participantes en subastas en general". ÁGAPE (en francés). 8 de marzo de 2019. Archivado desde el original el 2 de agosto de 2021 . Consultado el 5 de marzo de 2020 .
  18. ^ Michael, Federico; Ignatov, Dmitry (2019). "Juego general de negociaciones de precios B2B" (PDF) . Actas del taller CEUR . -2479: 89–99. Archivado (PDF) desde el original el 6 de diciembre de 2019 . Consultado el 5 de marzo de 2020 .
  19. ^ ab Investigación de Barney Pell sobre juegos de computadora Archivado el 12 de agosto de 2007 en Wayback Machine .
  20. ^ "Metajuego y juego general". Metajuego y juego en general . Archivado desde el original el 3 de marzo de 2001 . Consultado el 27 de marzo de 2016 .
  21. ^ Disponible: Universal Game Engine Archivado el 3 de noviembre de 2012 en el correo electrónico de Wayback Machine a comp.ai.games por Jeff Mallett, 10 de diciembre de 1998.
  22. ^ "UZH - z-Tree - Caja de herramientas de Zurich para experimentos económicos prefabricados". www.ztree.uzh.ch . Archivado desde el original el 21 de febrero de 2016 . Consultado el 17 de febrero de 2020 .
  23. ^ Beckenkamp, ​​Martín; Hennig-Schmidt, Heike; Maier-Rigaud, Frank P. (1 de marzo de 2007). "Cooperación en juegos del dilema del prisionero simétricos y asimétricos". Red de Investigación en Ciencias Sociales. SSRN  968942. {{cite journal}}: Citar diario requiere |journal=( ayuda )
  24. ^ ab Schaul, Tom (7 de febrero de 2020). "schaul/py-vgdl". GitHub . Archivado desde el original el 11 de junio de 2018 . Consultado el 9 de febrero de 2020 .
  25. GGP Server Archivado el 21 de febrero de 2014 en Wayback Machine , plataforma para competencia de sistemas de juego en general.
  26. Dresden GGP Server Archivado el 7 de abril de 2013 en Wayback Machine , plataforma para competición de sistemas de juego generales con programación automática de partidos.
  27. ^ "Juegos generales". www.general-game-playing.de . Archivado desde el original el 26 de diciembre de 2008 . Consultado el 21 de agosto de 2008 .
  28. Información sobre Fluxplayer Archivado el 19 de julio de 2011 en Wayback Machine , ganador del 2º Concurso Internacional de Juego General.
  29. ^ Información sobre CADIAPlayer Archivado el 22 de julio de 2011 en Wayback Machine , más información sobre el ganador de la 3.ª, 4.ª y 8.ª competición internacional de juego general.
  30. ^ ¡ Sancho es campeón de GGP 2014! Archivado el 22 de diciembre de 2015 en Wayback Machine , ganador de la competencia Internacional de Juego General de 2014.
  31. ^ Tagiew, Rustam (2009). Filipe, Joaquim; Fred, Ana; Sharp, Bernadette (eds.). Hacia un marco para la gestión de la interacción estratégica [ Actas de la Conferencia Internacional sobre Agentes e Inteligencia Artificial ] (PDF) . Oporto, Portugal. págs. 587–590. ISBN 978-989-8111-66-1. Archivado (PDF) desde el original el 9 de marzo de 2021 . Consultado el 2 de junio de 2021 .{{cite book}}: Mantenimiento CS1: falta el editor de la ubicación ( enlace )
  32. ^ Tagiew, Rustam (2011). Strategische Interaktion realer Agenten Ganzheitliche Konzeptualisierung und Softwarekomponenten einer interdisziplinären Forschungsinfrastruktur (neue Ausg ed.). Sarrebruck. ISBN 9783838125121.{{cite book}}: CS1 maint: location missing publisher (link)
  33. ^ "Trillones de juegos: ¿quiénes somos?". www.zillions-of-games.com . Archivado desde el original el 15 de noviembre de 2017 . Consultado el 16 de noviembre de 2017 .
  34. ^ "Página de inicio de AiAi: Stephen Tavener". mrraow.com . Archivado desde el original el 6 de septiembre de 2015 . Consultado el 16 de noviembre de 2017 .
  35. ^ "Hilo de anuncios de Ai Ai". BoardGameGeek . Archivado desde el original el 16 de noviembre de 2017 . Consultado el 16 de noviembre de 2017 .
  36. ^ "El proyecto PolyGamo Player | Lenguajes de programación y reproductores generales para juegos y rompecabezas abstractos". www.polyomino.com . Archivado desde el original el 23 de septiembre de 2002 . Consultado el 16 de noviembre de 2017 .
  37. ^ Kowalski, Jakub; Mika, Maksymilian; Sutowicz, Jakub; Szykuła, Marek (17 de julio de 2019). "Juegos de mesa habituales". Actas de la Conferencia AAAI sobre Inteligencia Artificial . 33 (1): 1699-1706. doi : 10.1609/aaai.v33i01.33011699 . ISSN  2374-3468. S2CID  20296467.
  38. ^ Kowalski, Jakub; Miernik, Radoslaw; Mika, Maksymilian; Pawlik, Wojciech; Sutowicz, Jakub; Szykula, Marek; Tkaczyk, Andrzej (2020). "Razonamiento eficiente en juegos de mesa habituales". Conferencia IEEE sobre Juegos (CoG) 2020 . págs. 455–462. arXiv : 2006.08295 . doi : 10.1109/cog47356.2020.9231668. ISBN 978-1-7281-4533-4. S2CID  219687404 . Consultado el 19 de noviembre de 2023 .
  39. ^ "Portal Ludii | Hogar del sistema de juego general Ludii". www.ludii.juegos . Archivado desde el original el 27 de octubre de 2021 . Consultado el 27 de octubre de 2021 .
  40. ^ "Proyecto Digital Ludeme | Modelando la evolución de los juegos tradicionales". www.ludeme.eu . Archivado desde el original el 2 de octubre de 2021 . Consultado el 27 de octubre de 2021 .
  41. ^ Piette, E.; Soemers, DJNJ; Stephenson, M.; Sironi, C.; Stephenson, M.; Winands MHM; Browne, C. (2020). "Ludii: el sistema de juego general de Ludemic" (PDF) . Conferencia Europea sobre Inteligencia Artificial (ECAI 2020), Santiago de Compestela . Archivado (PDF) desde el original el 21 de enero de 2022 . Consultado el 27 de octubre de 2021 .
  42. ^ Nielsen, Thorbjørn S.; Barros, Gabriella AB; Togelius, Julián; Nelson, Mark J. "Hacia la generación de reglas de juegos arcade con VGDL" (PDF) . Archivado (PDF) desde el original el 12 de septiembre de 2015 . Consultado el 24 de febrero de 2018 .
  43. ^ ab Levine, John; Congdon, Clara Bates; Ebner, Marc; Kendall, Graham; Lucas, Simón M.; Mükkulainen Risto, Schaul; Tom, Thompson; Tommy. "Juego general de videojuegos" (PDF) . Archivado (PDF) desde el original el 18 de abril de 2016 . Consultado el 9 de abril de 2016 .
  44. ^ Neufeld, Xenija; Mostaghim, Sanaz; Pérez-Liébana, Diego. "Generación de niveles de procedimiento con programación de conjuntos de respuestas para videojuegos en general" (PDF) . Archivado (PDF) desde el original el 28 de marzo de 2016 . Consultado el 24 de febrero de 2018 .
  45. ^ Świechowski, Maciej; Parque, Hyunsoo; Mańdziuk, Jacek; Kim, Kyung Joong (2015). "Avances recientes en los juegos en general". La Revista del Mundo Científico . 2015 . Corporación Editorial Hindawi: 986262. doi : 10.1155/2015/986262 . PMC 4561326 . PMID  26380375. 
  46. ^ ab "Búsqueda de árboles de Monte-Carlo para juegos generales". Puerta de la investigación . Consultado el 1 de abril de 2016 .
  47. ^ Finnsson, Hilmar (2012). "Extensiones generalizadas de búsqueda de árboles de Monte-Carlo para juegos en general". Actas de la Vigésima Sexta Conferencia AAAI sobre Inteligencia Artificial . Archivado desde el original el 15 de octubre de 2013 . Consultado el 9 de abril de 2016 .
  48. ^ Frydenberg, Federico; Anderson, Kasper R.; Risi, Sebastián; Togelius, Julián. "Investigación de modificaciones de MCTS en el juego de videojuegos en general" (PDF) . Archivado (PDF) desde el original el 12 de abril de 2016 . Consultado el 9 de abril de 2016 .
  49. ^ M. Swiechowski; J. Mandziuk; YS Ong, "Especialización de un programa de juego general basado en UCT para juegos para un solo jugador", en IEEE Transactions on Computational Intelligence and AI in Games , vol.PP, no.99, pp.1-1 doi :10.1109/TCIAIG .2015.2391232
  50. ^ "Cambiar el nodo raíz de un paso anterior del juego". Archivado desde el original el 17 de enero de 2021. DBS: un algoritmo de búsqueda dirigida en amplitud primero (DBS)
  51. ^ ab Pérez, Diego; Dieskau, Jens; Hünermund, Martín. "Búsqueda de bucle abierto para reproducción de videojuegos en general" (PDF) . Archivado (PDF) desde el original el 28 de marzo de 2016 . Consultado el 9 de abril de 2016 .
  52. ^ Jesper Juul. Half-Real: videojuegos entre reglas reales y mundos ficticios. Prensa del MIT, 2005.

enlaces externos