倍増する生物について

サマーキャンプあらため宿泊研修に行ってきました。
雨の中、徳地少年自然の家にて、さまざまな活動に参加。
最初にやったのがフィールドビンゴ。ビンゴ上に配置された写真マップをもっていき、場所と数字を合わせてビンゴになればよい、というもの。
途中で学生が居るポイントがあって、クイズを出されたり。

さて、今回出されたクイズに、次のようなものがありました。

生物AとBがいる。
AはBを食べて生きる。
AはBを食べると、倍に増える。
BはAに食べられると、残りのそれぞれが倍に増える。
(例、Aが一匹、Bが三匹いると、Aが一匹たべて二匹に、Bは残り二匹が四匹に増える。)

さて、A1、B20から始まった場合、何ターンで全てのBが食べ尽くされるか。

雨の中、紙と鉛筆で計算してみたが、式の立て方を間違えて失敗。結局班員が適当に答えて正解したが、どうも腑に落ちなかったので、その後ずっと考えてみた。学生と一緒に泊版を使って書いてみたりして、お昼前にやっとこさ答えを得たような次第。読者の皆さんも、一度やってみて下さい。答えをしたに書いておきますから、見る前に。

その後は飯盒炊爨。今年はマキが良く燃えたので、火をおこすのに苦労はなかった。
が、ある班員に野菜を切るのを任せたら(メニューはカレー)、「え、にんじんって皮むくのですか」と切った後で言われたり、「ジャガイモの芽を取る?はぁ?」とか言われたりしたので、大変でした。お味は上等でしたが。

夜の討論は、グループ内での議論だった。これだとつい、私がえらそうに意見を言ってしまうので、どうにもうまくない(自重しろ、といわれたらその通りなんだが)。

自然の家なので、夜は0時まで・翌日は7時から朝の集い、と決まっていたから、夜通し飲み続けて次の日大変、ということもなく、むしろ大浴場に入れたりなど、なかなか楽しい一日でした。

答え。ネタバレ注意。下の表の通り、20回で終わります。Aは2のn乗のペースで増える。Bはx^{t+1}=2*(x^{t}-2^{n-1})のペースで減り続ける、差分方程式になります。

ターン 食べる(e)/倍増(d) A B 比率
1 e 1 20 1:20
d 1 19
2 e 2 38 1:19
d 2 36
3 e 4 72 1:18
d 4 68
4 e 8 136 1:17
d 8 128
5 e 16 256 1:16
d 16 240
6 e 32 480 1:15
d 32 448
7 e 64 896 1:14
d 64 832
8 e 128 1664 1:13
d 128 1536
9 e 256 3072 1:12
d 256 2816
10 e 512 5632 1:11
d 512 5120
11 e 1024 10240 1:10
d 1024 9216
12 e 2048 18432 1:9
d 2048 16384
13 e 4096 32768 1:8
d 4096 28672
14 e 8192 57344 1:7
d 8192 49152
15 e 16384 98304 1:6
d 16384 81920
16 e 32768 163840 1:5
d 32768 131072
17 e 65536 262144 1:4
d 65536 196608
18 e 131072 393216 1:3
d 131072 262144
19 e 262144 524288 1:2
d 262144 262144
20 e 524288 524288 1:1
d 524288 0