Allow steroids

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

Moderators: hgm, Rebel, chrisw

User avatar
Bo Persson
Posts: 243
Joined: Sat Mar 11, 2006 8:31 am
Location: Malmö, Sweden
Full name: Bo Persson

Re: Allow steroids

Post by Bo Persson »

benstoker wrote: The Top Original Code Criterion is subsumed under the Top Dog Criterion. No need to split them. Numero Uno chess proggie is of necessity original, since it has that unique characteristic that enables it to play better than all other chess proggies.
No, it doesn't. If clones are free to enter, I would add 2000 additional clones to the tournament, all with the only difference that they always lose to their master program.

That way MyChess#1 would be assured a minimum of 2000 wins in a round robin tournament. Enough for Top Dog?
User avatar
hgm
Posts: 27815
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Allow steroids

Post by hgm »

Dann Corbit wrote:You do not have to know what it is called. But if you search all possible moves equally your play will never advance and grade school children who prune moves in their mind will clobber you.
For the difficult-to-convince, it would be very educational to try the following experiment:

Go to your local Chess-club, and watch a game played by a player from the bottom of their ranking. Remember a position where he can blunder away his Queen in a not-so-obvious way (i.e. more complex than just moving it to a square that is under attack). After the game, ask him: "why didn't you play this move in that position?". Chances are that he will say: "But that would lose me a Queen, by such and such". Then challenge him on this, by stating: "But I don't think it would be good for your opponent to take that Queen. I think he could actually checkmate you in a few more moves if he doesn't take that Queen". And then observe his reaction.
Ralph Stoesser
Posts: 408
Joined: Sat Mar 06, 2010 9:28 am

Re: Allow steroids

Post by Ralph Stoesser »

World champ Jose R. Capablanca used perfect move ordering and a simple one ply SEE always returning "YOU WIN" to meet his requirements. Look at my sig.
User avatar
slobo
Posts: 2331
Joined: Mon Apr 09, 2007 5:36 pm

Re: Allow steroids

Post by slobo »

Dann Corbit wrote:
slobo wrote:
Dann Corbit wrote:
slobo wrote:
slobo wrote:
Dann Corbit wrote:
slobo wrote:
michiguel wrote:
slobo wrote:
hgm wrote:
slobo wrote:You keep on with your low logic level.
"Alpha-beta pruning is a property of the game rules",

Is it you talking ou have you given your password to a troll?

Read once more chess rules. Bisedes, you are programer but it does not mean you know the rules of chess. Perhaps you look at them when you need them, while programing, and after that you simply forget them.
As far as I am aware FIDE rules still specify two players, taking turns, allowed to look at the position. That implies minimax, and minimax has the property that some branches do not affect the root score and can be pruned. That this is beyond your understanding does not really prove anything,as you are not really an engine programmer. But a programmer would understand that, sooner rather than later.
You are mixing up chess game rules and chess engine programing techniques.
No, he is right. The rules of the game determine the algorithm.

Alpha-beta is really a obvious thing for a chess player. It is as difficult as coming up with bubblesort on your own. In fact, it is described (not with that name of course) in the famous book "Think like a Grand Master" by A. Kotov.

I remember when I read about it in a Encyclopaedia of Artificial Intelligence for the first time. This is the famous alpha-beta?

Miguel
Well, Miguel, then you are confused as well. You are mixing up:

1. chess game rules;
2. techniques of chess thinking, described by Kotov;
3. chess engine programing techniques.
Here is what Miguel was saying:
When we play chess, we are essentially using alpha-beta with our brains. In other words, the algorithm is so obvious, it is astonishing that it had to be invented at all.

Consider this WAC position:
[d]3r1rk1/q4ppp/p1Rnp3/8/1p6/1N3P2/PP3QPP/3R2K1 b - -

If you are playing this chess game, you might explore your possible moves. You might (for instance) capture the white queen, but then you would be immediately recaptured so no gain. You probabaly won't keep exploring this option unless your other options also end in no gain.

