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.