Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Semi-OT Go programming

Author: Tord Romstad

Date: 13:51:19 05/26/05

Go up one level in this thread


On May 25, 2005 at 14:51:09, Paul Clarke wrote:

>On May 25, 2005 at 12:40:39, Tord Romstad wrote:
>
>>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.

You are definitely right.  Shogi is much closer to chess than to go by any
metric.

>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.

Yes, the initiative looks even harder to evaluate than king safety.

There is also another obvious difficulty with shogi programming, which
I forgot to mention in my previous post:  It is hard to write a good
quiescence search, for the simple reason that there is no obvious way
to define quiescence.  In a typical shogi endgame, one could even argue
that there is no such thing as a quiescent position.

>>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.

Believe it or not, I have never measured the effective branching factor.  Based
on observing the program's analysis during games, I guesstimate it to be
around 4 in the middle game.  My normal chess program seems to be
around 2, or perhaps slightly higher.

>>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)

Yet another example of a phenomenon I have noticed recently: Despite
the fact that chess programs outnumber shogi programs by a big margin,
there seems to be considerably more interesting research going on in
computer shogi.

Tord





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.