CS372 Introduction to Artificial Intelligence

Programming Project: Game Playing

Konane (Hawaiian Checkers)

Due: Tuesday, December 5, 2000

Play Konane on the Web (by Peter Ingebretson (HC '2001))

Alternately, download a version for Apple MACs (by Edina Sarajlic (BMC '2000) from the Robot Software Folder on Appleshare Server DeeMac (in BMC Sciences).

Implement a program (in your favorite 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 <5, 4>            removes <5, 5>
        moves <3, 4> to <5, 4>    moves <5, 7> to <5, 5>5
        moves <3, 2> to <3, 4>    moves <5, 3> to <3, 3>
        moves <7, 6> to <5, 6>    moves <6, 4> to <6, 6>
        moves <7, 8> to <7, 6>    moves <2, 4> to <4, 4> to <6, 4>

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.

For the sake of consistency, use the same coordinate system fas shown or specifying moves.

Play the game by varying the depth of search (from 1 to 6) 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. You should be able to run your program on computers in the Park 10 Lab.

Konane Tournament

On Thursday, December 7, there will be a friendly Konane Tournament to determine who the ultimate Konane player is. If your program is not operational for some reason, you must compete against the other programs/people.


Back to CS 372 home page