Simulate several games by choosing a board and two algorithms. After the simulation completes, you will get statistics. Be aware that all calculations are performed on the client, your device. Therefore, the performance of your device results in the performance of this app.

## Select Board

##### Tic Tac Toe

A board with 3x3 fields, where any player can access every empty field at any time.
The
game is won by the player who has three connected fields vertically, horizontally or
diagonally.

The depth (number of simulated moves) is set to the maximum of the number of
available fields.

##### Connect Four

A board with 7x6 fields, where players can only access fields if the field below is
already occupied by any other player (this excludes the first row). The game is won by the player who
has
four connected fields vertically, horizontally or diagonally.

The depth (number of simulated
moves) is set to 4.

## Select Algorithm For Player A

##### Random

This algorithm simply picks a random, accessible field.

##### Minimax

The minimax method utilises a score that one player tries to minimise while the other
aims to maximise it. If a player uses the minimax method, it looks at the next n moves and all possible
game
states S after each move. It assumes that the opponent tries to minimise the score and then makes the
move
that should result in the overall highest score after all n moves.

For Tic Tac Toe the number of next moves is the number of available fields. For Connect Four, the number
of next moves is limited to a maximum of four.

##### Alpha Beta Pruning

This algorithm is an optimisation of the minimax method. Rather than looking at all
possible game states the algorithm ignores certain game states, that have no chances of being selected.
This
is done by keeping track of already visited nodes (possible moves).

Even though this method
does not
evaluate as many game states as the minimax method, it may still take a long time to process.

##### Genetic Minimax

In games, time is usually a constraining factor that might not allow for the use of
the
minimax or alpha-beta pruning algorithm. For complex problems with a large set of possible solutions, it
is
sometimes better to make random decisions instead of evaluating all possible nodes. Genetic (or
evolutionary) algorithms make use of that. They start with a random set of solutions and evolve this
population over n generations.

The genetic minimax method does that and evaluates the
population using the
central concept of the minimax algorithm. While it may not always find the best solution, it may find a
near
best solution in a shorter period.

## Select Algorithm For Player B

##### Random

This algorithm simply picks a random, accessible field.

##### Minimax

The minimax method utilises a score that one player tries to minimise while the other
aims to maximise it. If a player uses the minimax method, it looks at the next n moves and all possible
game
states S after each move. It assumes that the opponent tries to minimise the score and then makes the
move
that should result in the overall highest score after all n moves.

For Tic Tac Toe the number of next moves is the number of available fields. For Connect Four, the number
of next moves is limited to a maximum of four.

##### Alpha Beta Pruning

This algorithm is an optimisation of the minimax method. Rather than looking at all
possible game states the algorithm ignores certain game states, that have no chances of being selected.
This
is done by keeping track of already visited nodes (possible moves).

Even though this method
does not
evaluate as many game states as the minimax method, it may still take a long time to process.

##### Genetic Minimax

In games, time is usually a constraining factor that might not allow for the use of
the
minimax or alpha-beta pruning algorithm. For complex problems with a large set of possible solutions, it
is
sometimes better to make random decisions instead of evaluating all possible nodes. Genetic (or
evolutionary) algorithms make use of that. They start with a random set of solutions and evolve this
population over n generations.

The genetic minimax method does that and evaluates the
population using the
central concept of the minimax algorithm. While it may not always find the best solution, it may find a
near
best solution in a shorter period.