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.