■ 勉強
富田 悦次 (著), 横森 貴 (著)
森北出版、1992
本文を読み直して確認しつつ、第2章の演習をもう1回解いていたらそんなに難しくない気がしてきた。要するに理解度が低かったのだろう。
やはり勉強に話をかぎると、反復は美徳である。
■ Project Euler
やっと10問とっぱ。C++むずい。
■ 思った
先日、読書会で話題にでたが、人は条件法の論理を把握するのが苦手だ。「または」「かつ」「ない」は誰でも比較的自在にあやつれるのに、「ならば」だけこんなに苦労するのはおかしな話だと思う。スティッチの有名な実験 (カードをひっくりかえすやつね) の例もあるし、きっとこれは日本語の問題ではないんだろう。
たとえば
- 「3の倍数と3がつく数字のときに馬鹿になります」
って言ったら、3の倍数と3がつく数字のときに馬鹿のまねをするってことじゃないか。でも、それ以外に5の倍数のときにも馬鹿のまねをしても別に間違っているわけではない。3の倍数と3がつく数字のときに馬鹿になるとは言っているけど、それ以外の場合については何も述べていないわけだから。
これが十分条件。
一方
- 「3の倍数と3がつく数字のときにかぎり馬鹿になります」
の場合、3の倍数と3がつく数字以外の場合には、馬鹿にならない。でも、3の倍数と3がつく数字のとき、かならず馬鹿になるとは言っていない。馬鹿になることがあるとすれば、それは3の倍数と3がつく数字のときだけって言ってるだけだから。実際には3の倍数の内のいくつかのときだけ馬鹿になるのかもしれない。
これが必要条件。
必要十分条件を述べるには
- 「3の倍数と3がつく数字のとき、そしてそのときにかぎり馬鹿になります」
と言わなければならない。
でも、↑こんな言い方をすると変な人だと思われるじゃないか。変な人だと思われるのをよしとしても、そもそも通じないだろう。
必要十分条件を自然に述べるための接続詞があればよいと思うんだけど無い。
現実的には必要十分条件をはっきり述べようと思うなら「3の倍数と3がつく数字のとき、馬鹿になります。そして馬鹿になるときは、3の倍数と3がつく数字です」って言わなければならないのだろう。冗長だ。
「ならば」に強くなるための対策としては以下の3つくらいしか思いつかない。
- ベン図を書く。「p ならば q」だと、p の方が広い円になる。これを想像すると、必要条件、十分条件は把握しやすい。
- 対偶に変換する。対偶に変換すると、非対称がはっきりするのでだいぶ見やすくなる。「馬鹿にならないならば、3の倍数と3がつく数字ではない」。3の倍数、3がつく数字のときは必ず馬鹿になるって言っているし、それ以外の場合については何も言っていないことがわかりやすくなる。
- 条件法を使わない。「p ならば q」は「pでないか、またはq である」と同値なので、すべてこれに変換する。「3の倍数と3がつく数字ではないか、または馬鹿になります」。
トラックバック(0)
このブログ記事を参照しているブログ一覧: 雑記2008年4月15日(火)
このブログ記事に対するトラックバックURL: http://www.at-akada.org/mt/mt-tb.cgi/913

コメントする