Tóm lược
Từ cốt truyện của các trò chơi được chơi theo mã ECO của Caro-Kann ( B10-19 ), biến thể nâng cao (trong B12, nhưng B12 có một số biến thể linh tinh khác) đã luôn là dòng phổ biến nhất kể từ những năm 1990 và đạt đỉnh 1.804 trò chơi trong năm 2008 .
Phương pháp luận
- Tôi đã trích xuất các trò chơi từ Fritz for Fun 13 sang định dạng PGN
- Tôi đã chạy mã R sau, trích xuất năm (bắt buộc) và ECO (tùy chọn). Các trò chơi được lọc theo mã ECO B10-19 (Caro-Kann) và cho các trò chơi từ năm 1927. Tại sao lại là năm 1927? Đó là khi nó ra mắt ở đầu trang:
Anh ta [CapTHER] đã sử dụng nó [Caro-Kann] trong việc tiêu diệt chiến lược nghiền nát Aaron Nimzowitsch trong giải đấu lớn ở New York năm 1927.
Nguồn: Caro-Kann: Di chuyển bằng cách di chuyển của IM Lakdawala
- Số lượng trò chơi thô sau đó được vẽ theo thời gian. Thật không may, dữ liệu của tôi chỉ đến năm 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)