[comp.sys.amiga.programmer] Othello

Rino.Sassi@wolf.sublink.org (Rino Sassi) (05/07/91)

I'm developing (in Turbo C) an OTHELLO (TM) program.

Current  version  at level 4 (abt 30 mins per player, on a Compaq 386s) has 
the following features:

- looks forward 4 moves;          
- calculates the last 10 moves.

I'm  using  a simple alfa-beta algorithm with a complex evaluating function 
(similar  to  IAGO).  It wins regularly OthelloKiller (Commodore Amiga) and

Windows/othello  (ibm) at similar levels.  I would appreciate ANY help from 
you  in  order  to  increase its strenght.  In particular I'm interested in 
alfa-beta  algorithms  (killer  cut,  time  limited  moves, ...  ), special 
evaluating  functions  (about X squares, borders, ...  ), literature, books 
(titles),  other PD or SHAREWARE Othello programs, and tournament dates and 
sites (possibly in Europe).

You can leave a message in this area (to Rino Sassi)
or write or call:

My Address:  Gaetano Putaturo, 
             Loc. La Cagnola 4,
             56011 Calci PI, ITALIE.

Tel: +39-(0)50-937175
--  
 WolfNet BBS Pisa (Italy) Tel. +39-50-589050 300-14.4K Baud Matrix 2:332/602.0
 Rino Sassi - via FidoNet node 2:332/602
 UUCP: ...!gear!wolf!Rino.Sassi
 ARPA: Rino.Sassi@wolf.sublink.org

robinson@elux1.cs.umass.edu (Richard Robinson) (05/10/91)

In article <8993.28273AF2@wolf.sublink.org> Rino.Sassi@wolf.sublink.org (Rino Sassi) writes:
>I'm developing (in Turbo C) an OTHELLO (TM) program.
>
>Current  version  at level 4 (abt 30 mins per player, on a Compaq 386s) has 
>the following features:
>
>- looks forward 4 moves;          

You should be able to search a lot farther than that. You should allocate
a certain amount of time per move, then use an iterative alpha-beta
routine to look as far as time allows.

>- calculates the last 10 moves.
>
>I'm  using  a simple alfa-beta algorithm with a complex evaluating function 
>(similar  to  IAGO).  It wins regularly OthelloKiller (Commodore Amiga) and
>
>Windows/othello  (ibm) at similar levels.  I would appreciate ANY help from 
>you  in  order  to  increase its strenght.  In particular I'm interested in 
>alfa-beta  algorithms  (killer  cut,  time  limited  moves, ...  ), special 
>evaluating  functions  (about X squares, borders, ...  ), literature, books 
>(titles),  other PD or SHAREWARE Othello programs, and tournament dates and 
>sites (possibly in Europe).

Killers are easy - Every time you get a cutoff, save the move that caused
the cutoff in an array indexed by the current ply. Change your alpha-beta
routine to first search the killer if it is legal in the position. viola.

As for a great article, I suggest you read the paper on BILL 3.0. You
can find it in a recent issue of Artificial Intelligence. (Sorry, don't
know the number off hand.

-Dread
--
robinson@elux1.cs.umass.edu