GENETIC PROGRAMMING FOR CHECKERS PLAY Dustin Shutes Abstract: This project uses genetic programming to develop a program that plays the game of checkers.

Slides:



Advertisements
Similar presentations
1 Machine Learning: Lecture 1 Overview of Machine Learning (Based on Chapter 1 of Mitchell T.., Machine Learning, 1997)
Advertisements

Artificial Intelligence Presentation
Adversarial Search We have experience in search where we assume that we are the only intelligent being and we have explicit control over the “world”. Lets.
Games & Adversarial Search Chapter 5. Games vs. search problems "Unpredictable" opponent  specifying a move for every possible opponent’s reply. Time.
Artificial Intelligence Adversarial search Fall 2008 professor: Luigi Ceccaroni.
CMSC 671 Fall 2001 Class #8 – Thursday, September 27.
ICS-271:Notes 6: 1 Notes 6: Game-Playing ICS 271 Fall 2008.
CS 484 – Artificial Intelligence
CHAPTER 10 FUN AND GAMES Group 1: Xiangling Liu.
Tic Tac Toe Architecture CSE 5290 – Artificial Intelligence 06/13/2011 Christopher Hepler.
Adversarial Search: Game Playing Reading: Chapter next time.
Artificial Intelligence for Games Game playing Patrick Olivier
An Introduction to Artificial Intelligence. Introduction Getting machines to “think”. Imitation game and the Turing test. Chinese room test. Key processes.
Minimax and Alpha-Beta Reduction Borrows from Spring 2006 CS 440 Lecture Slides.
Place captured red pieces here Place captured yellow pieces here To use as Kings Rules New Game Exit Left mouse click on piece – drag to desired location.
Artificial Intelligence in Game Design
Practical techniques for agents playing multi-player games
CS AI Practicum Fall Robot Downey Jr Will Kiffer Joey Staehle Andrew Bunyea.
The Implementation of Machine Learning in the Game of Checkers Billy Melicher Computer Systems lab
ICS-271:Notes 6: 1 Notes 6: Game-Playing ICS 271 Fall 2006.
Game Tree Search based on Russ Greiner and Jean-Claude Latombe’s notes.
Adversarial Search: Game Playing Reading: Chess paper.
Game Playing: Adversarial Search Chapter 6. Why study games Fun Clear criteria for success Interesting, hard problems which require minimal “initial structure”
Ocober 10, 2012Introduction to Artificial Intelligence Lecture 9: Machine Evolution 1 The Alpha-Beta Procedure Example: max.
Game Playing State-of-the-Art  Checkers: Chinook ended 40-year-reign of human world champion Marion Tinsley in Used an endgame database defining.
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.
CSC 412: AI Adversarial Search
CHAPTER 12 ADVANCED INTELLIGENT SYSTEMS © 2005 Prentice Hall, Decision Support Systems and Intelligent Systems, 7th Edition, Turban, Aronson, and Liang.
CISC 235: Topic 6 Game Trees.
Lecture 5 Note: Some slides and/or pictures are adapted from Lecture slides / Books of Dr Zafar Alvi. Text Book - Aritificial Intelligence Illuminated.
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.
Othello Artificial Intelligence With Machine Learning
Search CSE When you can’t use A* Hill-climbing Simulated Annealing Other strategies 2 person- games.
Notes on Game Playing by Yun Peng of theYun Peng University of Maryland Baltimore County.
Othello Playing AI Matt Smith. Othello 8x8 Board game 8x8 Board game Try to outflank opponents pieces Try to outflank opponents pieces Winner ends up.
GOMOKU ALGORITHM STUDY MIN-MAX AND MONTE CARLO APPROACHING
Connect Four AI Robert Burns and Brett Crawford. Connect Four  A board with at least six rows and seven columns  Two players: one with red discs and.
Well Posed Learning Problems Must identify the following 3 features –Learning Task: the thing you want to learn. –Performance measure: must know when you.
Games. Adversaries Consider the process of reasoning when an adversary is trying to defeat our efforts In game playing situations one searches down the.
HPC Checkers By Andy Block Ryan Egan. Table of Contents Overview of Checkers ▫Overview of Checkers ▫Rules of the Game AI Theory The Program ▫Board ▫Sample.
 2003, G.Tecuci, Learning Agents Laboratory 1 Learning Agents Laboratory Computer Science Department George Mason University Prof. Gheorghe Tecuci 2.
