Web Othello

Play Web Othello
Help
About Web Othello

Play a game


Meaning of icons on a game board

OX
These are game pieces, each of which is black or white in colour.

ox
The last move made by the computer is marked with a small circle in the middle of the piece.

.
This is an unmarked empty square. You may not make a move by putting a piece into an unmarked empty square.

_
This is a marked empty square. You can only put a piece into one of the marked empty squares. The computer marks the empty squares for you according to the rule of Othello.

.
When you have no move to make, your turn is forfeited. All empty squares will have a word "pass" on it. You may pass by clicking any one empty squares. If you use a text-based browser, you may use the "PASS" link at the bottom of the page. This link appears only when you have no legal move.


About Web Othello

I wrote Othello because I suddenly wanted to try cgi bin programming. (Well this is what I call compulsive hacking.) The basic programme was finished in a few days. I am now in the never ending polishing and fine tuning phase.

The core of Web Othello is an alpha-beta search engine. The current implementation is satisfactory in speed but I have a feeling that I can still make it run faster via additonal prunning other than that by the alpha-beta algorithm. The Othello programme uses a weight matrix to evaluate games. The evaluation function is the difference of weighted sums of positions occupied by white pieces and those by black pieces. This matrix was generated by a genetic algorithm. First I generated 100 random matrices. Then the 100 alogrithms corresponding to the matrices played Othello against each other. If an algorithm lost too many games, it was killed. New algorithms were generated by making random matrices, mutating existing matrices or crossing existing matrices. This process continued for a few days and then I picked the best matrix among the 100.

The Web Othello programme does 1, 3 and 5 moves look-ahead in the Beginner, Normal and Adept levels respectively. Originally I used 2, 4, 6 but I found the programme too greedy since the last look-ahead move was made by the computer, not the human player. I want to use 7 moves look-ahead in the Adept mode but it seems that it is too slow on our deparments postgraduate student server, champion, which is a SPARCserver 20 and is always crowded.

If you have any comment about Web Othello, please drop me a line or two.


Last Modified 09/11/96 by Doug Kwan .