Sumário
Do enredo de jogos disputados sob os códigos Caro-Kann ECO ( B10-19 ), a variação avançada (em B12, mas B12 possui outras variações diversas) tem sido consistentemente a linha mais popular desde a década de 90 e atingiu o máximo de 1.803 jogos. em 2008 .
Metodologia
- Extraí os jogos do Fritz for Fun 13 para o formato PGN
- Executei o seguinte código R, que extrai o ano (obrigatório) e o ECO (opcional). Os jogos são filtrados para os códigos ECO B10-19 (Caro-Kann) e para jogos de 1927. Por que 1927? Foi quando estreou no topo:
Ele [Capablanca] usou [o Caro-Kann] em sua esmagadora destruição estratégica de Aaron Nimzowitsch no grande torneio de Nova York de 1927.
Fonte: The Caro-Kann: Movimento por Movimento por IM Lakdawala
- O número bruto de jogos é plotado ao longo do tempo. Infelizmente meus dados só vão para 2009
library(ggplot2) # For making the charts look nice
dat <- readLines("C:/Users/Peter/SkyDrive/Chess/Fritz for fun 13 database.pgn") # Read in the data from a local file
eco <- dat[grep("\\[ECO ",dat)] # Extract the ECO, if there is one
eco <- sub("\\[ECO \"","",eco)
eco <- sub("\"\\]","",eco)
year <- dat[grep("\\[Date ",dat)]
year <- sub("\\[Date [\"]","",year)
year <- sub("\\..*","",year)
year <- as.numeric(year)
ecoindex <- grep("\\[ECO ",dat) # Find which lines have an eco
yearindex <- grep("\\[Date ",dat)
yearindex <- yearindex + 5 # The date is always the 3rd pgn tag and is mandatory. The ECO, if present, is the 8th tag
matchindex <- yearindex %in% ecoindex # This code finds which games have both a year and eco tag
year <- year[matchindex] # Filter out games without an ECO
countgame <- table(eco,year)
countgame <- as.data.frame(countgame) # Convert to a data frame
Carocode <- paste("B",10:19,sep="") # ECO codes for the Caro-Kann are B10-B19
Carogame <- countgame[which(countgame$eco %in% Carocode),] # Keep the data for the Caro-Kann ECO codes
Carogame$year <- as.numeric(as.character(Carogame$year))
Carogame <- Carogame[Carogame$year>=1927,]
p1 <- ggplot(Carogame,aes(x=year,y=Freq,group=eco))+geom_line(aes(colour=eco)) # Plot count of games
p1 <- p1 + ggtitle("Number of Caro-Kann games over time") + ylab("Number of games")
print(p1)