Shogi plea

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

User avatar
hgm
Posts: 27788
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Shogi plea

Post by hgm »

Image

Shogi (Japanese Chess) is a truly fantastic game, if you consider the abstract board game, cleansed from any cultural excesses (such as kanji pieces). The more games I watch, the more I start to appreciate how much better it is than FIDE Chess. Draws are virtually non-existent, and a game is really never decided before checkmate. I have seen pretty strong engines lose from positions that evaluated as +22 (where Rook = 5, as usual).

It is really a pity that we, Chess-engine authors as a group, do not create more Shogi engines. It is a much more challenging task than creating a Chess engine, as for the latter it is pretty much known how exactly you have to do it, and you just follow the recipe. For Shogi, OTOH, there is still very much to discover and invent.

It is perfectly possible to write a Shogi engine without ever having played the game. My own Shogi engine, Shokidoki, is virtually without knowledge, but I had its rating determined by playing it on the 'Floodgate' server. This is a server that continuously plays medium-TC (15min sudden-death) comp-comp games, and calculates a rating based on those that should be comparable to human ratings on 'Shogi Club 24'. The rating corresponded to a good 2-Dan ranking on that server. Not bad at all, for a knowledge-poor 1-CPU program. And I haven't even tuned the piece values.

Millions of people play Shogi, and the yearly computer-Shogi World Championship has many times more participants that any computer-Chess tournament.

As WinBoard supports Shogi, the usual tools are available for developing an engine. You can play fast games, a fair amount of opponent engines are available for setting up a gauntlet (including many strong ones that can be brought into the required rating range by time odds, saving extra CPU time).

So people, please consider Shogi. Otherwise you don't know what you are missing! 8-)
User avatar
jsgroby
Posts: 83
Joined: Mon Mar 24, 2014 12:26 am
Location: Glen Carbon, IL USA

Re: Shogi plea

Post by jsgroby »

Thanks for the information. I have never heard of Shogi before, but am definitely going to look into it.

Jeff
PK
Posts: 893
Joined: Mon Jan 15, 2007 11:23 am
Location: Warsza

Re: Shogi plea

Post by PK »

Shogi is a beautiful and very deep game indeed. From time to time I think about programming it, but I'd have to dislike Rodent's code a bit more than I dislike it now.
User avatar
hgm
Posts: 27788
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Shogi plea

Post by hgm »

I made a start of creating a rating list for 15-min sudden-death games, by playing a giant round-robin of all engines weaker than SPEAR, with 10 games per pairing. SPEAR also participated in 9 strength-limited versions (using its SpearLevel option).

The number of games (160) should still be considered quite low, because the rating range is so large that most games are a guaranteed 1-0. Also all games did start from the standard opening position, counting on the engine's opening book (which many engines do not have, but at least SPEAR does) or build-in randomization to create game diversity; this could give too much chance on identical games when there are many more games per pairing.

From BayesElo with drawelo=1 and prior=0.1:

Code: Select all

Rank Name                        Elo    +    - games score oppo. draws
   1 SpearCSA2009v1.5 (USI2WB)  2114  107  107   160   92%  1409    1%
   2 SPEAR 9                    1996   92   92   160   86%  1416    1%
   3 SPEAR 8                    1926   87   87   160   82%  1420    2%
   4 Shokidoki tori             1912   86   86   160   81%  1421    1%
   5 SPEAR 7                    1901   87   87   160   80%  1422    0%
   6 SPEAR 6                    1661   80   80   160   64%  1437    1%
   7 Laramie V3 (USI2WB)        1628   79   79   159   61%  1443    1%
   8 TJshogi 0.10               1555   79   79   160   55%  1443    1%
   9 SPEAR 5                    1503   79   79   160   52%  1447    1%
  10 ssp (USI2WB)               1389   81   81   160   43%  1454    3%
  11 NebiyuAlien_1.43           1344   83   83   160   40%  1457    0%
  12 SPEAR 4                    1328   83   83   160   39%  1458    1%
  13 SPEAR 3                    1238   87   87   160   32%  1463    4%
  14 SPEAR 1                     881  104  104   160   15%  1486    3%
  15 SPEAR 2                     843  109  109   160   13%  1488    0%
  16 GNU Shogi 1.4.0p0           718  117  117   159    8%  1495    1%
  17 Lesserkai 1.3.6 (USI2WB)    714  116  116   160    7%  1496    2%
