What this Program Achieves
What this Program Achieves
This program gets the data of all chess master games played from Chess.com, and creates a yearly scoreline (or record or result) of each player (wins-draws,losses), and gives them a score out of 10 based on wins weighing as 1, draws weighing as 0.5, and losses weighing as 0. From this, the top 10 scores of each year are pulled and the players’ scorelines are plotted on a graph where the players are connected as well. This program aims to understand the eras, and the best early chess players better.
Standards Used
Standards Used
Out of fairness, games where either one or both of the players don’t have a rating given by Chess.com are excluded, as there have been a lot of games of these chess masters playing games against amateur chess players, in which the result of the games are obvious from the start. A famous example of this would be the “Opera Game” between one of the greatest chess players of all time, Paul Morphy, and two amateur chess players, Duke Karl and Count Isouard. While this game shows the brilliance of Paul Morphy, as it is not a game between two masters, it is excluded. This is done in order for all games to be between two chess masters.
If a player has less than 5 master games registered in a year, they are excluded from data as well in order to not have players who played a single game and won or lost skew the results.
If a player has less than 5 master games registered in a year, they are excluded from data as well in order to not have players who played a single game and won or lost skew the results.
Limitations
Limitations
In order to understand someone’s skill level at chess, not only the results of their game matters but the strength of the opponents they had those results against matter significantly, but the program does not account for this. For example, getting a draw against Garry Kasparov (Peak Rating of 2851) shows much more chess skill compared to winning against a National Master (2200+ Rating), however if these games were put into the program, the first game would weigh only 0.5 while the win against a National Master would weigh 1, which is not exactly accurate.
Eras of chess do not start or stop overnight, but take multiple years, so the hard cuts I chose to start and end years are not entirely accurate, but approximate.
Because of the significant amount of time it takes to import this data, with there being millions of games in Chess.com database, I chose a time (1860-1945) where there would be significantly less master chess games that were being played and taken note of. Theoretically, this program will work for later eras as well but it requires significant amount of time to run, which would ideally work the best with a spare and strong computer.
Eras of chess do not start or stop overnight, but take multiple years, so the hard cuts I chose to start and end years are not entirely accurate, but approximate.
Because of the significant amount of time it takes to import this data, with there being millions of games in Chess.com database, I chose a time (1860-1945) where there would be significantly less master chess games that were being played and taken note of. Theoretically, this program will work for later eras as well but it requires significant amount of time to run, which would ideally work the best with a spare and strong computer.
Importing Data
Importing Data
This is put in as an example on how a page of imported data appears like, which is later shaped to a more useful form.
Elo threshold was something I experimented with but it unfortunately didn’t work on Chess.com as intended, so I was unable to significantly cut down the data. It appears that it works better more closer to the Modern Day, so I might be able to use it for the next project.
Elo threshold was something I experimented with but it unfortunately didn’t work on Chess.com as intended, so I was unable to significantly cut down the data. It appears that it works better more closer to the Modern Day, so I might be able to use it for the next project.
eloThreshold="0";year=1967;pageNumber=3;data=Import["https://www.chess.com/games/search?opening=&openingId=&p1=&p2=&mr="<>eloThreshold<>"&lsty=1&year="<>ToString[year]<>"&lstMoves=1&moves=&fen=&sort=&page="<>ToString[pageNumber]<>"","Data"];dataFix=data[[1]][[2]];dataCleaner=dataFix[[All,{1,2}]]
Out[]=
{{ Zurakhov Vladlen Y (2415) Gorenstein Rafail Yakovlevich 1. Nf3 d5 2. g3 Nf6 3. Bg2 c5 King's Indian Attack: French Variation , 0-1 },{ Zurakhov Vladlen Y (2415) Matskevich Avshalom (2170) 1. Nf3 Nf6 2. g3 d5 3. Bg2 c6 King's Indian Attack: Yugoslav Variation , 1-0 },{ Zurakhov Vladlen Y (2415) Zaltsman Vitaly F (2445) 1. c4 Nf6 2. d4 e6 3. Nc3 Bb4 Nimzo-Indian Defense: Reshevsky Variation , 0-1 },{ Dragoljub M Ciric (2277) Theodor Ghitescu (2384) 1. e4 c5 2. Nf3 d6 3. Nc3 Nf6 Sicilian Defense , ½-½ },{ Dragoljub M Ciric (2277) Alexander A Kotov (2500) 1. e4 d6 2. d4 g6 3. c4 Bg7 Modern Defense: Averbakh, Kotov Variation , ½-½ },{ Dragoljub M Ciric (2277) Pachman Ludek (2278) 1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 Ruy López Opening: Berlin Defense , ½-½ },{ Dragoljub M Ciric (2277) Lajos Portisch (2533) 1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 Ruy López Opening: Morphy Defense, Keres, Chigorin Defense , ½-½ },{ Dragoljub M Ciric (2277) Hans Ree (2423) 1. e4 c5 2. Nf3 g6 3. d4 cxd4 Sicilian Defense: Open, Dragon Variation , 1-0 },{ Dragoljub M Ciric (2277) Zuidema Coen (2450) 1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 Ruy López Opening: Morphy Defense, Open, Howell Attack , 1-0 },{ Jan-Hein Donner (2430) Dragoljub M Ciric (2277) 1. c4 e6 2. d4 d5 3. Nc3 Nf6 Queen's Gambit Declined: Exchange, Positional Line, Reshevsky Variation , 1-0 },{ Jan-Hein Donner (2430) Theodor Ghitescu (2384) 1. d4 Nf6 2. c4 g6 3. g3 Bg7 King's Indian Defense: Fianchetto, Karlsbad Variation , 1-0 },{ Jan-Hein Donner (2430) Moisieev Oleg L (2385) 1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 Nimzo-Indian Defense: Deferred Hübner Variation , 0-1 },{ Jan-Hein Donner (2430) Pachman Ludek (2278) 1. d4 e6 2. c4 Bb4+ 3. Nc3 Nf6 Nimzo-Indian Defense: St. Petersburg, Fischer, Normal Line, Bronstein Variation , ½-½ },{ Jan-Hein Donner (2430) Lajos Portisch (2533) 1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 Nimzo-Indian Defense: Hübner Variation , ½-½ },{ Jens Enevoldsen (2350) Dragoljub M Ciric (2277) 1. e4 c5 2. Nf3 e6 3. d4 cxd4 Sicilian Defense: Open, Scheveningen, Fianchetto Variation , ½-½ },{ Jens Enevoldsen (2350) Kick Langeweg (2307) 1. c4 Nf6 2. Nc3 e6 3. g3 d5 English Opening: Agincourt Defense , 0-1 },{ Jens Enevoldsen (2350) Moisieev Oleg L (2385) 1. e4 c5 2. Nf3 Nc6 3. d4 cxd4 Sicilian Defense: Taimanov Variation , 0-1 },{ Jens Enevoldsen (2350) Scholl Eddie C (2359) 1. d4 Nf6 2. c4 g6 3. Nc3 d5 Grünfeld Defense: Petrosian System , 1-0 },{ Jens Enevoldsen (2350) Zuidema Coen (2450) 1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 Ruy López Opening: Morphy Defense, Closed, Morphy Attack , ½-½ },{ Theodor Ghitescu (2384) Jens Enevoldsen (2350) 1. d4 d5 2. c4 e6 3. Nc3 c5 Tarrasch Defense: Symmetrical Variation , ½-½ },{ Theodor Ghitescu (2384) Alexander A Kotov (2500) 1. d4 d6 2. c4 g6 3. Nc3 Bg7 Modern Defense: Averbakh, Kotov Variation , ½-½ },{ Theodor Ghitescu (2384) Kick Langeweg (2307) 1. d4 Nf6 2. c4 e6 3. Nf3 b6 Nimzo-Indian Defense: Three Knights, Duchamp Variation , ½-½ },{ Theodor Ghitescu (2384) Pachman Ludek (2278) 1. d4 Nf6 2. c4 e6 3. Nf3 d5 Queen's Gambit Declined: Semi-Tarrasch, Main Line, Pillsbury Variation , ½-½ },{ Theodor Ghitescu (2384) Hans Ree (2423) 1. d4 g6 2. e4 Bg7 3. c3 d6 Modern Defense with 1.e4 , 1-0 },{ Alexander A Kotov (2500) Jan-Hein Donner (2430) 1. c4 Nf6 2. Nc3 e6 3. Nf3 d5 English Opening: Anglo-Indian, Queen's Knight Variation , 1-0 }}
Finding out the W-D-L Scorelines for Players for Every Year
Finding out the W-D-L Scorelines for Players for Every Year
Clear[oppSeparate];oppSeparate[players_String]:=StringTrim/@(StringSplit[players,RegularExpression["\\(\\d+\\)"]][[1;;2]])(*Getthetwoplayersthatplayedthegame*)Clear[record,addRow];record=<||>;addRow[name_]:=record[name]={0,0,0};(*Connecttheplayertoanemptyscorelineastheyappearforthefirsttime*)updateRow[name_,result_,index_]:=((*Checksifplayerhasbeenaddedtomap*)If[!KeyExistsQ[record,name],addRow[name]];Switch[result,(*Dependingontheresultofthegame,adjustthescoreline*)"½-½",record[name]+={0,1,0},"1-0",If[index==1,record[name]+={1,0,0},record[name]+={0,0,1}],"0-1",If[index==2,record[name]+={1,0,0},record[name]+={0,0,1}]]);
getEra[yearstart_Integer,yearend_Integer]:=(eloThreshold="0";delay=10;Table[ClearAll[record];record=<||>;pageNumber=1;data={{"Messi"}};While[UnsameQ[StringTrim[data[[1]][[1]]],"Support"],(*Ifthepageisnolongerfound,data[[1]][[1]]returns"Support",sothatisusedtofindthatthenextpagedoesn'texist.*)Pause[delay];(*DoneinordertonotoverwhelmChess.comservers,andmycomputer*)data=Import["https://www.chess.com/games/search?opening=&openingId=&p1=&p2=&mr="<>eloThreshold<>"&lsty=1&year="<>ToString[year]<>"&lstMoves=1&moves=&fen=&sort=&page="<>ToString[pageNumber]<>"","Data"];(*Ifdoesn'texist:data[[1]]="Support"*)If[StringTrim[data[[1]][[1]]]==="Support",Break[]];dataFix=data[[1]][[2]];If[MatrixQ[dataFix],dataCleaner=dataFix[[All,{1,2}]];numGames=Length[dataCleaner];,dataCleaner={dataFix[[{1,2}]]};numGames=1;];Do[game=dataCleaner[[i]];result=StringTrim[game[[2]]];If[StringCount[game[[1]],RegularExpression["\\(\\d+\\)"]]<2,Continue[](*Ifoneorbothoftheplayersarenotmasters,thegameisexcluded*)];twoPlayer=oppSeparate[game[[1]]];Do[updateRow[twoPlayer[[j]],result,j],{j,2}],{i,numGames}];pageNumber++;](*Across1pagein1year*);tableYear=KeyValueMap[{#1,Sequence@@#2}&,record];tableYearClean=Table[current=tableYear[[i]];If[current[[2]]+current[[3]]+current[[4]]>=5,current,Nothing],{i,Length[tableYear]}];(*Getsridofplayerswithlessthan5gamesplayedforayear*)newTable=Reverse[SortBy[Join[#,{gp=#[[2]]+#[[3]]+#[[4]],(10*(#[[2]]+0.5*#[[3]])/gp)//N}]&/@tableYearClean,Last]][[;;Min[10,Length[tableYearClean]]]](*Formulaforscoreis(w+0.5d)/gamesplayed.Thismakes10themaximumscoreand0theminimum*),{year,yearstart,yearend}])(*Togetdataintheformatofarraysof{"name",w,d,l,gamesplayed,score}*)
Eras the program was ran for are
romanticEra=getEra[1851,1890]classicalEra=getEra[1891,1915]hyperModernEra=getEra[1916,1934]earlySovietDominanceEra=getEra[1935,1945]
Manually Putting the Output so I don’t have to run getEra again:
Manually Putting the Output so I don’t have to run getEra again:
Plotting the Eras
Plotting the Eras
romanticEraTime=Range[1851,1890];classicalEraTime=Range[1891,1915];hyperModernEraTime=Range[1916,1934];earlySovietDominanceEraTime=Range[1935,1945];Clear[label,scoreVal,plotter];label[{player_,w_,d_,l_,gp_,score_}]:=(Row[{Style[player,Italic],"\n","W:",w," D:",d," L:",l," Games Played:",gp," Score:",NumberForm[score,3]}]);(*Formatusedforwhentheuserclicksadot.Playername,andallothernecessaryinformationaregiven*)scoreVal[set_]:=(If[(ListQ[set]&&Length[set]>=5),set[[5]],Missing[]]);(*Getsridofmissingyearsforaplayer,ensuresthatitdoesn'tcauseerror*)plotter[eraData_,eraTime_]:=(map=Map[Association@Map[Function[row,row[[1]]->row[[2;;6]]],#]&,eraData];playerList=Union[Flatten[Keys/@map]];seriesIndividual=Association@Table[player->TimeSeries[scoreVal/@Lookup[map,player,Missing[]],{eraTime}],{player,playerList}];moreInfo=Flatten[Table[With[{set=Lookup[map[[i]],player,Missing[]],year=eraTime[[i]],score=scoreVal@Lookup[map[[i]],player,Missing[]]},If[NumericQ[score],Tooltip[Point[{year,score}],label[Prepend[set,player]]],Sequence[]]],{i,Length@eraTime},{player,playerList}]];(*Usedinorderforrestofthedatatobeavailableateachpointaswell.*)playerColors=Association@MapIndexed[#1->ColorData["DarkRainbow"][First[#2]/Length[playerList]]&,playerList];(*Tosetaspecificcolorforeachplayer,inorderfordashedandnormalplotstobethesame*)(*Thisisusedinordertoconnecttheyearsofthesameplayeriftheydidnotqualifyforanyotheryears,Forexample,ifaplayerwasinthelistin1973and1975,butnotin1974,thosetwoareconnecteddespitetherenotbeingadatainthemiddle.AsIstruggledwithgettingthistowork,aftermultipledifferentattempts,IhadChatGPTo3givemesuggestionsandcodetogetthisparttowork.*)dashedPlot=Graphics@Flatten@Table[Module[{vals=scoreVal/@Lookup[map,player,Missing[]],years=eraTime,i},i=Flatten[Position[vals,_?NumericQ]];Table[If[i[[k+1]]-i[[k]]>1,{playerColors[player],Dashed,Line[{{years[[i[[k]]]],vals[[i[[k]]]]},{years[[i[[k+1]]]],vals[[i[[k+1]]]]}}]},Sequence[]],{k,Length[i]-1}]],{player,playerList}];;actualPlot=ListLinePlot[Values[seriesIndividual],PlotLegends->None,PlotStyle->(playerColors/@Keys[seriesIndividual]),AxesLabel->{"year","score"},Mesh->None,Epilog->moreInfo,ImageSize->Full,PlotRange->{All,{0,10}}(*Asscoreonlygoesfrom0to10*)];Show[actualPlot,dashedPlot])(*Thisisusedtohaveabarchartofthefrequenciesofyearsplayersqualifiedtobeincludedinayearintheera.Forexample,ifnumberofyears2has12players,thatmeansthat12playersintheplotqualifiedtomakeiton2years.*)yearDistribution[eraData_]:=(simple=Flatten@eraData;playersListwDupes=Table[If[StringQ[simple[[i]]],simple[[i]],Nothing],{i,Length[simple]}];counts=Counts[playersListwDupes];freq=KeySort[Counts[Values[counts]]];BarChart[Values[freq],AxesLabel->{"years in Plot","Number of Players"},ChartLabels->Range[Length[freq]],ImageSize->Medium])
Note: These plots are interactive and the player belonging to each dot and their Scoreline can be seen when pointed at.
Romantic Era (1851-1890)
Romantic Era (1851-1890)
Comments
Comments
This era was known for its quicker, brilliantly sacrificing, and chaotic nature. Chess being not as mainstream during this era can be seen from most years not even filling up with enough masters to qualify for positions, and there being a significant amount of 19 players that only qualified for a single year, making up most of the plot. This showed that apart from a few, the top players were not entirely made up during this time and lesser known chess players were more likely to have great years, but not for too long. Also, there being many losing records in the list, most notably Joseph H. Blackburne who lost all of the 7 master games they played in 1876, and Wilfried Paulsen, who also lost all of the 7 master games they played in 1877, indicate the lack of players who qualified for each year. Also, there have been strange years such as 1869, when no players qualified with enough games.
Early onto the plot, one of the greatest chess players of all time and the defining chess player of the Romantic Era, Paul Morphy can be seen. In 1857, he had an amazing year of 29 wins, 3 draws, and 3 losses. As Paul Morphy stopped playing serious chess in 1860, at the mere age of 23, he only has 4 points in the graph, with a small comeback of 11 master games with 8 wins and 3 losses in 1863.
The most successful player in terms of scoreline (and one of the strongest of all time in terms of rating and current day evaluation) during this era was Wilhelm Steinitz, who was a perfect 7 for 7 in both 1876 and 1888. Another prominent figure, Adolf Anderson, can be seen to qualify for the list for the first time in 1851, and last time in 1878 with a long and successful chess career.
Early onto the plot, one of the greatest chess players of all time and the defining chess player of the Romantic Era, Paul Morphy can be seen. In 1857, he had an amazing year of 29 wins, 3 draws, and 3 losses. As Paul Morphy stopped playing serious chess in 1860, at the mere age of 23, he only has 4 points in the graph, with a small comeback of 11 master games with 8 wins and 3 losses in 1863.
The most successful player in terms of scoreline (and one of the strongest of all time in terms of rating and current day evaluation) during this era was Wilhelm Steinitz, who was a perfect 7 for 7 in both 1876 and 1888. Another prominent figure, Adolf Anderson, can be seen to qualify for the list for the first time in 1851, and last time in 1878 with a long and successful chess career.
Classical Era (1891 - 1915)
Classical Era (1891 - 1915)
Comments
Comments
The Classical Era was a transition between the Romantic Era and the Hypermodern era, when chess was becoming more popular and more studied with opening and endgame theory shaping up. During this time, the aggressive playstyle of the Romantic Era, when players were looking for impressive and quick wins were getting replaced by more positional and defensive playstyles that tried to avoid sacrifices and quick attacks when unnecessary. Also, fundamental chess principles such as rooks belonging on open files, pawns controlling the center, and early castling were developed more during this time.
From the bar graph, it can be seen that there were still a lot of players that qualified for a spot only once, but the frequency of qualifing for more years increased, with there being Emanuel Lasker (one of the greatest players ever) qualifying 12 times between 1894 and 1914. Other notable players include Siegbert Tarrasch with his best year occuring in 1894 with a scoreline of 19 wins, 2 draws, and 3 losses and Henry Nelson Pillsbury with his best year occuring in 1901 with 7 wins and 1 draw; and
Another thing worth mentioning is that the LinePlot is fuller now, causing low-score years to not qualify due to a lack of players. The records are much more balanced during this time.
From the bar graph, it can be seen that there were still a lot of players that qualified for a spot only once, but the frequency of qualifing for more years increased, with there being Emanuel Lasker (one of the greatest players ever) qualifying 12 times between 1894 and 1914. Other notable players include Siegbert Tarrasch with his best year occuring in 1894 with a scoreline of 19 wins, 2 draws, and 3 losses and Henry Nelson Pillsbury with his best year occuring in 1901 with 7 wins and 1 draw; and
Another thing worth mentioning is that the LinePlot is fuller now, causing low-score years to not qualify due to a lack of players. The records are much more balanced during this time.
Hypermodern Era (1916 - 1934)
Hypermodern Era (1916 - 1934)
Comments
Comments
This era was known for its more long-term strategic, balanced, and positional playstyle that sought to create small advantages that turns into wins in the endgame. An interesting thing that can be noticed on the plot is that in 1917, not a single player qualified as it was during WW1. Other years of WW1 include many less qualifications, usually by lesser known players that had their only qualifications in that year.
One of the most important figures of chess in this period is World Champion Capablanca, who had an amazing run between 1918 and 1919 when he won 13 games and only drew a single game. Another defining player of this era was Tartakower, who didn’t lose a single game of his 20 in 1921, winning 9 and drawing 11. As more draws is also a characteristic of more balanced and positional games of Hypermodern, this is to be expected of one of the strongest players. Another defining figure was Nimzowitsch, with his best scoreline happening in 1926 with 21 wins, 6 draws, and 4 losses.
Despite his playstyle not being of the Hypermodern era, but rather a type that has never been played at anytime, Mir Sultan Khan deserves to be mentioned here as well. He learned European Chess (the one most commonly known today) at the age of 21 after being a master of Indian Chess, and has a winning record against the likes of Capablanca (2-0-0), and Tartakower (5-6-4), all games happening just 6 years after he learned chess. He had his best year in 1932 with 15 wins, 9 draws, and 7 losses.
Some of the greatest players of all time, Mikhail Botvinnik and Alexander Alekhine also had their strongest years in this era, despite belonging more to the Early Soviet Dominance Era. Botvinnik in 1930 won 9 and drew 1 game, and Alekhine again in 1930 won 16 and drew 2 games.
One of the most important figures of chess in this period is World Champion Capablanca, who had an amazing run between 1918 and 1919 when he won 13 games and only drew a single game. Another defining player of this era was Tartakower, who didn’t lose a single game of his 20 in 1921, winning 9 and drawing 11. As more draws is also a characteristic of more balanced and positional games of Hypermodern, this is to be expected of one of the strongest players. Another defining figure was Nimzowitsch, with his best scoreline happening in 1926 with 21 wins, 6 draws, and 4 losses.
Despite his playstyle not being of the Hypermodern era, but rather a type that has never been played at anytime, Mir Sultan Khan deserves to be mentioned here as well. He learned European Chess (the one most commonly known today) at the age of 21 after being a master of Indian Chess, and has a winning record against the likes of Capablanca (2-0-0), and Tartakower (5-6-4), all games happening just 6 years after he learned chess. He had his best year in 1932 with 15 wins, 9 draws, and 7 losses.
Some of the greatest players of all time, Mikhail Botvinnik and Alexander Alekhine also had their strongest years in this era, despite belonging more to the Early Soviet Dominance Era. Botvinnik in 1930 won 9 and drew 1 game, and Alekhine again in 1930 won 16 and drew 2 games.
Early Soviet Dominance Era (1935 - 1945)
Early Soviet Dominance Era (1935 - 1945)
Comments
Comments
This era acted as a predecessor to the next 60 years of Soviet/Russian dominance in chess that was only challenged by Bobby Fischer for a brief period of time in the middle. The characteristics of this era include a more scientific approach to chess, long term plans, the ideas of a strong pawn structure, and less common but extremely complex openings such as the Najdorf Sicilian and King’s Indian Defense having improved theory. During WW2, chess world was not as affected as it was during WW1 with there still being many of the less known players qualifying during these years, but most top level chess was still active
The most prominent figures of this era include Mikhail Botvinnik, who had his strongest year of this era in 1945 with 13 wins and 4 draws; Max Euwe, who had his strongest year in 1940 with 5 wins and 2 draws; and Samuel Reshevsky with his best year happening in 1935 with 6 wins and 1 draw.
Another thing that can be observed in this era is that with there being many more chess masters and games being played, qualifying for this list become much harder with the lowest score among everyone being 5.63.
The most prominent figures of this era include Mikhail Botvinnik, who had his strongest year of this era in 1945 with 13 wins and 4 draws; Max Euwe, who had his strongest year in 1940 with 5 wins and 2 draws; and Samuel Reshevsky with his best year happening in 1935 with 6 wins and 1 draw.
Another thing that can be observed in this era is that with there being many more chess masters and games being played, qualifying for this list become much harder with the lowest score among everyone being 5.63.
Credits
Credits
Credits for the data of master games goes to Chess.com: https://www.chess.com/games
Disclaimer:
Chess games are non-copyrighted and this work is not being monetized.
Disclaimer:
Chess games are non-copyrighted and this work is not being monetized.
Future Steps
Future Steps
I will try to make this code more efficient in order to run it until our present day as well. I would love to have everything from 1860 to 2025 in a huge Line Plot. I estimate that with the current code, getting data between the entirety of 1860 to 2025 would take 1-2 weeks.
As a project further into the future and way bigger scaled, I plan to use accuracy calculated from each move a player makes using Stockfish and getting the top 10 most accurate players each year to plot their accuracies out of 100%. This requires every chess move in every chess game played by masters to be evaluated using Stockfish, so I plan to only use the games of known top players to significantly cut down the data.
If you have any suggestions to make the program more efficient or to improve the project, feel free to contact me. An option is hayavuzkara@davidson.edu.
As a project further into the future and way bigger scaled, I plan to use accuracy calculated from each move a player makes using Stockfish and getting the top 10 most accurate players each year to plot their accuracies out of 100%. This requires every chess move in every chess game played by masters to be evaluated using Stockfish, so I plan to only use the games of known top players to significantly cut down the data.
If you have any suggestions to make the program more efficient or to improve the project, feel free to contact me. An option is hayavuzkara@davidson.edu.
CITE THIS NOTEBOOK
CITE THIS NOTEBOOK
Chess scorelines (W-D-L) of top players during the early-modern Eras (1851,1945)
by Hakan Yavuzkara
Wolfram Community, STAFF PICKS, May 20, 2025
https://community.wolfram.com/groups/-/m/t/3464481
by Hakan Yavuzkara
Wolfram Community, STAFF PICKS, May 20, 2025
https://community.wolfram.com/groups/-/m/t/3464481