じぶん更新日記1997年5月6日開設Copyright(C)長谷川芳典 |
夕食後の散歩時によく見かける猫。津山線の線路の上を移動したり、真夏は橋の上で寝ていたりする。夜間は上り下りそれぞれ1時間に1本程度の運行なので、列車が近づいた時だけ避ければのんびりできるようだ。 |
【思ったこと】 151128(土)刑事コロンボ「殺しの序曲」の偽金貨クイズとその拡張(2) 昨日の続き。まず、 ここに金貨の入った袋が数個あります。袋の数はいくら多くてもよろしい。それぞれの袋に複数の金貨が入っているがこの金貨の数もいくらでもよろしい。しかし1つの袋だけは全部偽造の金貨が入っておりこれは重量が違っている。3回の計量で偽造の袋を見分ける方法は?という拡張問題についての復習。本当に3回の計量だけでニセ金貨の袋を見つけ出せるのかどうかを具体例で確認してみよう。ホンモノとニセモノの金貨1枚の重さは分からない、但し異なる重さであることだけは分かっているものとする。ここでは、袋が5つあるものとして、「袋1」〜「袋5」という番号をつけておく。
上記の方法は袋の数がいくら多くても判定可能。もちろん、それぞれの袋の中に莫大な数の金貨があり、かつ、秤がどのような重さでも正確に計測できるということが前提にはなる。 次に、この問題をさらに拡張して次のようにしたらどうなるだろうか? 外見は見分けがつかないが重さの異なる金貨Aと金貨Bがあります。そのいずれかを入れた袋がn個あります。袋の数はいくら多くてもよろしい。それぞれの袋に複数の金貨が入っているが、いずれも金貨Aのみ、または金貨Bのみであって、混ざって入っている袋は1つもない。3回の計量ですべての袋を、金貨Aの袋と金貨Bの袋に分けるにはどうすればよいか?これについて、上記と同じやり方を試みたとする。但し、ホンモノ、ニセモノという区別ではなく、重さの異なる金貨A、金貨Bの区別ということになる。A、Bの付け方は任意なので、ここでは袋1の金貨をAと決めておく。そうすると、
これを避けるには、【計量3】において、「袋の番号nと同じ数だけ取り出す」かわりに、「袋の番号nに対応して2n-1個取り出す」という方法が考えられる。要するに、各袋に二進数で、1、10、100、1000、...という番号をふり、その番号に対応した個数(二進数表記)を取り出すというやり方であり、計量結果から自動的に、二進数表記の「1」と「0」に、金貨Aと金貨Bの袋を対応させることが可能になるはず【但し未検証】。 最後に元の問題をさらに拡張し、 外見は見分けがつかないが重さの異なる金貨Aと金貨Bと金貨Cがあります。そのいずれかを入れた袋がn個あります。袋の数はいくら多くてもよろしい。それぞれの袋に複数の金貨が入っているが、いずれも金貨Aのみ、金貨B、または金貨Cのみであって、混ざって入っている袋は1つもない。できるだけ少ない回数の計量ですべての袋を、金貨A、金貨B、金貨Cの袋に分けるにはどうすればよいか?というように3種類、さらにはm種類の金貨がある場合を考えてみたが、頭が働かなくなった。ひょっとして完全数の問題にも関連するのかという気もするがよくワカラン。 ちなみに上記は不可能問題ではない。n個の袋があるなら、順番に1個ずつ金貨を取り出して計量すれば、最大n回で事足りることは分かっている(金貨の種類が何種類あろうともn回で十分)。 次回に続く。 |