2012-05-18

ふたこぶラクダのテストを採用試験に使う方法

本の虫: 60%の人間はプログラミングの素質がないという記事に対して、こんなTweetが目についた。

なかなか面白そうだ。この問題をプログラマーの採用試験に適用するには、Javaのような有名な言語ではだめだ。なぜならば、このようなよくある文法は、すでに知られているからだ。

究極的に、この問題とは、「未知の言語に対して規則を生成して一貫して適用できるか」どうかをみるものである。そのため、すでに言語を知っているものにはうまく働かない。

そのため、絶対に知られていない言語を使うべきである。マイナーなプログラミング言語というだけではこの用の役には立たない。そこで、独自の言語を定義する必要がある。そして、言語の定義を知らせずに、言語の規則に従った文を複数見せて、評価結果を答えさせる。

たとえば、001100111011000111100だ。

さて、このあとが難しい。この試験結果を採点するには、どのような規則を推測したかということは考慮せず、推測した規則を一貫して適用したかをみる。どのような規則を推測したか、被験者に聞いてはならない。あくまで、外からの観測から採点しなければならない。この問題を正しく採点するのは難しい。採点しやすい言語を考案する必要もあるだろう。

したがって、問題の出題と採点には、形式言語の知識などが必要であろう。実はこの手の規則を見つけるのがものすごく得意な人間がいる。暗号解読の研究者だ。ある有名な暗号解読の研究者は、子供の頃、友人が作ったどんな暗号でも、数日で解いてしまったという。未知の規則性のある言語から、その規則性を見つけるのが得意な人間がいるのだ。

ということは、暗号解読や、ある種のパズルの才能のある人間は、プログラミングの才能もあるのだろうか。

ちなみに、上記の言語の意味は、直訳すると、「生命の危機に瀕している場合、ベラベラしゃべる者の隣に立つな」である。これを正しく答えられたものは、相当にオタクである。しかし、今日ではGoogleという存在があるので、本物のオタクを見分けるのが厄介だ

No comments: