UCI extension: nodestime

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

User avatar
hgm
Posts: 27790
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: UCI extension: nodestime

Post by hgm »

OK, so you don't think that it is possible to look like a delusional incompetent idiot, if you just refrain from making personal attacks. So let it be noted. It explains a lot.

Now go trolling somewhere else, if you are not prepared to say something constructive or useful...
Last edited by hgm on Mon Mar 23, 2015 6:26 pm, edited 1 time in total.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: UCI extension: nodestime

Post by bob »

mcostalba wrote:
bob wrote:What about pondering?
Pondering is not affected by this change. Indeed when pondering, you are free to use all the time you want as long as the opponent has not moved.
Sorry, that breaks the test and you are RIGHT back to where you started, unpredictable results. Think about what is happening. Wildly varying ponder time is just as bad as the wildly varying search time which you are concerned about. Your node fix doesn't change the ponder noise whatsoever.

Hence ponder=off or it won't work. Fixed nodes is also bad for several reasons as it eliminates time allocation which is an important part of a chess engine. The only real solution is dedicated hardware to get rid of the time jitter.
User avatar
Daniel Mehrmann
Posts: 858
Joined: Wed Mar 08, 2006 9:24 pm
Location: Germany
Full name: Daniel Mehrmann

Re: UCI extension: nodestime

Post by Daniel Mehrmann »

