Inside HARUKA Written by Ryuichi Kawa Surveyed by Akihiro Kishimto.

Slides:



Advertisements
Similar presentations
Artificial Intelligence Presentation
Advertisements

Development of the Best Tsume-Go Solver
Anthony Cozzie. Quite possibly the nerdiest activity in the world But actually more fun than human chess Zappa o alpha-beta searcher, with a lot of tricks.
Games & Adversarial Search Chapter 5. Games vs. search problems "Unpredictable" opponent  specifying a move for every possible opponent’s reply. Time.
ICS-271:Notes 6: 1 Notes 6: Game-Playing ICS 271 Fall 2008.
CS 484 – Artificial Intelligence
Prepare for 4x4x4 tic-tac-toe
Adversarial Search CSE 473 University of Washington.
Artificial Intelligence in Game Design Heuristics and Other Ideas in Board Games.
Games CPSC 386 Artificial Intelligence Ellen Walker Hiram College.
Intelligence for Games and Puzzles1 The Game of Go Two players, Black and White, take turns placing.
Abstract Proof Search Studied by Tristan Cazenave Surveyed by Akihiro Kishimoto.
Life in the Game of Go David B. Benson Surveyed by Akihiro Kishimoto.
Virtual Dart: An Augmented Reality Game on Mobile Device Supervisor: Professor Michael R. Lyu Prepared by: Lai Chung Sum Siu Ho Tung.
1 A Library of Eyes in Go Author: Thomas Wolf, Matthew Pratola Dept of Mathematics Brock University Presented by: Xiaozhen Niu.
Search for Transitive Connections Ling Zhao University of Alberta October 27, 2003 Author: T. Cazenave and B. Helmstetter published in JCIS'03.
Chapter 10 Quality Control McGraw-Hill/Irwin
The Move Decision Strategy of Indigo Author: Bruno Bouzy Presented by: Ling Zhao University of Alberta March 7, 2007.
Honte, a Go-Playing Program Using Neural Nets Frederik Dahl.
1 Evaluation of strings in computer Go using APC and Seki judgement Author: Hyun-Soo Park and Kyung-Woo Kang Presented by: Xiaozhen Niu.
Combining Tactical Search and Monte-Carlo in the Game of Go Presenter: Ling Zhao University of Alberta November 1, 2005 by Tristan Cazenave & Bernard Helmstetter.
Learning Shape in Computer Go David Silver. A brief introduction to Go Black and white take turns to place down stones Once played, a stone cannot move.
UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering CSCE 580 Artificial Intelligence Ch.6: Adversarial Search Fall 2008 Marco Valtorta.
Reinforcement Learning of Local Shape in the Game of Atari-Go David Silver.
Metarules To Improve Tactical Go Knowledge By Tristan Cazenave Presented by Leaf Wednesday, April 28 th, 2004.
A TIE IS NOT A LOSS Paul Adamiak T02 Aruna Meiyeppen T01.
MAE 552 – Heuristic Optimization Lecture 28 April 5, 2002 Topic:Chess Programs Utilizing Tree Searches.
1 An Improved Safety Solver for Computer Go Presented by: Xiaozhen Niu Date: 2004/02/24.
ICS-271:Notes 6: 1 Notes 6: Game-Playing ICS 271 Fall 2006.
1 Game Playing Chapter 6 (supplement) Various deterministic board games Additional references for the slides: Luger’s AI book (2005). Robert Wilensky’s.
1 Solving Ponnuki-Go on Small Board Paper: Solving Ponnuki-Go on small board Authors: Erik van der Werf, Jos Uiterwijk, Jaap van den Herik Presented by:
A Heuristic Search Algorithm for Capturing Problems in Go Authors: Keh-Hsun Chen and Peigang Zhang Presenter: Ling Zhao August 8, 2006.
Monte Carlo Go Has a Way to Go Haruhiro Yoshimoto (*1) Kazuki Yoshizoe (*1) Tomoyuki Kaneko (*1) Akihiro Kishimoto (*2) Kenjiro Taura (*1) (*1)University.
Applying proof numbers to Life and Death: First Result Akihiro Kishimoto
Games & Adversarial Search Chapter 6 Section 1 – 4.
THE RENJU GAME BY ABHISHEK JAIN, PRANSHU GUPTA & RHYTHM DAS PCLUB SUMMER PROJECT PRESENTATION JUNE, L7 IIT KANPUR MENTOR – SANIL JAIN.
1 Recognizing safe territories Presented by: Xiaozhen Niu Date: 2003/09/22.
1 An Open Boundary Safety-of- Territory Solver for the Game of Go Author: Xiaozhen Niu, Martin Mueller Dept of Computing Science University of Alberta.
1 Influence Calculation in Go Paper: Semi-empirical Quantitative Theory of GO Part 1: Estimation of the Influence of a Wall ICGA Journal Vol.25 No.4 December.
Reinforcement Learning of Local Shape in the Game of Atari-Go David Silver.
An One-eye Solver Based on Proof and Disproof Numbers Akihiro Kishimoto
1 An Efficient Algorithm for Eyespace Classification in Go Author: Peter Drake, Niku Schreiner Brett Tomlin, Loring Veenstra Presented by: Xiaozhen Niu.
Corea Japan China WeiqiGoBaduk. The Go is one of the oldest board game in the world. Its true origins are unknown, though it almost certainly originated.
Wei Qi, Baduk, Go a game of strategy
1 Adversary Search Ref: Chapter 5. 2 Games & A.I. Easy to measure success Easy to represent states Small number of operators Comparison against humans.
Game Trees: MiniMax strategy, Tree Evaluation, Pruning, Utility evaluation Adapted from slides of Yoonsuck Choe.
Minimax Trees: Utility Evaluation, Tree Evaluation, Pruning CPSC 315 – Programming Studio Spring 2008 Project 2, Lecture 2 Adapted from slides of Yoonsuck.
Game Playing.
Artificial Intelligence in Game Design Lecture 22: Heuristics and Other Ideas in Board Games.
Computer Go : A Go player Rohit Gurjar CS365 Project Proposal, IIT Kanpur Guided By – Prof. Amitabha Mukerjee.
Position Evaluation in Computer Go Martin Muller Dept. of Computer Science and Information Engineering National Dong Hwa University Reporter : Lo Jung-Yun.
 Summary  How to Play Go  Project Details  Demo  Results  Conclusions.
