解約違い

■「解釈違い」の発生段階別の分類

【伝達される情報の矛盾と欠落】
・質問者→自然言語→プログラマー
・プログラマー→プログラム言語→コンピューター(回答者)
【あらかじめ持っていた情報の矛盾】
・質問者、プログラマー、コンピューター(回答者)
回答者があらかじめ持っている情報が質問者より少なくても、それは解釈違いではない。
回答者は、持っている情報の範囲で、できるだけ答えられればよい。
質問者が持っている全ての情報を、回答者へ伝達すれば、2つの分類は集約できる。
質問者とプログラマーを同一人物にすれば、その間の解釈違いは発生しない。
プログラマーからコンピューターへの伝達される情報の矛盾と欠落だけが、本質的に解決が必要。

■「解釈違い」の発生プロセス

プログラマーは、頭の中にある解釈を、プログラム言語へ翻訳する。
プログラマーが、翻訳前後の解釈が同じだと認識したら、翻訳は終了する。
解釈が同じだと認識したのに、実際は解釈が異なっているのが「解釈違い」である。
そのとき、正しいと確信している場合と、注意不足で誤認している場合がある。
ただの注意不足なら、注意すればよい。
異なるのに、同じだと確信するのは、比較対象が、すり替わってしまっているからである。
「A≠B」なのに「a=b」だと確信するのは、「A≠a」または「B≠b」の場合である。
書いたプログラムを見て、これが行いたかった内容だと、本来、行いたかった内容の認識の変えてしまうのである。
同じプログラムコードなら、コンピューターは必ず同じ動作をするので、プログラムコードはただ一つの解釈を表現している。
一方で、頭の中の解釈は、複数の解釈が可能なら、都合の良いように変化させてしまう。

■「解釈違い」の例

問題:次にコインを投げたときに表が出る確率(P)を答えよ
情報:そのコインを過去に投げた結果。表(H)、裏(T)、古い順。
TTHTTHTTHTTHTTHTTHTTHTTHTTHTTHTHHTHHTHHTHHTHHTHHTHHTHHTHHTHH
解釈例1: すべて平均して、P=30/60=50%
解釈例2: 前半30個と、後半30個で、頻度が変化している。後半30個を平均して、P=20/30=67%
解釈例3: 直近30個で「THH」という数列が繰り返しており、次はTなので、P=0%
コインを投げるごとに確率が変化することはないと仮定すれば、2と3は誤りだが、そのような前提条件はない。
表でも裏でもない状態にならないという前提が無ければ、1も誤りである。
確率は変化しておらず、表または裏しか出ないとしても、1の解釈が正しいとするには、まだ前提条件が足りない。
解釈1は、過去に表が出た頻度を答えているに過ぎない。次のコイントスの確率がその頻度と等しいという前提が必要である。
前提条件の元でなら正しい解釈のプログラムを作れそうだが、自然界で行うコイントスがその前提条件に従う保証はない。
前提条件がないとき、現代の数学では解釈例1,2,3のどれが正しいともいえない。

■演繹問題と帰納問題と解釈違い

全ての問題は、演繹問題と帰納問題の二つに分けることができる。
必要な情報が全て揃っているのが演繹問題である。
情報が不十分だが、「わからない」では許されないのが帰納問題である。
例えば、未来のコイントスの結果は「わからない」で正しいが、より良い回答が求められる。
真の答えは「わからない」だが、何らかの前提条件を加えて、別の回答が求められる。
その前提条件が質問者が望んだものではなかった場合が、「解釈違い」である。
人が質問者なら、その人の主観で何が正解か決まる。
しかし、自然現象の推論を行うなら、質問者は自然界であるため、客観的な「正しさ」があると考えられる。
自然現象の解釈の正しさは実験的に調べられますが、確率的な現象は偶然なのか必然なのか完全には区別できない。
科学では、より少ないパラメータで、より広い範囲を統一的に説明できる解釈が、より良い解釈と考えるのが一般的である。
例えば、全ての原子の性質は、個別に調べなくても、素粒子の組み合わせとして推測できる。
帰納問題の前提条件についても、さまざまな例を調べれば、全てを説明できる始原となる前提条件が見えてくるはずである。
常識的な物理法則でさえ、今日までは成立していたからといって、明日も成立する保証はないが、明日を予想するには正しいと考えるしかない。
帰納問題の前提条件もまた、「帰納の公理」として、正しいとする基準を決める必要がある。

■「帰納の公理」の探究方法

「公理」は正しいとする前提であって、証明はできない。
証明できない理論の間違いを指摘するは容易だが、正しいと指摘するのは難しい。
これ以上間違いを探しても出てこなそうなときに、おそらく正しいだろうと思えるだけである。
「帰納の公理」は次のような手順で探し出すことができる。
1.できるだけ単純な帰納推論の例で、直観的に明らかに正しいと考えられる推論結果を決める。
2.極端な数値を使うなどして、それでも直観的に間違っていないか確認する。
3.もう少し複雑にした例で、同様のことを行う。
4.これまでに考えた全ての例に当てはまる帰納的推論の計算手順を探す。
5.さらに複雑で極端な例を想定して、検証する。
6.見つけた計算手順から、既存の公理を取り除き、新たに仮定した「公理」を抽出する。
7.新たな「公理」が合理的か、直観的に判断する。