BACE Bowron – Abernethy Chess Engine Christopher Bowron Rob Abernethy.

Slides:



Advertisements
Similar presentations
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.
Advertisements

How to Win a Chinese Chess Game Reinforcement Learning Cheng, Wen Ju.
10/29/01Reinforcement Learning in Games 1 Colin Cherry Oct 29/01.
CS 484 – Artificial Intelligence
Tic Tac Toe Architecture CSE 5290 – Artificial Intelligence 06/13/2011 Christopher Hepler.
Adversarial Search Chapter 5.
1 Game Playing. 2 Outline Perfect Play Resource Limits Alpha-Beta pruning Games of Chance.
Lecture 12 Last time: CSPs, backtracking, forward checking Today: Game Playing.
Adversarial Search CSE 473 University of Washington.
The Implementation of Machine Learning in the Game of Checkers Billy Melicher Computer Systems lab
Online Chess Project 3 Due date: April 17 th. Introduction Third in series of three projects This project focuses on adding online support –2 players.
Games Search Neil Heffernan Some of these slides are screen shots from the the slides my professor at CMU (Andrew Moore) used. (Sorry for the low resolution)
Adversarial Search: Game Playing Reading: Chess paper.
double AlphaBeta(state, depth, alpha, beta) begin if depth
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.
PSU CS 370 – Introduction to Artificial Intelligence Game MinMax Alpha-Beta.
Chess Applications:Alpha- Beta Search Greg Parker ‘03 Senior Thesis Advisor: Andrew Appel.
Game Playing Chapter 5. Game playing §Search applied to a problem against an adversary l some actions are not under the control of the problem-solver.
Lecture 6: Game Playing Heshaam Faili University of Tehran Two-player games Minmax search algorithm Alpha-Beta pruning Games with chance.
1 Learning Agents Laboratory Computer Science Department George Mason University Prof. Gheorghe Tecuci 3. Rote Learning.
Apostles Chess Club Session Three. Chess Piece Symbols The symbols shown above are the ones most used when showing chess pieces in print or on the internet.
Prepared by : Walaa Maqdasawi Razan Jararah Supervised by: Dr. Aladdin Masri.
Game Playing Chapter 5. Game playing §Search applied to a problem against an adversary l some actions are not under the control of the problem-solver.
1 Computer Group Engineering Department University of Science and Culture S. H. Davarpanah
Chapter 6 Adversarial Search. Adversarial Search Problem Initial State Initial State Successor Function Successor Function Terminal Test Terminal Test.
Evaluation Function in Game Playing Programs M1 Yasubumi Nozawa Chikayama & Taura Lab.
University of Amsterdam Search, Navigate, and Actuate – Search through Game Trees Arnoud Visser 1 Game Playing Search the action space of 2 players Russell.
 2003, G.Tecuci, Learning Agents Laboratory 1 Learning Agents Laboratory Computer Science Department George Mason University Prof. Gheorghe Tecuci 2.
