Predicting opponent team activity in a RoboCup environment
  The goal of this project is to predict the opponent's configuration in a
RoboCup SSL environment. For simplicity, a Markov model assumption is made such
that the predicted formation of the opponent team only depends on its current
formation. The field is divided into a grid and a robot state per player is
created with information about its position and its velocity. To gather a more
general sense of what the opposing team is doing, the state also incorporates
the team's average position (centroid). All possible state transitions are
stored in a hash table that requires minimum storage space. The table is
populated with transition probabilities that are learned by reading vision
packages and counting the state transitions regardless of the specific robot
player. Therefore, the computation during the game is reduced to interpreting a
given vision package to assign each player to a state, and looking for the most
likely state it will transition to. The confidence of the predicted team's
formation is the product of each individual player's probability. The project
is noteworthy in that it minimizes the time and space complexity requirements
for opponent's moves prediction.
