A Tic-Tac-Toe Artificial Intelligence (AI) in Ruby, employing knowledge of turn-based game theory, binary trees, etc. I have only spent about 10 hours on it so far, so I am at the very end of working out a bug in the game mechanics (it cannot currently detect vertical victories), and I have not yet started on coding the AI, although I have a general idea of how I would go about it.