hehe yes, I thought I'd read my interpretation somewhere ^^
Thanks hgm, I was beginning to doubt myself:-)
Arena "sd=9999"
Moderator: Ras
Re: Arena "sd=9999"
I'm not sure that's best. This would dis-allow you to change the depth-limit within a game I think, and would make the feature less usefull. (unless maybe if you reinstate the board to the last position in the current game after the new command, but that might cause problems in some engines)hgm wrote:...
If I were to implement setting the depth limit through a menu in a future Winboard version (which does seem a good idea, e.g. in the tim-control dialog), I would preceed the sending of new TC parameters by a new command, rather than sending a new level command and trying to countermand any depth or time limit by a second sd or st command.
--Laurens
-
- Posts: 794
- Joined: Wed Jul 19, 2006 9:58 am
Re: Arena "sd=9999"
..
Yes, you have I point... I printed it out but misread that part
I'm only implementing it to use your new logo feature you showed in the CPT
Ciao
Richard


Yes, you have I point... I printed it out but misread that part

I'm only implementing it to use your new logo feature you showed in the CPT

Ciao
Richard
-
- Posts: 28321
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Arena "sd=9999"
I had not considered that yet. Current WinBoard even refuses to pop up the time-control dialog during a game, but gives the message "changing the TC during a game is not implemented" in stead. So if that depth could be set from tht dialog, I would have to 'unlock' that during the game to allow changing the depth there.Laurens Winkelhagen wrote:I'm not sure that's best. This would dis-allow you to change the depth-limit within a game I think, and would make the feature less usefull. (unless maybe if you reinstate the board to the last position in the current game after the new command, but that might cause problems in some engines)
It is interesting that Arena assumes that you can send multiple level commands to an engine within the same game, without confusing it. We had a great deal of discussion about this on WB forum in connection with possible implementations of multi-session time controls.
-
- Posts: 6074
- Joined: Sat Apr 01, 2006 9:34 pm
- Location: Scotland
Re: Arena "sd=9999"
"wo ist das Problem? sd ist keine Suchstufe, sondern eine zusätzlicheRichard Allbert wrote:Hi Chris,
I've posted the log in the reply to Bob.... Windows vista, latest arena.
Richard
Begrenzung. Das Winboard-Protokoll ist einfach schlecht. Nicht umsonst gibt
es UCI...
Und wenn jemand seinen Schachmotor entwickelt, kann Arena natürlich mal
abstürzen.
Mir ist neulich Word abgestürzt, weil ich zu schnell geklickt habe."
Hello from Arena World to Winboarders everywhere.

Christopher
-
- Posts: 794
- Joined: Wed Jul 19, 2006 9:58 am
Re: Arena "sd=9999"

I don't think the WB protocol is worse than UCI.... UCI is easier to implement, but your engine is a the mercy of the GUI - you don't need any awareness of game state.
I find WB much cleaner... particularly when the games get long!
That being said, the very reason sd=9999 tripped me up was because I was "bending" my lazy uci friendly time implementation to WB

