Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Semi-OT Go programming

Author: Paul Clarke

Date: 11:51:09 05/25/05

Go up one level in this thread


On May 25, 2005 at 12:40:39, Tord Romstad wrote:

>On May 25, 2005 at 11:51:31, Paul Clarke wrote:
>
>>On May 25, 2005 at 06:17:02, Tord Romstad wrote:
>>
>>Shogi does indeed look interesting. I've written a toy shogi program using
>>alpha-beta search with the usual refinements; it plays fairly badly,
>>particularly when there are a few pieces available to drop and the branching
>>factor jumps to 200 or more.
>
>Actually, I don't think the big branching factor is the most important
>difficulty in shogi (or in go) compared to chess.  The really big problem is
>that it is so much harder to write an accurate evaluation function. Chess
>positions are relatively easy to evaluate because material (which is easy
>to count) is usually more important than everything else.  Shogi is
>different.  Except in the early phases of the game, material is less
>important than factors like initiative and king safety, which are very
>difficult to quantify.

Go is certainly much harder to write an evaluation function for, whereas my
guess for shogi is that it's harder than chess but not by a huge factor. Of
course, this may be due to me being a decent go player and a rotten shogi player
:-). My shogi program is certainly weak at king safety: it has the basic idea of
getting the king out of the centre and keeping a few pieces nearby, but it's too
easily seduced into advancing the pieces (and particularly pawns). I haven't
even tried measuring the initiative.

>
>I am the author of an engine for a chess-like game with a relatively big
>branching factor:  Glinski's hexagonal chess.  The branching factor is
>not quite as high as in Shogi, but positions with more than 100 legal
>moves are very common.  I initially expected it to be considerably more
>difficult to make a strong program for this game than for normal chess,
>but this does not seem to be the case.  My hexagonal chess engine is
>very similar to my normal chess engine (in fact, most of the code is
>shared), and the same techniques seem to work equally well in both
>games.  It is difficult to estimate the strength of the hexagonal chess
>engine accurately, but my impression is that it is roughly comparable
>to my normal chess engine.

Interesting. How does your hexagonal chess engine's effective branching factor
compare to the normal chess engine? I've written a program to play "Ploy", a
chess-like game with a typical middle-game branching factor of 150; it's play is
OK (better than my shogi program anyway!), but it definitely suffers from
limited depth due to a typical effective branching factor of about 7.

>
>>It could be improved quite a lot without abandoning
>>alpha-beta: the evaluation function is cobbled together from my limited shogi
>>knowledge, and I've payed very little attention to performance. However, I'm
>>tempted to switch to something similar to B*, mainly because it looks like an
>>interesting thing to play with.
>
>B* certainly looks fun, and I hope to try it out myself some day.  I doubt that
>it is the easiest way to go to create a strong shogi program, though.

Almost certainly not; alpha-beta with realisation probability looks the most
straightforward approach and has been used in at least one World Champion
program:

http://www-tsujii.is.s.u-tokyo.ac.jp/~tsuruoka/papers/icga02.pdf)




This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.