RuyDos with support for syzygy tablebases

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

AlvaroBegue
Posts: 931
Joined: Tue Mar 09, 2010 3:46 pm
Location: New York
Full name: Álvaro Begué (RuyDos)

Re: RuyDos with support for syzygy tablebases

Post by AlvaroBegue »

Guenther wrote:
AlvaroBegue wrote:I modified the code a tiny bit to report whatever the fathom interface says has gone wrong. Unfortunately, it's not much. It will probably just tell you "ERROR: No tablebases found", which isn't very informative.

I don't use Windows, but my memory of programming on MS-DOS around 20 years ago is that both "C:/blah" and "C:\blah" should work.

Does anyone have an idea of how to debug this?
Just an idea... Does your implementation perhaps expect up to 6men?
My folder (as the name says) is the complete set for 5men!
No, I also have just the 5-men tablebases, and it works fine for me.

Anyhow I will download your new attempt now and check what it says.

BTW the download size of 'master' is lying always ;-)

Guenther
Oh, I didn't notice that. I also don't know how to make older versions available for download on BitBucket. Perhaps I should just get another website to host direct downloads.
User avatar
Guenther
Posts: 4605
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: RuyDos with support for syzygy tablebases

Post by Guenther »

AlvaroBegue wrote:
Guenther wrote:
AlvaroBegue wrote:I modified the code a tiny bit to report whatever the fathom interface says has gone wrong. Unfortunately, it's not much. It will probably just tell you "ERROR: No tablebases found", which isn't very informative.

I don't use Windows, but my memory of programming on MS-DOS around 20 years ago is that both "C:/blah" and "C:\blah" should work.

Does anyone have an idea of how to debug this?
Just an idea... Does your implementation perhaps expect up to 6men?
My folder (as the name says) is the complete set for 5men!
No, I also have just the 5-men tablebases, and it works fine for me.

Anyhow I will download your new attempt now and check what it says.

BTW the download size of 'master' is lying always ;-)

Guenther
Oh, I didn't notice that. I also don't know how to make older versions available for download on BitBucket. Perhaps I should just get another website to host direct downloads.
I don't think that is necessary. ZuriChess e.g. has older downloads in the same folder as the master repository at bitbucket.
(from looking at the difference it seems you can add branches for different releases?)
https://bitbucket.org/zurichess/zuriche ... =downloads

For the issue with the syzygy crash I am running out of ideas though.
Probably a debug version would be needed?
First the error should be reproduced on another windows machine,
hopefully someone reports here too.

For the specs: I am running it on Win7-64 Ultimate on an older quadcore, which means I use the default ruydos compile,
because there are no popcount instructions available. (this shouldn't be the reason, because it runs w/o the syzygy path given
and I already had played a lot of games with version 1.02 on that machine.)
https://rwbc-chess.de

trollwatch:
Chessqueen + chessica + AlexChess + Eduard + Sylwy
User avatar
Werner
Posts: 2871
Joined: Wed Mar 08, 2006 10:09 pm
Location: Germany
Full name: Werner Schüle

Re: RuyDos with support for syzygy tablebases

Post by Werner »

Hi,
the engine crashes here too inside Shredder GUI !
Here the last debug lines from Shredder GUI:

Werner

UCI debug mode is now on
### 1.: to RuyDos 1.0.11 x64 (0): debug on

UCI log mode is now on
### 2.: to RuyDos 1.0.11 x64 (0): ucinewgame

### 3.: to RuyDos 1.0.11 x64 (0): isready

### from RuyDos 1.0.11 x64 (0): readyok

### 4.: to RuyDos 1.0.11 x64 (0): position fen 4k3/4p3/8/8/3p4/8/4N3/4KB2 w - -

### 5.: to RuyDos 1.0.11 x64 (0): go movestogo 40 wtime 480000 btime 480000
.......

23.00 0:10 +M51 1.Sxd4 (63.013.981) 6193
### from RuyDos 1.0.11 x64 (0): bestmove e2d4

Bester Zug: Se2xd4 Zeit: 0:10.266 min K/s: 6.193.021 Knoten: 63.013.981
### 6.: to RuyDos 1.0.11 x64 (0): position fen 4k3/4p3/8/8/3p4/8/4N3/4KB2 w - - moves e2d4 e8d7

