Houdini 3 reducing the depth feature

Discussion of anything and everything relating to chess playing software and machines.

Moderator: Ras

User avatar
Houdini
Posts: 1471
Joined: Tue Mar 16, 2010 12:00 am

Re: Houdini 3 reducing the depth feature

Post by Houdini »

Allow me to reply to different questions/posts in one go.

@Bob: If you refuse to see, you will not see.

@Don: The change is only done at the root.

@Larry: Not everything in an engine is about Elo gain.

@Roberto: The trick doesn't change anything about the speed or depth of finding a better move (fail-high), it only changes the speed in which the PV and an accurate score can be shown AFTER the fail-high has been established.

@Gerold: Crafty and Houdini don't even have a letter in common.

@Marco: Your post really made me laugh, thank you :).

Have a nice day,
Robert
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: Houdini 3 reducing the depth feature

Post by Don »

Uri Blass wrote:
lkaufman wrote:
Houdini wrote:Houdini 3 finds THE score and PV.

The technical idea behind this is the difference in pruning and extensions between PV nodes and non-PV nodes.
If you find a fail-high for a non-PV node at depth 30, it's very likely that when it becomes a PV node the fail-high can be found at reduced depth.

Houdini 3 demonstrates how remarkably effective this idea is.
I think I understand the idea based on all the comments here, we'll probably try it in a day or two. You say that the idea is "remarkably effective", implying that it accounts for a significant part of the 55-60 elo gain in Houdini 3. Would you mind estimating how much of that gain you attribute to this idea? Also, if the gain is significant, why are you willing to share it with the competition? I'm not complaining, just curious.
I will be surprised if this idea is responsible for a significant part of the 55-60 elo gain in houdini3(maybe it is responsible for 1 or 2 elo improvement and I will be very surprised if it is responsible for more than 5 elo improvement).
That's what I think too, but still it is an important behavioral issue with chess programs, the occasional hanging iteration ....

So it would make a program more user friendly if nothing else.
In most positions it is irrelevant(houdini does not need to reduce the depth) and even in positions when houdini reduce the depth the advantage is not a better move but using less time for the specific move or better information in the hash for the next move.
Capital punishment would be more effective as a preventive measure if it were administered prior to the crime.
lech
Posts: 1169
Joined: Sun Feb 14, 2010 10:02 pm

Re: Houdini 3 reducing the depth feature

Post by lech »

A great idea Robert. :D

First look at chessboard, and next in computer! (not for you)
Maybe, I can't be friendly, but let me be useful.
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: Houdini 3 reducing the depth feature

Post by Don »

mcostalba wrote:
Uri Blass wrote: In most positions it is irrelevant(houdini does not need to reduce the depth) and even in positions when houdini reduce the depth the advantage is not a better move but using less time for the specific move or better information in the hash for the next move.
In game play this idea could bring something on the table in case of multiple best move changes, because if the best move changes only once it will be played as soon as allotted time expires, regardless if the fail-high has been resolved or not.

What makes me really sad is to see the developers of what is supposed to be the second strongest engine in the world shameless whining for some clue the man they have multiple times attacked. If they really believe that this idea brings big part of ELO gain of Houdini they are clearly completely blind to computer chess and their engine improvement is all due to a very good test framework feed by throwing at it more or less random /monkey style stuff until something good is detected.

On the other side we have an old glory, that keeps proudly insisting on not understanding and blames people willing to help him.

...I see I am more and more Vincent-izing myself, perhaps it is better to leave before to became a complete arrogant fool. :-)
People have left this forum for exactly the reason you state, it has had a negative impact on them and even changed them and they don't like it.
Capital punishment would be more effective as a preventive measure if it were administered prior to the crime.
lech
Posts: 1169
Joined: Sun Feb 14, 2010 10:02 pm

Re: Houdini 3 reducing the depth feature

Post by lech »

lech wrote:A great idea Robert. :D
Why I wrote that the next trick is a great idea?
Robert gives people all whout they want.
Users have a position with a secret solution. They want to discovery it.
Houdini gives tricks like this or "rule 50" and all are happy.
If there is no nice solution, the tricks can return a wrong move, but it is a problem of good players who may not speak it. They don't use engines. They can play chess. :lol:
Maybe, I can't be friendly, but let me be useful.
lkaufman
Posts: 6258
Joined: Sun Jan 10, 2010 6:15 am
Location: Maryland USA
Full name: Larry Kaufman

Re: Houdini 3 reducing the depth feature

Post by lkaufman »

mcostalba wrote:
Uri Blass wrote: In most positions it is irrelevant(houdini does not need to reduce the depth) and even in positions when houdini reduce the depth the advantage is not a better move but using less time for the specific move or better information in the hash for the next move.
In game play this idea could bring something on the table in case of multiple best move changes, because if the best move changes only once it will be played as soon as allotted time expires, regardless if the fail-high has been resolved or not.

What makes me really sad is to see the developers of what is supposed to be the second strongest engine in the world shameless whining for some clue the man they have multiple times attacked. If they really believe that this idea brings big part of ELO gain of Houdini they are clearly completely blind to computer chess and their engine improvement is all due to a very good test framework feed by throwing at it more or less random /monkey style stuff until something good is detected.