Because SPEAR's strength limitation includes limiting the search depth to the number of ply given by the level number, it becomes (at this TC on this hardware, a 3.4GHz i7) less effective at high levels, where in many complex positions there would not have been time to reach the depth limit anyway. So level 8, 9 and unlimited (10) are quite close in strength. At longer TC the strength of level 10 would continue to grow, while that of the limited versions would eventually saturate.
User avatar
vittyvirus
Posts: 646
Joined: Wed Jun 18, 2014 2:30 pm
Full name: Fahad Syed

Re: Shogi plea

Post by vittyvirus »

hgm wrote:Image

Shogi (Japanese Chess) is a truly fantastic game, if you consider the abstract board game, cleansed from any cultural excesses (such as kanji pieces). The more games I watch, the more I start to appreciate how much better it is than FIDE Chess. Draws are virtually non-existent, and a game is really never decided before checkmate. I have seen pretty strong engines lose from positions that evaluated as +22 (where Rook = 5, as usual).

It is really a pity that we, Chess-engine authors as a group, do not create more Shogi engines. It is a much more challenging task than creating a Chess engine, as for the latter it is pretty much known how exactly you have to do it, and you just follow the recipe. For Shogi, OTOH, there is still very much to discover and invent.

It is perfectly possible to write a Shogi engine without ever having played the game. My own Shogi engine, Shokidoki, is virtually without knowledge, but I had its rating determined by playing it on the 'Floodgate' server. This is a server that continuously plays medium-TC (15min sudden-death) comp-comp games, and calculates a rating based on those that should be comparable to human ratings on 'Shogi Club 24'. The rating corresponded to a good 2-Dan ranking on that server. Not bad at all, for a knowledge-poor 1-CPU program. And I haven't even tuned the piece values.

Millions of people play Shogi, and the yearly computer-Shogi World Championship has many times more participants that any computer-Chess tournament.

As WinBoard supports Shogi, the usual tools are available for developing an engine. You can play fast games, a fair amount of opponent engines are available for setting up a gauntlet (including many strong ones that can be brought into the required rating range by time odds, saving extra CPU time).

So people, please consider Shogi. Otherwise you don't know what you are missing! 8-)
Thank you for the information. WinBoard supports more variants than any other GUI I know. Manytimes I open WinBoard and play variants of which I've no knowledge of against engines and see myself crushing.
tpetzke
Posts: 686
Joined: Thu Mar 03, 2011 4:57 pm
Location: Germany

Re: Shogi plea

Post by tpetzke »

Hmm, from what I read I don't think it is a very popular game.
According to the "Leisure White Paper" by the Japanese Productivity Center for Socio-Economic Development, the "shogi population" (the number of people of 15 years or over who play at least one game of shogi a year) fell from 16.8 million in 1985 to 9 million in 2004, and 8.4 million in 2006, and is continuing to fall gradually. Though shogi has often appeared in the media during these decades, the publicity has not led to a "shogi boom." In Japan, shogi is most popular among ten to 19-year-olds.
Compare that to 600m people worldwide that play chess. In whole Europe only 400 or so people play it organized.

I don't think I will start an engine without any idea how the game works and what the basic strategies are. I'm not a strong chess player but I play the game for more than 30 years now. I feel myself connected to it. Maybe if I was born in Japan it would be different, but I'm not.
Thomas...

=======
http://macechess.blogspot.com - iCE Chess Engine
PK
Posts: 893
Joined: Mon Jan 15, 2007 11:23 am
Location: Warsza

Re: Shogi plea

Post by PK »

@HGM, I have looked at LesserKai code some time ago. It is artificially dumbed down by imposing ridiculously low depth limit. Removing this limitation turns it from a program that I can beat into much more demanding opponent.