Then, the next move you might explore is the knight threatening the queen. Now, it might seem stupid at first glance, but we see that if he does perform the capture with the pawn, then we will capture his rook with our rook and then trade our rook for his queen, and end up with a huge gain! So, now we have a move (by a spell of some fortunate circumstance the second one we have examined) which has a positive score after just a few moves examined. We will probably look over other moves and quickly dismiss them, simply because they do not return a positive score from our current position quickly.

So, we will resume thinking about the Ne4 move. Our opponent will probably move the queen to d4 to avoid capture so we will respond with e5 to keep pressure on the queen and move her off of the file protecting the back rank rook. He's hosed now, so the best thing he can do is take the knight and let you take his queen. From there on, it is all over but the shouting. We don't waste a lot of time thinking about moves like h7 or kh8 because we have already found a move that is a good one so we don't have to waste time thinking about lesser moves.

Now, this method is essentially alpha beta, with a bit of LMR thrown in on the side. I think that this is what Miguel was saying.

IOW, "Is Alpha-Beta even an invention? It's terribly obvious after you think about it a bit."
Of course: Alpha-Beta was an invention, because human brain does not go through the thinking process the same way as chess engines do it. The human brain method used in a game of chess is a mixture of:
a) a try of organized thinking,
b) intuition and
c) speculation.

No chess engine until this moment managed to simulate the exact human brain thinking process in a game of chess.

What thinkers, scientists and programers have been doing, then?
They´ve been reducing human thinking process, brining into focus only one of its aspects: a try of organized thinking. On the other side, this reduced human thinking, used in chess engines programing, has been made in profudity and in the extremely systematic manner.
But, let me return to the begining of the story. HGM has said:
"Alpha-beta pruning is a property of the game rules"

Wrong.
It may be part of the human thinking about the game process, but, obviously, it is not part of the game rules.
The game rules are related to how chess pieces move on the board. Alpha-beta pruning is related to a possible human thinking about possible future movements of chess pieces on the board.
HGM is right. Consider pure mini-max. This is the "stupid" application of the rules of any two player zero sum game such as chess, checkers, tic-tac-toe, awari, etc. But no human bothers to play that way. We trim the moves that we examine by considering the best choices instead of sequentially examining every single one.

The alpha-beta rule was probably formulated as a result of imagining how we examine a chess board or a checkers board or something of that nature.

I do admit it was a clever formulation, even as quicksort is a clever formulation by division into piles. At any rate, what HGM was saying is that Alpha-Beta falls out of the rules of chess. The same is true, of course, for any other game of the same basis.
I don´t see how HGM can be right.
And yet he is.

No one need to know what Alpha-beta pruning is when learning the chess game rules.
You do not have to know what it is called. But if you search all possible moves equally your play will never advance and grade school children who prune moves in their mind will clobber you.

And every one can play chess (applying the chess games rules) without any thinking, so:
You cannot play chess without thinking. Even application of the rules requires thinking. It would be possible to play chess by random yet correct application of chess rules when it is your turn to move. I will beat this player in 4-5 moves every game.

Alpha-beta pruning is a propery of the human thinking.
I do not disagree that alpha-beta pruning is a property of human thinking. Do you believe that anyone who plays the game of chess in a skillful manner actually examines every possible move and response with equal effort? I suggest that this is simply not possible if the human is to get more than 2 or 3 plies deep in thought.
So, here we are: "who plays the game of chess in a skillful manner (...)"

But if someone does not play chess in a skillful manner it does not mean he does not play chess. He follows the game rules, so, he plays chess, like a driver driving a car.

For moving pieces on a chess board one doesn´t need alpha-beta pruning. He only has to know chess game rules. However, for playing in a skillful manner he has to think how to find the best move, so, he needs some thinking technique and that´s where the alpha-beta pruning is being used.

So, let me repeat: the alpha-beta pruning is necessarily a property of the human thinking, not of the game rules.
"Well, I´m just a soul whose intentions are good,
Oh Lord, please don´t let me be misunderstood."
User avatar
hgm
Posts: 27815
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Allow steroids

Post by hgm »

