80 likes | 224 Views
Ai practicum proposal. Anand Bheemarajaiah , M.Eng . Chet Mancini, M.Eng . Felipe Osterling , Junior TA: Jason Yosinski. Problem Statement.
E N D
Ai practicum proposal AnandBheemarajaiah, M.Eng. Chet Mancini, M.Eng. Felipe Osterling, Junior TA: Jason Yosinski
Problem Statement The motivation for this project is to practice implementing various AI ideas into how to play a game against another agent.Various and unique sub problems and factors in this task will be to: • Find a feasible solution to the game, where the total waiting time between moves is less than 10 minutes. • Interpret the opponent’s moves and respond by evaluating new strategies for each move. • Try to block the opponent as much as possible. • Optimize both on strategy and on time. i.e. The best possible move in the shortest possible time.
IO Specification • Input (stdin) • Game initialization • Request move • Opponent move information • Error information • End Game notification • Output (stdout) • Our intended move. • Error (stderr) • Our custom debugging information • (Summary of specification in Wiki).
System Architecture | Algorithm • Due to our background reading, we see most researchers working in Chinese Checkers use an Alpha-Beta Pruning algorithm with minimax decision rule. • We are not familiar with these terms but are beginning to research and evaluate the various strategies suggested by various researchers. • Some of the docs we have been reading are – • http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.115.7441&rep=rep1&type=pdf • http://hem.passagen.se/baolan/release/china.pdf
System Architecture| State Representation Credit: http://hem.passagen.se/baolan/release/china.pdf
System Architecture | Other • Other Components we plan to build and use • IO adapter – This is the component which interacts with the server through stdin and stdout. • Data access abstraction module – This module abstracts out the data structures which are used internally. • Successor Function evaluation module – This module again will be generating the next best possible moves. Going forward we will be able to test various algorithms and their performance by replacing the contents of this module. • Error and debug data enabled GUI – This module will be responsible for handling Logging, GUI for human testing. • Testing Framework – We will have a framework using which we will be able to add new testcases very easily. We might build this using JUnit Framework or TestNG framework in Java.
Team Task Breakdown • With three team members we plan to break up the responsibilities in the following manner • Members A and B will work on bootstrapping the system into workable modules. • Member C will spend time researching and digesting the multitude of information on available algorithms, and then begin to implement those algorithms in our agent. • A or B will each implement logging and testing modules. • All three members will work on documentation.
Basic Schedule • Milestone 1 • Construct essential data structures • Implement basic IO • Extend GUI to have custom debugging information. • Extend random AI to a basic goal seeking agent. • Milestone 2 • Construct an essential AI • Develop additional heuristics and methodologies based on testing and preliminary competition. • Final • AI revised. • Project finished