The scaling of Houdini 3 and Komodo 5

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

Moderators: hgm, Rebel, chrisw

User avatar
fern
Posts: 8755
Joined: Sun Feb 26, 2006 4:07 pm

Re: The scaling of Houdini 3 and Komodo 5

Post by fern »

You are the programmer and/or scientist, not me, but wonder if at last, no matter how much speed a program gets, at the end of the tree it must stop and make an EVALUATION. I can even imagine a so nasty program that make bad decisions even after 44 ply or so. And I can imagine a good one doing good decision with just 5 plys. In fact SGM makes good decisions sometimes not even thinking a ply ahead. They rely in experience and knowledge. That is, evaluation.

My best
Fern
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: The scaling of Houdini 3 and Komodo 5

Post by Don »

fern wrote:You are the programmer and/or scientist, not me, but wonder if at last, no matter how much speed a program gets, at the end of the tree it must stop and make an EVALUATION. I can even imagine a so nasty program that make bad decisions even after 44 ply or so. And I can imagine a good one doing good decision with just 5 plys. In fact SGM makes good decisions sometimes not even thinking a ply ahead. They rely in experience and knowledge. That is, evaluation.

My best
Fern
It's not quite that simple.

It's a gross over-simplification to say that humans have a better evaluation function and computers have a better search - that is just an approximation and a very broken one at that. It's just a simple way to talk about but it does not reflect how things are actually done.

Humans would play like complete morons without a search, even though chess culture often likes to romanticize the notion that humans just always know the best move and don't need to search. The idea that a GM thinks only 1 move ahead but it's the "best" move makes a great sound bite but is complete nonsense.

The primary difference in my opinion is this: For computers, the evaluation has a large impact on shaping the tree. It's the same for humans, but for humans the tree can change the evaluation too - after looking at variations a human can modify his assessment of which positional features are important and which are not and that can give him a fresh new "evaluation function" which may even trigger a fresh new search. That is a big shortcut that computers have not learned yet.

In both cases (human and computer), the tree and the evaluation are very synergistic (I hate that word but it applies here.) In fact a tree search really should be viewed as an evaluation function in its own right. In my earliest programs, before I became too influenced by the labels everyone else used, I actually called the search "eval" because it is a recursive evaluation function - that's all it is.

From an engineering standpoint it seems much easier to treat them separately as that is also a sound programming practice (modularity.) But it's not clear to me whether we should have such a strong separation. In fact Komodo does have some tactical concepts in the evaluation function and extensions can be viewed as strengthening the evaluation function. Maybe future programs will have searches guided more but what the static evaluation function says is important. (Some already do, if king safety changes dramatically some program modify their searches accordingly, so this is the start of a more symbiotic relationship which is more like what humans do.)

One model that I use in thinking about chess search and evaluation is that the evaluation is the most important part of a chess program - it is the "brain" and the search has the responsibility to track down the ambiguities. I don't think that is just some abstract model either, think that is exactly how modern programs work. Highly selective programs are always looking for an excuse to stop searching so that more important lines can be explored deeper. Those decisions are primarily based on evaluation and/or domain specific chess concepts (which is knowledge too.) It's not really so different from what people do.

Consider how LMR works. We depend on good move ordering (which other than tactics is determined by the evaluation function as expressed by the history tables) but more to the point those moves believed to be inferior are still checked out, just not as thoroughly. A human does this too, he thinks, "I don't think this move is good, but I should at least give it a superficial look." And if he notices something then suddenly he starts looking harder at the move. A human tends to do this more decisively and efficiently, but also makes more mistakes because of this.
Capital punishment would be more effective as a preventive measure if it were administered prior to the crime.
User avatar
fern
Posts: 8755
Joined: Sun Feb 26, 2006 4:07 pm

Re: The scaling of Houdini 3 and Komodo 5

Post by fern »

I agree.
BTW, it looks like I said human does not need search. Nothing of that, of course. It is more the case that our limited searching capabilities coerce us to make extensive use of general ideas, some experience or sheer intuitive grasp, if this last thing mans something.

My best
Fern
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: The scaling of Houdini 3 and Komodo 5

Post by Don »

fern wrote:I agree.
BTW, it looks like I said human does not need search. Nothing of that, of course. It is more the case that our limited searching capabilities coerce us to make extensive use of general ideas, some experience or sheer intuitive grasp, if this last thing mans something.

My best
Fern
Of course intuition means something. It's the reason it has taken us so long to get computers up to the point they can compete with humans. Intuition is just a deep form of pattern recognition and as far as I know nobody on earth does it better than us humans!

It's a fact that computers have to chase down lines that we already know. Sometimes you play a move that just feels right, you say to yourself, "this move just feels right even though it loses a pawn." The computer doesn't have this so instead it just does an exploratory search just in case. The computer is very stubborn, it always has to say, "show me."

Don
Capital punishment would be more effective as a preventive measure if it were administered prior to the crime.
User avatar
fern
Posts: 8755
Joined: Sun Feb 26, 2006 4:07 pm

Re: The scaling of Houdini 3 and Komodo 5

Post by fern »

When we said that, "this look right", it is because somehow we know or remember vaguely that this has happened before and ends in good terms for us. If you know for certain something, it is not anymore "intuition" or feeling. I wonder if a program with permanent access to a huge database could do something similar. A plain and simple idea: If certain number of games where this move was played in this position went right, then you choose it for further analysis with preference to any other. So you concentrate search power in jus that move instead of going for several.
Probably this has been already done, right?

Fern
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: The scaling of Houdini 3 and Komodo 5