Mark Dunlop, Computer and Information Sciences, Strathclyde University 1 Algorithms & Complexity 5 Games Mark D Dunlop.
Algorithms & Data Structures for Games
Instructor: Vincent Conitzer
Game Playing. Towards Intelligence? Many researchers attacked “intelligent behavior” by looking to strategy games involving deep thought. Many researchers.
Games. Adversaries Consider the process of reasoning when an adversary is trying to defeat our efforts In game playing situations one searches down the.
Chess and AI Group Members Abhishek Sugandhi Sanjeet Khaitan Gautam Solanki
Exceptions, cont’d. Factory Design Pattern COMP 401 Fall 2014 Lecture 12 9/30/2014.
PYIWIT'021 Threat Analysis to Reduce the Effects of the Horizon Problem in Shogi Reijer Grimbergen Department of Information Science Saga University.
GAME PLAYING 1. There were two reasons that games appeared to be a good domain in which to explore machine intelligence: 1.They provide a structured task.
Learning to Play the Game of GO Lei Li Computer Science Department May 3, 2007.
Solving Tsumego on Computers M2 Hirokazu Ishii Chikayama & Taura Lab.
The Standard Genetic Algorithm Start with a “population” of “individuals” Rank these individuals according to their “fitness” Select pairs of individuals.
Adversarial Search. Regular Tic Tac Toe Play a few games. –What is the expected outcome –What kinds of moves “guarantee” that?
Quality Control Copyright © 2015 McGraw-Hill Education. All rights reserved. No reproduction or distribution without the prior written consent of McGraw-Hill.
Explorations in Artificial Intelligence Prof. Carla P. Gomes Module 5 Adversarial Search (Thanks Meinolf Sellman!)
1 Evaluation Function for Computer Go. 2 Game Objective Surrounding most area on the boardSurrounding most area on the board.
Minimax Trees: Utility Evaluation, Tree Evaluation, Pruning
Presentation transcript:

Inside HARUKA Written by Ryuichi Kawa Surveyed by Akihiro Kishimto

Obstacles to Go-Playing Programs So many exceptions that must be implemented: –E.g. A & B are connected, B & C are connected, but A & C aren’t Static evaluation v.s. search –If possible, evaluate statically –If exceptions frequently appears, perform a search

Overview of HARUKA’s Search Engine 6 routines –Fuseki –Joseki –Life and death –Semeai –Search around center –Local search Each routine returns move and evaluation value called deiri(input/output) computation 1.Compute value by my playing first 2.Compute value by opponent playing first 3.Compute 1. – 2. And return this value

Fuseki Routine Inaccurate but looks stable with occasional adjustments –Each fuseki move has evaluation values: Three-four point, star point: 18 points Kakari: 17 points Corner enclosure: 16 points Extension, splitting move etc: 8-15 points based on distance and strength of stones

