When we talk about creating algorithms for game-playing, we are really talking about creating them for a specific type of game, known as a finite two person zero-sum sequential game. This is really just a fancy way of saying the following:
- An interactive situation between two independent actors (a game)
- There are a finite amount of ways in which the two actors can interact with each other at any point
- The game is zero-sum, meaning that the end state of the game results in a complete win for one of the actors
- The game is sequential, meaning that the actors make their moves in sequence, one after another
Classic examples of these types of games that we'll cover in this section are Tic Tac Toe, Chess, and the game of Go. Since creating and training an algorithm for a board game such as Go would be an immense task, for time and computation constraint...