この記事は1年以上前に書かれたもので、内容が古い可能性がありますのでご注意ください。
休日ともなれば一日中パソコンの前に座ってプログラミングをするといった生活を
かつてはしていたのですが、最近はあまりプログラミングをやらなくなってきました。
飽きたというわけではないと思うのですが、その代わりに数学の勉強をしているこ
とが多くなってきています。
わざわざ勉強する理由としては、数学的な素養があるのとないのでは問題解決にお
いて決定的な違いが出てくるとひしひしと感じているからです。
これは例えば問題の余分な部分をそぎ落とし問題の本質を突き止めると言ったこと
に使えます。
これが出来ない場合、議論の論旨が的外れになってしまったり、解決すべき本当の
問題を見落としてしまったりしてしまいます。
例えば、以下のような主張があるとします。
- カラスは黒い。
- よって、黒くないものはカラスでない。
この主張を見て、どう感じたでしょうか?
私が初めてこれを見たとき、後者の命題は間違っている、と思ったことを覚えてい
ます。
しかし、後者の命題は前者の命題の対偶なので、前者が正しければ後者も正しいは
ずです。
よくよく後者の命題を見てみると確かに言ってることが間違っていないことは分か
りますが、どうも腑に落ちないといった気持ちになりました。
実はこの問題は、対偶の直感との相違を指摘した有名な問題なのです (ヘンペルのカラス。)
多くの論理学で対偶が正しいことは認められていることから、人間の直感もあまり
当てにはできそうもありません。
仕事においても研究においても、第一に重要なことはきちんと問題を捕らえること
です。
その時、数学的な訓練を積んでおくことで、誤った論理を展開してしまったりする
ことを減らせると思います。
さらに、数学的な記法は簡潔に物事を記述することができます。
互いの正確な意思疎通のためにも、そのような記法を使えるようになることは有用
なことだと思います。
担当: 齋藤 ( ∃a(f(a)≠g(a) ⇒ f≠g) )