Joseki Routine Pattern sized 11 * 11 –Immediately makes a move if pattern matches –Randomly choose one if more than one pattern matches Pattern matches with smaller sizes (9 * 9 or 7 * 7) –Regard as promising move –Passed to local search engine

Life and Death/Semeai Routines Return status (e.g. win, win for Ko, seki) of life and death/semeai Occasionally returns incorrect outcome –E.g. stones outside of region influences on outcome Might be only a part of local search engine?

Search around Center Perform 3-ply search for points extending/fighting/breaking moyo around center of the board –# of branches <= 10 –Choose point that doesn’t contain any stones for 8 directions Prepared for programs playing like Go++ Currently does not work well

Overview of Local Search Search range –(x,y): stone worth considering –R = {(p,q)| |p – x| + |q – y| < 8} –Ladder is an exception Alpha-beta search –Maximum number of branches = 10 –Depth = direct 3-5 ply search –Spends almost all the time

Overview of Local Search (cont’d) How is a local search performed? 1.Do a local search around the opponent’s stone played last time 2.Do a local search around the stone I played last time 3.Compute places that are influenced on by these two stones 4.Perform local searches around these places 5.Previous results are stored and updated 6.Re-searches are performed if necessary

Position Recognition (1 / 3) From simple notion to complicated (19 features) –Whether there’s a stone or not, # of empty stones around a point, ko point –Strings and # of stones, liberties (up to 4), # of liberties –Characteristics of connections 1-point jump, 2-point jump, knight’s move, knight’s big move –Detect points where opponent can’t cut kosumi, bamboo, eye, opponent’s suicide point –Points where ate/nuki is possible –Points where cut/fukurami is possible

Position Recognition (2 / 3) –Status on whether white and black stones are adjacent –Points for connections (1-point jump peep, keima- dekiri), double atari –Capture search –Kiri(cut) search (reuse capture search) –Life and death for semi-connected strings and influence computation –Eye-shape (eye, half-eye, eye with 2 (3, 4,..) consecutive moves, false-eye)

Position Recognition (3 / 3) –Detect groups –Compute boundary and size of moyo for each group –Compute how easily group can be escaped and connection to other groups –Strength, size and importance of group –Compute evaluation values for moves played at the points adjacent to stones hane, nobi, attach, ate,cut, tsuki-nuke, pincer-attach, etc –Compute evaluation values for moves played at the points not adjacent to stones 1-point jump, kosumi, keima-gake, hazama, sarusuberi, etc

Capture Search Alpha-beta search + TT for string with # of liberties <= 4 –# of branches <= 8 –Depth <= 64 –# of node limit <= 1000 Performs well if # of liberties <= 3 Needs a lot of time (sometimes 90% of computation) to determine outcome Cannot distinguish unconditional capture from capture for ko Need to restrict moves and prove strings aren’t captured as quickly as possible

Kiri Search Detect whether target strings are cut at cutting points –Utilize capture search Stones dropped at cutting points are captured  target strings are not cut Perform only at important points (capture search too) –points around stone played in the previous move

Influence Computation Preliminary compute life and death (strength) of stones Compute influence: c / d^2 – c: strength of stone d: distance –Influenced up to 1-point jump point –Can’t go through other stones and bamboo Add up these numbers

Strength and Importance of Groups Convert features into # of eye points –# of eye points –Eye-shape –Possibility to escape, extend, and connect –Status of opponent’s stones

Evaluating Points (Not) Adjacent to Stones Have value between 0 – 255 tuned by hand –0: completely bad move –64: bad move –128: normal move –… Used if all the stones in the region are (mostly) alive

Move Generation Moves are generated in the following order: 1.Moves having a high priority connecting stones around stone played by opponent just before, escaping from atari, 2-line block 2.Double atari, capture, escape 3.Semeai moves 4.Attacking/defending weak stones 5.Moves at points (not) adjacent to stones having high evaluation values 6.Ko threats Look at the whole board

Evaluation at Leaf Nodes 1.Position recognition 2.Verifying if one of two strings can be captured 3.Detecting Life and death status for group 4.Adjusting life and death status for group considering connections to other groups 5.Adjusting life and death status for group considering opponent’s groups and semeai 6.Territory computation

Other Issues Adjustment to search results –Adding 1-4 points for sente move –Effective for yose

Near Future Work Play moves that prevents opponent’s moyo Adjust evaluation values for yose considering double-sente, sente, double- gote Have a strategy for detecting a loss Perform 5-ply search without degrading speed (realization probability?) Improve capture search

Things that Must be Done in the Long Run Strategies based on position evaluation –There’s no difference of losses between 0.5 point and 100 points Human-like playing style –Consistency, moves when in a disadvantageous position Special scheme for ko fights –Seems to be impossible with searches only