Download Application of Artificial Intelligence to Chess Playing

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Intelligence explosion wikipedia , lookup

Philosophy of artificial intelligence wikipedia , lookup

Artificial intelligence in video games wikipedia , lookup

Existential risk from artificial general intelligence wikipedia , lookup

Human–computer chess matches wikipedia , lookup

Computer chess wikipedia , lookup

History of artificial intelligence wikipedia , lookup

Computer Go wikipedia , lookup

Transcript
Application of Artificial
Intelligence to Chess Playing
Jason Cook
Capstone Project
Outline



What this project is/isn't
Goals: Personal and Project
Relevant areas
 Decision


Requirements
Demonstration
 Interface


Trees, Bitboards, Evaluation Functions
and simple game play
Additional ideas/possible continuation
Validation
What it is/is not
Is:
Chess engine
- Logic
Vehicle for investigating AI
Is not:
Full computer game
- GUI, saved games, teaching mode…
- Specialized hardware project e.g. Deep Blue
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
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
Relevant Areas
Bitboards
– 64 bit unsigned integers
– Takes 12 to represent a chess board
– Bitwise operation speed advantage
Relevant Areas
Decision Trees
-
Plies, anytime algorithm, iterative deepening
Evaluation Functions

One score for each board in the Decision Tree
– Calculated independently

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
– Weightings per type of piece

Emprise
Evaluation Functions (cont.)

OSTRICH program literature
– “Head in the sand”

Predictability
– Theoretical weakness
– Behavior is affected by how much of the tree is
evaluated, etc.
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…)
Demonstration
Ideas for Further Work


Evolutionary reasoning for settings
GUI, WinBoard/XBoard compatibility, or
web interface

Beginning and/or endgame databases

Make the program “learn”
Validation


Works within project constraints and
meets high priority goals
Continual progress toward stronger AI
– Playing the engine against other engines
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
Questions?