Ringkasan
Dari plot permainan yang dimainkan di bawah kode ECO Caro-Kann ( B10-19 ), variasi muka (dalam B12, tetapi B12 memang memiliki beberapa variasi lain-lain) telah secara konsisten menjadi baris paling populer sejak 1990-an dan memuncak pada 1.803 game pada tahun 2008 .
Metodologi
- Saya mengekstrak game dari Fritz for Fun 13 ke dalam format PGN
- Saya menjalankan kode R berikut, yang mengekstrak tahun (wajib) dan ECO (opsional). Permainan disaring ke kode ECO B10-19 (Caro-Kann) dan untuk game dari tahun 1927. Kenapa tahun 1927? Saat itulah debut di atas:
Dia [Capablanca] menggunakannya [Caro-Kann] dalam penghancuran strategisnya terhadap Aaron Nimzowitsch di turnamen besar New York tahun 1927.
Sumber: The Caro-Kann: Langkah demi Langkah oleh IM Lakdawala
- Jumlah gim mentah kemudian diplot seiring waktu. Sayangnya data saya hanya masuk ke 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)