### 7.: to RuyDos 1.0.11 x64 (0): go movestogo 39 wtime 469734 btime 472890

### from RuyDos 1.0.11 x64 (0): ERROR: Wrong position command (`moves' expected)

##### Unknown token: ERROR:
AlvaroBegue
Posts: 931
Joined: Tue Mar 09, 2010 3:46 pm
Location: New York
Full name: Álvaro Begué (RuyDos)

Re: RuyDos with support for syzygy tablebases

Post by AlvaroBegue »

Guenther wrote:[...]

For the issue with the syzygy crash I am running out of ideas though.
Probably a debug version would be needed?
First the error should be reproduced on another windows machine,
hopefully someone reports here too.

For the specs: I am running it on Win7-64 Ultimate on an older quadcore, which means I use the default ruydos compile,
because there are no popcount instructions available. (this shouldn't be the reason, because it runs w/o the syzygy path given
and I already had played a lot of games with version 1.02 on that machine.)
Ah! That's probably [at least part of] it! I have a separate compilation command for fathom and I wasn't careful, so it uses popcount for that part of the code.

Please download again and give it a try.
AlvaroBegue
Posts: 931
Joined: Tue Mar 09, 2010 3:46 pm
Location: New York
Full name: Álvaro Begué (RuyDos)

Re: RuyDos with support for syzygy tablebases

Post by AlvaroBegue »

Werner wrote:Hi,
the engine crashes here too inside Shredder GUI !
Here the last debug lines from Shredder GUI:

Werner

UCI debug mode is now on
### 1.: to RuyDos 1.0.11 x64 (0): debug on

UCI log mode is now on
### 2.: to RuyDos 1.0.11 x64 (0): ucinewgame

### 3.: to RuyDos 1.0.11 x64 (0): isready

### from RuyDos 1.0.11 x64 (0): readyok

### 4.: to RuyDos 1.0.11 x64 (0): position fen 4k3/4p3/8/8/3p4/8/4N3/4KB2 w - -

### 5.: to RuyDos 1.0.11 x64 (0): go movestogo 40 wtime 480000 btime 480000
.......

23.00 0:10 +M51 1.Sxd4 (63.013.981) 6193
### from RuyDos 1.0.11 x64 (0): bestmove e2d4

Bester Zug: Se2xd4 Zeit: 0:10.266 min K/s: 6.193.021 Knoten: 63.013.981
### 6.: to RuyDos 1.0.11 x64 (0): position fen 4k3/4p3/8/8/3p4/8/4N3/4KB2 w - - moves e2d4 e8d7

### 7.: to RuyDos 1.0.11 x64 (0): go movestogo 39 wtime 469734 btime 472890

### from RuyDos 1.0.11 x64 (0): ERROR: Wrong position command (`moves' expected)

##### Unknown token: ERROR:
Oh, this is a completely different problem. RuyDos expects two numbers before the "moves" part of the "position" command, which are supposed to be move counters of some sort. Those numbers are not very important, but I thought they were part of the UCI interface.

I'll try to make the UCI parsing more robust.

Thanks!
User avatar
Guenther
Posts: 4605
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: RuyDos with support for syzygy tablebases

Post by Guenther »

AlvaroBegue wrote:...

Ah! That's probably [at least part of] it! I have a separate compilation command for fathom and I wasn't careful, so it uses popcount for that part of the code.

Please download again and give it a try.
Success!

I have found a little glitch though. It seems it does something different
in analyze mode when a position appears which is covered by syzygy tablebases.

Code: Select all