CHECKERS: TD(Λ) LEARNING APPLIED FOR DETERMINISTIC GAME Presented By: Presented To: Amna Khan Mis Saleha Raza.
Game Playing. Introduction One of the earliest areas in artificial intelligence is game playing. Two-person zero-sum game. Games for which the state space.
Cilk Pousse James Process CS534. Overview Introduction to Pousse Searching Evaluation Function Move Ordering Conclusion.
© 2005 Prentice Hall, Decision Support Systems and Intelligent Systems, 7th Edition, Turban, Aronson, and Liang 12-1 Chapter 12 Advanced Intelligent Systems.
CSCI 4310 Lecture 6: Adversarial Tree Search. Book Winston Chapter 6.
Blondie24 Presented by Adam Duffy and Josh Hill. Overview Introduction to new concepts Design of Blondie24 Testing and results Other approaches to checkers.
Kansas State University Department of Computing and Information Sciences CIS 730: Introduction to Artificial Intelligence Lecture 9 of 42 Wednesday, 14.
George F Luger ARTIFICIAL INTELLIGENCE 5th edition Structures and Strategies for Complex Problem Solving HEURISTIC SEARCH Luger: Artificial Intelligence,
ARTIFICIAL INTELLIGENCE (CS 461D) Princess Nora University Faculty of Computer & Information Systems.
Othello Artificial Intelligence With Machine Learning Computer Systems TJHSST Nick Sidawy.
Well Posed Learning Problems Must identify the following 3 features –Learning Task: the thing you want to learn. –Performance measure: must know when you.
The Standard Genetic Algorithm Start with a “population” of “individuals” Rank these individuals according to their “fitness” Select pairs of individuals.
Adversarial Search 2 (Game Playing)
Adversarial Search and Game Playing Russell and Norvig: Chapter 6 Slides adapted from: robotics.stanford.edu/~latombe/cs121/2004/home.htm Prof: Dekang.
February 25, 2016Introduction to Artificial Intelligence Lecture 10: Two-Player Games II 1 The Alpha-Beta Procedure Can we estimate the efficiency benefit.
Adversarial Search In this lecture, we introduce a new search scenario: game playing 1.two players, 2.zero-sum game, (win-lose, lose-win, draw) 3.perfect.
Artificial Intelligence in Game Design Board Games and the MinMax Algorithm.
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Evolutionary Programming.
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.
1 Chapter 6 Game Playing. 2 Chapter 6 Contents l Game Trees l Assumptions l Static evaluation functions l Searching game trees l Minimax l Bounded lookahead.
Supervise Learning Introduction. What is Learning Problem Learning = Improving with experience at some task – Improve over task T, – With respect to performance.
Othello Artificial Intelligence With Machine Learning
Adversarial Search and Game Playing (Where making good decisions requires respecting your opponent) R&N: Chap. 6.
Othello Artificial Intelligence With Machine Learning
Training Neural networks to play checkers
The Alpha-Beta Procedure
Othello Artificial Intelligence With Machine Learning
Presentation transcript:

GENETIC PROGRAMMING FOR CHECKERS PLAY Dustin Shutes Abstract: This project uses genetic programming to develop a program that plays the game of checkers. Unlike games like tic-tac-toe checkers is an unsolved game, meaning that there is not yet a known way to always win. Most programs that are designed to play games against human opponents are developed with expert knowledge. They use databases of human knowledge to determine what appropriate play should be. Instead this program uses machine learning through genetic programming to decide moves.

