Presentation is loading. Please wait.

Presentation is loading. Please wait.

Application of Artificial Intelligence to Chess Playing Jason Cook Capstone Project.

Similar presentations


Presentation on theme: "Application of Artificial Intelligence to Chess Playing Jason Cook Capstone Project."— Presentation transcript:

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


Download ppt "Application of Artificial Intelligence to Chess Playing Jason Cook Capstone Project."

Similar presentations


Ads by Google