On the other side we have an old glory, that keeps proudly insisting on not understanding and blames people willing to help him.

...I see I am more and more Vincent-izing myself, perhaps it is better to leave before to became a complete arrogant fool. :-)
I never said that I believed the idea brings a big part of Elo gain of Houdini 3, just that Robert's post seems to suggest so. I am just asking for a clarification on that point. Even if it is just 10% of the gain (i.e.5 or 6 elo), I'm surprised that he would share it freely. But maybe it's only 1 or 2 %.
User avatar
Rebel
Posts: 7382
Joined: Thu Aug 18, 2011 12:04 pm
Full name: Ed Schröder

Re: Houdini 3 reducing the depth feature

Post by Rebel »

bob wrote: I understand the idea, although I do not buy "all in" that it is correct. Why would one do things so differently in the PV, that you make it very hard for a non-PV move to fail high in the first place??? I don't personally assume that this is the way things have to be done, it's just the way some do it at the moment. From a theoretical perspective, it seems wrong, however.
I am not sure how an idea that produces elo can be wrong. About a year of ten ago I added (what I called) the PVS extension as described here. It's (still) good for 20-30 elo. When I would reduce the depth at a fail-high it still could produce the good score and mainline since the hash-table has all the best moves right resulting in several to many extensions.
mwyoung
Posts: 2727
Joined: Wed May 12, 2010 10:00 pm

Re: Houdini 3 reducing the depth feature

Post by mwyoung »

mcostalba wrote:
Uri Blass wrote: In most positions it is irrelevant(houdini does not need to reduce the depth) and even in positions when houdini reduce the depth the advantage is not a better move but using less time for the specific move or better information in the hash for the next move.
In game play this idea could bring something on the table in case of multiple best move changes, because if the best move changes only once it will be played as soon as allotted time expires, regardless if the fail-high has been resolved or not.

What makes me really sad is to see the developers of what is supposed to be the second strongest engine in the world shameless whining for some clue the man they have multiple times attacked. If they really believe that this idea brings big part of ELO gain of Houdini they are clearly completely blind to computer chess and their engine improvement is all due to a very good test framework feed by throwing at it more or less random /monkey style stuff until something good is detected.

On the other side we have an old glory, that keeps proudly insisting on not understanding and blames people willing to help him.

...I see I am more and more Vincent-izing myself, perhaps it is better to leave before to became a complete arrogant fool. :-)
+1

Only now, at the end, do you understand
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Houdini 3 reducing the depth feature

Post by bob »

[quote="Houdini"]Allow me to reply to different questions/posts in one go.

@Bob: If you refuse to see, you will not see.

@Don: The change is only done at the root.

@Larry: Not everything in an engine is about Elo gain.

@Roberto: The trick doesn't change anything about the speed or depth of finding a better move (fail-high), it only changes the speed in which the PV and an accurate score can be shown AFTER the fail-high has been established.

@Gerold: Crafty and Houdini don't even have a letter in common.

@Marco: Your post really made me laugh, thank you :).

Have a nice day,
Robert[/quote

If your goal is to ONLY be able to supply a PV/score quicker, without any Elo change at all, more power to you. My point was about improving play. The basic search we all use is alpha/beta, which has the known characteristic that it provides the SAME best move and score as minimax, but by searching a much smaller tree, allowing us to go much deeper and get more accurate information on later iterations. If you treat PV and non-PV moves differently, you break that characteristic. Because you make it much harder to replace an existing PV (searched with one set of rules) by a different ply-1 move (non-PV) searched by a different set of rules.

There are two well-known cases, and even Greenblatt addressed the concepts.

(1) first move looks good until you go deeper, where a problem shows up. If you search it deeper, you will see the fail-low and then start to hunt for an alternative. This approach has some merit there. But it also has issues. What if a second move fails high as a non-PV, searched less deeply, and you exhaust time before you can get a real score back. Which move do you play? If you back up a few plies with the depth, and you get a score, how does this score from depth N-p compare to the score from a real depth N search? Suppose it is actually even worse.

(2) your first move looks good, but another move is even better. Discovering this is hard if you search the other move with less rigor. That's the case I don't like.

I am less worried about the idea of backing up the depth, that has been discussed many times, Stanback (Zarkiov) used the idea in the late 80's / early 90's. I am less enthusiastic about searching PV moves differently than non-PV moves, however. It just feels wrong. I don't do that as a human...
syzygy
Posts: 5719
Joined: Tue Feb 28, 2012 11:56 pm

Re: Houdini 3 reducing the depth feature

Post by syzygy »

bob wrote:If your goal is to ONLY be able to supply a PV/score quicker, without any Elo change at all, more power to you. My point was about improving play. The basic search we all use is alpha/beta, which has the known characteristic that it provides the SAME best move and score as minimax, but by searching a much smaller tree, allowing us to go much deeper and get more accurate information on later iterations. If you treat PV and non-PV moves differently, you break that characteristic. Because you make it much harder to replace an existing PV (searched with one set of rules) by a different ply-1 move (non-PV) searched by a different set of rules.
Are you implying that crafty treats PV moves and non-PV moves the same? Think about nullmove, LMR...