Moderator: Andres Valverde
H.G.Muller wrote:I don't really know much about UCI protocol. Is the bestmove command required? I would expect the engine only would sent that command if it wants the GUI to do that move. If there is no move you want it to do, jut not send it.
F.Huber wrote:H.G.Muller wrote:I don't really know much about UCI protocol. Is the bestmove command required? I would expect the engine only would sent that command if it wants the GUI to do that move. If there is no move you want it to do, jut not send it.
No, unfortunately that doesn't work!
As long as the GUI doesn't get any "bestmove ..." command, it thinks that the engine is still thinking (and that means you can't do anything in the GUI unless it has received such a bestmove).
For matesolving it would really be the best (and simpliest), if Polyglot and/or Winboard would accept an empty "bestmove " and just return to the state before, i.e. waiting for the next user action (e.g. changing any option or modifying the position, and start the search again).
BTW, is there any way in the new Winboard 4.4.1 to display any engine infos (I mean the text infos, that UCI engines are sending with "info string ...")?
Without that, lots of useful (or even necessary) informations are lost (for ChestUCI e.g. its current search status, what it finally has found, etc...).
Maybe this could be displayed in extra windows (like the engine analysis), or (even better) just together with the engine analysis in the already existing output windows (as Arena does it).
Polyglot could relay info string stuff with a trick,the info would be sended dressed up as thinking output.
F. Bluemers wrote:Polyglot could relay info string stuff with a trick,the info would be sended dressed up as thinking output.
F.Huber wrote:F. Bluemers wrote:Polyglot could relay info string stuff with a trick,the info would be sended dressed up as thinking output.
Yes, that would be the best and most logical solution, and it wouldn't require any changes in Winboard. (I hope WB doesn't need a special format for these thinking lines?)
Arena does it exactly this way, in the Fritz-GUI you have to open an extra 'Engine output' window for this, but that's not very comfortable.
F. Bluemers wrote:polyglot would have to prefix the info with (faked if neccesary) "ply score time nodes" info.
the pv part is format free
F.Huber wrote:No, unfortunately that doesn't work!
As long as the GUI doesn't get any "bestmove ..." command, it thinks that the engine is still thinking (and that means you can't do anything in the GUI unless it has received such a bestmove).
For matesolving it would really be the best (and simpliest), if Polyglot and/or Winboard would accept an empty "bestmove " and just return to the state before, i.e. waiting for the next user action (e.g. changing any option or modifying the position, and start the search again).
H.G.Muller wrote:What harm does it do if it supposes the engine is thinking? Surely you can do things when the engine is thinking? E.g. press "move now", enter a pre-move. In analysis mode you can even simply enter moves when the engine is searching; the search is then aborted, and analysis of the new position starts. UCI engines can interrupt their search, not (e.g. in case of a ponder miss).
I don't see any problem. All this is fully implemented in WB protocol. No changes are needed at all. You should not send a move, though. I am not sure what would happen then. Likely it would be ignored, but you cannot be sure about that, as it is a breach of protocol.
H.G.Muller wrote:What harm does it do if it supposes the engine is thinking? In analysis mode you can even simply enter moves when the engine is searching; the search is then aborted, and analysis of the new position starts.
F.Huber wrote:Arena doesn't send any "stop" command to the engine but just the new position.
H.G.Muller wrote:But you should not be in normal game mode, right? You are solving a mate-in-N problem, not playing a normal game. If you were playing a game you would indeed have to produce a move, and make the GUI play it, and the user would want to go on from there.
You don't want all that. I am not sure what exactly you want when Chest finds the solution, but apparently you do not want Chest to alter the position by making a move. So apparently the user is now supposed to alter the position. If so, why shouldn't this new position be sent to Chest? What good could altering the position ever do the user, if the new position was not sent to Chest???
H.G.Muller wrote:Indeed I never used ChestUCI before I downloaded it yesterday
But you confuse me more and more. How could the GUI possibly perform the best move if you don't send it???
H.G.Muller wrote:But why would the GUI need to know the search is over? Is there any spontaneous action that you want to trigger in the GUI?
I would say it is the user that has to decide what is going to happen next.
I guess the failure to find a solution is actually proof such a solution does not exist. Otherwise there wouldn't be any excuse for ending the search.
So what would you expect a user to do in this case other than load a new position?
F.Huber wrote:Of course the GUI should know what's going on, i.e. whether the engine is still thinking or not!
I'd rather state exactly the opposite: you (the user) shouldn't even be allowed to do such strange things like changing the position (or any engine options, or whatever else) while the engine is currently thinking - that's just unlogical (and dangerous).
Exactly - but when the engine is thinking and the user wants to do something completely different, then it's more than reasonable to stop the engine first before taking such actions.
But HOW should the GUI know that the matesearch has failed, if the engine doesn't report this situation back to the GUI??? (and that's exactly the reason for this empty "bestmove ").
H.G.Muller wrote:This is the key point that I don't understand. WHY should it know? What exactly do you want it to do? I still odn't see any reason for the GUI to behave differently after it knows this. It should still "sit and wait". So it seems useless information.
But that is independent from the search still going on or not. It is simply because it is not your turn. It will still not be your turn when the search has ended, so that really makes no difference.
Return to Winboard and related Topics
Users browsing this forum: No registered users and 13 guests