I don't see any point in this nitpicking about whether a wood pusher can be called a chess player or not. It just distracts from the issue. (Well,perhaps that is your intention.) The issue is, like you say, that alpha-beta is part of _human_ thinking for games with rules like Chess (i.e. turn-based 2-player zero-sum with perfect information), and was in use already for more than 1000 years before the first computer existed.

So accusing programs of not being original because they use alpha-beta is really silly.
User avatar
slobo
Posts: 2331
Joined: Mon Apr 09, 2007 5:36 pm

Re: Allow steroids

Post by slobo »

hgm wrote:I don't see any point in this nitpicking about whether a wood pusher can be called a chess player or not. It just distracts from the issue. (Well,perhaps that is your intention.) The issue is, like you say, that alpha-beta is part of _human_ thinking for games with rules like Chess (i.e. turn-based 2-player zero-sum with perfect information), and was in use already for more than 1000 years before the first computer existed.

So accusing programs of not being original because they use alpha-beta is really silly.
This "nitpicking", as you call it, does not distract from the issue, because now we see that your statement that "alpha-beta pruning is a property of the game rules", is not true.

What does it mean?

It means: if alpha-beta pruning is a property of the human thinking, one had to formulate it - one had to create the alpha-beta pruning algorithm as an idealized model of human thinking. After the creation of this human thinking model, it was possible to apply it on many game, including chess game.

So, the alpha-beta pruning algorithm is a human invention that aims finding the best move within the universe of certain rules. This invention translates the real human thinking process into an idealized model developed for the computer-programing language environment.

Now it is even clearer that the alpha-beta pruning is not a property of the game rules: it is a property of human thinking process applied on many kind of games through the computer-programing language.

CONCLUSION:
Human mind uses techniques of thinking. Some intelligent fellow noted the fact and had a wish to describe one of these human thinking techniques in a more generalized form; when he managed to do it, he called it alpha-beta pruning . But this generalized model of human thinking was not an obvious thing that derives from the rules of the chess game. It was derived from a human logic and desire to play better and to search best moves.

So, what was "in use already for more than 1000 years before the first computer existed" was the human thinking technique (that makes the bases of the alpha-beta pruning algorithm). However, the algorithm that generalize that human thinking technique, and translate it to computers universe is an invention; a very recent invention.

This recent invention is now used by all chess programs, as any other secret that became public domain knowledge.

The force of our habits, however, does not change the fact that all these chess engines are using an algorithm that is not a creation of their own authors.
"Well, I´m just a soul whose intentions are good,
Oh Lord, please don´t let me be misunderstood."
benstoker
Posts: 342
Joined: Tue Jan 19, 2010 2:05 am

Re: Allow steroids

Post by benstoker »

Bo Persson wrote:
benstoker wrote: The Top Original Code Criterion is subsumed under the Top Dog Criterion. No need to split them. Numero Uno chess proggie is of necessity original, since it has that unique characteristic that enables it to play better than all other chess proggies.
No, it doesn't. If clones are free to enter, I would add 2000 additional clones to the tournament, all with the only difference that they always lose to their master program.

That way MyChess#1 would be assured a minimum of 2000 wins in a round robin tournament. Enough for Top Dog?
Second Place is just another way to say First Loser.
User avatar
michiguel
Posts: 6401
Joined: Thu Mar 09, 2006 8:30 pm
Location: Chicago, Illinois, USA

Re: Allow steroids

Post by michiguel »

slobo wrote:
hgm wrote:I don't see any point in this nitpicking about whether a wood pusher can be called a chess player or not. It just distracts from the issue. (Well,perhaps that is your intention.) The issue is, like you say, that alpha-beta is part of _human_ thinking for games with rules like Chess (i.e. turn-based 2-player zero-sum with perfect information), and was in use already for more than 1000 years before the first computer existed.

So accusing programs of not being original because they use alpha-beta is really silly.
This "nitpicking", as you call it, does not distract from the issue, because now we see that your statement that "alpha-beta pruning is a property of the game rules", is not true.

What does it mean?

It means: if alpha-beta pruning is a property of the human thinking, one had to formulate it - one had to create the alpha-beta pruning algorithm as an idealized model of human thinking. After the creation of this human thinking model, it was possible to apply it on many game, including chess game.

