見出し画像

今更ゴールドマンサックスの面接問題を解いてみた


一昔前、Googleかなんかの面接で出された難関問題を、日本の企業が面接に使うのが流行ったことがあったそうな。とりあえず流行りに乗ろうってんで、問題の意図を理解せず出題するなんていい加減な企業もおったそうです。
とは言え、難しい問題とくらぁ解きたくなるのが男の子、ネットから拾って解いてみました。
以下はその問題。



”ゴールドマン・サックスは自社のホームページで採用活動の内容を公開し、そこに「こんな問題を解ける学生が欲しい」と、例題を示している。(2013年時点の記事から引用)


あなたが旅をしていると2つの扉が現れ、それぞれの扉の前にライオンが1頭ずついた。傍らの立て札には、こう書かれています。 『片方の扉はあなたを新しい世界へ導くが、もう一方の扉は、過去へ逆戻りする。2頭のライオンは「はい」か「いいえ」でしか答えられない。1頭は真実しか語らず、もう片方は嘘しか語らない』 あなたはどちらのライオンに何と質問をすれば、新しい世界へ行けるか。ただし、質問できるのは1度だけである”


ほんでなんですが、ワシこれ解けなかったんですね。
爆発音(シュール)


気になる答えはというと、
例:「このドア(自分が選んだドア)は新しい世界への入り口かと聞かれたら『はい』と答えるか」と聞く。


で、実際に検証するとこの答えで合ってるんだけれども、肝心要の、なぜこの答えを出せたのかってのが行方不明。面接っていうのは、能力を証明するための場所。ただし、答えを出せたのがマグレじゃないのを証明するために、なぜ解けたか。その思考の過程を見るのが一番重要じゃないの?

「誰か解法を言語化してくれ!」
「俺がします!」
「いや僕が!」
両者「チラッ」
「じゃあワシが」
両者「どうぞどうぞ!」
そんなわけで言語化してみました。
というかそれこそが言語化星人たるワシのなすべきところ。華麗にみなさんを導いてやりますよ、まったく!
___________________________________

説明としてのわかりやすさよりも、実際に問題と、初見で向き合った時の思考の自然さを優先している箇所があります。特に、※がついている箇所の理解は必要ないかもしれないので、読み飛ばし、一度すべて読むことを推奨します。




ポイント1 扉の種類を確定させるための、解決すべき要素の分類と自分がしなければいけない行動(質問)を理解すること。



この問題は、質問をすることによって、最終的に扉の種類を確定させなければいけない問題。
そこで、そもそも「質問」とは何か、どういう性質を持つのかを考える。


例えば、「これは何ですか?」と聞くと、「これは〇〇です」と、質問の「何」に当たる部分(それは例えば、物の名前であったり)に関する答えを知ることができる。
「何kmぐらい出てますかね?」と「速さ」について聞けば、速さに関する答えが、「今何℃ですかね?」と「気温」について聞けば、気温に関する答えが得られる。

しかし、気温と速さについて同時に聞こうとすると、「今何kmで気温は何℃ですかね?」
このように、何かしらの接続詞(英語で言えば​and)が使われた状態になる。問題には質問は1度きりと書かれているので、接続詞によって繋がった実質2文の質問は好ましくない。(問題の意図から考えて)
つまり、基本的に質問というのは、1文で1つの答えしか知ることができない。
そこで今、扉の種類を確定させるために知らなければいけない要素を書き出してみる。
それは、「選んだ扉が新しい世界へ行く扉かどうか」と「質問を投げかけたライオンが嘘つきかどうか」
この2つである。そう、2つである(絶望)
Q「一気に2つ聞ける質問はねぇのかよ」
A 『実はある。』


質問というのは、1文で1つの答えしか知ることができないと書いたが、実際には多数の答えを知ることができる質問がある。←重要

それは例えば、車=ネジ+エンジン+タイヤ+その他多数の部品
だが、
「車は正常に運転できていますか?」と聞けば、ネジやエンジン、その他の部品の状態が正常であることを一気に知ることができる。
つまり、
私がする質問 = 「扉の種類がわかる質問」+「ライオンが嘘つきかがわかる質問」 このように捉えることができる。 ⇦重要
ここから、「二つの質問を組み合わせれば正しい質問がわかるのでは」という発想。


そこで、二つの質問がどのようなものか、例を出していく。
・扉の種類がわかる質問
「この扉は新しい世界へ行く扉ですかor過去へ行く扉ですか?」
・ライオンが嘘つきかがわかる質問
「あなたは正直者ですかor嘘つきですか?」
とりあえずこんなものである。

そして、ここで私はこのように考えてみた。(①)
※①の理解はしなくても良い。理解を飛ばしてすべて読むことを推奨。

『それは、
「質問をするのは扉ではなくライオンに対して。そして質問にはライオンと扉に関する要素を含めなければならない。」
そこで、「扉の種類に関する質問をライオンにすればいいのではないか」と考えること。なぜなら、ライオンは「はいorいいえ」で答えるから(言い換えると、この答えはライオンの性質を表すから。例えば、「レモンは酸っぱいですか?」と正直者のライオンに聞けば「はい」と答える)』

