WinBoard, exotic version

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

Daniel Shawul
Posts: 4185
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: WinBoard, exotic version

Post by Daniel Shawul »

I guess I did not answer this clearly:

Problems like we initially had in Spartan Chess should have all been fixed now. WinBoard does use the pieceToChar table to map promoChar to piece, but it first applies ToUpper or ToLower to it to be sure it is looking into the set of allowed pieces for the side that does the promotion. On output it uses the peceToChar table, and then applies ToUpperor ToLower to it, depending on if it is constructing SAN or long algebraic.
Ok I get it now. Does it do the same in "alien" mode to , or does it just relay whatever the other engine sends it ? It probably does it since I remeber I can play spartan in both modes without a problem.
User avatar
hgm
Posts: 27802
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: WinBoard, exotic version

Post by hgm »

I think currently nothing of what one engine sends can leak through to the other. This is not dependent on variant. Incoming moves are converted to internal representation, and then converted back to SAN and long-algebraic. In the past this was not air-tight, but I think I plugged all leaks by now.

Note I uploaded a new version, which seems to work for 19x19 Go.
Daniel Shawul
Posts: 4185
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: WinBoard, exotic version

Post by Daniel Shawul »

I fixed the the rank start for 11+ and now it works flowlessly on 13x13 or 19x19 go. Also reversi works. Btw this version also accepts p@g3. Did you fix that too ? I would like to keep sending small letter if it works.

Edit:
<000000011875> setboard 1p1p1p2/p1p1p3/5p1p/8/1p1p4/P1P1P1P1/1P1P1P1P/P1P1P1P1 w - - 0 1
<000000012562> lift c3
highlight 8/6c1/5g2/R3R3/1g1g4/8/8/8
<000000016343> lift c3
highlight 8/6c1/5g2/R3R3/1g1g4/8/8/8
<000000016859> hover e5
highlight 8/8/8/4R3/8/8/8/8
<000000017953> put e5,
<000000017953> lift e5
click g7
<000000017968> usermove c3e5,e5g7
<000000022203> lift c7
<000000023796> put b6
<000000023796> usermove c7b6
<000000025375> lift g7
<000000026828> put h8
<000000026828> usermove g7h8q
Illegal move: g7h8q
<000000185484> quit
Bye Bye
g7h8q got rejected by Nebiyu. It was expecting a g7h8Q with a capital.
That was when I tried to promote.

With machine machine, it works because Nebiyu sent the g7h8Q.
So should the engine, or winboard handle this appropriately based on who is moving.
22 645 76 2159838 g7h8 b6a5 a1b2 g5h4 b2c3 d8c7 g3f4 c7d6 c3b4 a5c3 d2b4 e7f6 c5e7 f8d6 h8g7 f6e5 d4f6 a7b6 c1d2 b6c5 f4e5 d6f4 b4d6 EBF = 1.87
23 655 136 3874104 g7h8 e7d6 c5e7 f8d6 g3h4 g5f4 d4e5 d8c7 f2g3 d6c5 h8g7 c5d4 a1b2 b6c5 e1f2 a7b6 f2e3 d4f2 g1e3g5 c5d4 b2c3 d4b2 c1a3 EBF = 1.87
nodes = 4307663 <24 qnodes> time = 1531ms nps = 2813627
splits = 0 badsplits = 0
<000000051203> move g7h8Q

<000000052750> time 5542
<000000052750> otim 5401
<000000052750> usermove e7d6
3p1p1Q/p7/1p1p4/2P3p1/3P4/6P1/3P1P1P/P1P1P1P1 w - - 0 7
[st = 1505ms, mt = 26960ms , moves_left 34]
1 0 1 0 c5e7 EBF = 1.00
<000000052766> move c5e7
Last edited by Daniel Shawul on Mon Jun 27, 2011 8:25 pm, edited 1 time in total.
User avatar
hgm
Posts: 27802
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: WinBoard, exotic version

Post by hgm »

Yes, I fixed that too. For drop moves it is not that bad, as the @ sign prevents any ambiguity. But it is still to be considered non-compliant.

Do you have a position+move for which the problem occurred? With NebiyuCheckers on 8x8 I did not notice any problem, even with /sweepPromotions=true. There still would be the alternative to set it to false, and set /alwaysPromoteToQueen=true.
Daniel Shawul
Posts: 4185
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: WinBoard, exotic version