So, the alpha-beta pruning algorithm is a human invention that aims finding the best move within the universe of certain rules. This invention translates the real human thinking process into an idealized model developed for the computer-programing language environment.

Now it is even clearer that the alpha-beta pruning is not a property of the game rules: it is a property of human thinking process applied on many kind of games through the computer-programing language.

CONCLUSION:
Human mind uses techniques of thinking. Some intelligent fellow noted the fact and had a wish to describe one of these human thinking techniques in a more generalized form; when he managed to do it, he called it alpha-beta pruning . But this generalized model of human thinking was not an obvious thing that derives from the rules of the chess game. It was derived from a human logic and desire to play better and to search best moves.

So, what was "in use already for more than 1000 years before the first computer existed" was the human thinking technique (that makes the bases of the alpha-beta pruning algorithm). However, the algorithm that generalize that human thinking technique, and translate it to computers universe is an invention; a very recent invention.
An obvious invention is not really an invention. That is the whole point. In fact, all your arguments point in that direction too.

Miguel
This recent invention is now used by all chess programs, as any other secret that became public domain knowledge.

The force of our habits, however, does not change the fact that all these chess engines are using an algorithm that is not a creation of their own authors.
User avatar
hgm
Posts: 27815
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Allow steroids

Post by hgm »

benstoker wrote:Second Place is just another way to say First Loser.
You don't seem to get it. The strongest program won't win at all in your tournament style. The program that enters most cheating copies will. In the current engine landscape Houdini would not stand a chance. 'Bodini' will finish some 200 points above it.

Who will become 'TopDog' might as well be decided by throwing dice. Is that what you want? The whole idea is a total bust.
User avatar
slobo
Posts: 2331
Joined: Mon Apr 09, 2007 5:36 pm

Re: Allow steroids

Post by slobo »

michiguel wrote:
slobo wrote:
hgm wrote:I don't see any point in this nitpicking about whether a wood pusher can be called a chess player or not. It just distracts from the issue. (Well,perhaps that is your intention.) The issue is, like you say, that alpha-beta is part of _human_ thinking for games with rules like Chess (i.e. turn-based 2-player zero-sum with perfect information), and was in use already for more than 1000 years before the first computer existed.

So accusing programs of not being original because they use alpha-beta is really silly.
This "nitpicking", as you call it, does not distract from the issue, because now we see that your statement that "alpha-beta pruning is a property of the game rules", is not true.

What does it mean?

It means: if alpha-beta pruning is a property of the human thinking, one had to formulate it - one had to create the alpha-beta pruning algorithm as an idealized model of human thinking. After the creation of this human thinking model, it was possible to apply it on many game, including chess game.

So, the alpha-beta pruning algorithm is a human invention that aims finding the best move within the universe of certain rules. This invention translates the real human thinking process into an idealized model developed for the computer-programing language environment.

Now it is even clearer that the alpha-beta pruning is not a property of the game rules: it is a property of human thinking process applied on many kind of games through the computer-programing language.

CONCLUSION:
Human mind uses techniques of thinking. Some intelligent fellow noted the fact and had a wish to describe one of these human thinking techniques in a more generalized form; when he managed to do it, he called it alpha-beta pruning . But this generalized model of human thinking was not an obvious thing that derives from the rules of the chess game. It was derived from a human logic and desire to play better and to search best moves.

So, what was "in use already for more than 1000 years before the first computer existed" was the human thinking technique (that makes the bases of the alpha-beta pruning algorithm). However, the algorithm that generalize that human thinking technique, and translate it to computers universe is an invention; a very recent invention.
An obvious invention is not really an invention. That is the whole point. In fact, all your arguments point in that direction too.

Miguel
This recent invention is now used by all chess programs, as any other secret that became public domain knowledge.

The force of our habits, however, does not change the fact that all these chess engines are using an algorithm that is not a creation of their own authors.
It´s more like a clown´s comment than a programer´s one.
"Well, I´m just a soul whose intentions are good,
Oh Lord, please don´t let me be misunderstood."