Michel wrote:
Daniel Mehrmann wrote:[. Probably you never looked around what other unix applications does in such cases.
You should do your homework. Dropping a file with metadata in a known location is standard practice for unix installers. See for example

/usr/share/applications/
:shock:

I was talking about the configuration idea conf.d. I never talked about locations. Your path is one possibility of course. Others could be /etc, ~/.config/<app>, /usr/share/<app> and so on.
User avatar
hgm
Posts: 27790
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: UCI extension: nodestime

Post by hgm »

Sure, this is not recommended with ponder on. Just as playing time-odds games is meaningless with ponder on. That doesn't mean that it is useless to have this. Just that you should be careful to use it properly. The GUI could always disable / refuse to use the feature when ponder is on.
User avatar
hgm
Posts: 27790
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: UCI extension: nodestime

Post by hgm »

Daniel Mehrmann wrote:I was talking about the configuration idea conf.d. I never talked about locations. Your path is one possibility of course. Others could be /etc, ~/.config/<app>, /usr/share/<app> and so on.
So it seems you also missed the point there. Michel was not mentioning that path as an alternative to anything you proposed, but as an example of a directory where programs make their presence known to window managers by dropping files there (in that case .desktop files).

This is why Debian maintainers suggested this system with the .eng files. Since you only seem to be here for the purpose of bragging bout how much smarter you are than others, this will no doubt please you a lot. You are not only smarter than everyone here at TalkChess, but the entire Debian organization also also consiste of morons compared to you. Perhaps you should also post that good news in a few other forums, I am sure it will give your reputation a bg boost there as well! (And we would be rid of you! :lol: ) Are you sure you aren't part of the Stockfish team, btw?
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: UCI extension: nodestime

Post by Evert »

Daniel Mehrmann wrote:
Evert wrote:
The sf team has a unique viewpoint
Some members of said team also have a rather unique way to present their viewpoint and argue their case. I've seen more reasoned arguments from my four-year old son than some of the tripe in that thread.
I think it's still okay and there are no personal attacks.
I didn't say there were personal attacks, but there are a lot of words wasted on non-arguments and the tone of the discussion is needlessly aggressive, condescending and derogatory.

I mean, you can say "no, we don't like this idea for the following reasons, so we won't include this" rather than "this idea is crap and anyone who likes it is a retarded dinosaur." People are more inclined to take you seriously if you actually provide arguments and don't just spout opinionated nonsense.
If you want a comparison you should take hgm and not you. He complained about the thread and i think you know hgm is no child of sadness.
Sorry, I actually have trouble understanding what you're trying to say here. Could you try to clarify this (or post it in German)?
In germany we just say: "Wer austeilt, muß auch einstecken können." (I find no real translation for that)
Wie kaatst kan de bal verwachten in Dutch, but I don't think it's necessarily appropriate here.
Of course this is a solution for xboard and all other gaming plattforms. Every application does this on that way. It's just a suggestion and if you don't take it, it's not my problem :-)
I'm also not sure what you're trying to say here, sorry... :(
can you explain us why it would be a good idea when programs like SCID, PyChess, ChessX would have to look in an xboard.conf file for knowing what to do? What if XBoard would not be installed on the system?
Hmmm, do you really think all these apps should take a look xboard.conf ?
I think there should be a non-GUI specific way to handle this, which is what the proposal was about.
Do you think the earth is a slice ?
And a non-sequitur like this actually is a personal attack.

This is all strictly off-topic for this thread, by the way, but I suppose there's a new one with an updated suggestion, so maybe the on-topic discussion has moved there...
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: UCI extension: nodestime

Post by Evert »

Daniel Mehrmann wrote:
hgm wrote: I don't, but you seem to think so. Perhaps you should explain us your idea better, how you think that when a programmer creates a new engine X, what he must do to make that engine automagically would appear in the list of engines people can select from in XBoard, ChessX, SCID, PyChess, etc., for the people that have taken the trouble to download and install his engineu?
Okay, you've proven that you don't take care of unix "standards" so far. Well, that's basicly not bad, nobody knows everything of course, but at this point you should take your time to learn more about the "conf.d" idea. But instead of showing that, you asking me to tell you the things are going. No and no. I'm not supporting such kind of lazy handling. I'd like to see first that you learn more about the unix world. After that you can come back and ask me if you need so, but i guess you don't need it, because you understand it already. :)
You know, this sort of thing really does not help.

You really should not expect to be taken seriously if your entire argument comes down to "I'm smarter than you are, you don't know what you're talking about, but instead of giving you a helpful pointer, I'm just going to sit here and insult you."

Care to offer some constructive criticism instead?
User avatar
Daniel Mehrmann
Posts: 858
Joined: Wed Mar 08, 2006 9:24 pm
Location: Germany
Full name: Daniel Mehrmann

Re: UCI extension: nodestime

Post by Daniel Mehrmann »

hgm wrote: So it seems you also missed the point there.
Nope, Michael just trolls me or he simply doesn't understand what i was talking about. Nothing else.

[crap delete]

You should give me some arguments or stop waste my time!
User avatar
hgm
Posts: 27790
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: UCI extension: nodestime

Post by hgm »

Arguments for what? How reason is just wasted on some persons, and bounces of them like they are made out of solid stone? (Because that was what I was talking about, before you started to drag in some off-topic stuff on engine-GUI recognition!) I think you have already done that job for me far better than any description of mine could ever do...

If you want to discuss the plugin standard, just start your own thread. In case you did not notice, this one is about nodes-based TC.
User avatar
Desperado
Posts: 879
Joined: Mon Dec 15, 2008 11:45 am

Re: UCI extension: nodestime

Post by Desperado »

Hi Marco,

i scanned the posts very quickly but i am curios why you want your idea within a protocol. Well, i even do not know the Stockfish test frame, but what i remember that there is a test phase which is only about self testing.

I introduced the "NIT" ( Node Is Time ) option in my engine a long time ago now with a simple translation from time to nodes.

Code: Select all

    // 8&#58; Time Limit
    _maxThinkingTime = &#40;int&#41; ( tme * 0.15 );
    _timeToThink     = &#40;int&#41; (&#40;tme * 0.95 ) / speed&#41;;
    _timeToThink    += &#40;int&#41; (&#40;inc * 0.95 ) / speed&#41;;

    // 9&#58; Node is time translation ( optional feature )
    _nodeIsTimeMax = &#40;int&#41;  (&#40;tme*100&#41; * 0.15 );
    _nodeIsTime    = &#40;int&#41; ((&#40;tme*100&#41; * 0.95 ) / speed );
    _nodeIsTime   += &#40;int&#41; ((&#40;inc*100&#41; * 0.95 ) / speed );

Code: Select all


inline bool Think&#58;&#58;isNITReached&#40;)
&#123;
    return   ( _searchMode & _MODE_NIT ) 
          && ( _search->getNodes&#40;) > _nodeIsTime );
&#125;

Of course it isn't absolutely identical with a time based game but it is very very similar in behaviour, especially for the phase of self testing.

Here are the advantages i see:

* different computers will produce the same result for the same time limit
* even deterministic games are possible based on "time" (NIT translation)
* hyper fast games are possible without time losses
* the control is independent on external ressources ( GUI just provides the normal time)
* it works for all time controlled games
* if different engine authors are interested in such a feature the factor 100 used in the example can be a simple uci option ( "0" for off ).

So, with a little support from engine developers this mode is trivial to install and can be used for more than self testing.

A first drawback might a new advantage:

My first guess is, that nps is irrelevant in the sense that the computation of 60000 ms * 100 = 6000000 nodes/game will be an advantage for the slower (nps) engine,
but it is like a handicap ( match ) which you can adjust pretty accurate by changing the factor ( uci option ).
Therefore you can produce stronger / weaker oppenents artifically somehow.

Just some thoughts ( enough chess programming for me today :lol: )

Keep up the excellent work with Stockfish !