2009年06月05日の日記です


デバッグ思考  2009-06-05 11:59:03  コンピュータ

先日、週刊モーニングの「エンゼルバンク」(ドラゴン桜外伝)を読んでいたら、こんな問題が載っていた。

すでに回答を出した号も発売されているので、概略を書いてもよいだろう。



問題:

表にアルファベット、裏に数字が書いたカードがある。

このカードは「表が母音の時、裏は偶数」だというルール(仮説)がある。


A K 4 5


この4枚のカードが提示されたとき、できるだけ少ない枚数のカードを裏返して、ルールを検証したい。

どのカードを裏返せばよいだろうか?




1分以内に回答せよ、と時間制限をつけたとき、正答率は 4% だそうだ。


自分は回答に1分もかからなかった。

別に自慢したいわけではなく、プログラマーにとっては、答えられないと駄目な問題だと思う。


なぜなら、これは「多角的な思考」ができているかどうかを見る問題だからだ。

自分が一応の解答を出した後で、再度その解答が正しいかどうかを検証する、という作業ができていないと、答えを見誤る問題になっている。


そして、プログラマーはプログラムが完成したと思った後で、それで正しいのかどうかを検証する、という作業を常に行っていないといけない。

そうしないとバグが頻出するためだ。(これができていたって、バグは頻出するが)





話は変わって、3年位前に流行した本の問題。

確か「金持ちになれるかどうかの適正を見る問題」だったと思う。

結局、多角的な思考ができるかどうかを見ている、という意味では同じなのだが、制限時間は10分だった。



問題:

A 君は会社の入社試験を受けた。

この試験は同時に4人で行われ、背中に「A」「B」の記号が書いたシャツが2枚づつ、計4枚用意される。

試験を受けるものは渡されたシャツを着るが、自分のシャツに付いた記号を見ることはできない。

試験に合格するためには、自分のシャツにどちらの記号が書かれているかわかった時点で大きな声で答えなくてはならない。回答権は1回のみ。


ただし、4人はそれぞれ別の部屋に通される。

お互いの声は聞こえるが、相手のシャツの記号を伝えてはならない。

それぞれの部屋は次のようになっている。


1) どの部屋からも独立した個室

2) 3 と 4 の部屋を覗くができる部屋

3) 4 の部屋を覗くことができる部屋

4) 覗かれてはいるが、中の人にとっては個室に思える部屋。


自分がどの部屋に通されたかは、当然わかる。


じつは、A君には伝えていないが、A君以外の3人は会社が用意した「さくら」であり、着るシャツ、入る部屋なども会社が決めている。


さて、会社はA君をどの部屋に通したか?



問題のポイントは、これが「入社試験である」ということである。

つまり、A君は適切に回答できるような部屋に通されなくてはならない。



この問題、知人に「僕はできませんでした」と見せられ、1分くらいで一応の回答にたどり着いた。

しかし、再検証するとそれではおかしい。5分くらい考えて、結局

「1つの答えを求められているようだが、答えが2つあるので問題に不備がある」

という答えを導き出した。(先に書いたとおり、制限時間は10分)



解答は数行下に。












それでは解答。


本が用意した解答は、2の部屋である。

これで、さくらを 3 と 4 に「同じ記号で」そろえれば、A 君は2枚づつしかないシャツの2枚が揃っているのを目撃し、自分は「もう片方」の記号だと判断できる。


ここでは、A 君の試験は非常に簡単なものになってしまうが、「どの部屋に通したか」という問題にたいし、「3 と 4 を同じ記号でそろえれば」試験問題が成立する、というところまで踏み込んで考えないといけないため、それなりに難易度の高い問題に仕上がっている。


つまり、これも最初に挙げた問題と同じように、「多角的な思考」を見るための問題なのだ。





ところで、自分の考えた別解はこうだ。

自分が会社の立場なら、A 君を 3 の部屋に通し、4の部屋には A 君と同じ記号のシャツの人を入れる。


これだけでは、A 君は答えられない。しかし、ここで2の部屋に通したサクラに、大声で回答させる。


つまり、A 君にとっての状況は

・自分は、2人を見られる人から見られる部屋に入り、そのうちもう一人を見ることができる。

・2人を見られる人は、回答した。

である。


なぜ2人を見られる人は回答したのか? それは、A君と、A君が覗けるもう一人の人が、同じ記号を着ているからだ。


ここまで考えられれば、A 君も回答出来る。この推論力はたいしたものだ。会社にとっても良い人材となるだろう。2の部屋に通すよりも試験としても適切である。



実は、同じ考えを延長すれば、A君はどこの部屋に入ってもかまわない。

4 の部屋に入れられたなら、2番目に答えた人と同じ答えにすればよい。

1 の部屋であれば、1番目に答えた人と同じ答えにすればよい。


ただし、この場合、「他人の答えの内容」が関係し始めるので、他人が誤答すれば、自分も誤答になる。

3の部屋の場合、他人が「回答した」という事実だけが重要であり、その内容は重要ではないため、通す部屋としては 1 や 4 より 3 のほうが適切である。


というわけで、「おそらく2が答えだろうが、3も答えとして適切だし、どの部屋でも間違いではない」という結論にたどりつく。




でも、問題が載っていた本では、そのような解答は無かった。

なぜか?


つまり、問題を作った人が「自分がたどり着いた結論を、別角度から検証する」ことができていなかったのだ。

多角的な思考を問う問題を作った作者は、多角的な思考が出来ていなかったのである。


あまりに可笑しかったので、当時も日記ネタにしようかと思ったのだが、流行していた本の悪口を書くのもどうかと思ったので取り上げないでおいた。

今回、最初に書いた問題で思い出したので、ついでに書いておく。






最後に、最初の問題の解答を書いておく。

解答がわからないと気持ち悪い、と思う人もいるかもしれないので。


A K 4 5


この4枚のカードのうち、できるだけ少ない枚数のカードを裏返して、母音の裏が偶数であることを調べるにはどうすればよいか。


答えは A と 5 。

K は子音なので、裏が何であってもかまわない。

調べたいのは「母音の裏が偶数であること」なので、偶数の裏が子音でもかまわず、4をめくる必要は無い。


しかし、5を裏返して母音では無いことを確認する必要はある。




同じテーマの日記(最近の一覧)

コンピュータ

関連ページ

アスペルガー症候群【日記 15/06/16】

別年同日の日記

02年 びわ酒

02年 MicroDrive

18年 おべんとう


申し訳ありませんが、現在意見投稿をできない状態にしています


戻る
トップページへ

-- share --

0000

-- follow --




- Reverse Link -