CS372 Introduction to Artificial Intelligence

Project 1: Game Playing

Konane (Hawaiian Checkers)

Due: Thursday, November 12, 1998

Implement a program (in your favourite programming language) to play the game of Konane (Hawaiian Checkers). The game is typically played on an 8X8 board of light and dark pieces as shown (using X for dark and O for light).

                1 2 3 4 5 6 7 8

        8       X O X O X O X O
        7       O X O X O X O X
        6       X O X O X O X O
        5       O X O X O X O X
        4       X O X O X O X O
        3       O X O X O X O X
        2       X O X O X O X O
        1       O X O X O X O X

First, the dark player removes a dark piece either at position 18, 81, 45, or 54. Next the light player removes a light piece adjacent to the space created by the first move. Then the players alternate moves, each jumping one of his/her own pieces over one horizontally or vertically adjacent opponent piece, landing in a space on the other side, and removing the jumped piece. If desired, this may be continued in a multiple move, as long as the same piece is moved in a straight line. For example, after the following moves:

        dark            light
        removes 54      removes 55
        (34 54)         (57 55)
        (32 34)         (53 33)
        (76 56)         (64 66)
        (78 76)         (24 44 64)

the board looks like

                1 2 3 4 5 6 7 8

        8       X O X O X O X O
        7       O X O X O X . .
        6       X O X O . O X O
        5       O X . . O X . X
        4       X O . . X O X O
        3       O . O . O X O X
        2       X O X . X O X O
        1       O X O X O X O X

Your program should use the MINIMAX algorithm with ALPHA-BETA pruning. For each game, your program should also provide the following information:

  1. The number of times a static evaluation was done.
  2. The average branching factor.
  3. The number of cut offs that took place.

Play the game by varying the depth of search (from 1 to 5) and plot the above results. If you feel inclined to do so, you may use a graphical front end, rather than the text version shown above. However, make sure that all your efforts are initially focused on completing the program as described. If time permits, you may work on the graphics part. There will be extra credit for implementing a graphical version, however, no credit will be given for any incomplete program that attempts to use graphics.


Back to CS 372 home page