ある仮想疾患Fラン病(別名:チンパンフェチ病)を考える。

実験のために抗原陰性の血清50検体を準備していたところ、手違いで抗原陽性の検体が1つ紛れて51検体になった。
検体量は十分あるため抗原の有無の検査を繰り返すことは可能である。
複数の検体を混ぜて検査することも可能である。
検査1回に10万円かかるとする。
最低の費用で抗原陽性の検体を同定する方法を記載せよ。

Rで検体グループ分けを表示させる

m=50+1
g=ceiling(log2(m))
grp=vector("list",length=g)
f=Vectorize(\(x) dec2nw(x,2,g))
b=t(f(1:(m-1)))
for(i in 1:nrow(b)){
for(k in which(b[i,]==1)) grp[[k]]=c(grp[[k]],i)
}
grp