10秒以内にウォーリーを探す合理的な方法

  • 30,253

    • X
    • Facebook
    • LINE
    • はてな
    • クリップボードにコピー
    • ×
    10秒以内にウォーリーを探す合理的な方法

    これが大人だ!

    ウォーリーを探せ」って絵本、覚えてますか? そう、このごちゃごちゃした人混みから赤と白のボーダーの服を着たウォーリーを探し出すゲーム。子どものころ必死で探した覚えがあります。でも見つけられないときって、ほんとに見つからないんですよね…。試しに今すぐ探してみてください。上の画像のウォーリー、いました?

    「…ま、気長に探すしかないよね〜」で許されるのは子どものときだけです。そう、大人というものは、短時間で効率的に結果を出すことが求められます。それはウォーリーを探すことだって同じなのです。

    ではウォーリーのいる場所には、規則性があるのでしょうか。実はSlateが、シリーズ7冊中68カ所のウォーリーの居場所をリストアップしています。それがこちら。

    150316whereiswaldo2.jpg

    …あまり規則性は見えてこないですね。強いて言えば、真ん中よりちょっと上と下にそれぞれ、なんとなく集まっているくらい。でもまだ結論づけるのは早いです。このデータを元に、コンピュータサイエンスの大学院生Randal S. Olsonさんがさらなる分析を加えました。

    彼は先ほどのウォーリーの位置を座標化し、カーネル密度推定(全体の一部のデータから、データが存在しないその他の部分を推定する方法)を用いてウォーリーの存在確率を算出しました。そして以下のことがわかったそうです。

    ウォーリーはほとんど左上エリアには現れない

    ウォーリーがページの端にいることはめったにない

    ウォーリーは右ページの下にいたことはない

    でもこれだけじゃ、勝率は低い。そこで、Olsonさんはこの68個の点をどの順番でたどっていけばもっとも早くウォーリーを見つけられるのか計算しました。ただこの68個もの点を最短で回るルートを総当たり計算するには、あまりにデータが膨大すぎて国家プロジェクトレベル。そこで遺伝的アルゴリズム、生物の遺伝をモデルにしたアルゴリズムで代用することにしました。

    生物の世界では環境に適応した集団が生き残ります。そして時には突然変異や交配など、ランダムにイベントが発生します。これをアルゴリズムにしたものが遺伝的アルゴリズム。多くの組合わせ(集団)の中から、環境に適応した、つまり最適解のみが残るというわけです。

    そして導き出された最終的なウォーリーを探す合理的な方法がこれ。

    1. 探すときは左下から始める(もし左下にいなければ、おそらく左ページにはいない)
    2. 次に右上を見る(ここにいる可能性が高い)
    3. そして右下の右半分を探す(右下の左半分も)

    結果の図表はOlsonさんのブログでどうぞ! ちなみにこの研究結果は、かなり効果があるものだったそうで、ほとんどの絵本で10秒以内にウォーリーを見つけられたんだとか。

    source: Randal S. Olson, Slate

    (斎藤真琴)