ChessUSA.com TalkChess.com
Hosted by Your Move Chess & Games
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Stockfish, info currmove and bad UCI practice
Post new topic    TalkChess.com Forum Index -> Computer Chess Club: Programming and Technical Discussions Flat
View previous topic :: View next topic  
Author Message
H.G.Muller



Joined: 10 Mar 2006
Posts: 12777
Location: Amsterdam

PostPost subject: Re: Stockfish, info currmove and bad UCI practice    Posted: Sat Apr 21, 2012 10:35 am Reply to topic Reply with quote

syzygy wrote:
Well, according to this document:
Quote:
info
the engine wants to send infos to the GUI. This should be done whenever one of the info has changed.
The engine can send only selected infos and multiple infos can be send with one info command,
e.g. "info currmove e2e4 currmovenumber 1" or
"info depth 12 nodes 123456 nps 100000".
Also all infos belonging to the pv should be sent together
e.g. "info depth 2 score cp 214 time 1242 nodes 2124 nps 34928 pv e2e4 e7e5 g1f3"
I suggest to start sending "currmove", "currmovenumber", "currline" and "refutation" only after one second
to avoid too much traffic.

(...)
* currmove
currently searching this move

So, the purpose of the "info" command is merely to provide the user with information, e.g. about the move currently being searched. It is certainly not intended to provide the GUI with a list of legal moves.

Well, you can boldface the entire specs, if you want, but that won't succeed in highlighting the word 'user' anywhere. That seems to spring entirely from your imagination. I would say the info commands are there to provide the GUI with information, as the GUI is the party to receive that info.

Quote:
Sure you can tell me that you don't care what the protocol author thinks you should do with the information you get. However, relying on behavior not required by the protocol is simply broken.


I dont think that washes. To do things some (most?) users want, like printing PVs, you must rely on the engine sending you those PVs. As sending PVs is not required by the protocol, in your philosophy any GUI that would print PVs should be considered 'broken', and good GUIs should never show the user any PVs. In practice, however, >99% of the users would consider a GUI that does never shows PVs broken, and an engine that doesn't send PVs to a GUI that normally shows PVs a crappy engine.

What the GUI can do for the user reflects the capabilities of the engine. If the engine is stingy with information, the user will necessarily get less. Never using information that is not mandatory sent would make it completely pointless to ever send that info, and that cannot have been the idea of adding the possibility to send it to the protocol.

The title of this thread contains the phrase 'bad UCI practice'. That is not the same as 'Non-compliance', right? It is the task of engine developers to use the protocol in such a way that their product becomes useful. And I want to draw attention to the fact that not sending the currmove infos, or delaying it to far beyond the recommendation by the specs author, damages the usefullnes of the engine.

Quote:
For regular chess your problem is easy to fix: just let the GUI generate the legal moves. You can then use any info you get from the engine to improve the sorting of moves or whatever. If you don't get that information in time, then so be it.

For variants, I am sure engine authors will want to accomodate for your wishes. Just come up with a proper protocol extension that does what you need.


Actually it is better to recommendate them to stay away from UCI and use WB protocol, which solves all issues satisfactorily. It is just that there already exist quite a few UCI engines fro Xiangqi and Shogi.

