MicrosoftやGoogleなど,アメリカのコンピュータ関連企業が採用面接でパズルを出題するという話はよく知られている。本書によると,パズルを解こうと思考する行為が,最適なアルゴリズムを求めるときに役立つからだという。本書の著者はニューヨーク大学の教授で,パズルの解法を解説する講座を開いている。
「12チームの対戦スケジュールを組むこと。ただし,AチームとBチームの対戦は1日目にすることなど,11の制限を守ること」。本書は,このような一筋縄ではいかないパズルとその解法をまとめたものだ。このほかに,数独や,巡回セールスマン問題など合計43題のパズルを収録している。
ほとんどの問題には「ウォームアップ問題」という,前提条件を単純化した小問が添えてある。この小問は比較的簡単に解けるが,それに続く本番の問題はかなり難解なものばかりだ。必死に考えて解説を読むと,解法の見事さに驚嘆させられたり,あまりにシンプルな考え方にあぜんとさせられる。それほど厚くない本だが,1問1問時間をかけて取り組みたい内容だ。
プログラマのための論理パズル
Dennis E.Shasha著
吉平 健治訳
オーム社発行
2520円(税込)