However, there is a problem I was unable to overcome. Modified version might occasionally lose on time. If I remember correctly, this happens due to extensive checkmate search which needs another limit.
User avatar
hgm
Posts: 27788
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Shogi plea

Post by hgm »

Indeed, search explosions are a big problem if you want to do more in QS than just captures. (Like mates through check-drops, which become progressively more likely when pieces are traded in QS and fill the hands. So checks in the first few plies of QS won't cut it, you need them in the last few plies!)

Funny thing is that Shokidoki has a captures-only QS, and yet it now approaches SPEAR in strength (it scores about 30% against it), while SPEAR seems to have a very smart 'tsume' mate search integrated in its QS. As a result it often finds ridiculously deep mates, and it has good positional sense for creating attacks on the king fortress. OTOH this goes at the expense of the depth of the full-width search, so if there are no mates, Shokidoki outplays it tactically, and continually gobbles up material. Shokidoki tries to defend against being embushed by a mate purely through king-safety evaluation, without making an attempt to accurately figure out if there is a mate.
Ferdy
Posts: 4833
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: Shogi plea

Post by Ferdy »

New shogi winboard engine.

Code: Select all

Siyam readme 24july2014

A. Introduction
Siyam is a shogi 9x9 engine that supports winboard protocol. You may install it 
as an engine in winboard user interface. Siyam is a Filipino word meaning nine 
or 9 because this engine plays shogi 9x9. This program is based on Deuterium that
plays standard chess.

B. PAQ
1. Where to get winboard and how to install winboard and this engine?
Answer:
You can get the installer from here, 
http://www.open-aurec.com/wbforum/viewtopic.php?f=19&t=51528
Look for "Download Winboard 4.7.3 installer (2.5MB)"
Download and install it, once installed open the gui, then press Engine menu,
then press load first engine, then press the command button located
to the right of Engine (*.exe), then locate where siyam file is located in
your directory, then under Special winboard options type -variant shogi. Click OK
to go back to main window. You need to save the engine installation by pressing
Options then save settings now. Exit the winboard interface, open it again
and select Siyam under Sepcific Chess Engines: in Winboard startup window.

C. Settable parameters
Siyam has an initialization file called siyam.ini, You can open it
and change on-hold and on-board material value, material factor and positional
factor are also settable.

D. Todo
1. Improve evaluation
2. Improve search reductions and prunings
3. Improve move ordering
4. Improve staged move generations
https://sites.google.com/site/deuteriumengine/files
User avatar
Greg Strong
Posts: 388
Joined: Sun Dec 21, 2008 6:57 pm
Location: Washington, DC

Re: Shogi plea

Post by Greg Strong »

tpetzke wrote:Hmm, from what I read I don't think it is a very popular game.
According to the "Leisure White Paper" by the Japanese Productivity Center for Socio-Economic Development, the "shogi population" (the number of people of 15 years or over who play at least one game of shogi a year) fell from 16.8 million in 1985 to 9 million in 2004, and 8.4 million in 2006, and is continuing to fall gradually. Though shogi has often appeared in the media during these decades, the publicity has not led to a "shogi boom." In Japan, shogi is most popular among ten to 19-year-olds.
Compare that to 600m people worldwide that play chess. In whole Europe only 400 or so people play it organized.

I don't think I will start an engine without any idea how the game works and what the basic strategies are. I'm not a strong chess player but I play the game for more than 30 years now. I feel myself connected to it. Maybe if I was born in Japan it would be different, but I'm not.
I consider any game with millions of players to be popular. Surely not as popular as Orthodox Chess, which is itself probably less popular than Xiangqi (Chinese Chess) in terms of raw numbers of players. I'm an American who learned to play Chess at age 6. I discovered Shogi at aprox. age 30 and was blown away. Popularity doesn't necessarily correspond with the game that's most fun... I'm not particularly impressed with Xiangqi at all (although I admit I haven't given it much of a chance.) Shogi is definitely worth at least a try. That said, I'd try playing it before deciding to make an engine :) I love the game and still haven't been so ambitious as to try to make an engine ...