How good do chess engines play chess?

Sort:
uri65
Earth64 wrote:

Xman and uri,

Tell me please.

a.What does it mean  by advantage?
b.Why do engines provide evaluation , though they go for pruning ?


c.What is the significance of 6.5 scored advantage? [Even with 6.5 scored advantage, it is a draw position.]do you consider it as advantage?

d. What is the significance of 0.00 score for the 2nd position [scored by stockfish], though it is winning position for white ?

a. Engine doesn't really care about advantage - it just chooses the move with best evaluation. When we talk about advantage that's human interpretation of evaluation.

b. Evaluation is used to choose "the best" move between many options.

c. Evaluation +6.5 is significant in comparison to other evaluations. For example after moves 1. Bf3 Kc7 white can queen the pawn 2. b8Q. However evaluation of this move is +3.25 so it will not be chosen.

But I still think that 6.5 evalution can be interpreted as an advantage for white in this case. For example if you give this position to 2 very weak players there are more chances that white will win rather than black.

d. Engine doesn't evaluate this position correctly and doesn't find the winning move for white. 0.0 is an evalution of Stockfish for the moves it consideres the best (Re6 or Re or bxa5 or Re3)

LegoPirateSenior
LoekBergman wrote:

@LegoPirateSenior: after Nf2+ you force a draw within two moves, where all other moves give white still a way to win.

Ahem, after the pawn is captured and only 2K + 2N are left, it is still possible for either side to lose on time (FIDE rules). An (in)famous case of this was discussed here some two months ago Cool.

LegoPirateSenior
Earth64 wrote in post #178:

I saw several positions which are wrongly evaluated by stocckfish [...snip...]

Stockfish says, it is a draw position, actually it is winning position for white. Even after going to 25 depth , it shows 0.00 score.

If you let it run longer, with MPV=1, it picks 1.Rf2 and evaluates it at +43.89 at depth=53.

But it's not the strength of your engine; it's how you use it. You need to make it search wider. Clear the cache, set MPV=16, and it finds Ree5 within seconds (at depth 17). Reset MPV to 1, and it will drill down that line very quickly (I am seeing now +123.56 at depth of 45). Let it slide down until it hits tablebases, then slide back, and after a little shuffling back/forth, depending on the cache you set, it claims mate in 33 from the starting position.

Deep Hiarcs, on the other hand, goes for Ree5 almost immediately.

LoekBergman
LegoPirateSenior wrote:
LoekBergman wrote:

@LegoPirateSenior: after Nf2+ you force a draw within two moves, where all other moves give white still a way to win.

Ahem, after the pawn is captured and only 2K + 2N are left, it is still possible for either side to lose on time (FIDE rules). An (in)famous case of this was discussed here some two months ago .

Interesting blog, but overstretching my point. A player could lose by misconduct or using a chess engine for instance. There are always causes of losing unrelated to the current position that makes it possible that a win is converted into a loss or viceversa. But that has nothing to do with the complexity of the position.

Furthermore is it good to find a variation in which those unrelated causes of loss are set to a minimum. Capturing the pawn is in this position the best method to set those causes to a minimum. You do not have to think anymore at such a position. Move to the knight or move away from it, but always end at a field with the other color as the field of the knight of your opponent has. And when he moves your king, you move your knight - away from your own king.

For a chess engine there is no difference indeed. It will probably make use of a tablebase and will avoid any losing method perfectly.

LoekBergman

Some time ago I had a variant at TT in which I thought that Stockfish had a wrong evalution. Nobody told me I was wrong in that thread.

Here is the position:

Am I correct or is Kxg6 the best move among others, because every variation will lead to a draw? Has anyone stockfish? If I am correct, then can I hardly imagine stockfish would not find it either. I think that it is a straightforward position.

Earth64
uri65 wrote:
Earth64 wrote:

Xman and uri,

Tell me please.

a.What does it mean  by advantage?
b.Why do engines provide evaluation , though they go for pruning ?


c.What is the significance of 6.5 scored advantage? [Even with 6.5 scored advantage, it is a draw position.]do you consider it as advantage?

d. What is the significance of 0.00 score for the 2nd position [scored by stockfish], though it is winning position for white ?

a. Engine doesn't really care about advantage - it just chooses the move with best evaluation. When we talk about advantage that's human interpretation of evaluation.

b. Evaluation is used to choose "the best" move between many options.

c. Evaluation +6.5 is significant in comparison to other evaluations. For example after moves 1. Bf3 Kc7 white can queen the pawn 2. b8Q. However evaluation of this move is +3.25 so it will not be chosen.

But I still think that 6.5 evalution can be interpreted as an advantage for white in this case. For example if you give this position to 2 very weak players there are more chances that white will win rather than black.

