Looks like overall Capablanca is dangerous, he tops on Threat, KingSafety and Mobility and very close in Passer.
I have to admit to struggling to wrap my head around interpreting this
If you give an advantage of 100cp (static eval) on passed pawn to Tal, Tal's position score is only 93cp (according to Stockfish at 1s), but if you give that 100cp (static eval) to Capablanca, Capablanca's position score is 199cp. This makes Capablanca dangerous to play over Tal. The constant is 100cp passed pawn advantage.
For other feature like Mobility, you give Tal 100cp mobility advantage, Tal's position score is only 212cp. But if you give that 100cp to Capablanca, its position score is 240cp. Capablanca is more dangerous here too.
Ah, yes, I see what you mean. And since the data is only from Capa wins, then he converts the advantage to a win ... is that right?
One clarifier question ... are the value weights above individually calculated by the regressor in separate runs (like you did in the earlier posts)?
Looks like overall Capablanca is dangerous, he tops on Threat, KingSafety and Mobility and very close in Passer.
I have to admit to struggling to wrap my head around interpreting this
If you give an advantage of 100cp (static eval) on passed pawn to Tal, Tal's position score is only 93cp (according to Stockfish at 1s), but if you give that 100cp (static eval) to Capablanca, Capablanca's position score is 199cp. This makes Capablanca dangerous to play over Tal. The constant is 100cp passed pawn advantage.
For other feature like Mobility, you give Tal 100cp mobility advantage, Tal's position score is only 212cp. But if you give that 100cp to Capablanca, its position score is 240cp. Capablanca is more dangerous here too.
Ah, yes, I see what you mean. And since the data is only from Capa wins, then he converts the advantage to a win ... is that right?
Yes.
chrisw wrote: ↑Wed Jul 03, 2019 1:17 amOne clarifier question ... are the value weights above individually calculated by the regressor in separate runs (like you did in the earlier posts)?
Yes, I just made a summary table to easily compare the players.
It would be difficult to understand if I just give the y_intercept and the slope of the regression per feature per player. Higher slope usually indicates a strong player but there is also y_intercept. So what I did is to give a 100cp to a feature and calculate the predicted score. Then we can compare the predicted score among players.
I have tried combining 4 features in the regression instead of 1 feature at a time, so we can get feature coefficients simultaneously. Will try to post this later. Would be interesting to discover their weights and compare it to the weight which was done individually.
This is very cool. Have you considered running through 2 chess engines's games on there and take a look at their numbers? Human players are playing distinctively, I wonder if chess engines would look alike because they'd play the same moves on the same situations. Otherwise, some engine could be found that matches some numbers and we'd already have an engine that plays like Tal, but we didn't know it did until now.
Your beliefs create your reality, so be careful what you wish for.
Ovyron wrote: ↑Wed Jul 03, 2019 7:21 am
This is very cool. Have you considered running through 2 chess engines's games on there and take a look at their numbers? Human players are playing distinctively, I wonder if chess engines would look alike because they'd play the same moves on the same situations. Otherwise, some engine could be found that matches some numbers and we'd already have an engine that plays like Tal, but we didn't know it did until now.
We (I say we, but it is Ferdy who is doing it) will be able to do that if this idea works. I guess “we” can automate the process for all and any entity, all it requires is enough games for the regressor to work on. One bottleneck is the requirement to perform an SF evaluation on all positions.
Looks like overall Capablanca is dangerous, he tops on Threat, KingSafety and Mobility and very close in Passer.
I have to admit to struggling to wrap my head around interpreting this
If you give an advantage of 100cp (static eval) on passed pawn to Tal, Tal's position score is only 93cp (according to Stockfish at 1s), but if you give that 100cp (static eval) to Capablanca, Capablanca's position score is 199cp. This makes Capablanca dangerous to play over Tal. The constant is 100cp passed pawn advantage.
For other feature like Mobility, you give Tal 100cp mobility advantage, Tal's position score is only 212cp. But if you give that 100cp to Capablanca, its position score is 240cp. Capablanca is more dangerous here too.
Ah, yes, I see what you mean. And since the data is only from Capa wins, then he converts the advantage to a win ... is that right?
Yes.
chrisw wrote: ↑Wed Jul 03, 2019 1:17 amOne clarifier question ... are the value weights above individually calculated by the regressor in separate runs (like you did in the earlier posts)?
Yes, I just made a summary table to easily compare the players.
It would be difficult to understand if I just give the y_intercept and the slope of the regression per feature per player. Higher slope usually indicates a strong player but there is also y_intercept. So what I did is to give a 100cp to a feature and calculate the predicted score. Then we can compare the predicted score among players.
I have tried combining 4 features in the regression instead of 1 feature at a time, so we can get feature coefficients simultaneously. Will try to post this later. Would be interesting to discover their weights and compare it to the weight which was done individually.
simultaneous feature coefficients would be better. some will be larger than others, but once there is a good set of coefficients for several GMs/entities, then we can normalise the coefficients to sigmas. eg, once sigma normalised, a simple histogram will be a style graphic, ease of visually comparing the style sets.
Ferdy wrote: ↑Wed Jul 03, 2019 1:43 am
I have tried combining 4 features in the regression instead of 1 feature at a time, so we can get feature coefficients simultaneously. Will try to post this later. Would be interesting to discover their weights and compare it to the weight which was done individually.
Sample run with 4 independent variables.
ScoreCP prediction is topped by Capablanca at 302.20 when independent variables are all set to 100cp.
Tal:
Top 1 in mobility at coeff = 1.03
Capablanca:
Top 1 in Threats
Fischer:
Top 1 in Passer
Top 1 in KingSafety
Tal is very strong on mobility. Capablanca is good at mobility and passer. Fischer is well rounded, coefficients are not that high and not that low either and topped the 2 features on Passer and KingSafety.
Again these positions are white to move and player won the game. Static evaluation is from Stockfish eval command, and position score is from Stokfish at 1s of analysis. All positions that has a position score outside the window of [-500, +500] cp are excluded in the regression.
Ferdy wrote: ↑Wed Jul 03, 2019 1:43 am
I have tried combining 4 features in the regression instead of 1 feature at a time, so we can get feature coefficients simultaneously. Will try to post this later. Would be interesting to discover their weights and compare it to the weight which was done individually.
Sample run with 4 independent variables.
ScoreCP prediction is topped by Capablanca at 302.20 when independent variables are all set to 100cp.
Tal:
Top 1 in mobility at coeff = 1.03
Capablanca:
Top 1 in Threats
Fischer:
Top 1 in Passer
Top 1 in KingSafety
Tal is very strong on mobility. Capablanca is good at mobility and passer. Fischer is well rounded, coefficients are not that high and not that low either and topped the 2 features on Passer and KingSafety.
Again these positions are white to move and player won the game. Static evaluation is from Stockfish eval command, and position score is from Stokfish at 1s of analysis. All positions that has a position score outside the window of [-500, +500] cp are excluded in the regression.
Also, in this paper they check out whether internal representations (the activations of a neural network) can be related to human chess concepts like material, imbalance, pawns, knights, bishops, rooks, queens, mobility, king_safety, threats, passed_pawns, space, total and more. For a full list see Tables 2,3, and 4 of Appendix A (starts on page 35) With these components, maybe you can compose your own "styles" like speculative and conservative. For speculative and conservative, maybe you look at piece value imbalance, piece mobility, king safety, pawn structure and space.
There's also this [url = https://dl.ucsc.cmb.ac.lk/jspui/bitstre ... MCS033.pdf] paper [/url] that initially looks at 5 styles and compresses it down into 4. The methodology is probably not relevant, but rather the playing styles of aggressive, positional, defensive, solid, and tactical are. In this particular paper, although five were proposed, after games were clustered both solid and tactical styles were merged together. I wonder whether incorporating the extra concepts from table 3 and 4 of appendix A would have created more clusters, deleted some (or one), or kept the original five.
You could piggyback off of this author's work and use their 4/5 play styles, or re-run their analysis with the extra concepts from appendix A and see what you get.