効率的に勉強する

  • こちらで一問あたりの得点が異なる問題の合算で合格が決まるという試験の対策の話をしている
  • 努力には頭打ちがあるので、どうするのがよいか…と対策を立てる
  • この対策はあくまでも「効率的」対策であって、「勉強」は効率では測れないので、すべてをわかるつもりで好きなだけ勉強するのがよいとは思いますが…
  • コントロールできるのは正解する(潜在的)力なので、その力を持って試験に臨むと、正答数は二項分布になり、2種類の問題の二項分布が独立ならouter()を使って…。
  • 1点問題の正答力が2割を切ると合格は難しい。
  • 3点問題の正答力が7割を切ると合格は難しい。
  • 現在、1点問題と3点問題の正答力がともに6割の点に居るなら、y=3x的な努力が(3点問題を正解するには1点問題を正解するための3倍のコストがかかるとして、ですが)最適ということになるようです。
  • 現在、1点の力が0.0で3点の力が0.8のときは、両者に同じくらいの努力をするのがよいのでしょう。3点の方で頑張っても「頭打ち」なので。

p1 <- p3 <- seq(from=0,to=1,by=0.01)

S1.1 <- matrix(0,length(p1),51)
S1.2 <- matrix(0,length(p1),201)

S3.1 <- matrix(0,length(p3),51)
S3.2 <- matrix(0,length(p3),201)


for(i in 1:length(p1)){
	S1.1[i,] <- dbinom(0:50,50,p1[i])
	S1.2[i,] <- dbinom(0:200,200,p1[i])
}
for(i in 1:length(p3)){
	S3.1[i,] <- dbinom(0:50,50,p3[i])
	S3.2[i,] <- dbinom(0:200,200,p3[i])
}
par(mfcol=c(2,2))
matplot(S1.1,type="l")
matplot(S1.2,type="l")
matplot(S3.1,type="l")
matplot(S3.2,type="l")
par(mfcol=c(1,1))


goukakuritsu <- matrix(0,length(p1),length(p3))
for(i in 1:length(p1)){
	for(j in 1:length(p3)){
		tmp <- outer(S1.1[i,],S3.1[j,],"*")
		tmp2 <- outer(0:50,(0:50)*3,"+")
		tmp3 <- sum(tmp[which(tmp2>=160)])
		goukakuritsu[i,j] <- tmp3
	}
}
image(goukakuritsu,xlab="1点問題正解力",ylab="3点問題正解力")
points(0.6,0.6,pch=20,cex=5)
points(0.0,0.8,pch=20,cex=5)
abline(-1.2,3)
abline(0.8,1)