Write a Lisp program to get the computer to play Othello against itself by using a minimax strategy. If you're not familiar with the game, you can find the rules here. Submit a file called hw4.lisp, which can have as many functions as you like: but it should have one in particular called play-othello. This should then display a game to the screen, with the computer playing itself.
Sample output:
. . . . . . . .
. . . . W . . .
. . . W W . . .
. . . B W . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . B W . . .
. . . B W . . .
. . . B W . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . B W . . .
. . . W W . . .
. . W W W . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
... and so on.
This is a considerably more difficult assignment than the previous ones. Start early! For full credit, your should implement a search mechanism at least as complicated as depth-limited depth-first-search. Set partial goals and work your way there: some partial credit will be given for a game that plays randomly against itself. Don't spend a lot of time tweaking the game ending if you have trouble with it - we won't put much emphasis on whether the game ends properly (it's some more technical details).