FUEGO—An Open-Source Framework for Board Games and Go Engine Based on Monte Carlo Tree Search Markus Enzenberger, Martin Müller, Broderick Arneson, and Richard Segal
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
E-Book? Začala Hra
Nejlepší strategie všech dob 1 www.yohama.cz Nejlepší strategie všech dob Obsah OBSAH DESKOVÁ HRA GO ................................................................................................................................ 3 Úvod ............................................................................................................................................................ 3 Co je to go ................................................................................................................................................... 4 Proč hrát go ................................................................................................................................................. 7 Kde získat go ................................................................................................................................................ 9 Jak začít hrát go ......................................................................................................................................... 10 Kde a s kým hrát go ................................................................................................................................... 12 Jak se zlepšit v go ...................................................................................................................................... 14 Handicapová hra ....................................................................................................................................... 15 Výkonnostní třídy v go a rating hráčů ....................................................................................................... -
Reinforcement Learning of Local Shape in the Game of Go
Reinforcement Learning of Local Shape in the Game of Go David Silver, Richard Sutton, and Martin Muller¨ Department of Computing Science University of Alberta Edmonton, Canada T6G 2E8 {silver, sutton, mmueller}@cs.ualberta.ca Abstract effective. They are fast to compute; easy to interpret, modify and debug; and they have good convergence properties. We explore an application to the game of Go of Secondly, weights are trained by temporal difference learn- a reinforcement learning approach based on a lin- ing and self-play. The world champion Checkers program ear evaluation function and large numbers of bi- Chinook was hand-tuned by expert players over 5 years. nary features. This strategy has proved effective When weights were trained instead by self-play using a tem- in game playing programs and other reinforcement poral difference learning algorithm, the program equalled learning applications. We apply this strategy to Go the performance of the original version [7]. A similar ap- by creating over a million features based on tem- proach attained master level play in Chess [1]. TD-Gammon plates for small fragments of the board, and then achieved world class Backgammon performance after train- use temporal difference learning and self-play. This ingbyTD(0)andself-play[13]. A program trained by method identifies hundreds of low level shapes with TD(λ) and self-play outperformed an expert, hand-tuned ver- recognisable significance to expert Go players, and sion at the card game Hearts [11]. Experience generated provides quantitive estimates of their values. We by self-play was also used to train the weights of the world analyse the relative contributions to performance of champion Othello and Scrabble programs, using least squares templates of different types and sizes. -
Curriculum Guide for Go in Schools
Curriculum Guide 1 Curriculum Guide for Go In Schools by Gordon E. Castanza, Ed. D. October 19, 2011 Published By: Rittenberg Consulting Group 7806 108th St. NW Gig Harbor, WA 98332 253-853-4831 © 2005 by Gordon E. Castanza, Ed. D. Curriculum Guide 2 Table of Contents Acknowledgements ......................................................................................................................... 4 Purpose and Rationale..................................................................................................................... 5 About this curriculum guide ................................................................................................... 7 Introduction ..................................................................................................................................... 8 Overview ................................................................................................................................. 9 Building Go Instructor Capacity ........................................................................................... 10 Developing Relationships and Communicating with the Community ................................. 10 Using Resources Effectively ................................................................................................. 11 Conclusion ............................................................................................................................ 11 Major Trends and Issues .......................................................................................................... -
Strategy Game Programming Projects
STRATEGY GAME PROGRAMMING PROJECTS Timothy Huang Department of Mathematics and Computer Science Middlebury College Middlebury, VT 05753 (802) 443-2431 [email protected] ABSTRACT In this paper, we show how programming projects centered around the design and construction of computer players for strategy games can play a meaningful role in the educational process, both in and out of the classroom. We describe several game-related projects undertaken by the author in a variety of pedagogical situations, including introductory and advanced courses as well as independent and collaborative research projects. These projects help students to understand and develop advanced data structures and algorithms, to manage and contribute to a large body of existing code, to learn how to work within a team, and to explore areas at the frontier of computer science research. 1. INTRODUCTION In this paper, we show how programming projects centered around the design and construction of computer players for strategy games can play a meaningful role in the educational process, both in and out of the classroom. We describe several game-related projects undertaken by the author in a variety of pedagogical situations, including introductory and advanced courses as well as independent and collaborative research projects. These projects help students to understand and develop advanced data structures and algorithms, to manage and contribute to a large body of existing code, to learn how to work within a team, and to explore areas at the frontier of computer science research. We primarily consider traditional board games such as chess, checkers, backgammon, go, Connect-4, Othello, and Scrabble. Other types of games, including video games and real-time strategy games, might also lead to worthwhile programming projects. -
Collaborative Go
Distributed Computing Master Thesis COLLABORATIVE GO Alex Hugger December 13, 2011 Supervisor: S. Welten Prof. Dr. R. Wattenhofer Distributed Computing Group Computer Engineering and Networks Laboratory ETH Zürich Abstract The game of Go is getting more and more popular in Europe. Its simple rules and the huge complexity for computer programs make it very interesting for a study about collaborative gaming. The idea of collaborative Go is to play a simple two player game in a setup of teams behaving as one single player instead of one versus one. During this thesis, we implemented a framework allowing to play collaborative Go. The framework is heavily based on the existing Go Text Protocol allowing an inte- gration into already existing Go servers or a competition with existing Go programs. Multiple players are merged through the use of different decision engines into one single player. Two decision engines were implemented based on different interac- tion schemes. One is based on a voting process whereas the other one decides on the final move of a team by applying a Monte Carlo simulation. The final experiments show that collaborative gaming is very interesting and atten- tion attracting for the players. Especially the voting mechanism used in the collab- orative player achieved a high user satisfaction. For an automated decision engine, we found out that it is very important to make the decision process as transparent as possible to all users, as this increases the level of the acceptance even when a bad decision was made. Acknowledgments During the accomplishment of this master thesis, a lot of people supported and guided me to a successful completion of the work. -
FUEGO – an Open-Source Framework for Board Games and Go Engine Based on Monte-Carlo Tree Search
FUEGO – An Open-source Framework for Board Games and Go Engine Based on Monte-Carlo Tree Search Markus Enzenberger, Martin Muller,¨ Broderick Arneson and Richard Segal Abstract—FUEGO is both an open-source software frame- available source code such as Hoffmann’s FF [20] have had work and a state of the art program that plays the game of a similarly massive impact, and have enabled much followup Go. The framework supports developing game engines for full- research. information two-player board games, and is used successfully in UEGO a substantial number of projects. The FUEGO Go program be- F contains a game-independent, state of the art came the first program to win a game against a top professional implementation of MCTS with many standard enhancements. player in 9×9 Go. It has won a number of strong tournaments It implements a coherent design, consistent with software against other programs, and is competitive for 19 × 19 as well. engineering best practices. Advanced features include a lock- This paper gives an overview of the development and free shared memory architecture, and a flexible and general current state of the FUEGO project. It describes the reusable components of the software framework and specific algorithms plug-in architecture for adding domain-specific knowledge in used in the Go engine. the game tree. The FUEGO framework has been proven in applications to Go, Hex, Havannah and Amazons. I. INTRODUCTION The main innovation of the overall FUEGO framework may lie not in the novelty of any of its specific methods and Research in computing science is driven by the interplay algorithms, but in the fact that for the first time, a state of of theory and practice. -
Go Books Detail
Evanston Go Club Ian Feldman Lending Library A Compendium of Trick Plays Nihon Ki-in In this unique anthology, the reader will find the subject of trick plays in the game of go dealt with in a thorough manner. Practically anything one could wish to know about the subject is examined from multiple perpectives in this remarkable volume. Vital points in common patterns, skillful finesse (tesuji) and ordinary matters of good technique are discussed, as well as the pitfalls that are concealed in seemingly innocuous positions. This is a gem of a handbook that belongs on the bookshelf of every go player. Chapter 1 was written by Ishida Yoshio, former Meijin-Honinbo, who intimates that if "joseki can be said to be the highway, trick plays may be called a back alley. When one masters the alleyways, one is on course to master joseki." Thirty-five model trick plays are presented in this chapter, #204 and exhaustively analyzed in the style of a dictionary. Kageyama Toshiro 7 dan, one of the most popular go writers, examines the subject in Chapter 2 from the standpoint of full board strategy. Chapter 3 is written by Mihori Sho, who collaborated with Sakata Eio to produce Killer of Go. Anecdotes from the history of go, famous sayings by Sun Tzu on the Art of Warfare and contemporary examples of trickery are woven together to produce an entertaining dialogue. The final chapter presents twenty-five problems for the reader to solve, using the knowledge gained in the preceding sections. Do not be surprised to find unexpected booby traps lurking here also. -
SAI: a Sensible Artificial Intelligence That Targets High Scores in Go
SAI: a Sensible Artificial Intelligence that Targets High Scores in Go F. Morandin,1 G. Amato,2 M. Fantozzi, R. Gini,3 C. Metta,4 M. Parton,2 1Universita` di Parma, Italy, 2Universita` di Chieti–Pescara, Italy, 3Agenzia Regionale di Sanita` della Toscana, Italy, 4Universita` di Firenze, Italy [email protected], [email protected], [email protected], [email protected], [email protected], [email protected] Abstract players. Moreover, one single self-play training game is used to train 41 winrates, which is not a robust approach. Finally, We integrate into the MCTS – policy iteration learning pipeline in (Wu 2019, KataGo) the author introduces a heavily modi- of AlphaGo Zero a framework aimed at targeting high scores fied implementation of AlphaGo Zero, which includes score in any game with a score. Training on 9×9 Go produces a superhuman Go player. We develop a family of agents that estimation, among many innovative features. The value to be can target high scores, recover from very severe disadvan- maximized is then a linear combination of winrate and expec- tage against weak opponents, and avoid suboptimal moves. tation of a nonlinear function of the score. This approach has Traning on 19×19 Go is underway with promising results. A yielded a extraordinarily strong player in 19×19 Go, which multi-game SAI has been implemented and an Othello run is is available as an open source software. Notably, KataGo is ongoing. designed specifically for the game of Go. In this paper we summarise the framework called Sensi- ble Artificial Intelligence (SAI), which has been introduced 1 Introduction to address the above-mentioned issues in any game where The game of Go has been a landmark challenge for AI re- victory is determined by score. -
1 Introduction
An Investigation of an Evolutionary Approach to the Opening of Go Graham Kendall, Razali Yaakob Philip Hingston School of Computer Science and IT School of Computer and Information Science University of Nottingham, UK Edith Cowan University, WA, Australia {gxk|rby}@cs.nott.ac.uk [email protected] Abstract – The game of Go can be divided into three stages; even told how it had performed in each individual game. the opening, the middle, and the end game. In this paper, The conclusion of Fogel and Chellapilla is that, without evolutionary neural networks, evolved via an evolutionary any expert knowledge, a program can learn to play a game strategy, are used to develop opening game playing strategies at an expert level using a co-evolutionary approach. for the game. Go is typically played on one of three different board sizes, i.e., 9x9, 13x13 and 19x19. A 19x19 board is the Additional information about this work can be found in standard size for tournament play but 9x9 and 13x13 boards [19, 20, 21, 22]. are usually used by less-experienced players or for faster Go is considered more complex than chess or checkers. games. This paper focuses on the opening, using a 13x13 One measure of this complexity is the number of positions board. A feed forward neural network player is played against that can be reached from the starting position which Bouzy a static player (Gondo), for the first 30 moves. Then Gondo and Cazenave estimate to be 10160 [23]. Chess and takes the part of both players to play out the remainder of the checkers are about 1050 and 1017, respectively [23]. -
Thesis for the Degree of Doctor
Thesis for the Degree of Doctor DEEP LEARNING APPLIED TO GO-GAME: A SURVEY OF APPLICATIONS AND EXPERIMENTS 바둑에 적용된 깊은 학습: 응용 및 실험에 대한 조사 June 2017 Department of Digital Media Graduate School of Soongsil University Hoang Huu Duc Thesis for the Degree of Doctor DEEP LEARNING APPLIED TO GO-GAME: A SURVEY OF APPLICATIONS AND EXPERIMENTS 바둑에적용된 깊은 학습: 응용 및 실험에 대한 조사 June 2017 Department of Digital Media Graduate School of Soongsil University Hoang Huu Duc Thesis for the Degree of Doctor DEEP LEARNING APPLIED TO GO-GAME: A SURVEY OF APPLICATIONS AND EXPERIMENTS A thesis supervisor : Jung Keechul Thesis submitted in partial fulfillment of the requirements for the Degree of Doctor June 2017 Department of Digital Media Graduate School of Soongsil University Hoang Huu Duc To approve the submitted thesis for the Degree of Doctor by Hoang Huu Duc Thesis Committee Chair KYEOUNGSU OH (signature) Member LIM YOUNG HWAN (signature) Member KWANGJIN HONG (signature) Member KIRAK KIM (signature) Member KEECHUL JUNG (signature) June 2017 Graduate School of Soongsil University ACKNOWLEDGEMENT First of all, I’d like to say my deep grateful and special thanks to my advisor professor JUNG KEECHUL. My advisor Professor have commented and advised me to get the most optimal choices in my research orientation. I would like to express my gratitude for your encouraging my research and for supporting me to resolve facing difficulties through my studying and researching. Your advices always useful to me in finding the best ways in researching and they are priceless. Secondly, I would like to thank Prof. -
What Is the Project Title
Artificial Intelligence for Go CIS 499 Senior Design Project Final Report Kristen Ying Advisors: Dr. Badler and Dr. Likhachev University of Pennsylvania PROJECT ABSTRACT Go is an ancient board game, originating in China – where it is known as weiqi - before 600 B.C. It spread to Japan (where it is also known as Go), to Korea as baduk, and much more recently to Europe and America [American Go Association]. This game, in which players take turn placing stones on a 19x19 board in an attempt to capture territory, is polynomial-space hard [Reyzin]. Checkers is also polynomial-space hard, and is a solved problem [Schaeffer]. However, the sheer magnitude of options (and for intelligent algorithms, sheer number of possible strategies) makes it infeasible to create even passable novice AI with an exhaustive pure brute-force approach on modern hardware. The board is 19 x19, which, barring illegal moves, allows for about 10171 possible ways to execute a game. This number is about 1081 times greater than the believed number of elementary particles contained in the known universe [Keim]. Previously investigated approaches to creating AI for Go include human-like models such as pattern recognizers and machine learning [Burmeister and Wiles]. There are a number of challenges to these approaches, however. Machine learning algorithms can be very sensitive to the data and style of play with which they are trained, and approaches modeling human thought can be very sensitive to the designer‟s perception of how one thinks during a game. Professional Go players seem to have a very intuitive sense of how to play, which is difficult to model. -
Optimizing Time for Eigenvector Calculation
Optimizing Time For Eigenvector Calculation [to find better moves during the Fuseki of Go] Bachelor-Thesis von Simone Wälde aus Würzburg Tag der Einreichung: 1. Gutachten: Manja Marz 2. Gutachten: Johannes Fürnkranz Fachbereich Informatik Knowlegde Engineering Group Optimizing Time For Eigenvector Calculation [to find better moves during the Fuseki of Go] Vorgelegte Bachelor-Thesis von Simone Wälde aus Würzburg 1. Gutachten: Manja Marz 2. Gutachten: Johannes Fürnkranz Tag der Einreichung: Bitte zitieren Sie dieses Dokument als: URN: urn:nbn:de:tuda-tuprints-12345 URL: http://tuprints.ulb.tu-darmstadt.de/1234 Dieses Dokument wird bereitgestellt von tuprints, E-Publishing-Service der TU Darmstadt http://tuprints.ulb.tu-darmstadt.de [email protected] Die Veröffentlichung steht unter folgender Creative Commons Lizenz: Namensnennung – Keine kommerzielle Nutzung – Keine Bearbeitung 2.0 Deutschland http://creativecommons.org/licenses/by-nc-nd/2.0/de/ Erklärung zur Bachelor-Thesis Hiermit versichere ich, die vorliegende Bachelor-Thesis ohne Hilfe Dritter nur mit den angegebenen Quellen und Hilfsmitteln angefertigt zu haben. Alle Stellen, die aus Quellen entnommen wurden, sind als solche kenntlich gemacht. Diese Arbeit hat in gleicher oder ähnlicher Form noch keiner Prüfungs- behörde vorgelegen. Darmstadt, den November 30, 2016 (S. Wälde) Contents 1 Abstract 6 2 Introduction 7 2.1 Introduction to Go . 7 2.1.1 History of the Game . 7 2.1.2 Rules of the Game . 8 2.2 Rating and Ranks in Go . 11 2.2.1 EGF Rating Formula . 11 2.2.2 Online Servers . 12 2.3 Different Approaches to Computer Go . 12 2.3.1 Pattern Recognition .