Global Positioning System Reference
In-Depth Information
System.out.println("I cant move!");
removeChaseNeighbors( moveStations, chasersStations );
if ( moveStations.isEmpty() )
System.out.println("I give up!");
If no moves are left, the default move can be executed; if one move is left,
it is executed immediately; if more moves remain in the list, the actual
evaluation can begin. This minimum implementation sorts out the stations
with the most connections and randomly picks one of them.
The runner has learned some rules that can be used for future rounds.
Heuristics This implementation is intended as an appetizer for more games.
The player becomes much more effective by continuously evaluating the
board and players. Once the AIRunner has been launched and registered
(not entered yet), it can already start the rst step by analyzing the game's
network provided by the ROApp. Every station can be scaled with the
average distance to all others and stored in a look-up structure. Note that
the maximum distance on the game board is only nine.
This is fine for
learning.
In the second step, the runner can observe three chasers positioning
themselves on the board and then evaluate a good position to enter the
game. In a classroom situation, this might represent the first competi-
tion, since another runner could enter the game and exclude other runner
candidates.
The main task to make the player intelligent is to create one heuristic
formula to consider all parameters of a game situation and calculate a
weight. In the case of London Chase the parameters include
ˆ my own and the other players' current positions;
ˆ the maximum distance to the runner's position;
ˆ the best strategic positions from which to run away;
and a Scotland Yard implementation would add
ˆ a determination of network features and the remaining tickets of each
player.
The results should be scaled from 0 to 1 (100%) to reflect the quality of a
move compared to other moves.
Decision tree. The heuristic function represents the players' intelligence,
and it can be fine tuned after every game round, or it can be programmed
to learn during the game. In either case, the function can be used to create
a decision tree. Once the game is in progress, the runner can internally
start a separate thread to continuously extend and maintain the tree. The
 
Search WWH ::




Custom Search