TalkChess.com
Hosted by Your Move Chess & Games

 Thinking output ordering and failing low. Goto page 1, 2  Next
Author Message
Michel Van den Bergh

Joined: 28 Sep 2008
Posts: 1229

 Posted: Sun Mar 18, 2012 10:32 am    Post subject: Thinking output ordering and failing low. xboard currently orders its thinking output within a given depth according to score. However in case of an aspiration search repeatedly failing low this has the effect that the most recent (and most relevant score) is not on the topmost line of the thinking output window which is very confusing, especially when watching blitz games. At least this is what I am observing. Is this correct? I guess the workaround is to not send thinking output for fail lows...
H.G.Muller

Joined: 10 Mar 2006
Posts: 12751
Location: Amsterdam

 Posted: Sun Mar 18, 2012 12:49 pm    Post subject: Re: Thinking output ordering and failing low. Good point. Normally root moves that fail low (because there already is a better move in that iteration) would not be printed. How is that different here? As long as there is no move, would you print a PV for every move that fails low? Or just the first? I suppose the whole idea of having an aspiration window is that when the PV move fails low, you will try all other moves first before enlarging the window and redoing the iteration? I could alter the sorting algorithm such that a new PV could never pass a PV of the same iteration that starts with the same move. Would that solve it?
Michel Van den Bergh

Joined: 28 Sep 2008
Posts: 1229

Posted: Sun Mar 18, 2012 1:35 pm    Post subject: Re: Thinking output ordering and failing low.

 Quote: I could alter the sorting algorithm such that a new PV could never pass a PV of the same iteration that starts with the same move. Would that solve it?

I am not sure.

I thought that when encountering a fail low at root one would output a score (an upperbound) before researching with a widened window. I currently don't even output a pv since it would likely be nonsense anyway.

After a few fail lows one will (hopefully) obtain a new pv. This pv should be on top of the thinking output window but currently it isn't.

The issue seems to be that there is no standard way for the engine to communicate a fail low to xboard (in UCI there would be an "upperbound" tag in the corresponding info line).

Joined: 17 Jul 2011
Posts: 800

 Posted: Sun Mar 18, 2012 2:57 pm    Post subject: Re: Thinking output ordering and failing low. I guess you could use Gaviota's method (I think) of printing a :-) (a fail high is a good thing) when failing high and :-( failing low (a fail low is a bad thing). Matthew:out_________________Well, that's that. Account. Gone.
Robert Hyatt

Joined: 27 Feb 2006
Posts: 15814
Location: Birmingham, AL

Posted: Sun Mar 18, 2012 4:05 pm    Post subject: Re: Thinking output ordering and failing low.

 hgm wrote: Good point. Normally root moves that fail low (because there already is a better move in that iteration) would not be printed. How is that different here? As long as there is no move, would you print a PV for every move that fails low? Or just the first? I suppose the whole idea of having an aspiration window is that when the PV move fails low, you will try all other moves first before enlarging the window and redoing the iteration? I could alter the sorting algorithm such that a new PV could never pass a PV of the same iteration that starts with the same move. Would that solve it?

Just a note. I re-search immediately, as I want to know how bad the fail-low is before continuing, so I have some clue on how much extra time I might want to use to improve things.
Vincent Diepeveen

Joined: 09 Mar 2006
Posts: 1738
Location: The Netherlands

Posted: Sun Mar 18, 2012 4:17 pm    Post subject: Re: Thinking output ordering and failing low.

 hgm wrote: Good point. Normally root moves that fail low (because there already is a better move in that iteration) would not be printed. How is that different here? As long as there is no move, would you print a PV for every move that fails low? Or just the first? I suppose the whole idea of having an aspiration window is that when the PV move fails low, you will try all other moves first before enlarging the window and redoing the iteration? I could alter the sorting algorithm such that a new PV could never pass a PV of the same iteration that starts with the same move. Would that solve it?

As a side question - your modifications to xboard HGM, are they already stable - does nowadays xboard with your modifications no longer crash after a while?

Kind Regards,
Vincent
Michel Van den Bergh

Joined: 28 Sep 2008
Posts: 1229

Posted: Sun Mar 18, 2012 4:32 pm    Post subject: Re: Thinking output ordering and failing low.

 Quote: As a side question - your modifications to xboard HGM, are they already stable - does nowadays xboard with your modifications no longer crash after a while?

The released versions of xboard have always been extremely stable.
Vincent Diepeveen

Joined: 09 Mar 2006
Posts: 1738
Location: The Netherlands

Posted: Sun Mar 18, 2012 4:41 pm    Post subject: Re: Thinking output ordering and failing low.

Michel wrote:
 Quote: As a side question - your modifications to xboard HGM, are they already stable - does nowadays xboard with your modifications no longer crash after a while?

The released versions of xboard have always been extremely stable.

Michael, it was a side note - but it's a very serious question as it was a serious issue here. We went back to old versions.

Now of course i only test at multisocket machines equipped with the latest GCC versions usually - there is more software very unstable at multisocket machines.

A good example of some years ago is filezilla server, which after some bugreports (and the initial denying that it could be a programming problem) were fixed.
John Merlino

Joined: 08 Mar 2006
Posts: 627
Location: San Francisco, California

Posted: Sun Mar 18, 2012 4:46 pm    Post subject: Re: Thinking output ordering and failing low.

 hgm wrote: Good point. Normally root moves that fail low (because there already is a better move in that iteration) would not be printed. How is that different here? As long as there is no move, would you print a PV for every move that fails low? Or just the first? I suppose the whole idea of having an aspiration window is that when the PV move fails low, you will try all other moves first before enlarging the window and redoing the iteration? I could alter the sorting algorithm such that a new PV could never pass a PV of the same iteration that starts with the same move. Would that solve it?

It seems to me that the most recent PV sent by the engine should always be on top, pushing all others down one row. Easy to read and understand, at least to me....

jm
Michel Van den Bergh

Joined: 28 Sep 2008
Posts: 1229

Posted: Sun Mar 18, 2012 5:00 pm    Post subject: Re: Thinking output ordering and failing low.

 Quote: It seems to me that the most recent PV sent by the engine should always be on top, pushing all others down one row. Easy to read and understand, at least to me....

The sorting is for multipv mode. It looks nicer if the PV with the highest score is on top even if other inferior PV's are generated later.
 Display posts from previous: All Posts1 Day7 Days2 Weeks1 Month3 Months6 Months1 Year Oldest FirstNewest First
 All times are GMTGoto page 1, 2  Next Page 1 of 2

 Jump to: Select a forum Computer Chess Club Forums----------------Computer Chess Club: General TopicsComputer Chess Club: Tournaments and MatchesComputer Chess Club: Programming and Technical DiscussionsComputer Chess Club: Engine Origins Other Forums----------------Chess Thinkers ForumForum Help and Suggestions
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