Fairy-Stockfish janggi (ponder Problem)

Discussions about Winboard/Xboard. News about engines or programs to use with these GUIs (e.g. tournament managers or adapters) belong in this sub forum.

Moderator: Andres Valverde

Re: Fairy-Stockfish janggi (ponder Problem)

Postby H.G.Muller » 30 Oct 2020, 14:37

The '.' command is not the result of your null move. It is a CECP command to probe the engine in analysis mode, for checking what it is doing. (E.g. which move it is thinking about.) WinBoard sends it automatically every 2 seconds to the engine, when analyzing (but stops doing it if it gets no reply). Apparently SF does not implement this command. But it doesn't seem to hurt; it just continues analyzing, and accepts the move a3b3 you enter.

The clock click triggered the sending of 'setboard' later. It still uses the trick to send the complete position with the opposit side to move, rather than sending a null move @@@@. It has to use that trick for normal Chess engines, where turn passing is illegal. I changed that when playing games, but it turns out that during analysis a different piece of code in WinBoard is used for sending the move (because in analysis mode the opening book would not be used). And I had not changed it there. So during analysis it still sends a position ('setboard') instead of a move ('usermove @@@@').

Now in principle SF has some special code to recognize a position that only alters the side to move as a null move, so this should not have been a problem. But it apparently is: Stockfish processing of 'setboard' itself is broken. It does not work when the 'setboard' is received while a search is going on. In that case it should abort that search first, and it does not. It would also not automatically restart a search in the new position. In other words, it is not designed to be handled in analyze mode at all.

For the purpose of Janggi, which does have null move, it is probably easiest to just avoid setboard entirely, and let WinBoard send a null move instead. I have now uploaded a new WinBoard-AA.zip with a temporary fix that does this. (But only for the 'first engine'.)
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: Fairy-Stockfish janggi (ponder Problem)

Postby janggi-korea » 30 Oct 2020, 16:13

thank you. Works fine.
Currently, there is only one janggi engine(SF), so the first engine is the analysis engine.
janggi-korea
 
Posts: 130
Joined: 18 Aug 2020, 12:12

Re: Fairy-Stockfish janggi (ponder Problem)

Postby H.G.Muller » 30 Oct 2020, 16:17

Right, it doesn't make sense to use the same engine twice. And another engine might not have this Stockfish problem with setboard anyway.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: Fairy-Stockfish janggi (ponder Problem)

Postby janggi-korea » 30 Oct 2020, 16:43

We must final confirm. Maybe I'm asking too much of you.
Today I did my winboard first online match test.

1. Sometimes "Ponder" doesn't work.
-debug file Refer
2. Sometimes the engine does not move and only keeps pondering.
-The command does not work.(e.g: edit game) so I have to click "new game".



