Computer Go and Monte Carlo Tree Search: Opening Book and Parallel Solutions
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Lesson Plans for Go in Schools
Go Lesson Plans 1 Lesson Plans 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 ©Gordon E. Castanza, Ed. D. 10/19/11 DRAFT Go Lesson Plans 2 Table of Contents Acknowledgements ......................................................................................................................... 4 Purpose/Rationale ........................................................................................................................... 5 Lesson Plan One ............................................................................................................................. 7 Basic Ideas .................................................................................................................................. 7 Introduction ............................................................................................................................... 11 The Puzzle ................................................................................................................................. 13 Surround to Capture .................................................................................................................. 14 First Capture Go ........................................................................................................................ 16 Lesson Plan Two ........................................................................................................................... 19 Units & -
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
IEEE TRANSACTIONS ON COMPUTATIONAL INTELLIGENCE AND AI IN GAMES, VOL. 2, NO. 4, DECEMBER 2010 259 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 Abstract—FUEGO is both an open-source software framework with new algorithms that would not be possible otherwise be- and a state-of-the-art program that plays the game of Go. The cause of the cost of implementing a complete state-of-the-art framework supports developing game engines for full-information system. Successful previous examples show the importance of two-player board games, and is used successfully in a substantial open-source software: GNU GO [19] provided the first open- number of projects. The FUEGO Go program became the first program to win a game against a top professional player in 9 9 source Go program with a strength approaching that of the best Go. It has won a number of strong tournaments against other classical programs. It has had a huge impact, attracting dozens programs, and is competitive for 19 19 as well. This paper gives of researchers and hundreds of hobbyists. In Chess, programs an overview of the development and current state of the UEGO F such as GNU CHESS,CRAFTY, and FRUIT have popularized in- project. It describes the reusable components of the software framework and specific algorithms used in the Go engine. novative ideas and provided reference implementations. To give one more example, in the field of domain-independent planning, Index Terms—Computer game playing, Computer Go, FUEGO, systems with publicly available source code such as Hoffmann’s man-machine matches, Monte Carlo tree search, open source soft- ware, software frameworks. -
GO WINDS Play Over 1000 Professional Games to Reach Recent Sets Have Focused on "How the Pros 1-Dan, It Is Said
NEW FROM YUTOPIAN ENTERPRISES GO GAMES ON DISK (GOGoD) SOFTWARE GO WINDS Play over 1000 professional games to reach Recent sets have focused on "How the pros 1-dan, it is said. How about 6-dan? Games of play the ...". So far there are sets covering the Go on Disk now offers over 6000 professional "Chinese Fuseki" Volume I (a second volume Volume 2 Number 4 Winter 1999 $3.00 games on disk, games that span the gamut of is in preparation), and "Nirensei", Volumes I go history - featuring players that helped and II. A "Sanrensei" volume is also in define the history. preparation. All these disks typically contain All game collections come with DOS or 300 games. Windows 95 viewing software, and most The latest addition to this series is a collections include the celebrated Go Scorer in "specialty" item - so special GoGoD invented which you can guess the pros' moves as you a new term for it. It is the "Sideways Chinese" play (with hints if necessary) and check your fuseki, which incorporates the Mini-Chinese score. pattern. Very rarely seen in western The star of the collection may well be "Go publications yet played by most of the top Seigen" - the lifetime games (over 800) of pros, this opening is illustrated by over 130 perhaps the century's greatest player, with games from Japan, China and Korea. Over more than 10% commented. "Kitani" 1000 half have brief comments. The next specialty makes an ideal matching set - most of the item in preparation is a set of games featuring lifetime games of his legendary rival, Kitani unusual fusekis - this will include rare New Minoru. -
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 .......................................................................................................... -
Learning to Play the Game of Go
Learning to Play the Game of Go James Foulds October 17, 2006 Abstract The problem of creating a successful artificial intelligence game playing program for the game of Go represents an important milestone in the history of computer science, and provides an interesting domain for the development of both new and existing problem-solving methods. In particular, the problem of Go can be used as a benchmark for machine learning techniques. Most commercial Go playing programs use rule-based expert systems, re- lying heavily on manually entered domain knowledge. Due to the complexity of strategy possible in the game, these programs can only play at an amateur level of skill. A more recent approach is to apply machine learning to the prob- lem. Machine learning-based Go playing systems are currently weaker than the rule-based programs, but this is still an active area of research. This project compares the performance of an extensive set of supervised machine learning algorithms in the context of learning from a set of features generated from the common fate graph – a graph representation of a Go playing board. The method is applied to a collection of life-and-death problems and to 9 × 9 games, using a variety of learning algorithms. A comparative study is performed to determine the effectiveness of each learning algorithm in this context. Contents 1 Introduction 4 2 Background 4 2.1 Go................................... 4 2.1.1 DescriptionoftheGame. 5 2.1.2 TheHistoryofGo ...................... 6 2.1.3 Elementary Strategy . 7 2.1.4 Player Rankings and Handicaps . 7 2.1.5 Tsumego .......................... -
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. -
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]. -
Applying Data Mining to the Study of Joseki
Applying Data Mining to the Study of Joseki Michiel Helvensteijn Abstract Go is a strategic two player boardgame. Many studies have been done with regard to go in general, and to joseki, localized exchanges of stones that are considered fair for both players. We give an algorithm that finds and catalogues as many joseki as it can, as well as the global circumstances under which they are likely to be played, by analyzing a large number of professional go games. The method used applies several concepts, e.g., prefix trees, to extract knowledge from the vast amount of data. 1 Introduction Go is a strategic two player game, played on a 19 × 19 board. For the rules we refer to [7]. Many studies have been done with regard to go in general, cf. [6, 8], and to joseki, localized exchanges of stones that are considered fair for both players. We will give an algorithm that finds and catalogues as many joseki as it can, as well as the global circumstances under which they are likely to be played, by analyzing a large number of professional go games. The algorithm is able to acquire knowledge out of several complex examples of professional game play. As such, it can be seen as data mining [10], and more in particular sequence mining, e.g., [1]. The use of prefix trees in combination with board positions seems to have a lot of potential for the game of go. In Section 2 we explain what joseki are and how we plan to find them. Section 3 will explain the algorithm in more detail using an example game from a well-known database [2]. -
Active Opening Book Application for Monte-Carlo Tree Search in 19×19 Go
Active Opening Book Application for Monte-Carlo Tree Search in 19×19 Go Hendrik Baier and Mark H. M. Winands Games and AI Group, Department of Knowledge Engineering Maastricht University, Maastricht, The Netherlands Abstract The dominant approach for programs playing the Asian board game of Go is nowadays Monte-Carlo Tree Search (MCTS). However, MCTS does not perform well in the opening phase of the game, as the branching factor is high and consequences of moves can be far delayed. Human knowledge about Go openings is typically captured in joseki, local sequences of moves that are considered optimal for both players. The choice of the correct joseki in a given whole-board position, however, is difficult to formalize. This paper presents an approach to successfully apply global as well as local opening moves, extracted from databases of high-level game records, in the MCTS framework. Instead of blindly playing moves that match local joseki patterns (passive opening book application), knowledge about these moves is integrated into the search algorithm by the techniques of move pruning and move biasing (active opening book application). Thus, the opening book serves to nudge the search into the direction of tried and tested local moves, while the search is able to filter out locally optimal, but globally problematic move choices. In our experiments, active book application outperforms passive book application and plain MCTS in 19×19 Go. 1 Introduction Since the early days of Artificial Intelligence (AI) as a scientific field, games have been used as testbed and benchmark for AI architectures and algorithms. The board game of Go, for example, has stimulated con- siderable research efforts over the last decades, second only to computer chess. -
On Competency of Go Players: a Computational Approach
On Competency of Go Players: A Computational Approach Amr Ahmed Sabry Abdel-Rahman Ghoneim B.Sc. (Computer Science & Information Systems) Helwan University, Cairo - Egypt M.Sc. (Computer Science) Helwan University, Cairo - Egypt A thesis submitted in partial fulfilment of the requirements for the degree of Doctor of Philosophy at the School of Engineering & Information Technology the University of New South Wales at the Australian Defence Force Academy March 2012 ii [This Page is Intentionally Left Blank] iii Abstract Abstract Complex situations are very much context dependent, thus agents – whether human or artificial – need to attain an awareness based on their present situation. An essential part of that awareness is the accurate and effective perception and understanding of the set of knowledge, skills, and characteristics that are needed to allow an agent to perform a specific task with high performance, or what we would like to name, Competency Awareness. The development of this awareness is essential for any further development of an agent’s capabilities. This can be assisted by identifying the limitations in the so far developed expertise and consequently engaging in training processes that add the necessary knowledge to overcome those limitations. However, current approaches of competency and situation awareness rely on manual, lengthy, subjective, and intrusive techniques, rendering those approaches as extremely troublesome and ineffective when it comes to developing computerized agents within complex scenarios. Within the context of computer Go, which is currently a grand challenge to Artificial Intelligence, these issues have led to substantial bottlenecks that need to be addressed in order to achieve further improvements.