Legal Moves For regular pieces on the board a legal move is one where the checker moves forward one row, and to the right or left one column into an unoccupied square. If one of those legal-move-squares is occupied by the opponent and the next square along the diagonal line is unoccupied, a ‘jump’ is performed where the opponent’s piece is removed and the unoccupied square becomes occupied by the checker making the move. If there is another legal jump from this square it will be performed in the same manner. Jumps can be chained together in this manner as long as there continues to be legal jumps. If a checker is in a position to make a legal jump it must take it. If a checker reaches its opponents back row, it becomes a ‘king’. King’s are special pieces that are allowed to move both forward and backward.

Copyright © 1997, Pui Yee Chan, Hiu Yin Choi, Zhifeng Xiao. Move Selection To do this the program first generates a ‘game-tree’, where each node of the tree represents a possible future board configuration, and the root of the tree is the current board configuration. The child nodes of the root are the board configurations after the computer has done all of its legal moves. For each of these new board configurations all the legal countermoves are performed and are stored as children of their respective nodes. To determine what the best move is the program uses a recursive minimax search algorithm, with alpha-beta pruning.

Mapping board to input of network Mapping 3x3 areas to the network The input layer of the network takes all of the 3x3 areas of the board and all of the 4x4 areas of the board as well as another 32 inputs that take the un-spatially configured board values. The network uses this input configuration to learn the spatial layout of the board. There are 2 hidden layers and a single output neuron that gives the value of the board for evaluation. The pieces are represented as -1 (for competitors piece) or +1 (for friendly piece) or +- K, the variable value assigned to kings.

Learning The program was started with 32 different, randomly generated, network weight configurations. For every generation 128 games are played with the two competitors randomly selected from the field of 32. Those strategies with winning records become parents for the next generation. Strategies reproduce through mutation with the following code for(i=1;i<=362;i++){ N = (double)(((double)rand())/RAND_MAX); //random number from 0 to 1 w.sigma[i] = w.sigma[i]*exp( *N);//update adaptation rate w.L2[i] = w.L2[i] + w.sigma[i]*(N-0.5);//update weight } for(i=1;i<=61;i++){ N = (double)(((double)rand())/RAND_MAX);//random number from 0 to 1 w.sigma[i+362] = w.sigma[i+362]*exp( *N);//update adaptation rate w.L3[i] = w.L3[i] + w.sigma[i+362]*(N-0.5);//update weight } for(i=1;i<=61;i++){ N = (double)(((double)rand())/RAND_MAX);//random number from 0 to 1 w.sigma[i+423] = w.sigma[i+423]*exp( *N);//update adaptation rate w.L4[i] = w.L4[i] + w.sigma[i+423]*(N-0.5);//update weight } Each strategy also has its king value updated in the following fashion: N = (double)( ( (double)rand() )/(RAND_MAX)/2)-0.25;//random number from to 0.25 w.king = w.king + N;//update king if (w.king > 4) w.king = 4;

Conclusions Although it would be difficult to develop a checkers playing program through machine learning that would be able to compete with a program like Chinook (currently the worlds leading checkers playing program), given enough time and some experiments with network size and configuration winning strategies for the game of checkers could be developed through the use of genetic programming. In addition to time constraints for the learning process, the amount of memory available to form a large enough game tree to do adequate move look ahead is a large factor in the performance of the program.

References: J. Maynard Smith, Evolution and the theory of Games. Cambridge, U.K.: Cambridge University Press, 1982 Chellapilla, Kumar and Fogel, David, Evolution, Neural Networks, Games, and Intelligence. Banzhaf, Nordin, Keller, and Francome, Genetic Programming An Introduction. San Francisco, California Morgan Kaufmann Publishers, Inc. Simon Haykin, Neural Networks: A Comprehensive Foundation, Prentice Hall, New Jersey, second edition, Vajda, S, An introduction to linear programming and the theory of games. London Notes produced for the McGill University, Montreal Canada, were also used in the development of this presentation.