>> time 100
>> otim 1
>> usermove g0e3
<< 19 23 220 2035210 27 922579 0 c6c5 e2i2
<< feature GOTMOVE=1
<< info string classical evaluation enabled
<< 1 17 0 296 1 296000 0 c6c5
<< 2 23 0 711 2 711000 0 c6c5 e2i2
<< 3 23 0 1109 3 1109000 0 c6c5 e2i2 g9i6
<< 4 23 0 1556 4 778000 0 c6c5 e2i2 g9i6 e1e0
<< 5 25 0 2109 5 1054500 0 c6c5 e2i2 g9i6 e1e0 b9c7
<< 6 25 0 2749 6 1374500 0 c6c5 e2i2 g9i6 e1e0 b9c7 f0e1
<< 7 23 0 3508 7 1754000 0 c6c5 e2i2 g9i6 e1e0 f9e8 f0e1 e6d6
<< 8 23 0 4392 8 1464000 0 c6c5 e2i2 g9i6 e1e0 f9e8 f0e1 e6d6 i3h3
<< 9 23 0 6724 10 1344800 0 c6c5 e2i2 e7e4 e1f1 b7i7 f0e1 b9c7 f3f4 e4e7 g3f3
<< 10 9 3 37078 14 1090529 0 c6c5 e2i2 g9i6 e1e0 f9e8 f0e1 e7e5 i2c2 b9c7 c2c5 b7f7
<< 11 12 5 59599 15 1045596 0 c6c5 e2i2 g9i6 e1e0 e6d6 f0e1 b9c7 e0f0 c9e6 b0c2 f9e8
<< 12 24 9 92740 15 997204 0 c6c5 e2i2 g9i6 e1e0 b9c7 f0e1 e6d6 b0c2 f9e8 b2e2 c9e6 i3h3
>> rejected GOTMOVE
<< 13 24 22 209807 18 936638 0 c6c5 e2i2 g9i6 e1e0 e6d6 f0e1 b9c7 i2i5 i9g9 b0c2 d6d5 g3h3 d9e8 e0f0
<< 14 35 40 382361 19 939461 0 e6d6 e1f1 b9c7 f0e1 d9e8 b0c2 c9e6 e2i2 g9i6 i2i5 i9g9 f1f0 e7e5
<< 15 27 74 701010 22 938433 0 e6d6 e1f1 b9c7 b0c2 c9e6 e2i2 g9i6 f0e1 f9e8 i2i5 i6g9 i5i2 g9i6 i2i5 i9f9 b2f2
<< 16 35 101 942490 19 930394 0 e6d6
<< feature GOTMOVE=1
>> rejected GOTMOVE
<< move e6d6
>> lift b0
<< highlight 9/9/9/9/9/9/9/Y1Y6/9/9
>> lift b0
<< highlight 9/9/9/9/9/9/9/Y1Y6/9/9
>> put d7
>> lift b0
<< highlight 9/9/9/9/9/9/9/Y1Y6/9/9
>> put c2
>> time 100
>> otim 1
>> usermove b0c2
<< info string classical evaluation enabled
<< 1 29 0 270 1 135000 0 b9c7
<< 2 29 0 616 2 308000 0 b9c7 e1e0
<< 3 29 0 1004 3 502000 0 b9c7 e1e0 d9e8
<< 4 29 0 1483 4 741500 0 b9c7 e3c6 d6c6 c0e3
<< 5 35 0 2424 6 808000 0 b9c7 e2e4 f9e8 e1e0 d6e6 f0e1
<< 6 32 0 3032 7 1010666 0 b9c7 e2e4 d9e8 e1e0 i9i5 f3f4 c9e6
<< 7 36 0 3961 8 990250 0 b9c7 e2e4 f9e8 e1e0 d6e6 f0e1 c6d6 b2f2
<< 8 30 0 4805 8 1201250 0 b9c7 e2e4 d9e8 e1e0 i9i5 f0e1 c9e6 i0f0
<< 9 30 0 7248 11 1208000 0 b9c7 e1e0 d9e8 f0e1 c9e6 e2e4 b7d7 i0f0 i9i5
<< 10 30 0 8289 11 1184142 0 b9c7 e1e0 d9e8 f0e1 c9e6 e2e4 i9i5 g3g4 b7d7 f3f4 i5d5
<< 11 30 1 18246 12 1140375 0 b9c7 e1e0 d9e8 f0e1 c9e6 e2e4 i9i5 g3g4 b7d7 f3f4 i5d5 i3h3
<< 12 29 3 34923 15 1058272 0 b9c7 e1e0 c9e6 e2e4 d9e8 d0e1 i9i5 c3c4 i5e5 c4d4 b7d7 b2f2
<< 13 28 16 149888 16 908412 0 d9e8 e1f1 c9e6 e2i2 e7i7 a0a4 i9i8 f0e1 b9c7 a4f4 a6b6 b2f2 e6c3 b3c3
<< 14 36 39 359851 18 904148 0 b9c7 e1e0 c9e6 f3f4 b7d7 e2e4 d9e8 b2f2 i9i5 f0e1 e9d9 a0a1 i5c5
<< 15 33 61 556957 18 905621 0 c9e6 e1e0 b9c7 f0e1 d9e8 e2i2 i9h9 b2e2 b7d7 i2f2 e7e5 i0f0 e9d9 i3h3 c6c5
<< 16 33 100 907940 18 904322 0 c9e6 e1e0 b9c7 f0e1 d9e8 e2i2 i9h9 b2e2 b7d7 i2f2 e7e5 i0f0 e9d9 i3h3 c6c5
<< 15 30 100 907940 20 904322 0 b9c7 e1e0
<< feature GOTMOVE=1
>> rejected GOTMOVE
<< move b9c7
<< Hint: e1e0
<< info string classical evaluation enabled
<< 1 30 0 210 1 210000 0 c9e6
<< 2 30 0 615 2 615000 0 c9e6 f0e1
<< 3 29 0 1052 3 526000 0 c9e6 f0e1 i9i5
<< 4 30 0 1441 4 720500 0 c9e6 f0e1 i9i5 e3c6
<< 5 29 0 2077 5 1038500 0 c9e6 f0e1 i9i5 e0f0 d9e8
<< 6 41 0 2644 6 1322000 0 c9e6 f0e1 i9i5 c3c4 a6a5
<< 7 33 0 3078 7 1026000 0 c9e6 f0e1 i9i5 c3c4 d9e8 e2e4 b7d7
<< 8 41 0 4115 8 1371666 0 c9e6 f0e1 i9i5 c3c4 a6a5 b2b4 f9e8 i0f0 b7d7
<< 9 29 0 8171 10 1167285 0 c9e6 f0e1 i9i5 d0d1 d9e8 a0a1 c6c5 i0f0 b7d7 b2d2
<< 10 33 2 22617 16 1077000 0 c9e6 f0e1 i9i5 c3c4 d9e8 e2e4 b7d7 f3f4 a6a5 i0f0 i5d5 e4g4
<< 11 33 2 25479 12 1061625 0 c9e6 f0e1 i9i5 c3c4 d9e8 e2e4 b7d7 f3f4 a6a5 i0f0 i5d5 e4g4
<< 12 36 11 99222 17 902018 0 i9i5 f0e1 d9e8 i3i4 i5d5 c3c4 d5d3 a0a3 a6a5 b2b4 c9e6 c4d4 b7d7 e0f0
<< 13 38 32 280200 19 862153 0 c9e6 i3i4 d6d5 f0e1 d9e8 d0d1 c6c5 b2d2 e7e5 d2d0 b7f7 d0f2 a9d9
<< 14 30 64 575068 17 888822 0 c9e6 i3i4 d9e8 a0a4 b7d7 f0e1 a9d9 a4f4 a6b6 e2e4 @@@@ b2f2 e7e5 c3c4
<< 15 30 97 873240 18 892883 0 c9e6 i3i4 b7d7 f0e1 i9i8 e2e4 f9f8 g3g4 d9e8 f3f4 d7f9 b2f2
<< 16 28 198 1774313 20 894761 0 i9i5 f0e1 d9e8 c3c4 c9e6 d0d1 f9f8 b2d2 b7d7 d2d0 d7f9 a0a1 a9b9 b3b4 a6b6 i3i4 i5g5 e2e4 b9d9
<< 17 31 241 2170102 23 897849 0 i9i5 f0e1 c9e6 c3c4 f9e8 e2e4 d9d8 b2f2 b7d7 d0d1 i5e5 c4d4 e5c5 a0a2 d7a7 a2b2 a7a0 b2b0
<< 18 30 270 2426664 23 897434 0 i9i5 f0e1 c9e6 c3c4 f9e8 e2e4 b7d7 b3b4 e8f8 b2f2 d9e8 i0f0 d7f9 i3h3 i5e5 c4d4
<< 19 28 376 3354811 24 890815 0 i9i5 f0e1 c9e6 c3c4 b7d7 d0d1 d9e8 b2d2 i5g5 i3h3 g9i6 d2d0 e6g3 h3g3 i6g3 e3c6 g3i6 g2e3 d6c6 b3b4
<< 20 29 529 4684830 24 884764 0 i9i5 f0e1 c9e6 c3c4 b7d7 d0d1 d9e8 b2d2 f9f8 d2d0 d7f9 b3b4 e7a7 a0b0 a6b6 i0f0 f9f6 d0f2 e9d9 e2e4 a7d7 f3f4 i5e5
>> force
<< 21 29 708 6266263 24 884815 0 i9i5 f0e1 c9e6 c3c4 b7d7 d0d1 d9e8 b2d2 f9f8 d2d0 d7f9 b3b4 e7a7 a0b0 a6b6 i0f0 f9f6 d0f2 e9d9 e2e4 a7d7 f3f4 i5e5
<< 20 29 708 6266263 25 884815 0 i9i5 f0e1 b7d7 c3c4 f9e8 d0d1 d9d8 b3b4 d7f9 b2d2 c9e6 d2f0 a9b9 c2d4 e7e4 f3f4 e4e7 f0d0 e7a7 a0b0 a6b6
<< feature GOTMOVE=1
>> rejected GOTMOVE
janggi-korea
 