But sd=9999 is still incorrect...
-
- Posts: 20943
- Joined: Mon Feb 27, 2006 7:30 pm
- Location: Birmingham, AL
Re: Arena "sd=9999"
Looks like I let some debug code slip through at some point in time. I added that so that when I run test sets to a specific depth, sometimes I will change something that makes the tree blow up (extension change, etc) and I didn't want the test to run for an hour and then hang on an impossible depth limit. However that will still screw up on things like "easy move" and "in trouble time extension". Makes no sense to send a sd=9999 IMHO...jwes wrote:When i try it, is seems to stop searching when either the allotted time or depth is reached.bob wrote:I must say that if that is true, it is a truly stupid interpretation of that command, which several programs have been using for 20+ years. In Crafty, sd=n says to search N plies deep. Period...Laurens Winkelhagen wrote:as far as I know you should implement the "sd" command as a limit, not as an order: I mean, the engine should not think deeper than 9999 ply, but it's very much allowed to think less:-)
Code: Select all
Crafty v22.8 (1 cpus) White(1): sd 16 search depth set to 16. White(1): time 40/1 40 moves/1 minutes primary time control 40 moves/1 minutes secondary time control White(1): e4 time used: 25.50 time surplus 0.00 time limit 1.50 (+0.00) (10.50) depth time score variation (1) 11 0.46 0.17 1. ... Nc6 2. Nc3 Nf6 3. Nf3 e6 4. d4 Bb4 5. Bd3 Bxc3+ 6. bxc3 d5 7. exd5 exd5 11-> 0.62 0.17 1. ... Nc6 2. Nc3 Nf6 3. Nf3 e6 4. d4 Bb4 5. Bd3 Bxc3+ 6. bxc3 d5 7. exd5 exd5 12 0.98 0.27 1. ... Nc6 2. Nc3 Nf6 3. Nf3 e5 4. d4 exd4 5. Nxd4 Bb4 6. Nxc6 Bxc3+ 7. bxc3 dxc6 8. Qxd8+ Kxd8 time=1.50 mat=0 n=823434 fh=87% nps=548K ext-> check=7K qcheck=13K reduce=408K/87K predicted=0 evals=627K 50move=0 EGTBprobes=0 hits=0 SMP-> splits=0 aborts=0 data=0/64 elap=1.50 Black(1): Nc6 time used: 1.50
-
- Posts: 28321
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Arena "sd=9999"
It escapes me why it would be worse to specify a maximum search depth than an exact search depth. When specifying a limit, you can always make sure the limit is indeed reached by specifying an infinite seach time. But it gives you the flexibility to limit search time and depth at the same time, so that you still will get your engine to move in a decent time in the rare occasions where the search at the given depth blows up (e.g. because of abounding extensions).
A protocol that would only allow specification of an exact depth, and would not pay any attention to time, could never do that.
So it has nothing to do with taste. WinBoard protocol can do everything here that alternatives designs could have done, and on top of it, it can do more. That makes it objectively superior to alternative protocols.
In the v3 protocol proposal, even st and level were defined as orthogonal controls, that could occur together, and would then both be respected. So you could both limit the time for the entire game, but also the time on any single move. A mode of TC that seems to be commonly used in Xiangqi.
A protocol that would only allow specification of an exact depth, and would not pay any attention to time, could never do that.
So it has nothing to do with taste. WinBoard protocol can do everything here that alternatives designs could have done, and on top of it, it can do more. That makes it objectively superior to alternative protocols.
In the v3 protocol proposal, even st and level were defined as orthogonal controls, that could occur together, and would then both be respected. So you could both limit the time for the entire game, but also the time on any single move. A mode of TC that seems to be commonly used in Xiangqi.
-
- Posts: 6074
- Joined: Sat Apr 01, 2006 9:34 pm
- Location: Scotland
Winboard no level infinite......
Martin thinks sd=9999 is the best solution (as you read above from him) because you must clear the original depth limiting command somehow. The "new" command messes up some engines. If you send a different depth limit to the engine replacing the original then you do not see sd=9999 (unless of course you literally send sd=9999).Richard Allbert wrote:
I don't think the WB protocol is worse than UCI.... UCI is easier to implement, but your engine is a the mercy of the GUI - you don't need any awareness of game state.
I find WB much cleaner... particularly when the games get long!
That being said, the very reason sd=9999 tripped me up was because I was "bending" my lazy uci friendly time implementation to WB
But sd=9999 is still incorrect...
There are options for Fischer mode in Arena with regard to the level "infinite" (which is unsupported by the Winboard Protocol).
"The level 'infinite' does not exist for WinBoard engines. It has to be emulated for them."
Out of interest those options are in the Engines->Manage->Option tab.
As to Arena "assuming" multiple levels within a game, we know that some Winboard person will come along and try just that.....like you did.

We think sd=9999 is a fix for a BUG in the Winboard protocol to prevent the engine continuing with the wrong parameters.
Youve made our day.

Christopher
-
- Posts: 6074
- Joined: Sat Apr 01, 2006 9:34 pm
- Location: Scotland
Re: Arena "sd=9999"
Where will version 3 appear? When it does it will be implemented in Arena no doubt.hgm wrote:It escapes me why it would be worse to specify a maximum search depth than an exact search depth. When specifying a limit, you can always make sure the limit is indeed reached by specifying an infinite seach time. But it gives you the flexibility to limit search time and depth at the same time, so that you still will get your engine to move in a decent time in the rare occasions where the search at the given depth blows up (e.g. because of abounding extensions).
A protocol that would only allow specification of an exact depth, and would not pay any attention to time, could never do that.
So it has nothing to do with taste. WinBoard protocol can do everything here that alternatives designs could have done, and on top of it, it can do more. That makes it objectively superior to alternative protocols.
In the v3 protocol proposal, even st and level were defined as orthogonal controls, that could occur together, and would then both be respected. So you could both limit the time for the entire game, but also the time on any single move. A mode of TC that seems to be commonly used in Xiangqi.