A simple implementation of Tic Tac Toe (O and X) to experiment with functional programming and simple AI algorithms
The aim of the AI is to play perfectly, where perfectly means the opponent doesn't win (tying is ok)
This means having a game of AI vs AI should always result in a tie
This also allows for any sized games, with the limitation that both sides must be equal