Download presentation
Presentation is loading. Please wait.
Published byCory Carter Modified over 9 years ago
1
Application of Artificial Intelligence to Chess Playing Jason Cook Capstone Project
2
Outline What this project is/isn't Goals: Personal and Project Relevant areas Decision Trees, Bitboards, Evaluation Functions Requirements Demonstration Interface and simple game play Additional ideas/possible continuation Validation
3
What it is/is not Is: Chess engine Chess engine - Logic - Logic Vehicle for investigating AI Vehicle for investigating AI Is not: Full computer game Full computer game - GUI, saved games, teaching mode… - GUI, saved games, teaching mode… - Specialized hardware project e.g. Deep Blue - Specialized hardware project e.g. Deep Blue
4
Personal Goals Deepen my understanding of Artificial Intelligence - No employer/client context Gain experience from a significant piece of software engineering and coding, and demonstrate my skills in those areas Investigate optimizing the program for speed
5
High Priority Project Goals No illegal moves - Check user and computer moves Engine never fails to produce a move Continually improve the strength of the engine
6
Relevant Areas Bitboards – 64 bit unsigned integers – Takes 12 to represent a chess board – Bitwise operation speed advantage
7
Relevant Areas Decision Trees - Plies, anytime algorithm, iterative deepening
8
Evaluation Functions One score for each board in the Decision Tree One score for each board in the Decision Tree –Calculated independently NegaMax and recursive descent NegaMax and recursive descent –Gets a single score back to the root Credit for each of your pieces on the board, negative for your opponent’s pieces Credit for each of your pieces on the board, negative for your opponent’s pieces –Weightings per type of piece Emprise Emprise
9
Evaluation Functions (cont.) OSTRICH program literature OSTRICH program literature –“Head in the sand” Predictability Predictability –Theoretical weakness –Behavior is affected by how much of the tree is evaluated, etc.
10
Constraints Runs on my personal desktop Moves in less than one minute Uses only free development tools and information Using C (trees, bit-wise ops…)
11
Demonstration
12
Ideas for Further Work Evolutionary reasoning for settings GUI, WinBoard/XBoard compatibility, or web interface Beginning and/or endgame databases Make the program “learn”
13
Validation Works within project constraints and meets high priority goals Works within project constraints and meets high priority goals Continual progress toward stronger AI Continual progress toward stronger AI –Playing the engine against other engines
14
Conclusion Only valid moves Engine that balances power with constraints Elements of Intelligent Behavior - Can’t build the entire decision tree - Seek the best “visible” board - Tries to predict the human player’s moves
15
Questions?
16
Relevant Areas Not Under Consideration Genetic Algorithms Neural Networks
17
Relevant Areas Goal Based Reasoning Case Based Reasoning
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.