Just for now think tablebase. (Of course we are greedy and want more info than tablebases give us, but don't worry about that here.) Do tablebases "include chess clocks"? No, but I don't think tablebases are "infinite time". Do you?
What is the purpose of chess engines?
Moderators: hgm, Rebel, chrisw
-
- Posts: 1470
- Joined: Mon Apr 23, 2018 7:54 am
Re: What is the purpose of chess engines?
-
- Posts: 4556
- Joined: Tue Jul 03, 2007 4:30 am
Re: What is the purpose of chess engines?
Are you serious now? What is the chess truth about this position?
[d]3rk3/3p4/8/8/8/8/3P4/3RK3 w - -
Tablebases only tell us that all white moves draw. It also tells us that after 1.d4 all moves by black draw. And we know if someone has access to this info you wouldn't be able to win. That's it.
What kind of chess truth is this? It's like stating that all moves draw from the opening position, except this kind of chess truth doesn't say anything about the difference between 1.d4 or 1.g4.
The chess truth requires playing a game, lest you can wrongly conclude that a position is a draw, or that it is won, but you'll never know because "best play" is that, playing moves, and chess is about that, not about analysis which can go on FOREVER because there's a different move in a previous position that could have been played.
Tablebases don't tell us anything about the above position, so getting such a chart in others wouldn't have a purpose.
-
- Posts: 2272
- Joined: Mon Sep 29, 2008 1:50 am
Re: What is the purpose of chess engines?
I would call this "rambling".The chess truth requires playing a game, lest you can wrongly conclude that a position is a draw, or that it is won, but you'll never know because "best play" is that, playing moves, and chess is about that, not about analysis which can go on FOREVER because there's a different move in a previous position that could have been played.
Ideas=science. Simplification=engineering.
Without ideas there is nothing to simplify.
Without ideas there is nothing to simplify.
-
- Posts: 2272
- Joined: Mon Sep 29, 2008 1:50 am
Re: What is the purpose of chess engines?
It is interesting to observe though that if we are interested in obtaining a probabilistic estimate for the game theoretic value of a position, minimax may not be the best algorithm.
If we consider a tree with independent leaf nodes (a very unrealistic assumption I admit) and we think of the static eval as giving some probabilistic estimate for the game theoretic value of the leaf nodes (unprovable, since in general we do not know the game theoretic value) then we should use the multiplication rule to back up probabilities, instead of minimax. This gives very different values (this can already be seen with tree with one root node and two child nodes, assuming no draws).
As said the assumption of a random tree in the previous paragraph is completely unrealistic. A better model would be to incorporate a form of correlation between a node and a child node. I do not quite know how to do this.
If we consider a tree with independent leaf nodes (a very unrealistic assumption I admit) and we think of the static eval as giving some probabilistic estimate for the game theoretic value of the leaf nodes (unprovable, since in general we do not know the game theoretic value) then we should use the multiplication rule to back up probabilities, instead of minimax. This gives very different values (this can already be seen with tree with one root node and two child nodes, assuming no draws).
As said the assumption of a random tree in the previous paragraph is completely unrealistic. A better model would be to incorporate a form of correlation between a node and a child node. I do not quite know how to do this.
Ideas=science. Simplification=engineering.
Without ideas there is nothing to simplify.
Without ideas there is nothing to simplify.
-
- Posts: 4556
- Joined: Tue Jul 03, 2007 4:30 am
Re: What is the purpose of chess engines?
But it follows logically:Michel wrote: ↑Mon Nov 18, 2019 11:26 amI would call this "rambling".The chess truth requires playing a game, lest you can wrongly conclude that a position is a draw, or that it is won, but you'll never know because "best play" is that, playing moves, and chess is about that, not about analysis which can go on FOREVER because there's a different move in a previous position that could have been played.
IF you have concluded that the chess truth about a chess position is that white is winning it, and you are content, so you close it and move to something else BUT if you played the position against somebody they'd be able to find a refutation and draw that position THEN you never got closer to the chess truth, it was all an illusion, and you were fooling yourself.
The purpose of chess engines can't be to learn the chess truth about a position, because you could just be fooling yourself about approaching it, but, because the conclusion will be reached and the analysis closed, people will never know they were fooled.
-
- Posts: 4319
- Joined: Tue Apr 03, 2012 4:28 pm
Re: What is the purpose of chess engines?
The word you are looking for here is “map”.Ovyron wrote: ↑Mon Nov 18, 2019 3:09 amBecause if it didn't assume "infinite time" then it'd assume a certain time that the game has left, or a certain time that the next moves from the game will be played. If it's not "infinite time", then, what is it? Because in all these discussions games are never played to completion, and if they're played, we get plenty, but each at a laughable time control, and none of that has to do with the truth (which requires a chess clock - or at least, an implied one.)
What is wanted is that for any given chess position, you get moves ranked from best to worst, so that in any given position, if you played the 1st ranked move, you'd get the best performance against any opponent, under any condition, so deviating from the truth wouldn't make sense in any case.
Not only that, but the moves would have a number to their side, the higher the number, the better white performance, the lower the number, the better black performance, and a draw (50% performance) would be 0.
These numbers would apply to any chess position, so if a line was 50 and another was 49, in all cases playing from the 50 position would be better for black.
Note ChessDBCN is a representation of what I'm talking about, though it doesn't implement asymmetric eval, and it's of course a work in progress in where you can bend the truth at will by showing it better variations than what it currently knows (for instance, it has Bxc6 instead of Re1 as the mainline of the Spanish, one could go to either move and decrease Bxc6's score or increase Re1 and change their ranks), but that's how chess truth would look like (except it would never change because evals are final.)
In practice, however, once a game is being played, you eventually reach new territory, a position never seen before by anybody and you have nothing about it, you have to come up with your best performing move on the fly, and knowing this, the positions leading to this had to be played so that your time left to play the game allows you to play it correctly. It is useless if this new never seen position is one where you can mate your opponent with certain moves (that exist), if you have not enough time to find those moves and the position is so complex it's more likely that you'll blunder and lose.
Most people dedicate their time to using chess engines to analyze postmortem games (after they're over), studies (of a famous position) or chess puzzles (compositions from someone's mind), but if they don't find there's a winning move they claim "this position is a draw with best play" as the truth and move on, even though in a real game nobody knows what would happen.
Some people have claimed that they can always rank a non-losing move at the top, and basically solve chess on the fly and become unbeatable, but I don't think chess truth ends there, you rank at the top the moves that make it the most likely for the opponent to blunder, and it's tricky because those moves tend to be unclear and be dangerous to play for yourself.
My conclusion is that chess analysis doesn't make any sense, it only makes sense to play games, analysis is done to rank the moves in real time with your time available and play the move against someone, and if your performance is good, your ranking is good. You can't know if your ranking is good if you only analyze.
-
- Posts: 10297
- Joined: Thu Mar 09, 2006 12:37 am
- Location: Tel-Aviv Israel
Re: What is the purpose of chess engines?
You can certainly know things in advance.Ovyron wrote: ↑Mon Nov 18, 2019 7:12 amBut you can't know that in advance. What you're describing is not chess, but "hope chess", where you swindle in the hopes that your opponent will miss something. Any definition of chess truth would avoid playing losing moves, because you don't know if your opponent is able to find their refutation.
For example
If you play against an engine opponent that does not consider underpromotions and you see that after move A the opponent lose unless the opponent underpromote the pawn to a knight(you lose in the last case) then you certainly can take advantage of the opponent and win by the losing move A.
Evem if we ignore losing moves it is possible that in a drawn position you have the following about 2 objectively drawing moves:
move A is the only practical way to win against opponent X.
move B is the only practical way to win against opponent y.
It means that there is no clear definition if A is better than B or B is better than A.
-
- Posts: 1470
- Joined: Mon Apr 23, 2018 7:54 am
Re: What is the purpose of chess engines?
Well, we don't have 32-man tablebases. Of course if chess is a draw and both sides have 32-man tablebases then I wouldn't be able to win. Sigh. I already said above we'd like to know more than our tablebases currently record, but that doesn't mean that what they tell us isn't truth (if there were no bugs in producing them).
-
- Posts: 1470
- Joined: Mon Apr 23, 2018 7:54 am
Re: What is the purpose of chess engines?
If you have a position that a correct tablebase tells you is winning, you will not give up a draw against anyone, because the tablebase tells you winning responses to any move your opponent plays. I have no idea what you are talking about.Ovyron wrote: ↑Mon Nov 18, 2019 12:24 pmBut it follows logically:
IF you have concluded that the chess truth about a chess position is that white is winning it, and you are content, so you close it and move to something else BUT if you played the position against somebody they'd be able to find a refutation and draw that position THEN you never got closer to the chess truth, it was all an illusion, and you were fooling yourself.
-
- Posts: 2
- Joined: Mon Feb 26, 2018 6:43 pm
Re: What is the purpose of chess engines?
If the purpose of chess engine development is to improve their tournament results then creating modules for specific opponents may be necessary at some point. Suppose that we have a tournament of Stockfish, Komodo, Houdini and engine X. If X_1 is a combination of AntiSF, AntiKomodo and AntiHoudini and if X_2 has all 32 men tablebases then X_1 would win the tournament with a higher margin than X_2. Just my 2 cents.Uri Blass wrote: ↑Mon Nov 18, 2019 12:56 pmYou can certainly know things in advance.Ovyron wrote: ↑Mon Nov 18, 2019 7:12 amBut you can't know that in advance. What you're describing is not chess, but "hope chess", where you swindle in the hopes that your opponent will miss something. Any definition of chess truth would avoid playing losing moves, because you don't know if your opponent is able to find their refutation.
For example
If you play against an engine opponent that does not consider underpromotions and you see that after move A the opponent lose unless the opponent underpromote the pawn to a knight(you lose in the last case) then you certainly can take advantage of the opponent and win by the losing move A.
Evem if we ignore losing moves it is possible that in a drawn position you have the following about 2 objectively drawing moves:
move A is the only practical way to win against opponent X.
move B is the only practical way to win against opponent y.
It means that there is no clear definition if A is better than B or B is better than A.