8/8/8/8/8/3K3p/4Nk1N/8 b - - 5 1
e.g. if I want to analyse a position which is already 5men and 5men syzygy are used somehow there is no visible output in WB via polyglot.
(I guess it shouldn't answer with bestmove immediately and no score? - nothing appears in the output window of WB)

output for lastest SF:

Code: Select all

1498230285.209 GUI->Adapter: setboard 8/8/8/8/8/3K3p/4Nk1N/8 b - - 5 1
1498230285.209 POLYGLOT FEN 8/8/8/8/8/3K3p/4Nk1N/8 b - - 5 1
1498230285.209 POLYGLOT WAIT
1498230285.377 Engine->Adapter: info string Found 145 tablebases
1498230287.694 GUI->Adapter: analyze
1498230287.694 POLYGLOT ANALYSE
1498230287.694 POLYGLOT START SEARCH
1498230287.694 POLYGLOT Not sending option "UCI_Chess960" since it already has the correct value.
1498230287.694 POLYGLOT Not sending option "Ponder" since it already has the correct value.
1498230287.694 POLYGLOT FEN 8/8/8/8/8/3K3p/4Nk1N/8 b - - 5 1
1498230287.695 Adapter->Engine: position fen 8/8/8/8/8/3K3p/4Nk1N/8 b - - 5 1
1498230287.695 Adapter->Engine: go infinite
1498230287.699 Engine->Adapter: info depth 1 seldepth 1 multipv 1 score cp -12851 nodes 8 nps 1333 tbhits 1 time 6 pv f2e1
1498230287.699 Adapter->GUI: 1 -12851 1 8 Ke1
1498230287.699 Engine->Adapter: info depth 2 seldepth 2 multipv 1 score cp -12851 nodes 16 nps 2666 tbhits 1 time 6 pv f2e1 e2d4
1498230287.700 Adapter->GUI: 2 -12851 1 16 Ke1 Nd4
1498230287.700 Engine->Adapter: info depth 3 seldepth 3 multipv 1 score cp -12851 nodes 147 nps 24500 tbhits 1 time 6 pv f2e1 h2g4 e1f1
1498230287.700 Adapter->GUI: 3 -12851 1 147 Ke1 Ng4 Kf1
1498230287.700 Engine->Adapter: info depth 4 seldepth 5 multipv 1 score cp -12851 nodes 200 nps 33333 tbhits 1 time 6 pv f2e1 d3e3 e1d1 e3f2
1498230287.700 Adapter->GUI: 4 -12851 1 200 Ke1 Ke3 Kd1 Kf2
1498230287.700 Engine->Adapter: info depth 5 seldepth 5 multipv 1 score cp -12851 nodes 399 nps 66500 tbhits 1 time 6 pv f2e1 d3e3 e1d1 e3f2 d1c2
...
1498230297.353 Adapter->GUI: 49 -12851 966 32001947 Ke1 Nc3 Kf2 Kd2 Kg2 Ke2 Kg3 Ke3 Kh4 Kf4 Kh5 Kf5 Kh6 Kf6 Kh7 Nd5 Kg8 Ke5 Kf7 Kf5 Kg7 Nf4 Kh7 Kf6 Kh6 Nd5 Kh7 Ke5 Kh8 Ne3 Kg7 Kf5 Kf7 Kf4 Kf6 Kg4 Ke6 Kf3 Ke5 Kg3 Ke4 Nd1 Kd4 Kf4 Kd5 Ne3+ Kd4 Neg4 Kd3 Nf2+ Ke2 Ne4 Kd1 Ng5 Kd2 Ngf3+ Kd3
1498230297.353 Engine->Adapter: info depth 50 currmove f2e1 currmovenumber 1
1498230297.756 GUI->Adapter: .
1498230297.756 Adapter->GUI: stat01: 966 32001947 50 1 2 Ke1
1498230298.584 Engine->Adapter: info depth 50 seldepth 60 multipv 1 score cp -12851 nodes 36375373 nps 3339947 hashfull 155 tbhits 1 time 10891 pv f2e1 e2g3
1498230298.584 Adapter->GUI: 50 -12851 1089 36375373 Ke1 Ng3
1498230298.584 Engine->Adapter: info depth 50 currmove f2e1 currmovenumber 1
1498230299.475 Engine->Adapter: info depth 50 seldepth 60 multipv 1 score cp -12851 nodes 39491274 nps 3351831 hashfull 163 tbhits 1 time 11782 pv f2e1
1498230299.476 Engine->Adapter: info depth 50 currmove f2e1 currmovenumber 1
1498230299.766 GUI->Adapter: .
1498230299.766 Adapter->GUI: stat01: 1178 39491274 50 1 2 Ke1
1498230300.417 Engine->Adapter: info depth 50 seldepth 60 multipv 1 score cp -12851 nodes 42905414 nps 3372006 hashfull 170 tbhits 1 time 12724 pv f2e1 e2g3 e1d1 g3f1 d1e1 d3c3 e1d1 c3b2 d1e1 b2b3 e1d1 b3c4 d1c2 f1e3 c2d2 c4d4 d2e1 d4e5 e1e2 e5f4 e2f2 e3g4 f2e2 f4g3 e2d3 g3f3 d3d4 g4f2 d4e5 f3g4 e5f6 f2e4 f6e5 e4c3 e5f6 c3d5 f6e6 d5e3 e6f6 g4g3 f6g5 e3d5 g5f5 g3f3 f5e6 d5f4 e6f5 f4e2 f5g5 f3g3 g5h5 e2d4 h5g5 h2f3 g5h5
1498230300.417 Engine->Adapter: info depth 51 currmove f2e1 currmovenumber 1
1498230300.881 Engine->Adapter: info depth 51 seldepth 60 multipv 1 score cp -12851 nodes 44668222 nps 3387035 hashfull 175 tbhits 1 time 13188 pv f2e1 e2g3 e1d1 g3f1 d1e1 d3c3 e1d1 c3b2 d1e1 b2b3 e1d1 b3c4 d1c2 f1e3 c2d2 c4d4 d2e1 d4e5 e1e2 e5f4 e2f2 e3g4 f2e2 f4g3 e2d3 g3f3 d3d4 g4f2 d4e5 f3g4 e5f6 f2e4 f6e5 e4c3 e5f6 c3d5 f6e6 d5e3 e6f6 g4g3 f6g5 e3d5 g5f5 g3f3 f5e6 d5f4 e6f5 f4e2 f5g5 f3g3 g5h5 e2d4 h5g5 h2f3 g5h5 g3h2 h5g4
1498230300.882 Adapter->GUI: 51 -12851 1319 44668222 Ke1 Ng3 Kd1 Ngf1 Ke1 Kc3 Kd1 Kb2 Ke1 Kb3 Kd1 Kc4 Kc2 Ne3+ Kd2 Kd4 Ke1 Ke5 Ke2 Kf4 Kf2 Neg4+ Ke2 Kg3 Kd3 Kf3 Kd4 Nf2 Ke5 Kg4 Kf6 Ne4+ Ke5 Nc3 Kf6 Nd5+ Ke6 Ne3 Kf6 Kg3 Kg5 Nd5 Kf5 Kf3 Ke6 Nf4+ Kf5 Ne2 Kg5 Kg3 Kh5 Nd4 Kg5 Nhf3+ Kh5 Kh2 Kg4
1498230300.882 Engine->Adapter: info depth 52 currmove f2e1 currmovenumber 1
1498230301.778 GUI->Adapter: .
1498230301.778 Adapter->GUI: stat01: 1319 44668222 52 1 2 Ke1
1498230302.706 Engine->Adapter: info depth 52 seldepth 60 multipv 1 score cp -12851 nodes 51582309 nps 3436071 hashfull 193 tbhits 1 time 15012 pv f2e1 e2g3 e1d1 g3f1 d1e1 d3c3 e1d1 c3b2 d1e1 b2b3 e1d1 b3c4 d1c2 f1e3 c2d2 c4d4 d2e1 e3g4 e1e2 d4e5 e2e1 e5f4 e1e2 f4g3 e2d3 g3f3 d3d4 g4f2 d4e5 f3g4 e5f6 f2e4 f6e5 e4c3 e5f6 c3d5 f6e6 d5e3 e6f6 g4g3 f6g5 e3d5 g5f5 g3f3 f5e6 d5f4 e6f5 f4d3 f5g5 f3g3 g5f5 d3f2 f5f6 f2e4 f6f5 e4d2 f5f6 d2f3
1498230302.706 Adapter->GUI: 52 -12851 1501 51582309 Ke1 Ng3 Kd1 Ngf1 Ke1 Kc3 Kd1 Kb2 Ke1 Kb3 Kd1 Kc4 Kc2 Ne3+ Kd2 Kd4 Ke1 Neg4 Ke2 Ke5 Ke1 Kf4 Ke2 Kg3 Kd3 Kf3 Kd4 Nf2 Ke5 Kg4 Kf6 Ne4+ Ke5 Nc3 Kf6 Nd5+ Ke6 Ne3 Kf6 Kg3 Kg5 Nd5 Kf5 Kf3 Ke6 Nf4+ Kf5 Nd3 Kg5 Kg3 Kf5 Nf2 Kf6 Ne4+ Kf5 Nd2 Kf6 Ndf3
1498230302.706 Engine->Adapter: info depth 53 currmove f2e1 currmovenumber 1
1498230303.792 GUI->Adapter: .
1498230303.792 Adapter->GUI: stat01: 1501 51582309 53 1 2 Ke1
1498230304.080 Engine->Adapter: info depth 53 seldepth 60 multipv 1 score cp -12851 nodes 56574136 nps 3452589 hashfull 205 tbhits 1 time 16386 pv f2e1 e2g3 e1d1 g3f1 d1e1 d3c3 e1d1 c3b2 d1e1 b2b3 e1d1 b3c4 d1c2 f1e3 c2d2 c4d4 d2e1 e3g4 e1e2 d4e5 e2e1 e5f4 e1e2 f4g3 e2d3 g3f3 d3d4 g4f2 d4e5 f3g4 e5d4 g4f4 d4c4 f4g3 c4c5 f2g4 c5d5 g3f4 d5c5 g4e5 c5b5 f4g3 b5b4 g3g4 b4c5 e5f3 c5d5 g4f4 d5d6 f4g3 d6d5 f3g5 d5e5 g3g4 e5f6 g5e4 f6e5
1498230304.080 Adapter->GUI: 53 -12851 1639 56574136 Ke1 Ng3 Kd1 Ngf1 Ke1 Kc3 Kd1 Kb2 Ke1 Kb3 Kd1 Kc4 Kc2 Ne3+ Kd2 Kd4 Ke1 Neg4 Ke2 Ke5 Ke1 Kf4 Ke2 Kg3 Kd3 Kf3 Kd4 Nf2 Ke5 Kg4 Kd4 Kf4 Kc4 Kg3 Kc5 Nfg4 Kd5 Kf4 Kc5 Ne5 Kb5 Kg3 Kb4 Kg4 Kc5 Nef3 Kd5 Kf4 Kd6 Kg3 Kd5 Ng5 Ke5 Kg4 Kf6 Ne4+ Ke5
1498230304.080 Engine->Adapter: info depth 54 currmove f2e1 currmovenumber 1
1498230305.804 GUI->Adapter: .
1498230305.804 Adapter->GUI: stat01: 1639 56574136 54 1 2 Ke1
1498230306.573 Engine->Adapter: info depth 54 seldepth 60 multipv 1 score cp -12851 nodes 65541139 nps 3471642 hashfull 222 tbhits 1 time 18879 pv f2e1 e2g3 e1d1 g3f1 d1e1 d3c3 e1d1 c3b2 d1e1 b2b3 e1d1 b3c4 d1c2 f1e3 c2d2 c4d4 d2e1 e3g4 e1e2 d4e5 e2e1 e5f4 e1e2 f4g3 e2d3 g3f3 d3d4 g4f2 d4c3 f3f4 c3d4 f4g3 d4d5 f2d1 d5e5 d1c3 e5f5 c3e2 f5g5 e2d4 g5f6 g3g4 f6e5 d4e2 e5d6 g4f4 d6d5 e2c3 d5d4 c3e4 d4d3 e4d6 d3d4 d6f5 d4d5 f4g4 d5e4 f5g3 e4e3
1498230306.573 Adapter->GUI: 54 -12851 1888 65541139 Ke1 Ng3 Kd1 Ngf1 Ke1 Kc3 Kd1 Kb2 Ke1 Kb3 Kd1 Kc4 Kc2 Ne3+ Kd2 Kd4 Ke1 Neg4 Ke2 Ke5 Ke1 Kf4 Ke2 Kg3 Kd3 Kf3 Kd4 Nf2 Kc3 Kf4 Kd4 Kg3 Kd5 Nd1 Ke5 Nc3 Kf5 Ne2 Kg5 Nd4 Kf6 Kg4 Ke5 Ne2 Kd6 Kf4 Kd5 Nc3+ Kd4 Ne4 Kd3 Nd6 Kd4 Nf5+ Kd5 Kg4 Ke4 Ng3+ Ke3
1498230306.573 Engine->Adapter: info depth 55 currmove f2e1 currmovenumber 1
1498230307.816 GUI->Adapter: .
1498230307.816 Adapter->GUI: stat01: 1888 65541139 55 1 2 Ke1
1498230308.907 Engine->Adapter: info depth 55 seldepth 61 multipv 1 score cp -12851 nodes 74164510 nps 3496182 hashfull 238 tbhits 1 time 21213 pv f2e1 e2g3 e1d1 g3f1 d1e1 d3c3 e1d1 c3b2 d1e1 b2b3 e1d1 b3c4 d1c2 f1e3 c2d2 c4d4 d2e1 e3g4 e1e2 d4e5 e2e1 e5f4 e1e2 f4g3 e2d3 g3f3 d3d4 g4f2 d4c3 f3f4 c3d4 f4g3 d4e3 f2d1 e3d3 d1b2 d3e3 b2a4 e3d2 a4b6 d2d3 b6d7 d3e2 d7f6 e2d2 f6d5 d2d3 d5c7 d3c3 c7e6 c3d3 g3f3 d3c3 e6f4 c3d4 f3g3 d4c4 g3g4
1498230308.907 Adapter->GUI: 55 -12851 2121 74164510 Ke1 Ng3 Kd1 Ngf1 Ke1 Kc3 Kd1 Kb2 Ke1 Kb3 Kd1 Kc4 Kc2 Ne3+ Kd2 Kd4 Ke1 Neg4 Ke2 Ke5 Ke1 Kf4 Ke2 Kg3 Kd3 Kf3 Kd4 Nf2 Kc3 Kf4 Kd4 Kg3 Ke3 Nd1+ Kd3 Nb2+ Ke3 Na4 Kd2 Nb6 Kd3 Nd7 Ke2 Nf6 Kd2 Nd5 Kd3 Nc7 Kc3 Ne6 Kd3 Kf3 Kc3 Nf4 Kd4 Kg3 Kc4 Kg4
1498230308.907 Engine->Adapter: info depth 56 currmove f2e1 currmovenumber 1
1498230309.829 GUI->Adapter: .
1498230309.829 Adapter->GUI: stat01: 2121 74164510 56 1 2 Ke1
1498230311.199 Engine->Adapter: info depth 56 seldepth 70 multipv 1 score cp -12851 nodes 82441501 nps 3507402 hashfull 259 tbhits 1 time 23505 pv f2e1 e2g3 e1d1 g3f1 d1e1 d3c3 e1d1 c3b2 d1e1 b2b3 e1d1 b3c4 d1c2 f1e3 c2d2 c4d4 d2e1 e3g4 e1d2 h2f3 d2e2 g4h2 e2f2 d4d3 f2g3 d3e4 g3g2 e4e3 g2g3 f3d4 g3h4 e3f3 h4g5 f3g3 g5f6 g3g4 f6e5 d4f3 e5f6 g4f4 f6g6 f3e5 g6f6 e5d7 f6e6 d7c5 e6d5 c5e4 d5c4 e4d6 c4c3 d6f5 c3b4 f4g3 b4b5 f5d4 b5b4 d4e2 b4b5 e2c3 b5c4 c3e4 c4d4 e4d2 d4e3 d2c4 e3d4 c4b2 d4e5
1498230311.200 Adapter->GUI: 56 -12851 2350 82441501 Ke1 Ng3 Kd1 Ngf1 Ke1 Kc3 Kd1 Kb2 Ke1 Kb3 Kd1 Kc4 Kc2 Ne3+ Kd2 Kd4 Ke1 Neg4 Kd2 Nf3+ Ke2 Ngh2 Kf2 Kd3 Kg3 Ke4 Kg2 Ke3 Kg3 Nd4 Kh4 Kf3 Kg5 Kg3 Kf6 Kg4 Ke5 Ndf3+ Kf6 Kf4 Kg6 Ne5+ Kf6 Nd7+ Ke6 Nc5+ Kd5 Ne4 Kc4 Nd6+ Kc3 Nf5 Kb4 Kg3 Kb5 Nd4+ Kb4 Ne2 Kb5 Nc3+ Kc4 Ne4 Kd4 Nd2 Ke3 Nc4+ Kd4 Nb2 Ke5
1498230311.200 Engine->Adapter: info depth 57 currmove f2e1 currmovenumber 1
1498230311.843 GUI->Adapter: .
1498230311.843 Adapter->GUI: stat01: 2350 82441501 57 1 2 Ke1
1498230313.710 GUI->Adapter: exit
1498230313.710 POLYGLOT STOP SEARCH
1498230313.710 Adapter->Engine: stop
output for RuyDos:

Code: Select all

...
1498230429.673 GUI->Adapter: setboard 8/8/8/8/8/3K3p/4Nk1N/8 b - - 5 1
1498230429.673 POLYGLOT FEN 8/8/8/8/8/3K3p/4Nk1N/8 b - - 5 1
1498230429.673 POLYGLOT WAIT
1498230435.133 GUI->Adapter: analyze
1498230435.133 POLYGLOT ANALYSE
1498230435.133 POLYGLOT START SEARCH
1498230435.133 POLYGLOT FEN 8/8/8/8/8/3K3p/4Nk1N/8 b - - 5 1
1498230435.133 Adapter->Engine: position fen 8/8/8/8/8/3K3p/4Nk1N/8 b - - 5 1
1498230435.134 Adapter->Engine: go infinite
1498230435.136 Engine->Adapter: bestmove f2e1
1498230437.143 GUI->Adapter: .
1498230437.143 Adapter->GUI: stat01: 0 1 0 0 0
1498230439.153 GUI->Adapter: .
1498230439.153 Adapter->GUI: stat01: 0 1 0 0 0
1498230441.165 GUI->Adapter: .
1498230441.165 Adapter->GUI: stat01: 0 1 0 0 0
1498230443.179 GUI->Adapter: .
1498230443.179 Adapter->GUI: stat01: 0 1 0 0 0
1498230445.192 GUI->Adapter: .
1498230445.192 Adapter->GUI: stat01: 0 1 0 0 0
1498230447.205 GUI->Adapter: .
1498230447.205 Adapter->GUI: stat01: 0 1 0 0 0
1498230449.215 GUI->Adapter: .
1498230449.215 Adapter->GUI: stat01: 0 1 0 0 0
1498230450.542 GUI->Adapter: exit
1498230450.542 POLYGLOT WAIT
1498230450.642 GUI->Adapter: quit
1498230450.642 POLYGLOT *** "quit" from GUI **
BTW the position really happened in that strange game posted by Dimitri Gusev.
http://talkchess.com/forum/viewtopic.php?p=719973
(It seems Stockfish did not use the 5men syzygy there and I was curious what they would say here and if Bobcat had a draw or not in that ending)

[Site " Purdue FOSCEC Season 4"]
[Date "06-20-2017"]
[White "Stockfish 180417 64 BMI2 "]
[Black "Bobcat v8.0 "]
[Result "1-0"]
[TimeControl "012030 "]

1. e4 e6 2. d4 d5 3. Nd2 c5 4. exd5 exd5 5. Ngf3 Nf6 6. Bb5 Bd7 7. Bxd7

Nbxd7 8. O-O Be7 9. dxc5 Nxc5 10. Nb3 Nce4 11. c3 O-O 12. Be3 Re8

13. Nbd4 Ng4 14. Bf4 Bd6 15. Bxd6 Nxd6 16. Qb3 Nf6 17. Rfe1 Qc7 18. Ne5

h6 19. Rad1 a6 20. Nd3 Rac8 21. g3 Nc4 22. Qc2 Re4 23. f3 Ne3 24. Qc1

Nxd1 25. fxe4 dxe4 26. Nb4 a5 27. Nbc2 Nxc3 28. bxc3 Qxc3 29. Qa1

Nd5 30. Qxc3 Nxc3 31. Rc1 Rd8 32. a3 g6 33. Kf1 Na4 34. Rb1 b6 35. Rb5

Kf8 36. Kf2 Rc8 37. h4 Rc3 38. h5 Rd3 39. Rd5 Nb2 40. Rd7 gxh5 41. Rc7

Kg8 42. Ne2 Rb3 43. Ke1 Na4 44. Rc6 Nc5 45. Kf1 Ne6 46. Nc3 f5 47. Ke1

Kf7 48. a4 Nc5 49. Nd5 Rxg3 50. Rf6 Ke8 51. Rxb6 Nxa4 52. Re6 Kf7

53. Rc6 Rd3 54. Nce3 Nc3 55. Rxc3 Rxc3 56. Nxc3 Kg8 57. Nxf5 Kf7 58. Nxe4

Ke8 59. Nf6 Kd8 60. Nxh5 Kc8 61. Nd4 a4 62. Kd1 Kd8 63. Kc1 a3 64. Kc2

Kd7 65. Ne2 Kd6 66. Kb3 Kc5 67. Kxa3 Kb6 68. Neg3 Kb7 69. Kb4 Kc8

70. Kc5 Kc7 71. Nf5 Kd7 72. Kd5 Kc7 73. Ke5 Kc6 74. Nf4 h5 75. Nh4

Kc5 76. Ne6 Kb5 77. Kf4 Kb6 78. Ng5 Kc7 79. Kf5 Kc8 80. Ngf3 Kd8

81. Nd2 Kc8 82. Kg6 Kd8 83. Nf1 Kd7 84. Ng3 Kc6 85. Ngf5 Kd7 86. Kf6

Kd8 87. Ne3 Kc8 88. Kf5 Kd7 89. Neg2 Kc8 90. Ne1 Kd8 91. Nd3 Kc8

92. Kf6 Kd8 93. Ne5 Kc8 94. Ke6 Kb7 95. Kd5 Kb6 96. Kc4 Ka6 97. Nd3

Kb7 98. Kc5 Ka6 99. Kc6 Ka5 100. Kc5 Ka4 101. Kc4 Ka3 102. Nf4 Ka2

103. Nd5 Kb2 104. Nb4 Kc1 105. Kd3 Kd1 106. Nd5 Kc1 107. Kc3 Kd1 108. Nf4

Ke1 109. Kd3 Kf2 110. Ne2 Ke1 111. Nd4 Kf2 112. Ndf5 Ke1 113. Nd6

Kd1 114. Ne4 Ke1 115. Ng2 Kd1 116. Nf2 Kc1 117. Kc3 Kb1 118. Ne3 h4

119. Nh3 Ka2 120. Nc4 Kb1 121. Kd2 Ka2 122. Kc2 Ka1 123. Kb3 Kb1 124. Nb2

Kc1 125. Kc3 Kb1 126. Nd3 Ka2 127. Kb4 Kb1 128. Kb3 Ka1 129. Ndf4

Kb1 130. Ne2 Ka1 131. Nd4 Kb1 132. Kb4 Ka2 133. Kc3 Kb1 134. Kd2 Kb2

135. Kd3 Ka2 136. Kc3 Kb1 137. Nb5 Kc1 138. Nd6 Kb1 139. Nc4 Kc1 140. Nb2

Kb1 141. Nd3 Ka2 142. Kb4 Kb1 143. Kb3 Ka1 144. Ne1 Kb1 145. Nf3 Kc1

146. Kc3 Kd1 147. Nf4 h3 148. Nh2 Ke1 149. Kd3 Kf2 150. Ne2 Kg2 151. Ke3

Kxh2 152. Kf3 Kh1 153. Kf2 h2 154. Ng3#
https://rwbc-chess.de

trollwatch:
Chessqueen + chessica + AlexChess + Eduard + Sylwy
AlvaroBegue
Posts: 931
Joined: Tue Mar 09, 2010 3:46 pm
Location: New York
Full name: Álvaro Begué (RuyDos)

Re: RuyDos with support for syzygy tablebases

Post by AlvaroBegue »

Guenther wrote:
AlvaroBegue wrote:...

Ah! That's probably [at least part of] it! I have a separate compilation command for fathom and I wasn't careful, so it uses popcount for that part of the code.

Please download again and give it a try.
Success!

I have found a little glitch though. It seems it does something different
in analyze mode when a position appears which is covered by syzygy tablebases.

Code: Select all

8/8/8/8/8/3K3p/4Nk1N/8 b - - 5 1
e.g. if I want to analyse a position which is already 5men and 5men syzygy are used somehow there is no visible output in WB via polyglot.
(I guess it shouldn't answer with bestmove immediately and no score? - nothing appears in the output window of WB)
Yes, that's what I did. I am not sure what the desired behavior is, but this is good enough for winning games, which is my primary focus.

I think if the root of the tree is already in the tablebases, I could prune all the moves that are not in the optimal class and then search normally, or perhaps with the bitbases disabled. Or maybe I could just print an info message with the score before I return a best move.