[[http://cadia.ru.is/|{{ public:cadia-final-1-whitebg-small.jpg | CADIA }}]] ======CadiaPlayer====== == Project Goal: A powerful general game-playing engine == **Postdoc**: Hilmar Finnsson (2007-Present)\\ **Student**: Gylfi Þór Guðmundsson (2008)\\ **Student**: Stefán Freyr Guðmundsson (2011-Present)\\ **Postdoc**: Stephan Schiffel (2011-Present)\\ **PI**: Yngvi Björnsson\\ ===== ===== CadiaPlayer, our general game-playing software agent has won the General Game Playing (GGP) world-championship three times. ===== GGP Competition 2007 ===== CadiaPlayer earned the title by winning the 3rd International General Game-Playing (GGP) competition, ahead of a field of players from universities world-wide. It won both the preliminaries and the finals. The preliminaries consisted of 8 days of play, with over 40 different games being played. The Preliminaries Results Rank Player Total Score Institution ------------------------------------------------------------------------------------------------------- 1 CadiaPlayer 2723.50 Reykjavik University 2 FluxPlayer 2355.50 Dresden University of Technology, Germany 3 Ary 2252.75 University of Paris 8, France 4 ClunePlayer 2122.25 University of California, LA 5 UTexas LARG 1798.00 University of Texas, Austin 6 Jigsawbot 1524.00 India Institute of Technology 7 LuckyLemming 1250.50 Dresden University of Technology, Germany 8 WWolfe 821.25 Independent (Stanford student) The GGP competition finals took place at the AAAI conference in Vancouver in July 22-26. The CADIA-Player agent won ClunePlayer, an agent from UCLA, in the final exciting match. ===== GGP Competition 2008 ===== CadiaPlayer defended the title by winning the 4th International General Game-Playing (GGP) competition, again winning both the preliminaries and the finals. The preliminaries consisted of 6 days of play, with various single- two- and multi-player games being played. The Preliminaries Results Rank Player Total Score Institution ------------------------------------------------------------------------------------------------------- 1 CadiaPlayer 1530.00 Reykjavik University 2 ClunePlayer 1429.00 University of California, LA 3 Ary 1402.75 University of Paris 8, France 4 FluxPlayer 1336.25 Dresden University of Technology, Germany 5 Maligne 1149.00 University of Alberta 6 Monomaniac 1058.75 University of New South Wales 7 Centurio 904.50 University of Potsdam, Germany 8 Testplayer 448.50 Alex Vitvitskyy 9 UTexas LARG 336.75 University of Texas, Austin The GGP competition finals this year took place at the AAAI conference in Chicago in July 15-17. Like the year before CADIAPlayer and the UCLA agent ClunePlayer went head to head in the final match, which consisted of three different games. In the end CADIAPlayer was victorious, winning two games of the three. All details regarding game scores and results can be viewed in this [[http://spreadsheets.google.com/pub?key=pwETMY7_nW_yqoWnwKj9gEA|Google spreadsheet document]]. ===== GGP Competition 2009 ===== CadiaPlayer had a bad run in the 2009 competition, missing out on reaching the 4 finalists heat by a tie breaking rule. This time a pre-tournament playing period (June 15-28) on the Dresden GGP server replaced the preliminaries where CadiaPlayer, still showed its strength by placing 1st. The Preliminaries Results Rank Player Average Score Institution ------------------------------------------------------------------------------------------------------- 1 CadiaPlayer 70.1856 Reykjavik University, Iceland 2 Ary 66.9859 Universite de Paris 8/10, France 3 TurboTurtle 56.1768 Independent (Stanford students), USA 4 FluxPlayer 52.2034 Dresden University of Technology, Germany 5 Centurio 49.3675 UUniversity of Potsdam, Germany 6 Gamer 31.0576 TU Dortmund / TZI Bremen, Germany 7 Hex 0.1053 Carlos III University, Spain 8 Ethan - N/A - Stanford University, USA 9 Maligne - N/A - University of Alberta, Canada 10 Lucky Lemming - N/A - Dresden University of Technology, Germany The GGP competition finals this year took place at the IJCAI conference in Pasadena in July 11-17. This year Ary placed 1st, FluxPlayer was in 2nd place and Maligne 3rd. All details regarding game scores and results can be viewed here [[http://euklid.inf.tu-dresden.de:8180/ggpserver/public/show_tournaments.jsp|Dresden Server Tournaments Page (tournaments with prefix ggp09)]]. ===== GGP Competition 2010 ===== This year the preliminaries were a part of the final competition where the top 8 teams advanced to quarterfinals, from there 4 teams advanced to semifinals and finally 2 teams battled for the 1st place. The 2010 Participants and Results Rank Player Institution ------------------------------------------------------------------------------------------------------- 1 Ary Universite de Paris 8/10, France 2 Maligne University of Alberta, Canada 3 CadiaPlayer Reykjavik University, Iceland 4 FluxPlayer Dresden University of Technology, Germany - Atax, Centurio, Gamer, Gorgon, Nex, Tortoise and TurboTurtle. CADIAPlayer managed to reach the semifinals and placed 3rd overall after winning FluxPlayer which was the other team to reach as far as the semifinals. Ary and Maligne (which knocked out CADIAPlayer) were the teams that made it to the finals and in the end Ary was victorious, defending its title from 2009. Well done Ary! The GGP competition finals this year took place at the AAAI conference in Atlanta, Georgia July 11-15. ===== GGP Competition 2011 ===== This year the preliminaries were a part of the final competition where the top 8 teams advanced to quarterfinals, from the winner was determined using double bracket elimination. The 2011 Results Rank Player Institution ------------------------------------------------------------------------------------------------------- 1 TurboTurtle Sam Schreiber, Independent 2 CadiaPlayer Reykjavik University, Iceland 3 Ary Universite de Paris 8/10, France This year saw a new champion emerge, congratulations Sam! The GGP competition finals this year took place at the IJCAI conference in Barcelona, Spain July 16-22. ===== GGP Competition 2012 ===== This year the preliminaries were a part of the final competition where the top 8 teams advanced to quarterfinals, from the winner was determined using double bracket elimination. The 2012 Results Rank Player Institution ------------------------------------------------------------------------------------------------------- 1 CadiaPlayer Reykjavik University, Iceland 2 TurboTurtle Sam Schreiber, Independent 3 Ary Universite de Paris 8/10, France With this win CadiaPlayer became the first agent to win the GGP competition three times. The GGP competition finals this year took place at the AAAI conference in Toronto, Canada July 22-26. ===== Australian Open 2012 ===== The AI'12 GGP competition took place at the Australasian Joint Conference on Artificial Intelligence in Sydney, Australia December 4-6. The competition featured an incomplete information track in which 3 teams including CadiaPlayer participated. The 2012 Results of the Incomplete Information Track Rank Player Institution ------------------------------------------------------------------------------------------------------- 1 CadiaPlayer Reykjavik University, Iceland 2 Nexusbaum TZI Bremen / Saarland University, Germany 3 LeJoueur Universite de Paris 8, France Thus, Cadiaplayer is now the reigning world champion in General Game Playing for both, complete information and incomplete information games. ===== Background ===== Artificial Intelligence researchers have for decades worked on building game-playing systems capable of matching wits with the strongest humans in the world. The success of such systems has largely been because of years of knowledge-engineering effort on behalf of the program developers, manually adding application-dependent knowledge to their programs. The hope is to take this approach to the next level: to build intelligent software systems that can, given the rules of any game, automatically learn a strategy for playing the game without any human intervention. Artificial Intelligence technology has now matured to the point where this is within realm of possibility, so Stanford University started the General Game-Playing Competition (http://games.stanford.edu) as an initiative to facilitate further research in the area. This is the third year the competition is held. In the first year ClunePlayer, an entry from University of California Los Angeles, won; FluxPlayer (http://www.fluxagent.org/fluxplayer.htm) from Dresden University of Technology is the reigning GGP world-champion after winning the 2006 competition. This was the first time CADIA, Reykjavik University's AI laboratory, entered the competition. The GGP project is led by [[http://www.ru.is/faculty/yngvi/|Dr. Yngvi Björnsson]]. He and Hilmar Finnsson, a graduated Ph.D. student in computer science, are the authors of CadiaPlayer. ===== CadiaPlayer Source ===== This code is presented "as is" without any guarantees, but it has been running for several years on both OS X and CentOS. System Requirements for 64-bit compilation: * Boost C++ Libraries version 1.36.0+ (uses the asio library) * YAP Prolog version 6.2.0 System Requirements for 32-bit compilation: * Boost C++ Libraries version 1.36.0+ (uses the asio library) * YAP Prolog version 6.2.0 or 5.1.1 (do not use 5.1.3) ==== Instructions ==== Download the compressed file {{:public:cadiaplayer:cadiaplayer-3.0.tar.gz|cadiaplayer-3.0.tar.gz}} (last updated:November 18 2012) and execute the following commands: tar -xf cadiaplayer-3.0.tar.gz cd cadiaplayer-3.0 ./configure make make install This creates a folder named bin in the current directory which contains all you need, which is: cadiaplayer - The CadiaPlayer GGP agent. cadiaplayer.ini - Settings file for the CadiaPlayer GGP agent. Contains info on root parallelization. games - Folder structure for the GDL to Prolog conversion. Must be in the same folder as the player. ggp.extensions.pl - Prolog functionality to get game information. ggpserver - HTTP server to manage communication between Game Manager and a GGP player. externalserver - HTTP server to manage communication between CadiaPlayer and an external GGP player (root parallelization). kif2ggp - KIF/GDL to YAP Prolog compiled state. kif2pl - KIF/GDL to Prolog conversion. ==== Configuring CadiaPlayer ==== To configure how CadiaPlayer plays, edit the text file named: cadiaplayer.ini This file lets you set the type of agent that should play the games and what extensions to use. Refer to the comments in the file itself for further information. All available setting constants occur in the included cadiaplayer.ini file. ==== Testing CadiaPlayer ==== By running ./cadiaplayer you are running a ggp player that communicates in the GGP protocol minus the HTML through the standard in/out pipes. It has an augmented command set for testing purposes. This document, {{:public:cadiaplayer:cadiaplayercommands.pdf|CadiaPlayer Commands}}, lists all the commands it can be sent. ==== Running CadiaPlayer ==== To run CadiaPlayer as a full-fledged GGP agent communicating through HTTP use: ./ggpserver ./cadiaplayer 59834 The ggpserver strips the HTTP protocol information from messages before sending them to the program named as the first parameter (here "./cadiaplayer") and constructs HTTP header information for the messages from it, before sending them to the Game Master. The second parameter is the port to listen for messages from the Game Master, the port 59834 shown is also the default port if this parameter is omitted. ===== Publications ===== * Hilmar Finnson (2012) [[http://skemman.is/stream/get/1946/12264/30391/1/Hilmar_Finnsson_PhD_CS_HR.pdf|Simulation-Based General Game Playing]]. PhD Thesis, School of Computer Science, Reykjavik University. * Abdallah Saffidine, Hilmar Finnsson and Michael Buro (2012)[[http://cadia.ru.is/wiki/_media/public:cadiaplayer:hif_aaai12b.pdf|Alpha-Beta Pruning for Games with Simultaneous Moves]]. In The Twenty-Sixth AAAI Conference on Artificial Intelligence, pp. 556–564. * Hilmar Finnsson (2012)[[http://cadia.ru.is/wiki/_media/public:cadiaplayer:hif_aaai12a.pdf|Generalized Monte-Carlo Tree Search Extensions for General Game Playing]]. In The Twenty-Sixth AAAI Conference on Artificial Intelligence, pp. 1550–1556. * Hilmar Finnsson and Yngvi Björnsson (2011)[[http://cadia.ru.is/wiki/_media/public:cadiaplayer:hif_giga11.pdf|Game-Tree Properties and MCTS Performance]]. The IJCAI-11 Workshop on General Game Playing. * Yngvi Björnsson and Hilmar Finnsson (2011)[[http://cadia.ru.is/wiki/_media/public:cadiaplayer:hif_ki11.pdf|CadiaPlayer: Search-Control Techniques]]. In KI - Künstliche Intelligenz, 25(1):9-16, March 2011. * Hilmar Finnsson and Yngvi Björnsson (2010)[[http://cadia.ru.is/wiki/_media/public:cadiaplayer:hif_aaai10.pdf|Learning Simulation Control in General Game Playing Agents]]. In The Twenty-Fourth AAAI Conference on Artificial Intelligence, pp. 954–959. * Hilmar Finnsson and Yngvi Björnsson (2009)[[http://cadia.ru.is/wiki/_media/public:cadiaplayer:hif_giga09.pdf|Simulation Control in General Game Playing Agents]]. The IJCAI-09 Workshop on General Game Playing. * Yngvi Björnsson and Hilmar Finnsson (2009)[[http://cadia.ru.is/wiki/_media/public:cadiaplayer:hif_ieee09.pdf|CADIAPlayer: A Simulation-based Approach to General Game Playing]]. In IEEE Transactions on Computational Intelligence and AI in Games, vol. 1(1). * Hilmar Finnsson and Yngvi Björnsson (2008)[[http://cadia.ru.is/wiki/_media/public:cadiaplayer:hif_aaai08.pdf|Simulation-based Approach to General Game Playing]]. In The Twenty-Third AAAI Conference on Artificial Intelligence, pp. 259–264. * Hilmar Finnson (2007) [[http://skemman.is/stream/get/1946/7478/19933/1/MSc_Hilmar-Finnsson.pdf|CADIA-Player: A General Game Playing Agent]]. MSc Thesis, School of Computer Science, Reykjavik University. ===== Photos ===== GGP Competition 2007 | {{ public:cadiaplayer:cadiateam_2007.jpeg?320x240 | Hilmar Finnsson and Dr. Yngvi Björnsson (2007) }} | {{ public:cadiaplayer:comp_2007_1.jpeg?320x240 | GGP Competition 2007 }} | {{ public:cadiaplayer:comp_2007_2.jpeg?320x240 | GGP Competition 2007 }} | GGP Competition 2008 | {{ public:cadiaplayer:crowd_1.jpeg?320x240 | GGP Competition 2008 }} | {{ public:cadiaplayer:crowd_2.jpeg?320x240 | GGP Competition 2008 }} | {{ public:cadiaplayer:crowd_3.jpeg?320x240 | GGP Competition 2008 }} | | {{ public:cadiaplayer:2pttcc4.jpeg?320x240 | Finals of the GGP Competition 2008 }} | {{ public:cadiaplayer:competitors.jpeg?320x240 | GGP Competition 2008 Participants }} | {{ public:cadiaplayer:knightsamazonssmall.jpeg?320x240 | Finals of the GGP Competition 2008 }} |