1 / 11

CS 4701 - AI Practicum

CS 4701 - AI Practicum. Fall 2011. Robot Downey Jr. Will Kiffer Joey Staehle  Andrew Bunyea. Problem : Modified Chinese Checkers. 2 Players Arbitrary Board Size Arbitrary Obstacles. Background Reading. Wikipedia Minimax / Expectimax algorithms and Alpha Beta Pruning

micol
Download Presentation

CS 4701 - AI Practicum

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CS 4701 - AI Practicum Fall 2011

  2. Robot Downey Jr Will Kiffer Joey Staehle  Andrew Bunyea

  3. Problem : Modified Chinese Checkers • 2 Players • Arbitrary Board Size • Arbitrary Obstacles

  4. Background Reading • Wikipedia • Minimax / Expectimax algorithms and Alpha Beta Pruning • Russell Norvig 5.2 - 5.5 • K-nearest neighbors •  "Machine Learning" by Tom Mitchell • Utility Functions and Decision Networks • Russel Norvig 16.3 - 16.5 • Neural Nets • Russell Norvig 18.7

  5. General Approach • Generate a list of optimal beginning moves, execute the best possible beginning move available given the board.  • Identify factors that determine what makes a move 'good' • E.g. total distance between existing pieces, number of possible jumps (both opponents' and own), etc. • Use machine learning to determine the proper weights of these factors in move selection, creating an optimal Utility Function for moves • Phase 1: Determine utility function for standard chinese checkers • Phase 2: Tweak the function for board permutations • Decide which utility function to use at game time based on the board layout

  6. Where's the AI? • Deciding which move to make:  • Minimax algorithm with alpha beta pruning • Evaluating each move:  • Finding a proper utility function from decision making techniques and reinforcement learning • Deciding which utility function to use: • Some form of pattern recognition, possibly k-nearest neighbors

  7. System Architecture and Work Plan  Main Components: • Board and Move Representation • Debugging GUI • Reading data files (initial board input along with any data we need to store) • Beginning/End game move patterns • Minimax algorithm with alpha beta pruning • Evaluation Function / Learning algorithms • Pattern recognition for identifying which previously played board configurations the current board is closest too

  8. I/O Specification • Std in / Std out communication with the server/GUI • Additional output in a 'debug' mode to feed a more descriptive GUI • E.g. Alternate moves and their respective evaluation weights

  9. Data Sources • Learning from various sources. • Playing against itself • Playing against existing chinese checkers AI • Testing on various board configurations, with blockages and without  • Testing against human players (sanity check)

  10. Evaluation Plans • Testing against humans • Testing against previous iterations • Testing against TA bots • Code some rough heuristic-based bots to test against/train against

  11. Schedule Week 1 - Background Reading, Board/Move representation, and begin working on debugging GUI Week 2 - What makes a move? Address this question in depth to uncover what factors should be included in the initial utility function

More Related