FUEGO – an Open-Source Framework for Board Games and Go Engine Based on Monte-Carlo Tree Search

Total Page:16

File Type:pdf, Size:1020Kb

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. Advances in theory, such as Monte- the art implementation of these methods is made available Carlo Tree Search (MCTS) and the UCT algorithm [1], [2], freely to the public in form of a consistent, well-designed, have led to breakthrough performance in computer Go, as tested and maintained open source software. pioneered by the programs CRAZY STONE [1] and MOGO Among comparable systems, only an executable is avail- [3], [4]. In turn, attempts to improve the playing strength able for MOGO [3], [21] and for commercial programs of these programs have led to improved algorithms, such as such as THE MANY FACES OF GO,ZEN and KCC IGO. RAVE and prior knowledge initialization [5]. Another crucial The reference MCTS implementations by Dailey [22] and advance has been the development of parallel MCTS algo- Boon provide a very useful starting point, but are far from a rithms, both for shared and distributed memory architectures competitive system. Similarly, Lew’s LIBEGO [23] provides [6], [7], [8]. Recently, the scope of Monte-Carlo tree search an extremely fast but limited implementation of MCTS. methods has greatly expanded to include many other games Recent versions of GNU GO [19] contain a hybrid system [9], [10], [11], [12], [13] as well as a number of interesting adding Monte-Carlo search to GNU GO. However, it is single-agent applications [14], [15], [16], [17] and multi- several hundred Elo rating points weaker than state of the player games [18]. art programs. Baudis’ PACHI [24] is a strong and relatively FUEGO is an open-source software framework for devel- new open source MCTS Go program. All these programs are oping game engines for full-information two-player board specialized to play the game of Go. games, as well as a state of the art Go program. Open source software can facilitate and accelerate research. It lowers the A. Why Focus on MCTS and on Go? overhead of getting started with research in a field, and allows Research in computer Go has been revolutionized by experiments with new algorithms that would not be possible MCTS methods, and has seen more progress within the last otherwise because of the cost of implementing a complete four years than in the two decades before. Programs are close state of the art system. Successful previous examples show to perfection on 7 × 7 and have reached top human level the importance of open-source software: GNU GO [19] on the 9 × 9 board. In August 2009, FUEGO became the provided the first open source Go program with a strength first program to win an even game against a top-level 9 Dan approaching that of the best classical programs. It has had a professional player on 9 × 9. See Section IV-A for details. huge impact, attracting dozens of researchers and hundreds of MOGO,CRAZY STONE and THE MANY FACES OF GO have hobbyists. In chess, programs such as GNU CHESS,CRAFTY also achieved a number of successes against professional and FRUIT have popularized innovative ideas and provided players on 9 × 9. reference implementations. To give one more example, in the On 19 × 19, programs are still much weaker than top field of domain-independent planning, systems with publicly humans, but they have achieved some success with handicaps Dept. of Computing Science, University of Alberta; IBM. Corresponding of 6-9 stones [25]. The top programs ZEN,THE MANY author email: [email protected]. FACES OF GO and AYA have reached amateur dan (master) level on 19 × 19. Many MCTS programs have surpassed the provides a large number of classes and functions. The API strength of all classical programs. In a four stone handicap is not stable between major releases. Porting applications game shown in Section IV-A, FUEGO was able to score a that depend on the FUEGO libraries to a new major release lucky win against a strong 6 Dan amateur. can be a significant effort. For each major release a stable MCTS has greatly improved the state of the art in General branch is created, which is used for applying critical bug fixes Game Playing (GGP). The first MCTS program, CADIA- that do not break the API, and can be used by applications PLAYER by Finnsson and Bjornsson,¨ won both the 2007 and that do not want or need to follow new developments in 2008 AAAI competitions [9]. MCTS has now been adopted the main branch. The code is divided into five libraries, and by all strong GGP programs. uses a largely consistent coding style. Figure 1 shows the The MCTS approach is being intensely investigated in dependency graph of the libraries and applications. several other games as well. Recent games programming con- The code is written in C++ with portability in mind. Apart ferences are dominated by papers on MCTS and applications. from the standard C++ library, it uses selected parts of the In the games of Amazons and Hex, MCTS-based programs Boost libraries [34], which are available for a large number of have surpassed the strength of classical approaches [10], [11]. platforms. The required version of Boost is 1.33.1 or newer. At the 13th International Computer Games Championship in FUEGO compiles successfully with recent versions of gcc, Beijing 2008, the MCTS-based Amazons program INVADER from 4.1.2 up. Older versions of gcc will probably work but won a close match against the five time defending champion, have not been tested. the classical alpha-beta searcher 8 QUEENS PROBLEM, and Platform-dependent functionality, such as time measure- convincingly defended its title in Pamplona the following ment or process creation, is encapsulated in classes of year. In Hex, the current champion MOHEX, built upon the SMARTGAME library (see Section II-D). The default FUEGO’s MCTS implementation, remained unbeaten in Pam- implementation of those classes uses POSIX function calls. plona 2009 [12] after finishing in second place in Beijing No attempt is made to provide GUI-specific functionality. 2008 [11]. The recently popular game of Havannah is another GUIs or other controllers can interface to the game engines success story for MCTS [13]. by linking, if they are written in C++ or a compatible In games where alphabeta works very well there is natu- language, or by inter-process communication using the Go rally less interest in new techniques. A paper on MCTS in Text Protocol. shogi has won the best paper award at the yearly workshop on game programming in Japan, GPW, in 2008 [26]. A MCTS GtpEngine analysis option is provided in the top chess program Rybka [27]. SmartGame II. THE FUEGO SOFTWARE FRAMEWORK A. History FUEGO builds on two previous projects: Kierulf’s SMART Go GAME BOARD [28], [29] and Muller’s¨ EXPLORER [30], [31]. SMART GAME BOARD is a workbench for game-playing programs that has been under development since the mid SimplePlayers GoUct 1980’s. EXPLORER is a Go-playing program built on top of SMART GAME BOARD. It’s history goes back to Chen and Kierulf’s first version, called GO EXPLORER, in 1988. FuegoTest FuegoMain Motivated by the successes of CRAZY STONE and MOGO, Enzenberger started to implement an MCTS program in Fig. 1. Libraries and applications of FUEGO 2007. This program was built on top of the SMARTGAME and GO core routines but independent of the remaining EXPLORER code base. This program, simply called UCT C. GTPENGINE library at first, was renamed to FUEGO and in May 2008 became GTP, the Go Text Protocol [35], is a text-based protocol an open source project. for controlling a Go engine over a command and response stream, such as the standard I/O streams of the process, B. Technical Description and Requirements or network sockets. It was first used by GNU GO [19] This paper describes version 0.4.1 of FUEGO. File down- and has gained widespread adoption in the Computer Go loads and access to the version control system are available community.
Recommended publications
  • Draft – Not for Circulation
    A Gross Miscarriage of Justice in Computer Chess by Dr. Søren Riis Introduction In June 2011 it was widely reported in the global media that the International Computer Games Association (ICGA) had found chess programmer International Master Vasik Rajlich in breach of the ICGA‟s annual World Computer Chess Championship (WCCC) tournament rule related to program originality. In the ICGA‟s accompanying report it was asserted that Rajlich‟s chess program Rybka contained “plagiarized” code from Fruit, a program authored by Fabien Letouzey of France. Some of the headlines reporting the charges and ruling in the media were “Computer Chess Champion Caught Injecting Performance-Enhancing Code”, “Computer Chess Reels from Biggest Sporting Scandal Since Ben Johnson” and “Czech Mate, Mr. Cheat”, accompanied by a photo of Rajlich and his wife at their wedding. In response, Rajlich claimed complete innocence and made it clear that he found the ICGA‟s investigatory process and conclusions to be biased and unprofessional, and the charges baseless and unworthy. He refused to be drawn into a protracted dispute with his accusers or mount a comprehensive defense. This article re-examines the case. With the support of an extensive technical report by Ed Schröder, author of chess program Rebel (World Computer Chess champion in 1991 and 1992) as well as support in the form of unpublished notes from chess programmer Sven Schüle, I argue that the ICGA‟s findings were misleading and its ruling lacked any sense of proportion. The purpose of this paper is to defend the reputation of Vasik Rajlich, whose innovative and influential program Rybka was in the vanguard of a mid-decade paradigm change within the computer chess community.
    [Show full text]
  • Openbsd Gaming Resource
    OPENBSD GAMING RESOURCE A continually updated resource for playing video games on OpenBSD. Mr. Satterly Updated August 7, 2021 P11U17A3B8 III Title: OpenBSD Gaming Resource Author: Mr. Satterly Publisher: Mr. Satterly Date: Updated August 7, 2021 Copyright: Creative Commons Zero 1.0 Universal Email: [email protected] Website: https://MrSatterly.com/ Contents 1 Introduction1 2 Ways to play the games2 2.1 Base system........................ 2 2.2 Ports/Editors........................ 3 2.3 Ports/Emulators...................... 3 Arcade emulation..................... 4 Computer emulation................... 4 Game console emulation................. 4 Operating system emulation .............. 7 2.4 Ports/Games........................ 8 Game engines....................... 8 Interactive fiction..................... 9 2.5 Ports/Math......................... 10 2.6 Ports/Net.......................... 10 2.7 Ports/Shells ........................ 12 2.8 Ports/WWW ........................ 12 3 Notable games 14 3.1 Free games ........................ 14 A-I.............................. 14 J-R.............................. 22 S-Z.............................. 26 3.2 Non-free games...................... 31 4 Getting the games 33 4.1 Games............................ 33 5 Former ways to play games 37 6 What next? 38 Appendices 39 A Clones, models, and variants 39 Index 51 IV 1 Introduction I use this document to help organize my thoughts, files, and links on how to play games on OpenBSD. It helps me to remember what I have gone through while finding new games. The biggest reason to read or at least skim this document is because how can you search for something you do not know exists? I will show you ways to play games, what free and non-free games are available, and give links to help you get started on downloading them.
    [Show full text]
  • DVD-Libre 2005-04 Y 2 Pr W W Pr B - 3 T T T T S De Ca SI 5 Sc Re Ra Q 1 Po 3 Ph I Sa Dic Dic 2 4 W Ex ( H N C T
    (continuación) - CDCheck 3.1.4.0 - CDex 1.51 - Celestia 1.3.2 - Centarsia 1.3 - Chain Reaction - Check4me 2.03 - Checky 2.5 - Chomp 1.4.5 - ClamWin 0.83 - Clan Bomber 1.05 - Cobian Backup 6.1.1.264 - Cobian Internet Tools 1.0.0.10 - ColorCop 5.3 - ColorWiz 1.0 - Combinaisons Junior Plus 2.70 - Continental 2.1 - Crack Attack! 1.1.08 - Crimson Editor 3.70 - CubeTest 0.9.3 - DBDesigner 4.0.5.6 - DeepBurner 1.3.6.168 - Deslizzzp 3.3 - Dev-C++ 4.9.9.2 - Dia Win32 0.94 - DirGraph 2.0 - DVD-Libre Disk Imager 1.4 - Domino Puzzle 0.1a - DominOSA 1.71 - DomiSol 1.2 - Doxygen 1.4.1 - Dragonboard 0.8c - Drawing for children 2.0 - DVD Identifier 3.6.2 - e-Counter 3.1.2004 - EasyISO 1.3 - EasyPHP cdlibre.org 1.8 - Eclipse 3.0.1 - Eclipse Language Pack 3.0.x - Eclipse Modeling Framework 2.0.1 - Eclipse Visual Editor 1.0.2 - Emilia Pinball 0.30c - Enigma 0.81 - EQTabla 4.0.050208 - Eraser 5.7 - Everest 2005-04 Dictionary 3.10 beta - Everest Dictionary 3.10 beta Completo - Exact Audio Copy 0.95 prebeta 5 - Exodus 0.9.0.0 - Fall - FileMenu Tools 4.1 - FileZilla 2.2.12a - Find Favorites 1.11 - Firebird 1.5.2 - Flexible Renamer 7.3 - FloboPuyo 0.20 - FolderQuote 1.0 - foobar2000 0.8.3 - FooBilliard 3.0 - Foxit PDF Reader 1.2.0.115 - FractalExplorer 2.02 - FractalForge 2.8.2 - FrameFun 1.0.5.0 - Free Download DVD-Libre es una recopilación de programas para Windows: Manager 1.5.256 - Free Pascal 1.0.10 - FreeCiv 1.14.2 - FreeMind 0.7.1 - Frozen Bubble Enhanced ● libres / gratuitos al menos para uso personal o educativo 1.0 - Gaim 1.1.4 - GanttProject 1.10.3
    [Show full text]
  • 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.
    [Show full text]
  • Move Similarity Analysis in Chess Programs
    Move similarity analysis in chess programs D. Dailey, A. Hair, M. Watkins Abstract In June 2011, the International Computer Games Association (ICGA) disqual- ified Vasik Rajlich and his Rybka chess program for plagiarism and breaking their rules on originality in their events from 2006-10. One primary basis for this came from a painstaking code comparison, using the source code of Fruit and the object code of Rybka, which found the selection of evaluation features in the programs to be almost the same, much more than expected by chance. In his brief defense, Rajlich indicated his opinion that move similarity testing was a superior method of detecting misappropriated entries. Later commentary by both Rajlich and his defenders reiterated the same, and indeed the ICGA Rules themselves specify move similarity as an example reason for why the tournament director would have warrant to request a source code examination. We report on data obtained from move-similarity testing. The principal dataset here consists of over 8000 positions and nearly 100 independent engines. We comment on such issues as: the robustness of the methods (upon modifying the experimental conditions), whether strong engines tend to play more similarly than weak ones, and the observed Fruit/Rybka move-similarity data. 1. History and background on derivative programs in computer chess Computer chess has seen a number of derivative programs over the years. One of the first was the incident in the 1989 World Microcomputer Chess Cham- pionship (WMCCC), in which Quickstep was disqualified due to the program being \a copy of the program Mephisto Almeria" in all important areas.
    [Show full text]
  • Walnut Creek CDROM Spring 1995 Catalog 1-800-786-9907 • 1-510-674-0821 Fax the Best of Walnut Creek CDROM Is Yours Free*
    Walnut Creek CDROM Spring 1995 Catalog 1-800-786-9907 • 1-510-674-0821 Fax The Best of Walnut Creek CDROM is yours Free*. The • You’ll also get fonts, fractals, Best of Walnut Creek CDROM music, clipart, and more. 600 lets you explore in-depth what MegaBytes in total! Walnut Creek CDROM has to offer. • Boot images from our Unix for PC discs so you will With samples from all of our know if your hardware will products, you’ll be able to see boot Slackware Linux or what our CDROM’s will do for FreeBSD you, before you buy. This CDROM contains: • The Walnut Creek CDROM digital catalog - photos and • Index listings of all the descriptions of our all titles programs, photos, and files on all Walnut Creek CDROM If you act now, we’ll include titles $5.00 good toward the purchase of all Walnut Creek CDROM • The best from each disc titles. If you’re only going to including Hobbes OS/2, own one CDROM, this should CICA MS Windows, Simtel be it! March, 1995. MSDOS, Giga Games, Internet Info, Teacher 2000, Call, write, fax, or email your Ultra Mac-Games and Ultra order to us today! Mac-Utilities * The disc is without cost, but the regular shipping charge still applies. • You get applications, games, utilities, photos, gifs, documents, ray-tracings, and animations 2 CALL NOW! 1-800-786-9907 Phone: +1-510-674-0783 • Fax: +1-510-674-0821 • Email: [email protected] • WWW: http://WWW.cdrom.com/ (Alphabetical Index on page 39.) Hi, Sampler - (Best of Walnut Creek) 2 This is Jack and I’ve got another great batch of CICA for Windows 4 Music Workshop 5 CDROM’s for you.
    [Show full text]
  • 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.
    [Show full text]
  • 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 ..........................................................................................................
    [Show full text]
  • GHDL Documentation Release 1.0-Dev
    GHDL Documentation Release 1.0-dev Tristan Gingold and contributors Aug 30, 2020 Introduction 1 What is VHDL? 3 2 What is GHDL? 5 3 Who uses GHDL? 7 4 Contributing 9 4.1 Reporting bugs............................................9 4.2 Requesting enhancements...................................... 10 4.3 Improving the documentation.................................... 10 4.4 Fork, modify and pull-request.................................... 11 4.5 Related interesting projects..................................... 11 5 Copyrights | Licenses 13 5.1 GNU GPLv2............................................. 13 5.2 CC-BY-SA.............................................. 14 5.3 List of Contributors......................................... 14 I Getting GHDL 15 6 Releases and sources 17 6.1 Using package managers....................................... 17 6.2 Downloading pre-built packages................................... 17 6.3 Downloading Source Files...................................... 18 7 Building GHDL from Sources 21 7.1 Directory structure.......................................... 22 7.2 mcode backend............................................ 23 7.3 LLVM backend............................................ 23 7.4 GCC backend............................................. 24 8 Precompile Vendor Primitives 27 8.1 Supported Vendors Libraries..................................... 27 8.2 Supported Simulation and Verification Libraries.......................... 28 8.3 Script Configuration......................................... 28 8.4 Compiling on Linux........................................
    [Show full text]
  • New Architectures in Computer Chess Ii New Architectures in Computer Chess
    New Architectures in Computer Chess ii New Architectures in Computer Chess PROEFSCHRIFT ter verkrijging van de graad van doctor aan de Universiteit van Tilburg, op gezag van de rector magnificus, prof. dr. Ph. Eijlander, in het openbaar te verdedigen ten overstaan van een door het college voor promoties aangewezen commissie in de aula van de Universiteit op woensdag 17 juni 2009 om 10.15 uur door Fritz Max Heinrich Reul geboren op 30 september 1977 te Hanau, Duitsland Promotor: Prof. dr. H.J.vandenHerik Copromotor: Dr. ir. J.W.H.M. Uiterwijk Promotiecommissie: Prof. dr. A.P.J. van den Bosch Prof. dr. A. de Bruin Prof. dr. H.C. Bunt Prof. dr. A.J. van Zanten Dr. U. Lorenz Dr. A. Plaat Dissertation Series No. 2009-16 The research reported in this thesis has been carried out under the auspices of SIKS, the Dutch Research School for Information and Knowledge Systems. ISBN 9789490122249 Printed by Gildeprint © 2009 Fritz M.H. Reul All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronically, mechanically, photocopying, recording or otherwise, without prior permission of the author. Preface About five years ago I completed my diploma project about computer chess at the University of Applied Sciences in Friedberg, Germany. Immediately after- wards I continued in 2004 with the R&D of my computer-chess engine Loop. In 2005 I started my Ph.D. project ”New Architectures in Computer Chess” at the Maastricht University. In the first year of my R&D I concentrated on the redesign of a computer-chess architecture for 32-bit computer environments.
    [Show full text]
  • Weiqi, Baduk): a Beautiful Game
    Go (Weiqi, Baduk): A Beautiful Game Description Go is a strategy board game originating from China more than two thousand years ago. Though its rules are simple, the game is intractably complex; a top professional can easily defeat the best supercomputers today. It was considered one of the four essential skills of a Chinese scholar. The game spread to Korea and Japan, has flourished in East Asia, and is becoming more well-known in the West. Today, Go is enjoyed by more than 40 million players in the world. Objectives Students will learn the rules of go and become able to play at an intermediate level. They will also understand the game in a historical and/or mathematical context. We hope (but do not require) that students will be able to play at a single-digit kyu level (1k-9k). Students will also learn something significant from one of the following (or both): ◦ The culture and history of go, including its origins, historical figure, and presence in East Asia and the western world. ◦ Some mathematical results of go, including a treatment of go using combinatorial game theory. This will offer enough flexibility for students of all majors. Prerequisites None. We expect all students to be able to understand the course material. The course is designed to suit students of all majors. This course is not designed for dan-level players. We will not allow dan-level players to take this course. Course Format This course will be taught by Joshua Wu in both lecture and interactive formats. We hope to emphasize student participation.
    [Show full text]
  • 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 ..........................
    [Show full text]