Post by Don »

fern wrote:When we said that, "this look right", it is because somehow we know or remember vaguely that this has happened before and ends in good terms for us. If you know for certain something, it is not anymore "intuition" or feeling. I wonder if a program with permanent access to a huge database could do something similar. A plain and simple idea: If certain number of games where this move was played in this position went right, then you choose it for further analysis with preference to any other. So you concentrate search power in jus that move instead of going for several.
Probably this has been already done, right?

Fern
Most positions that a computer searches in a game never occurred before or if they did no computer has access to the data.

The really make the idea work the computer would have to have the ability to "generalize" the pattern. In other words it would need to notice that in similar (but not exactly the same) position move X almost always works. But doing such a thing is far from trivial - they have not even mastered language translation and voice recognition which is full of patterns without exact matches. It's hard to even say what a "similar" position is, because to a strong player some minor change to me might be a major change to the master and perhaps what I see is a lot of changes will "remind" him of something similar.

If I were approaching that problem I would focus on move sequences and sub-patterns. For example smothered mate - only a few pieces on the board matter, everything else is irrelevant. The super constellation sometimes "knew" how to sacrifice based on just identifying the few pieces comprising the pattern David felt was relevant. In fact he once explained to me once that the sac could be an outright blunder in some cases due to some very minor difference that was not covered by the pattern.

Patterns can be useful in modern chess programs too, some program have them including Komodo. They are generally simplistic but they can be beneficial. But these come down basically to just more evaluation features, such as identification of trapped pieces based on some trivial patterns such as the Bxa7 followed by b6 trap and the knight on a8 that cannot get out. You can also do stuff with king safety configurations.
Capital punishment would be more effective as a preventive measure if it were administered prior to the crime.
User avatar
fern
Posts: 8755
Joined: Sun Feb 26, 2006 4:07 pm

Re: The scaling of Houdini 3 and Komodo 5

Post by fern »

Even a pattern that can have many exceptions could be useful IF we do not expect from him THE solution of the problem, but just a step to get one. Also we can accept that even the best patters sometimes fail. Perhaps the hidden idea or motive behind some programming that a computer must get the perfect solution, a scientifically proved one, always efficient, must be let aside.
I believe that in the task to get a solution we -humans or machines- must simply add one thing after the other to at the end create a full picture, not believing each factor is the full solution. A pattern in this case should be NOT a trigger to shoot a preformed answer, but one more paradigm to grasp what is going on and follow better paths.

In the example you give of Super connie, sacrifice in h7 should act as a incentive to explore that move instead of other and see what happens, not as an automatic sacrifice.
I believe in consecutive steps in everything regards
fern
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: The scaling of Houdini 3 and Komodo 5

Post by Don »

fern wrote:Even a pattern that can have many exceptions could be useful IF we do not expect from him THE solution of the problem, but just a step to get one. Also we can accept that even the best patters sometimes fail. Perhaps the hidden idea or motive behind some programming that a computer must get the perfect solution, a scientifically proved one, always efficient, must be let aside.
I believe that in the task to get a solution we -humans or machines- must simply add one thing after the other to at the end create a full picture, not believing each factor is the full solution. A pattern in this case should be NOT a trigger to shoot a preformed answer, but one more paradigm to grasp what is going on and follow better paths.

In the example you give of Super connie, sacrifice in h7 should act as a incentive to explore that move instead of other and see what happens, not as an automatic sacrifice.
I believe in consecutive steps in everything regards
fern
Yes, I agree with all of this. Patterns should guide, not prescribe.
Capital punishment would be more effective as a preventive measure if it were administered prior to the crime.
User avatar
mclane
Posts: 18748
Joined: Thu Mar 09, 2006 6:40 pm
Location: US of Europe, germany
Full name: Thorsten Czub

Re: The scaling of Houdini 3 and Komodo 5

Post by mclane »

this is how we teach humans chess and plans, via those patterns.

Image

http://chessthinkingsystems2.blogspot.d ... ystem.html

Code: Select all

The elements of Tal System of attack are as follows (step by step):
1. Keep the opponent king in the centre and yours away from centre (till endgame)
2. Achieve breakthrough in the centre
3. Increase the assault ratio (through initiatives)
4. Open Invasion Trajectories (files & diagonals)
5. Open your lines of communication  and cut those of opponents.
6. Maintain Outposts
7. Eliminate defenders of opponent king
8. Take your pieces near opponent's king
9. Destroy the opponent king's fort.
What seems like a fairy tale today may be reality tomorrow.
Here we have a fairy tale of the day after tomorrow....
Vinvin
Posts: 5228
Joined: Thu Mar 09, 2006 9:40 am
Full name: Vincent Lejeune

Re: The scaling of Houdini 3 and Komodo 5

Post by Vinvin »

mclane wrote:this is how we teach humans chess and plans, via those patterns.

http://www.ukgamesshop.com/Merchant2/gr ... ailTal.jpg

http://chessthinkingsystems2.blogspot.d ... ystem.html

Code: Select all

The elements of Tal System of attack are as follows (step by step):
1. Keep the opponent king in the centre and yours away from centre (till endgame)
2. Achieve breakthrough in the centre
3. Increase the assault ratio (through initiatives)
4. Open Invasion Trajectories (files & diagonals)
5. Open your lines of communication  and cut those of opponents.
6. Maintain Outposts
7. Eliminate defenders of opponent king
8. Take your pieces near opponent's king
9. Destroy the opponent king's fort.
It seems like "teaching blitz to 1500 rated players" :lol: