(This is a post for CS320 Boston University)
Minimax is a decision rule used in game theory for minimizing the possible loss for a worst case (maximum loss) scenario [wiki]. Alternatively, it can be thought of as maximizing the minimum gain. It is usually seen in a two player zero-sum game like tic-tac-toe.
The exercise today involves a partial implementation of an AI tic-tac-toe player using minimax algorithm. Consult [wiki] for the pesudo-code of this algorithm.
The sample code consists of the definitions for board, cell, move, position and decition tree dtree. You are required to implement
show_board: print the board on the screen
make_move: place a cell on a position of the board
next_moves: generate all possible next moves
minimax_max: compute the decision tree with minimax algorithm.