Application of Artificial intelligence to Chess Playing Capstone Design Project 2004 Jason Cook Bitboards  Bitboards are 64 bit unsigned integers, with.

Slides:



Advertisements
Similar presentations
Adversarial Search Chapter 6 Sections 1 – 4. Outline Optimal decisions α-β pruning Imperfect, real-time decisions.
Advertisements

Adversarial Search Chapter 6 Section 1 – 4. Types of Games.
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.
Games & Adversarial Search
CS 484 – Artificial Intelligence
Tic Tac Toe Architecture CSE 5290 – Artificial Intelligence 06/13/2011 Christopher Hepler.
Adversarial Search Chapter 5.
Table of Contents Why Play Chess? Setting Up the Board Get to Know the Pieces Check and Checkmate What the Chess Pieces Are Worth Opening Goals Endgame.
Chess: Shootmenow Edition By: Sean Sprigg and Tom Samaras.
Adversarial Search CSE 473 University of Washington.
Adversarial Search Chapter 6.
Artificial Intelligence for Games Game playing Patrick Olivier
Artificial Intelligence in Game Design Heuristics and Other Ideas in Board Games.
An Introduction to Artificial Intelligence Lecture VI: Adversarial Search (Games) Ramin Halavati In which we examine problems.
Search Strategies.  Tries – for word searchers, spell checking, spelling corrections  Digital Search Trees – for searching for frequent keys (in text,
1 Adversarial Search Chapter 6 Section 1 – 4 The Master vs Machine: A Video.
Chess AI’s, How do they work? Math Club 10/03/2011.
Minimax and Alpha-Beta Reduction Borrows from Spring 2006 CS 440 Lecture Slides.
This time: Outline Game playing The minimax algorithm
UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering CSCE 580 Artificial Intelligence Ch.6: Adversarial Search Fall 2008 Marco Valtorta.
Intelligence for Games and Puzzles1 Some Chess-specific Techniques Chess is played on an 8x8.
Adversarial Search: Game Playing Reading: Chess paper.
Games & Adversarial Search Chapter 6 Section 1 – 4.
Group 1 : Ashutosh Pushkar Ameya Sudhir From. Motivation  Game playing was one of the first tasks undertaken in AI  Study of games brings us closer.
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.
Hex Combinatorial Search in Game Strategy by Brandon Risberg May 2006Menlo School.
Game Trees: MiniMax strategy, Tree Evaluation, Pruning, Utility evaluation Adapted from slides of Yoonsuck Choe.
PSU CS 370 – Introduction to Artificial Intelligence Game MinMax Alpha-Beta.
Minimax Trees: Utility Evaluation, Tree Evaluation, Pruning CPSC 315 – Programming Studio Spring 2008 Project 2, Lecture 2 Adapted from slides of Yoonsuck.
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.
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.
Adversarial Search CS30 David Kauchak Spring 2015 Some material borrowed from : Sara Owsley Sood and others.
Game Playing.
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.
October 3, 2012Introduction to Artificial Intelligence Lecture 9: Two-Player Games 1 Iterative Deepening A* Algorithm A* has memory demands that increase.
Game-playing AIs Part 1 CIS 391 Fall CSE Intro to AI 2 Games: Outline of Unit Part I (this set of slides)  Motivation  Game Trees  Evaluation.
Adversarial Search Chapter 6 Section 1 – 4. Outline Optimal decisions α-β pruning Imperfect, real-time decisions.
Trees – Part 2 CS 367 – Introduction to Data Structures.
Application of Artificial Intelligence to Chess Playing Jason Cook Capstone Project.
Games. Adversaries Consider the process of reasoning when an adversary is trying to defeat our efforts In game playing situations one searches down the.
W 2 L 1 sh 1 C lessons LessonSubjectBook Week 1 lesson 1Objects, names Week 1 lesson 2Statements, layout Week 2 lesson 1Functions, decomposition Week 2.
Chess and AI Group Members Abhishek Sugandhi Sanjeet Khaitan Gautam Solanki
Jack Chen TJHSST Computer Systems Lab Abstract The purpose of this project is to explore Artificial Intelligence techniques in the board game.
Adversarial Search Chapter Games vs. search problems "Unpredictable" opponent  specifying a move for every possible opponent reply Time limits.
Today’s Topics Playing Deterministic (no Dice, etc) Games –Mini-max –  -  pruning –ML and games? 1997: Computer Chess Player (IBM’s Deep Blue) Beat Human.
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.
Adversarial Search Chapter 6 Section 1 – 4. Games vs. search problems "Unpredictable" opponent  specifying a move for every possible opponent reply Time.
Parallel Programming in Chess Simulations Part 2 Tyler Patton.
Explorations in Artificial Intelligence Prof. Carla P. Gomes Module 5 Adversarial Search (Thanks Meinolf Sellman!)
Artificial Intelligence in Game Design Board Games and the MinMax Algorithm.
Adversarial Search Chapter 5 Sections 1 – 4. AI & Expert Systems© Dr. Khalid Kaabneh, AAU Outline Optimal decisions α-β pruning Imperfect, real-time decisions.
ADVERSARIAL SEARCH Chapter 6 Section 1 – 4. OUTLINE Optimal decisions α-β pruning Imperfect, real-time decisions.
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.
Game Playing Why do AI researchers study game playing?
EA C461 – Artificial Intelligence Adversarial Search
Iterative Deepening A*
#1 Chess Engine of Spring 2017 at S&T
Optimizing Minmax Alpha-Beta Pruning Real Time Decisions
CHESS.
Adversarial Search Chapter 5.
Dakota Ewigman Jacob Zimmermann
Adversarial Search.
Introduction to Artificial Intelligence Lecture 9: Two-Player Games I
Minimax Trees: Utility Evaluation, Tree Evaluation, Pruning
Presentation transcript:

Application of Artificial intelligence to Chess Playing Capstone Design Project 2004 Jason Cook Bitboards  Bitboards are 64 bit unsigned integers, with the bits mapped to the 64 squares on the chess board.  It takes 12 bitboards to represent a chess board, one per combination of piece and color.  Bitwise operations have a large speed advantage over 2 dimensional array manipulations, especially on 64 bit hardware where they become a single operation.  Bitwise operations are powerful: left shift by 8 gives the effect of advancing all pawns 1 square, bitwise AND tests for check or capture. Decision Trees  The decision tree is built out of states of the chess board, with the root node being the current state. A decision tree for chess expanded to checkmate on every branch has nodes, so we can never hope to build or evaluate the entire tree.  Evaluation of the decision tree in this project is implemented as an anytime algorithm, which builds part of the tree, then generates and stores a next move based on that tree. If time remains the tree is extended and reevaluated, and the new move replaces the old one. Evaluation Functions  There is one score for each chess board in the decision tree. These are calculated independently of the preceding boards, using criteria borrowed from OSTRICH, a well documented chess engine.  NegaMax (a MiniMax variation) is implemented with recursive descent to bring the score of one terminal node to the root of the decision tree.  Credit for each of your pieces on the board, negative points for your opponent’s pieces, with w eightings per type of piece  Emprise: On which squares could you make a capture in one move, if there we an enemy piece there. This is reduced to a integer value for evaluation purposes.  The engine is predictable. This is a theoretical weakness, but in reality the behavior changes along with the current look ahead allowed by the anytime algorithm. Ideas for further work  Tree pruning algorithm  Evolutionary reasoning experiment to refine settings  GUI, WinBoard/XBoard compatibility, or web interface  Deterministic beginning and/or endgame databases  Make the program “learn” via case based reasoning Root (current board) Bitboards Evaluation score Board after white pawn move Bitboards Evaluation score Board after black knight move Bitboards Evaluation Score Board after white rook move Bitboards Evaluation score... Decision tree implementation  Equal depth breadth first (no pruning of the tree)  Typically built to ~4 ply  Uses dynamic memory allocation, allowed to use up to 90% of physical memory Abstract: Chess presents challenges that are not present in other games, because of its complexity and the number of possible moves to evaluate. A common strategy for chess programs is to develop a tree data structure with all of the possible moves from a given starting board up to a certain depth, and then traverse the tree and evaluate it to find a good move. I have implemented a simple "chess engine", which is the logic behind a full chess computer game. The program attempts to balance as much chess playing power as possible with the constraints of running on a desktop computer. The number of moves evaluated is of great importance in determining the strength of a chess engine of this type. For that reason I have implemented the engine in C to minimize the time of execution for the many tree manipulations and bitwise operations involved. The validation of this project was done by testing the engine against multiple freely available chess engines of varying power. The results of these games were then documented and analyzed. Results  Moderately weak performance against an online chess engine  Elements of intelligence  Indecisive/repeated moves  Opponent appeared to have a begin game database, which allowed it to develop its pieces more effectively.  Visible potential for tuning the AI