解けるかどうか自分でもわからないんだが・・・
1:相手と自分とで数字を一つ指定する
2:何らかの方法で別の数字に変換する
3:変換された数字同士で計算し、最初に指定した数字がどっちが大きいか判断する
という方法は無いかな?
要は、相手の数字を知らずに自分の数字を知っているだけの状態で
どっちが大きいかだけがわかる方法ってないか?ってこと。
指定の数をグラムに変換して天秤で量る
478 :
□7×7=4□□:2006/04/26(水) 09:24:57 ID:r1pgzS1j
>>476 結論を言うと有る。
秘密分散とか秘密計算などと呼ばれているテーマで研究されている。
n変数関数 f(x_1, ..., x_n)がチューリングマシンで計算可能なら、
n人の参加者が自分の秘密情報x_iを漏らさないまま、
f(x_1,...,x_n) の値を計算する手順が知られている。
でも…、具体的にどうやるかは忘れた。
つまり、逆函数が計算不能で、かつ順序を保存する
函数が作れればいいわけだな。難しそうだ。
>>477 一瞬オッと思ったが、天秤だと、振れ方の具合を見ることで
重さの差がどれ程なのか見当がついてしまう。
つまり余計な情報を与えてしまうことになる。
第三者に測ってもらえばそういう問題は回避できるが、しかし、
そんなことするくらいなら最初からその人に互いの数字を見せて
判定してもらえばいい。
結局そういう第三者的な人や機械に頼ることを許すと、この問題は
容易に解決できるが、パズルとしては全く面白くなくなってしまうと思った。
簡単にできるなら二人で軍人将棋も可能になるな