Additional Modifications to the original Othello GA
- Two new terminals were added--white_adjacent_empty and
black_adjacent_empty, which measure the number of white and
black pieces, respectively, which have an adjacent empty square.
The evaluation function was extended to calculate the values of
these two terminals for a given board state.
- The Othello player and tester classes were modified to allow the
player to play as either color using a given function tree (by
flipping the meaning of black and white). This was necessary for
tournament play.
- Tournament play was implemented by overriding the
calculateStatistics() method to conduct the tournament. In
each round, the population was sequentially scanned (alternating
between forwards and backwards scans) for "live" individuals, with each
pair of "live" individuals playing a game.
- The OthelloCache program was extended to allow sets of players to
be paired off against one another and against the random player and
Edgar (used to evaluate the resulting players from the GA runs).