Chess and AI Group Members Abhishek Sugandhi Sanjeet Khaitan Gautam Solanki
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.
Each piece is represented by a symbol. The pieces all stand in the same position at the start of the game the pieces are the Rook, the Knight, the Bishop,
Adversarial Search Chapter 6 Section 1 – 4. Games vs. search problems "Unpredictable" opponent  specifying a move for every possible opponent reply Time.
February 25, 2016Introduction to Artificial Intelligence Lecture 10: Two-Player Games II 1 The Alpha-Beta Procedure Can we estimate the efficiency benefit.
Deep Learning and Deep Reinforcement Learning. Topics 1.Deep learning with convolutional neural networks 2.Learning to play Atari video games with Deep.
Understanding AI of 2 Player Games. Motivation Not much experience in AI (first AI project) and no specific interests/passion that I wanted to explore.
Supervise Learning Introduction. What is Learning Problem Learning = Improving with experience at some task – Improve over task T, – With respect to performance.
Welcome to Chess Class This will program will show you basic Chess moves.
1 Decisions in games Minimax algorithm  -  algorithm Tic-Tac-Toe game Decisions in games Minimax algorithm  -  algorithm Tic-Tac-Toe game.
Game Playing Why do AI researchers study game playing?
Stochastic tree search and stochastic games
4. Games and adversarial search
BACE Bowron – Abernethy Chess Engine Christopher Bowron Rob Abernethy.
#1 Chess Engine of Spring 2017 at S&T
Games and adversarial search (Chapter 5)
Two-Player Games A4B33ZUI, LS 2016
Adversarial Search and Game Playing (Where making good decisions requires respecting your opponent) R&N: Chap. 6.
Pengantar Kecerdasan Buatan
Optimizing Minmax Alpha-Beta Pruning Real Time Decisions
CHESS PIECES.
Adversarial Search.
The Implementation of Machine Learning in the Game of Checkers
Two-player Games (2) ZUI 2013/2014
The Implementation of Machine Learning in the Game of Checkers
Adversarial Search Chapter 5.
Dakota Ewigman Jacob Zimmermann
Adversarial Search.
Artificial Intelligence Chapter 12 Adversarial Search
NIM - a two person game n objects are in one pile
The Alpha-Beta Procedure
Search and Game Playing
Minimax strategies, alpha beta pruning
Mini-Max search Alpha-Beta pruning General concerns on games
CSE (c) S. Tanimoto, 2007 Search 2: AlphaBeta Pruning
ALGORITHM TYPES Divide and Conquer, Dynamic Programming, Backtracking, and Greedy. Note the general strategy from the examples. The classification is neither.
Adversarial Search CMPT 420 / CMPG 720.
Adversarial Search CS 171/271 (Chapter 6)
Minimax strategies, alpha beta pruning
Derek : No Artificial Flavors.
CS51A David Kauchak Spring 2019
Minimax Trees: Utility Evaluation, Tree Evaluation, Pruning
Presentation transcript:

BACE Bowron – Abernethy Chess Engine Christopher Bowron Rob Abernethy

Problem Create an agent that is capable of playing chess Learns importance of board features Search through possible moves efficiently

Solution BACE Search Alpha-Beta NegaScout Learning TD(λ) TDLeaf

NegaScout Null window search Full search when necessary int NegaScout ( position p; int alpha, beta ) { int a, b, t, i; determine successors p_1,...,p_w of p; if ( w == 0 ) return ( Evaluate(p) ); /* leaf node */ a = alpha; b = beta; for ( i = 1; i <= w; i++ ) t = -NegaScout ( p_i, -b, -a ); if (t > a) && (t < beta) && (i > 1) && (d < maxdepth-1) a = -NegaScout ( p_i, -beta, -t ); /* re-search */ a = max( a, t ); if ( a == beta ) return ( a ); /* cut-off */ b = a + 1; /* set new null window */ } return ( a );

TDLeaf Modified TD(λ) algorithm Temporal differences based on leaf nodes Updates weights of features in evaluation function

Evaluation Features Material Position Other Each piece has an associated array of values for each possible square Other ~15 features such as castling, king tropism, pawn structure, mating material, rook on open file, etc.

Experiments Self play for testing purposes Online Chess Server Play fics.org (free internet chess server) 5 minute Blitz games About 200 games in a 24 hour period

Results Improved rating from ~1300 to ~1600 Peaked at 1666

Conclusions Achieved class-B level playing ability where class-A level is 1800 to 2000 and master level corresponds to ratings above 2000 Temporal difference learning was successful, but limited by small set of evaluation features

Future Work Move positional arrays into learned weights Add evaluation features Learn book opening strengths Try different time controls

Related Work TD-Gammon KnightCap Samuel’s Checkers Sutton Learning to Play Chess using Temporal Differences. Baxter, et al. Samuel’s Checkers Sutton Learning to Predict by the Methods of Temporal Differences