Posts: 130
Joined: 18 Aug 2020, 12:12

Re: Fairy-Stockfish janggi (ponder Problem)

Postby H.G.Muller » 30 Oct 2020, 17:08

The problem here is that SF only gives a PV of 1 move: the move it plays (e6d6).
Code: Select all
<< 16 35 101 942490 19 930394 0 e6d6

It doesn't show an expected reply that we could ponder on. The code I used for getting the ponder move is exactly the same of what was used in UCI mode: it takes the second move of the PV, and if there isn't one, it tries to recover such a move from the transposition table. Apparently both methods fail here.

This is not a problem of our CECP implementation. It is a general problem of the Stockfish search.

Not moving sounds like a worse problem. But the log you posted now does not show that. Please send me a log when it happens again.

BTW, you expect way too much from this pondering. Pondering doesn't do anything other than giving the engine perhaps 60% more time to think. That will not do very much for the playing strength, and it will do absolutely nothing to cure the current weaknesses of Fairy-Stockfish that pros can use to beat it.

If someone is ill informed it does not matter how long you have him think to draw a conclusion. It will still be the wrong conclusion. The only way to get a correct conclusion is to provide enough and correct information.

SF's weaknesses in Janggi stem from it having wrong information in its evaluation function. As a result it is striving for erroneous (= losing) goals. No amount of thinking is going to solve that. If you want it to play stronger, we must give it a more accurate evaluation function. (E.g. how piece values depend on game phase, which combinations of material offer no prospect of winning.) Stockfish might think that K + 2C vs K is an enormous advantage.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: Fairy-Stockfish janggi (ponder Problem)

Postby janggi-korea » 31 Oct 2020, 06:32

OK got it. Thanks. Let us now finish the ponder problem.
The engine developer has solved the "ponder" problem to some extent based on our information.
Let's start with the openingbook problem.
janggi-korea
 
Posts: 130
Joined: 18 Aug 2020, 12:12

Re: Fairy-Stockfish janggi (ponder Problem)

Postby H.G.Muller » 31 Oct 2020, 10:09

Can you give me the most recent version of the Fairy-Stockfish executable, so that I can use that for testing the book functions?
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Previous

Return to Winboard and related Topics

Who is online

Users browsing this forum: No registered users and 8 guests