「夫子憮然曰、鳥獣不可與同羣。吾非斯人之徒與、而誰與。
「論語」微子、第十八、六

2012/04/30

大富豪と仲の悪い子供たち(解答)

朝カレーにしてみた。食後にパパイヤのヨーグルト和え。 朝風呂に入ってのち、読書と昼寝。 昼食は菠薐草と油揚のアーリオオーリオ。食後にオレンジ一つ。 午後、西方から宅急便。 昨日、いい筍があるから送りましょうか、と声をかけていただいて、 「ぜひ」と返事しておいたら、筍の他、大量の野菜が届いた。 無駄にしないように計画的に消費するなり、保存食化しないと。 とりあえず筍を下茹で。 その間に、ミントを生け、春キャベツの半分と二十日大根の全部を酢漬けにした。 夕食は早速、筍御飯。 筍、油揚、木の芽でシンプルに。 鯖の梅干し煮、菠薐草のおひたし、三つ葉の澄まし。 食後にミントティ。 夜は、料理の仕込みの他、読書など。 「ウォッチ・メイカー (上・下)」(J.ディーヴァー著/池田真紀子訳/文春文庫)、 読了。ディーヴァーは何を読んでも安定して面白い。 今日も静かな良い一日だった。

昨日の 「大富豪と仲の悪い子供たち」 のパズルの解答。
色々と方法はあるが、以下のものがもっともエレガントだと思う。 「遺産を隠した地点を中心に秘密の円を描いて、 その円周上の 5 点をランダムに選び、その一つずつを各子供に教える」。 協力した三人は、自分たちの三点から秘密の円を特定でき、その円の中心に遺産がある。 二つ以下の点では円周を定めることはできないが、 三つの点があれば円周が一つ決まる。 そしてこの三点は五つの内のどれでもよい。

このパズルは、分散コンピューティングに現れる問題とその解法の一つを題材にしたもの。 (例えば、 "What scientific concept would improve everybody's cognitive toolkit?" より、計算機科学者 J.Kleinberg の回答 "E Pluribus Unum" の中に例として挙げられてる。) 原理的には、上のパズルの解答を使えば、 一つのデータを 5 つに分散して、そのうちの 2 つまでは失われても大丈夫で、 しかも、2 つまでの秘密が漏洩しても安全であるようにできる。 「クラウド」と呼ばれる分散コンピューティングの背後では、 一つのデータを分散しながらもそれが一つのデータであるかのように振る舞わせつつ、 安全性と秘密を守るために、巧妙な数学的アルゴリズムが色々と使われています。