CS 4701 Pre-Proposal Team: password123 Members: Benjamin Jaeger Brian Wojcik Areeb Malik
Mission • Build an ingenious Chinese Checker playing bot • Crush all other CS4701 bots • Move pieces from starting location to the opponent’s starting location before opponent can do the same
Background Reading • Paula Ulfhake, A Chinese Checkers-playing program, Lund University, 2000. hem.passagen.se/baolan/release/china.pdf • Chinese Checkers. Ashish Gupta. Northwestern University. 10 Sept. 2011. http://www.cs.northwestern.edu/~agupta/_projects/chinese_checkers/web/
General Approach • Minimax Algorithm • search for next move based on current board configuration • consider both offensive and defensive strategies • loosely based on the pieces’ total distance to the finish
Before start of game • Analyze board layout • Create optimal paths for our pieces to move over • Shortest Path Algorithm while avoiding obstacles
During game • Take advantage of starting moves with low calculations • Use Alpha-Beta Pruning to discount moves that are not worthwhile • Avoid leaving 'Straggler' marbles behind
Analysis of game progress • Number of Metrics • number of moves until completion to determine game progress • rate-of-play factor, average number of jumps per move in a given time period
Adaptation to game progress • Ex: If progress to success is slower than expected, alter strategies to: • (a) slow down our opponent (possibly at the sacrifice of our own speed) • (b) speed up our bot (possibly at the sacrifice of our defense).
Schedule • 9/13: Preliminary proposal • 9/16: Alterations to proposals; Proposal finalized. • 10/4: Working bot created, using minimax tree to make best offensive move & defensive moves. • 11/1: Bot fully functional; Altering bot priorities to determine optimal strategy and what to stress/focus on. • 11/15: Optimization / pruning unnecessary move calculations. • 11/29: Final presentations with demo.
Progress Adjustments • If ahead of schedule: • Create multiple versions of bot that prioritize different play styles. Collect and analyze data to help find optimal play style. • If behind schedule: • Sacrifice pruning abilities and focus on working bot, reducing the number of steps looked ahead.