Good and bad moves statistically

Sort:
fburton

Somewhat frivolous this one...

How easy would it be to find out which moves were considered good (annotated with a !) or dubious (?) most often? My impression is that, for example, white playing e5 in the middlegame is often deemed to be good.

Obviously, whether a move is good or bad depends on context i.e. the current position (and arguably the known strengths and weaknesses and intended plans of you and your opponent). I am interested in whether any consistent patterns emerge statistically, for sake of curiosity and not to guide my own play(!).

Has this ever been attempted? Which databases allow such searches, or would it be necessary to do text searches on pgn files?

W12ard

Def more ?

fburton
W12ard wrote:

Def more ?


Sorry, I don't understand your question.

W12ard

It's not a question, it is a statement.

Def = Definitly

Shivsky

The quality of a chess move is really not as objective as you'd think ... a few factors can influence it such as:

#1. The current playing strength of the player "judging the move".

If a 600-rated kid plays opens with central pawn thrusts, gets all of his pieces out and doesn't waste time developing, each of his moves are pretty damn good :)

By contrast, if a 1800 plays a clean opening, he doesn't get a cookie for any of his opening moves.

Continuing with the contrast, a 2400 might play moves that are considered best by modern theory and then pull out a novelty (based on massive amounts of preparation at home/with computers etc.) and THAT would be considered a "good" move for him.

#2. The relative difference in eval. scores between your move and what an engine considers best (provided it is given sufficient time to reach a reasonable ply-depth assessment of the position at hand).

 

Consider a best-3-lines analysis read out of a typical engine on move #11 with white to play

+2.45 11. Ne5 <---------- Engine says this is better .. by quite a margin.

+1.5  11. Bxb7 <--------- Say you played this in your game

+0.1 11. Rad1 <----------  This would be considered a blunder, given the two winning alternatives above.

Now in the example above, if you had played Bxb7, I'd say that was good (once again, based on your rating class) but clearly not best (based on the engine's evaluation).

So one could classify "good" or "bad" by seeing how well you stack up against an engine's assessment.

Of course, you could often end up with situations like this:

+0.45 14. Nxd5 <--- This is a trivial recapture,

-3.0 11. e6 <--- Anything else down this list is hanging the piece!

-3.5 11. Qd2 

...

In this example, the margin of eval. scores might indicate that the best move is indeed a "good" move if you played it .. but if it was a trivial recapture, you really don't get a cookie now, do you?

#3. How tough was it to find the move.

Another way to look at it is to see how nuanced and/or clever a move really is. Things get a little subjective here ... what is "obvious" to a GM may be a brilliant move for a 1600 player.

Though if a position requires a lot of thought + pruning a ton of candidate moves to come up with a deductively sound move that does something good for you, I'd call it good.

Based on the above,  mining databases for good moves based on #1 and #3 don't make too much sense to automate though  #2 can be programmatically attempted (I've actually tried writing something to do this with some results! :) ) The only problem is way too many false positives :)

fburton

Insightful post, with some really good 'nibbles for thought'. It puts a damper on my database mining idea (which is not a bad thing if stops me wasting my time!). However, you say you tried it and got 'some results'. Anything of interest, if you don't mind me asking? 

Shivsky

Sure, I can share some insights at this half-baked exercise I attempted:

I wrote a "critical position mining" script that would take a PGN, administer some engine analysis with suitable parameters (ply depth, time taken per move etc.) and after it comes up with eval. scores for the N best lines (N = 3 to 5?) , I would then see how the actual move stacks up ... with the sole intention of flagging a "critical" position in the game taking into consideration:

1. Any place where the difference between the engine's best move and yours is +0.5 to 1.0 (can be tweaked) or more, it gets flagged.  The problem with this is that if I drop the threshold less than 0.1, the engine will be a nagging mother-in-law for every move and if I make it too high, I'll only get tactical oversights and not flag positions that are critical based on strategic/positional considerations.  I experimented a bit with this and for my rating level, I think 0.5 was adequate.

 

2. Margin of error when you are already winning : If you are winning and your move is +4.0 and the engine finds a +6.7 as best, then I would not flag it as it doesn' t have any instructional value to me (though for some, it might!)

3. In case my move matches the engine as best and the margin of 2nd, 3rd, 4th etc. best moves is "far" away in evaluation scores, then I would flag it as a "!" worthy move.

Problems:

1.When assigning "!" marks to my moves when they match the engine's best and are far superior to the 2nd/3rd best etc., I couldn't come up with a clean way of  I filtering out trivial recaptures or non-stupid ways of getting out of check etc. In other words, I couldn't filter out positions that may be "dead" easy to humans?

2. For the few PGNs that I worked with, it was pretty good and locating tactical positions of interest that I got wrong but I still needed to consult with a stronger player/coach to explain why an engine considers move A to be 0.70 while mine was only 0.15 etc.
So the real usefulness of this tool is to save you time in marking positions that "may" be critical w.r.t to the actual flow of the game.  Though for most of us, running through an entire game and stopping when necessary seems easy enough!
3. When I think about it, there's nothing new I was bringing to the table that chess.com/Fritz etc. overnight engine analysis etc. modes don't already bring, so I abandoned it.
fburton

Thanks for that Shivsky - very interesting.

steamedhams81

Are there any websites or apps that have an engine that scores you while you play so you know if you did a bad move while you're playing?

gaereagdag

The OP can get quite complex when engines give their analysis.

For instance in a game that I won yesterday the engine Shredder agreed in the main with how I won. But it said that even better was to have played a line in which I had a knight that was  active BUT it was trapped and couldn't be moved back in the forseeable future. I had seen this line at the time. I had rejected it. I don't believe that a human of ANY strength would have played it because it was such a "non-human" idea.

gundamv

@Shivsky: Thanks for sharing your analytical methods.  Very insightful!

gundamv

Oh, and for those looking for a chess engine, Fritz is pretty good though you need to pay.

 

For simple analysis, you could try the free Chessbase Lite.