General game playing (jocs generals, GGP) són el disseny de programes d'intel·ligència artificial per poder jugar a més d'una partida amb èxit. Per a molts jocs com els escacs, els ordinadors es programen per jugar a aquests jocs utilitzant un algoritme especialment dissenyat, que no es pot transferir a un altre context. Per exemple, un programa informàtic que juga a escacs no pot jugar a dames. Els jocs generals es consideren una fita necessària en el camí cap a la intel·ligència artificial general.
Els videojocs en general (GVGP, per les seves sigles en anglès) són el concepte de GGP ajustat a la finalitat de jugar a videojocs. Per als videojocs, les regles del joc s'han d'aprendre al llarg de múltiples iteracions per jugadors artificials com TD-Gammon, o bé s'han de predefinir manualment en un llenguatge específic del domini i s'han d'enviar per endavant als jugadors artificials com en el GGP tradicional. A partir del 2013, es van fer progressos significatius seguint l'enfocament d'aprenentatge per reforç profund, inclòs el desenvolupament de programes que poden aprendre a jugar a jocs d'Atari 2600, així com un programa que pot aprendre a jugar a jocs de Nintendo Entertainment System.
El primer ús comercial de la tecnologia de jocs generals va ser Zillions of Games el 1998. Els jocs generals també es van proposar per als agents comercials en la gestió de la cadena de subministrament, sota negociació de preus en subhastes en línia a partir del 2003.
Història El 1992, Barney Pell va definir el concepte de Meta-Game Playing i va desenvolupar el sistema "MetaGame". Aquest va ser el primer programa que va generar automàticament regles de joc similars als escacs, i un dels primers programes que va utilitzar la generació automatitzada de jocs. Pell va desenvolupar llavors el sistema Metagamer. Aquest sistema era capaç de jugar a diverses partides similars als escacs, donada la definició de les regles del joc en un llenguatge especial anomenat Game Description Language (GDL), sense cap interacció humana un cop generades les partides.
El 1998, Jeff Mallett i Mark Lefler van desenvolupar el sistema comercial Zillions of Games. El sistema utilitzava un llenguatge similar a LISP per definir les regles del joc. Zillions of Games derivava la funció d'avaluació automàticament de les regles del joc basant-se en la mobilitat de les peces, l'estructura del tauler i els objectius del joc. També emprava algoritmes habituals com els que es troben en els sistemes d'escacs per ordinador : poda alfa-beta amb ordre de moviments, taules de transposició, etc. El paquet es va ampliar el 2007 amb l'addició del connector Axiom, un motor de metajocs alternatiu que incorpora un llenguatge de programació complet basat en Forth.
El 1998, Urs Fischbacher va desenvolupar z-Tree. z-Tree és la primera i la més citada eina de programari per a l'economia experimental. z-Tree permet la definició de regles de joc en llenguatge z-Tree per a experiments de teoria de jocs amb subjectes humans. També permet la definició de jugadors informàtics que participen en un joc amb subjectes humans.
El 2005 es va establir el Stanford Project General Game Playing.
El desenvolupament de PyVGDL va començar el 2012.
Implementacions de GGP Projecte Stanford General Game Playing és un projecte del Stanford Logic Group de la Universitat de Stanford, Califòrnia, que té com a objectiu crear una plataforma per a jocs en general. És l'esforç més conegut per estandarditzar la IA de GGP, i generalment es considera l'estàndard per als sistemes GGP. Els jocs es defineixen mitjançant conjunts de regles representades en el Llenguatge de Descripció de Jocs. Per jugar als jocs, els jugadors interactuen amb un servidor d'allotjament de jocs que supervisa els moviments per verificar la legalitat i manté els jugadors informats dels canvis d'estat.
Des del 2005, hi ha hagut competicions anuals de jocs generals a la Conferència AAAI. La competició jutja les habilitats de les IA participants per jugar a una varietat de jocs diferents, registrant el seu rendiment en cada partida individual. A la primera fase de la competició, els participants són jutjats per la seva capacitat per realitzar moviments legals, obtenir avantatge i completar les partides més ràpidament. A la següent ronda de segona ronda, les IA s'enfronten entre elles en jocs cada cop més complexos. La IA que guanya més partides en aquesta fase guanya la competició, i fins al 2013 el seu creador solia guanyar un premi de 10.000 dòlars. Fins ara, els programes següents van sortir victoriosos: AnyNomDesenvolupadorInstitució2005CluneplayerJim CluneUCLA2006FluxplayerStephan Schiffel i Michael ThielscherUniversitat Tecnològica de Dresden2007CadiaplayerYngvi Björnsson i Hilmar FinnssonUniversitat de Reykjavík2008CadiaplayerYngvi Björnsson, Hilmar Finnsson i Gylfi Þór GuðmundssonUniversitat de Reykjavík2009AryJoan MéhatUniversitat París 82010AryJoan MéhatUniversitat París 82011TurboTurtleSam Schreiber2012CadiaplayerHilmar Finnsson i Yngvi BjörnssonUniversitat de Reykjavík2013TurboTurtleSam Schreiber2014SanchoSteve Draper i Andrew Rose2015GalvanitzarRicard Emslie2016WoodStockEric PietteUniversitat d'Artois
Algoritmes Com que la IA de GGP ha d'estar dissenyada per jugar a múltiples jocs, el seu disseny no pot basar-se en algoritmes creats específicament per a determinats jocs. En canvi, la IA s'ha de dissenyar utilitzant algoritmes els mètodes dels quals es puguin aplicar a una àmplia gamma de jocs. Els sistemes GGP recents, com ara Regular Boardgames (RBG) i Ludii, han explorat representacions de regles alternatives per optimitzar l'eficiència del raonament i donar suport a una varietat més àmplia de jocs. La IA també ha de ser un procés continu, que es pugui adaptar al seu estat actual en lloc de la sortida d'estats anteriors. Per aquest motiu, les tècniques de bucle obert sovint són les més efectives.
Un mètode popular per desenvolupar la IA GGP és l'algoritme de cerca d'arbre de Monte Carlo (MCTS). Sovint utilitzat juntament amb el mètode UCT ( límit de confiança superior aplicat als arbres ), s'han proposat variacions de MCTS per jugar millor a certs jocs, així com per fer-lo compatible amb els videojocs. Una altra variació dels algoritmes de cerca d'arbre utilitzats és la cerca dirigida per amplitud (DBS), en què es crea un node fill a l'estat actual per a cada acció disponible i visita cada fill ordenat per recompensa mitjana més alta, fins que el joc finalitza o s'esgota el temps. En cada mètode de cerca d'arbre, la IA simula accions potencials i classifica cadascuna en funció de la recompensa mitjana més alta de cada camí, en termes de punts guanyats.
Referències
Categoria:Intel·ligència artificial Categoria:Jocs