Post by Daniel Shawul »

Ooops..how stupid of me ? There was another forced capture I had to make before promoting! I didn't see it. It is embarassing really
It was this position.
1p1p1p2/p3p1P1/1p5p/8/1p6/P3P1P1/1P1P1P1P/P1P1P1P1 w - - 0 2

Edit:
Winboard board ranks are not properly displayed. Only the second digit of the 2 digit ranks is visible

The files are also not properly displayed.
User avatar
hgm
Posts: 27802
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: WinBoard, exotic version

Post by hgm »

OK, it seems we are converging to something that works now. Are there any remaining issues?

The current version does not allow larger than 16x16 for games that use from-squares (because the internal storage format of from squares then becomes ambiguous with drops), but fortunately the largest board I am aware of is Big Chess, which is 16x16. (And the fact we start counting at 0 saves us then!) And Go uses no from squares.
Daniel Shawul
Posts: 4185
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: WinBoard, exotic version

Post by Daniel Shawul »

OK, it seems we are converging to something that works now. Are there any remaining issues?

The current version does not allow larger than 16x16 for games that use from-squares (because the internal storage format of from squares then becomes ambiguous with drops), but fortunately the largest board I am aware of is Big Chess, which is 16x16. (And the fact we start counting at 0 saves us then!) And Go uses no from squares.
Nothing I can think of right now except for that simple file/rank display problem as shown in the image below. You go ahead and finalize and I will do the same with Nebiyu with the new coloring (including green) and upload a 1.41.

Image
Rein Halbersma
Posts: 741
Joined: Tue May 22, 2007 11:13 am

Re: WinBoard, exotic version

Post by Rein Halbersma »

Daniel Shawul wrote:Yes that was exactly what I used. I forgot that I saw your name somewhere :) My perft numbers match exactly for 8x8 checkers. For international checkers
it matches upto only depth=8. For depth 9 upwards, there are some circular captures (>=4) i.e different paths but same piceces captured, that I do not weed out in my move generator. Because of that it does not match but I think it is safe.

Since I use piece lists, the speed of move generation is much much slower than yours. This probably won't change soon since my goal is to try out different types of games where bitboards are not suitable.

regards,
Just for your convenience, see below for the impact of duplicate capture removal. The column "leafs" is the one to watch (I use quasi-UCI output for my perft routine, I use hashing with full positions as keys, and I count nps the same as during the search, so not equal to leafs per second). The difference for the initial position is tiny, but it is standard practice for international draughts. The reason? Some people have constructed positions in which a king can capture 14 men in >500 different ways. This will crash a program with fixed-size move list!

Perft(11) for international (10x10) draughts without duplicate capture removal

Code: Select all

3>  info depth  9 leafs     41022614 nodes       875744 time   3031 nps 1098801 hashfull   36
3>  info depth 10 leafs    258935682 nodes      3284281 time   6062 nps 1083564 hashfull  126
3>  info depth 11 leafs   1666207133 nodes     11709039 time  17000 nps 1070492 hashfull  391
Perft(11) for international (10x10) draught with duplicate capture removal

Code: Select all

3>  info depth  9 leafs     41022423 nodes       875739 time   3500 nps  675204 hashfull   36
3>  info depth 10 leafs    258895763 nodes      3284249 time   6703 nps 1025367 hashfull  126
3>  info depth 11 leafs   1665861398 nodes     11708163 time  18422 nps  999075 hashfull  391
Daniel Shawul
Posts: 4185
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: WinBoard, exotic version

Post by Daniel Shawul »

Just give me some time. On the 19x19 I may have got a problem towards the end around move 200. It happened twice and the game can not be finished. It can still finish 9x9 games though...
User avatar
hgm
Posts: 27802
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: WinBoard, exotic version

Post by hgm »

OK, I uploaded a version that fixed the coords display. I don'tuse doubledigits, though; that would take too much space. So it displays only the units digit, (but correctly, this time), which should not lead to any confusion.

Note that the ultima font contains a character that is a pure circle, which could be used for rendering Go stones.

When we are all done, shall I make an installer package that bundles WinBoard-Alien with Nebiyu?