d. Engine doesn't evaluate this position correctly and doesn't find the winning move for white. 0.0 is an evalution of Stockfish for the moves it consideres the best (Re6 or Re or bxa5 or Re3)

you are very very very good at pointless , self- contradictory Arguement.

you said," Engine does not care about advantage".

you said, "It uses evaluation for choosing best move".

you said, " 0.0 is an evalution of Stockfish for the moves it consideres the best (Re6 or Re or bxa5 or Re3)".

you said, "Evaluation is used to choose "the best" move between many options."

It is clearly self- contradictory.

You have very poor idea about engine behavior.

uri65
Earth64 wrote:
uri65 wrote:
Earth64 wrote:

Xman and uri,

Tell me please.

a.What does it mean  by advantage?
b.Why do engines provide evaluation , though they go for pruning ?


c.What is the significance of 6.5 scored advantage? [Even with 6.5 scored advantage, it is a draw position.]do you consider it as advantage?

d. What is the significance of 0.00 score for the 2nd position [scored by stockfish], though it is winning position for white ?

a. Engine doesn't really care about advantage - it just chooses the move with best evaluation. When we talk about advantage that's human interpretation of evaluation.

b. Evaluation is used to choose "the best" move between many options.

c. Evaluation +6.5 is significant in comparison to other evaluations. For example after moves 1. Bf3 Kc7 white can queen the pawn 2. b8Q. However evaluation of this move is +3.25 so it will not be chosen.

But I still think that 6.5 evalution can be interpreted as an advantage for white in this case. For example if you give this position to 2 very weak players there are more chances that white will win rather than black.

d. Engine doesn't evaluate this position correctly and doesn't find the winning move for white. 0.0 is an evalution of Stockfish for the moves it consideres the best (Re6 or Re or bxa5 or Re3)

you are very very very good at pointless , self- contradictory Arguement.

you said," Engine does not care about advantage".

you said, "It uses evaluation for choosing best move".

you said, " 0.0 is an evalution of Stockfish for the moves it consideres the best (Re6 or Re or bxa5 or Re3)".

you said, "Evaluation is used to choose "the best" move between many options."

It is clearly self- contradictory.

You have very poor idea about engine behavior.

What exactly is self-contradictory?

LoekBergman

@Earth64: That an argument might not be the best line of reasoning does not imply that the person is per se very good in making pointless arguments nor that someone has a very poor understanding on the subject.

The first argument is an exaggeration, the second one an ad hominem.

@uri: white has an advantage if the chess engine gives a positive evaluation. That is nothing human, that is also how a chess engine decides making its move. It is the same to say a chess engine choses the best move or it choses the move which gives itself the biggest advantage.

You can describe the same thing using different words, that does not imply that you express really different meanings. Chosing the best move is taking care of advantage. It is in my opinion not self-contradictory, yet not correct either. You make a distinction between the words advantage and evaluation that is in my opinion complicating things more than that it solves. I am not a native speaker of English, but I perceive it as an artificial distinction.

uri65
LoekBergman wrote:

@Earth64: That an argument might not be the best line of reasoning does not imply that the person is per se very good in making pointless arguments nor that someone has a very poor understanding on the subject.

The first argument is an exaggeration, the second one an ad hominem.

@uri: white has an advantage if the chess engine gives a positive evaluation. That is nothing human, that is also how a chess engine decides making its move. It is the same to say a chess engine choses the best move or it choses the move which gives itself the biggest advantage.

You can describe the same thing using different words, that does not imply that you express really different meanings. Chosing the best move is taking care of advantage. It is in my opinion not self-contradictory, yet not correct either. You make a distinction between the words advantage and evaluation that is in my opinion complicating things more than that it solves. I am not a native speaker of English, but I perceive it as an artificial distinction.

I mostly agree with what you say. I still prefer to make a distinction between advantage and evaluation. Advantage is a human perception of our chances to win in a given position.We use human terms to describe it - in comments to a game we can see "even position", "unclear position", "slight advantage", "decisive advantage". Evaluation is a number. It is programmed by humans in such a way that 0.0 means position is even. But translating between evaluation and different kinds of advantages is not obvious.

Yes positive evaluation means engine consideres white having an advantage. My biggest problem was with the claim that +6.5 means white is going to win.

Earth64

If anything does not lead to win, it means that there is no real advantage.

If anything leads to win, that means there is advantage.

when engine shows that it is 1.00 for one side. Most of the time it leads to win.

when engine shows that it is 6.5 for one side , that means there is very much advantage which leads to win.

when Engine shows 0.00, that means it leads to draw. [if there are no mistakes for future]

Advantage means the numerical evaluation deviates from balanced score 0.00.

0.1 means one side has one centi pawn advantage.

0.5 means one side has half pawn advantage.

1.00 means one side has one pawn advantage.

5.00 means one side has one rook advantage.

6.50 means one side has one rook,one pawn and half pawn advantage.