I can further add that recommendations by the specs author (like any recommendations) should be understood in the context of his intentions, rather than taken as gospel. The UCI specs originally served the purpose of prescribing rules engines had to follow to be compatible with Shredder GUI. And what is good for Shredder GUI, is not necessarily good for other GUIs. So engine authors that are interested in making there engine run well on other GUIs should rather think for themselves what would be optimal behavior, rather than blindly following recommendations in the specs... As the world changes, demands in computer Chess change as well. Of course I understand that UCI is a dead protocol, carved in stone and not able to adapt to the needs of the time, but that doesn't mean that recommendations that once might have been good are still good today.
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Subject Author Date/Time
Stockfish, info currmove and bad UCI practice H.G.Muller Fri Apr 20, 2012 8:00 am
      Re: Stockfish, info currmove and bad UCI practice Martin Sedlak Fri Apr 20, 2012 8:12 am
            Re: Stockfish, info currmove and bad UCI practice H.G.Muller Fri Apr 20, 2012 9:36 am
                  Re: Stockfish, info currmove and bad UCI practice Martin Sedlak Fri Apr 20, 2012 10:25 am
      Re: Stockfish, info currmove and bad UCI practice Uri Blass Fri Apr 20, 2012 10:13 am
            Re: Stockfish, info currmove and bad UCI practice Martin Sedlak Fri Apr 20, 2012 10:38 am
                  Re: Stockfish, info currmove and bad UCI practice H.G.Muller Fri Apr 20, 2012 10:55 am
                        Re: Stockfish, info currmove and bad UCI practice Martin Sedlak Fri Apr 20, 2012 11:37 am
                              Re: Stockfish, info currmove and bad UCI practice H.G.Muller Fri Apr 20, 2012 5:32 pm
                                    Re: Stockfish, info currmove and bad UCI practice Ronald de Man Fri Apr 20, 2012 6:49 pm
                                          Re: Stockfish, info currmove and bad UCI practice H.G.Muller Fri Apr 20, 2012 8:46 pm
                                                Re: Stockfish, info currmove and bad UCI practice Ronald de Man Sat Apr 21, 2012 3:09 am
                                                      Re: Stockfish, info currmove and bad UCI practice H.G.Muller Sat Apr 21, 2012 10:35 am
                                                            Re: Stockfish, info currmove and bad UCI practice Ronald de Man Sat Apr 21, 2012 11:36 am
                                                                  Re: Stockfish, info currmove and bad UCI practice H.G.Muller Sat Apr 21, 2012 6:14 pm
                                                                        Re: Stockfish, info currmove and bad UCI practice Ronald de Man Sun Apr 22, 2012 1:22 am
                                                                              Re: Stockfish, info currmove and bad UCI practice Uri Blass Sun Apr 22, 2012 6:40 am
                                                                                    Re: Stockfish, info currmove and bad UCI practice H.G.Muller Sun Apr 22, 2012 9:03 am
                                                                                          Re: Stockfish, info currmove and bad UCI practice Ed Schroder Sun Apr 22, 2012 10:03 am
                                                                                          Re: Stockfish, info currmove and bad UCI practice H.G.Muller Sun Apr 22, 2012 7:14 pm
                                          Re: Stockfish, info currmove and bad UCI practice Marco Costalba Sat Apr 21, 2012 11:01 am
            Re: Stockfish, info currmove and bad UCI practice Gary Fri Apr 20, 2012 12:00 pm
                  Re: Stockfish, info currmove and bad UCI practice Marco Costalba Fri Apr 20, 2012 2:07 pm
                        Re: Stockfish, info currmove and bad UCI practice Uri Blass Fri Apr 20, 2012 8:25 pm
                              Re: Stockfish, info currmove and bad UCI practice Uri Blass Fri Apr 20, 2012 9:31 pm
                                    Re: Stockfish, info currmove and bad UCI practice Uri Blass Fri Apr 20, 2012 10:04 pm
                                    Re: Stockfish, info currmove and bad UCI practice Marco Costalba Sat Apr 21, 2012 7:55 am
                                          Re: Stockfish, info currmove and bad UCI practice Uri Blass Sat Apr 21, 2012 12:44 pm
                                                Re: Stockfish, info currmove and bad UCI practice Marco Costalba Sat Apr 21, 2012 2:16 pm
                                                      Re: Stockfish, info currmove and bad UCI practice Uri Blass Sat Apr 21, 2012 3:19 pm
      Re: Stockfish, info currmove and bad UCI practice H.G.Muller Fri Apr 20, 2012 11:29 am
      Re: Stockfish, info currmove and bad UCI practice Don Dailey Fri Apr 20, 2012 4:12 pm
            Re: Stockfish, info currmove and bad UCI practice H.G.Muller Fri Apr 20, 2012 5:09 pm
                  Re: Stockfish, info currmove and bad UCI practice Don Dailey Fri Apr 20, 2012 5:21 pm
            Re: Stockfish, info currmove and bad UCI practice Miguel A. Ballicora Fri Apr 20, 2012 5:35 pm
                  Re: Stockfish, info currmove and bad UCI practice H.G.Muller Fri Apr 20, 2012 5:52 pm
      Re: Stockfish, info currmove and bad UCI practice Joona Kiiski Fri Apr 20, 2012 4:30 pm
            Re: Stockfish, info currmove and bad UCI practice Don Dailey Fri Apr 20, 2012 5:11 pm
                  Re: Stockfish, info currmove and bad UCI practice H.G.Muller Fri Apr 20, 2012 5:15 pm
                        Re: Stockfish, info currmove and bad UCI practice Don Dailey Fri Apr 20, 2012 5:22 pm
                  Re: Stockfish, info currmove and bad UCI practice Sam Hamilton Fri Apr 20, 2012 5:22 pm
                        Re: Stockfish, info currmove and bad UCI practice Don Dailey Fri Apr 20, 2012 5:27 pm
      Re: Stockfish, info currmove and bad UCI practice Julien MARCEL Sat Apr 21, 2012 2:35 pm
            Re: Stockfish, info currmove and bad UCI practice Don Dailey Sat Apr 21, 2012 3:17 pm
Post new topic    TalkChess.com Forum Index -> Computer Chess Club: Programming and Technical Discussions

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum




Powered by phpBB © 2001, 2005 phpBB Group
Enhanced with Moby Threads