一旦ここで詰まったので、他の重要な点について考えを掘り下げていった。


ポイント2 問題のどの部分が不都合を引き起こしているのかを理解すること


何がこの問題を解きにくくしているのか。それは、ライオンが嘘をつくこと。
この要素によって、「この扉は新しい世界へ行ける扉ですか?」と聞いた時、
・正直者ライオンの場合は「はい」
・嘘つきライオンの場合は「いいえ」
このように答えがブレるから都合が悪い。
さて、そこで発想の転換をしてみる。それは、
「どちらのライオンに聞いても答えが同じになるような扉に関する質問」を考えること。
つまり、「新しい世界への扉かどうかを聞く質問」をした時、


・正直者ライオンの場合は「はい」
・嘘つきライオンの場合も「はい」
もしくは「いいえ」で揃う。
このようになる質問を考えればいいという考え。


この際、両者の答えが揃うためには、どちらかのライオンの答えが片方に寄らなければいけない。つまり、
正直者ライオンの「はい」
嘘つきライオンの「いいえ」
この時、正直者に「いいえ」と言わせるようにするのか、嘘つきに「はい」と言わせるようにするのかを考えないといけない。
ここで少し整理してみる。今しなければいけないのは、
「はい」→「いいえ」もしくは、「いいえ」→「はい」
ここで発想が必要。
この場合における「嘘」とは、はい→いいえ or いいえ→はい に変えるという「否定」の機能を持つ
はい→いいえ になるには、否定が必要。
そして、いいえ→はい になるためにも否定が必要。
否定の否定は肯定。つまり、答えを寄せることができるのは嘘つきライオンということ。
そして、考えなければいけないのは、
嘘つきライオンが否定したものをもう一度否定させる(嘘をつかせる)質問を考えること。(正直者に寄せるために、否定の否定をしてもらう。)
そして、扉に関する質問を抜かすことはできないので、(最終的に正しい扉を選ばなければいけないから)
「このドアは新しい世界への扉ですか?+〇〇」このように考える。(ここは、ポイント1の、「2つの質問を組み合わせる」という発想から。)
扉に関する質問に嘘をつかせた上で、〇〇に関する部分でまた嘘をつかせるということ。これで、否定の否定。つまり正直者ライオンに寄せることができる。

そして今、「選んだ扉が新しい世界へ行く扉かどうか」の質問は使い終わった。つまり、〇〇に関する質問は、「質問を投げかけたライオンが嘘つきかどうか」の要素しか残っていない!
そして、「このドアは新しい世界への扉ですか?そして、あなたは正直者ですか?」
こんな問いかけはできない。(andが使われている状態だから)
そこで、ライオンの、扉の質問に関する反応をみることができる質問にするべきである。(要は、「はい」と答えるか「いいえ」と答えるか)
(わかりづらかったら①を参照)
つまり、問うべき質問は、
1「このドアは新しい世界への扉ですか?という私の質問にあなたは「はい」と答えますか?」もしくは、
2「このドアは新しい世界への扉ですか?という私の質問にあなたは「いいえ」と答えますか?」
このどちらかである。
そして検証してみると、どちらの質問も正しい(はず)である。(また、過去の世界への扉ですかという質問バージョンもある。)


また実際のところ、この問題の肝は、「正直だろうが嘘つきだろうが関係なくする」ことであって、「ライオンが嘘つきかがわかる質問」というのは必要なかったわけだが、問題を解くための方法を思いつきやすくする要素として機能していたはずである。


質問の検証
1の場合
「このドアは新しい世界への扉ですか?という私の質問にあなたは「はい」と答えますか?」
・選んだドアが新しい世界への扉だった時
正直者ライオン
「新しい世界への扉かどうか」→  「はい」と答える
「↑の質問に「はい」と答えるか」→「はい」と答えているので「はい」
最終結果 はい
偽物ライオン
「新しい世界への扉かどうか」→ 嘘をつくので「いいえ」
「↑の質問に「はい」と答えるか」→ いいえと答えているので、本当のことをいうなら「いいえ」。しかし嘘をつくので「はい」
最終結果 はい


・選んだドアが過去の世界への扉だった時
正直者ライオン
「新しい世界への扉かどうか」→ いいえ
「↑の質問に「はい」と答えるか」→「いいえ」と答えているので「いいえ」
最終結果 いいえ
偽物ライオン
「新しい世界への扉かどうか」→ 嘘をつくので「はい」
「↑の質問に「はい」と答えるか」→ 「はい」と答えているので、本当のことをいうなら「はい」。しかし嘘をつくので「いいえ」
最終結果 いいえ
つまり、ライオンの答えが「はい」ならその扉に入ればいいし、「いいえ」なら選んだ扉とは違う扉に入ればいい。
2の場合も同じようになるはずである。


この記事が気に入ったらサポートをしてみませんか?