Endgame says that if anyside has surplus with a rook and a pawn , he will win.

Endgame says that if any side has surplus with a pawn, he will win depending on king position.

I 've tried my best to make you understand with my 'simple words'.

Now kindly answer me,

Which block headed  do say "6.5  does not mean win" ?

LoekBergman

Hmm, if you like to read philosophy, then can I advice you to read Henri Bergson 'About time and free will.' He talks about the ideas and concepts around qualitative versus quantitative measurement.

I will point here at another way to look at those different perspectives on evaluation. In programming you can not make decisions like we do when we do not program. (In my current job I am also a software engineer.) Adding, distracting, multiplying are ways to come to decisions that are more or less equal to human made distinctions. The translation to a certain number is meant to be obvious, but that does indeed not imply that a +6.5 evaluation means that white will win. In the candidates tournament of 2014 made Gelfand a draw when he had for quite some time a disadvantage of 7 or more. I see the level of evaluation as an indication of the ratio of numbers of positions that will end in a win for white, a draw or a win for black. The numbers of positions that are a draw or a win for black should be much less than the number of positions that will lead to a win for the side with the +6.5 advantage.

To say that +6.5 is a win is imo at most slightly incorrect. If I have a position with more than a rook advantage that is for the rest not too imbalanced, then will I expect to win. Not to make a draw and for sure not to lose. We are talking about a real big difference:

uri65
Earth64 wrote:

If anything does not lead to win, it means that there is no real advantage.

If anything leads to win, that means there is advantage.

when engine shows that it is 1.00 for one side. Most of the time it leads to win.

when engine shows that it is 6.5 for one side , that means there is very much advantage which leads to win.

when Engine shows 0.00, that means it leads to draw. [if there are no mistakes for future]

Advantage means the numerical evaluation deviates from balanced score 0.00.

0.1 means one side has one centi pawn advantage.

0.5 means one side has half pawn advantage.

1.00 means one side has one pawn advantage.

5.00 means one side has one rook advantage.

6.50 means one side has one rook,one pawn and half pawn advantage.

Endgame says that if anyside has surplus with a rook and a pawn , he will win.

Endgame says that if any side has surplus with a pawn, he will win depending on king position.

I 've tried my best to make you understood with my 'simple words'.

Now kindly answer me,

Which block headed  do say "6.5  does not mean win" ?

You have to distinguish between "forced win" and "better chances to win". When engine sees a forced win it will evaluate it not with a number, but as "Mate in N moves". When position can't be calculated to a forced mate but one side has better chances to win then humans will call it an advantage, engines will give it a non-zero evaluation.

You say "1.00 means one side has one pawn advantage". That's simply wrong. 1.00 is just the value returned by engine evaluation function. On average this corresponds to a material advantage of one pawn. It's programmed like this on purpose so that humans have easier time to understand the evaluation. But that's only on average - in every specific case it can mean anything else.

That's why all the rest of your post is irrelevant - there is no fixed relation between evaluation and material advantage.

Earth64

Acutually you already have made mistake, another mistake is you do not want to confess. Despite knowing the truth, you are putting poor reasoning arguement.

uri65

Here is a trivial example that demostrates 2 things:

1) material advantage of +8 is not enough to win

2) Stockfish evaluates it to +0.15 which is quite different from material advantage

uri65
Earth64 wrote:

Acutually you already have made mistake, another mistake is you do not want to confess. Despite knowing the truth, you are putting poor reasoning arguement.

Can you be more specific - what mistake did I make?

Earth64

Again pointless arguement.

go to this link and know about the evaluation function. you will find that material difference does matter.

https://chessprogramming.wikispaces.com/Evaluation

uri65
Earth64 wrote:

Again pointless arguement.

go to this link and know about the evaluation function. you will find that material difference does matter.

https://chessprogramming.wikispaces.com/Evaluation

Of course it does matter - I've never said it doesn't. But evaluation is not equal to material difference. You were claiming it is.

Earth64

i said that material difference is major and f(p) also says that.

uri65
Earth64 wrote:

i said that material difference is major and f(p) also says that.

Earlier you've said this: "1.00 means one side has one pawn advantage" - do you still backup this or have you changed your opinion?

My post #203 is a counter-example to your claim that "material difference is major" - sometimes it is not.

Earth64

your mistakes-

  1. you mean by your saying, " score 6.5 does not mean win, it is just a mere evaluation"
  2. in post 203, you said," material difference is +8", the black pawn is about to promote as queen and white can not stop it by any tactical way except exchanging Queen which leads to equal position.How can you that it is +8 material difference?
  3. If engine understands that the position [post 203 by you] is draw, why does not it understand the position is draw [post 166 by me]? do not say that ply does matter.
  4. you ignore the practical experince of score 1.00 or 5.00. Most of the time these position lead to win.