Questionaires from 2001 Tournament

After the 2001 Computer Octi tournament, each of the participants answered some questions about their bot. The official tournament report is also available.


Thomas Hallock

> 1. What is the name of your program?

Haskellbot

> 2. What programming language is it written in?

Haskell
 
> 3. Describe (in whatever detail you'd prefer) the
> algorithms you
> use (e.g., alpha beta, negascout, search
> optimizations, etc.)

Alpha beta was the algorithm used for the tourney.
Other non-released versions used various combinations
of  neural networks, tapering, and memoizing.
 
> 4. If your program used search, approximately how
> many game
> positions could it examine per second?  (To the
> nearest thousand
> is fine.)

It is kind of hard to count leaves with haskell, but
if it took about ten seconds per move looking four
levels ahead, with an average branching factor of 20
moves, that would be (20 branches per move) ^ (4 moves
ahead) / (10 seconds) = 16000 moves per second.
 
> 5. Are there interesting features for evaluating
> positions that
> you've used or considered?

not really.
There was a version which was considerably faster that
used a c function as an evaluator but this didn't make
it into the release.
I experimented with training a neural network with
genetic algorithms but never produced a playable
version doing this.
 
> 6. Are there are any other features of your program
> that
> might interest others?  If so, please share.

Nothing really special except the language it was
written in. I would be willing to bet that my code is
significantly smaller than anyone elses ;)

Charles Chiou

> 1. What is the name of your program?

None

> 2. What programming language is it written in?

C++

> 3. Describe (in whatever detail you'd prefer) the algorithms you
> use (e.g., alpha beta, negascout, search optimizations, etc.)

Two algorithms were submitted, the more complex one was not used in the
tournament since there were some bugs.

1. alphabeta
2. alphabeta with hashtable and speculative search

> 4. If your program used search, approximately how many game
> positions could it examine per second?  (To the nearest thousand
> is fine.)

after prunning,
460 node expansions per sec
3173 evaluations per sec

> 5. Are there interesting features for evaluating positions that
> you've used or considered?

No major changes from previous submission, ones used:
   material, mobility, threat, goal distance

Note: The evaluation function is too complex and slow.

> 6. Are there are any other features of your program that
> might interest others?  If so, please share.

Not yet. A reference implementation is planned to be released later
for public written in C. The purpose is to aide prgrammers in writing
OCTI AI robots. The proposed package will supply networking, and DLL
linkage to my GUI program. Perhaps other language bindings will also be
implemented: C++ and Java?

Charles Sutton


> 1. What is the name of your program?
>

Casbah

> 2. What programming language is it written in?
>


> 3. Describe (in whatever detail you'd prefer) the algorithms you
> use (e.g., alpha beta, negascout, search optimizations, etc.)
>

Alpha-beta.  Move ordering using history heuristic.

> 4. If your program used search, approximately how many game
> positions could it examine per second?  (To the nearest thousand
> is fine.)
>

On the statlab computers, I broke 5000 positions per sec (this counted
both interior and leaf nodes).

> 5. Are there interesting features for evaluating positions that
> you've used or considered?
>

The OfK bot sums a weight for each square that a player occupies.
Squares closer to the opponent's Octi squares have more weight.
A bonus is given for having a pod adjacent to an enemy Octi square
(it's a one square game).  Bonus is also given for adjacent pods.

> 6. Are there are any other features of your program that
> might interest others?  If so, please share.
>

None except those previously listed.

Aaron Armading


>  1. What is the name of your program?

  I never named it.

>  2. What programming language is it written in?

  C++

>  3. Describe (in whatever detail you'd prefer) the algorithms you
>  use (e.g., alpha beta, negascout, search optimizations, etc.)

AlphaBeta & NegaScout for the search. Also used iterative deepening,
sorting the first ply moves each successive search.

>  4. If your program used search, approximately how many game
>  positions could it examine per second?  (To the nearest thousand
>  is fine.)

Around 600-700 thousand on a Pentium 166. I don't have any accurate
numbers for faster computers.
  
>  5. Are there interesting features for evaluating positions that
>  you've used or considered?

Nope.
  
>  6. Are there are any other features of your program that
>  might interest others?  If so, please share.

Only that I kept the eval function pretty simple and hoped
that it would be able to reach a high enough ply to make up
for it.

Go back to Computer Octi tournaments.

By Charles Sutton, at casutton@cs.umass.edu. Last modified 10 / 31 / 01.