|
||||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
See:
Description
Class Summary | |
GameClient | The Knockabout Game Client This is a Java implementation of the Knockabout Game client. |
Player | Standard KnockAbout Player Class Provides a set of functions that an agent should inherit (i.e. |
RandomPlayer | |
SearcherPlayer | A player that uses a search algorithm to choose a knockabout move |
This java project is an implementation of an "AI" player for the game Knockabout. The core of this artificial player is an expected alpha-beta search algorithm with a 4-parameters, hand-tuned heuristic, although other search/heuristic methods have been tested. Please consult the search section for more information. Significant improvements of the underlying data structure are also documented in the gamemodel package.
If TIMEOUT issues arise, please decrease the initial value of the field knockabout.search.AlphaBetaSearchAlgorithm.timeLimitMillis.
Usage: java knockabout.GameClient <server> <port>
Java 1.4.1 API reference and "The Java Tutorial" (both at http://java.sun.com)
Stuart Russell and Peter Novig: Artificial Intelligence A Modern Approach (2003) p.170, 177
Doina Precup's lecture notes (http://www.cs.mcgill.ca/~dprecup/)
The package knockabout contains classes that handle the communication of the player with the server. Most of the code is similar to the code provided on the course web page.
Note: in this text, expectiminimax (expected alpha-beta) is sometimes referred as minimax (respectively alpha-beta) for brevity.
|
||||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |