100 likes | 230 Views
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.
E N D
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.