シニア問題/C古代火星語
古代火星語
ビ太郎は川の中で不思議な文字の書かれた石を見つけました。そこには次のようなメッセージが書かれていました:
ビ太郎はこの石に書かれたメッセージを友だちに見せましたが,誰も読むことができませんでした。しかし,これは古代火星人の言葉に違いないという意見で一致しました。
その後,ビ太郎はさらに古代火星人の言葉が書かれた4個の石を拾いましたが,そのうち1個だけは本物で,3個は本物に見せかけた偽物であることがわかりました。
しばらくすると,ビ太郎たちは本物かどうかを見分ける方法を知りました。メッセージから次の方法で点数を求め,その点数が最も高いものが本物だというのです。
点数の求め方:
メッセージ中の隣合う2文字をパターンと呼ぶことにします。メッセージ中に現れるパターンごとに,そのパターンが最初に見つけた石に現れる個数を調べ,それらの数を全てを掛け合わせて得られる数が点数です。
たとえば,メッセージ
は
の3つのパターンに分けられます。これらのパターンが最初に見つかった石に何回現れるかを調べます。最初に見つかった石に
は3回,
は2回,
は1回現れます。これらを掛け合わせた「3×2×1 = 6」が,メッセージ
の点数になります。
これらのメッセージのうち、どれが本物の古代火星語でしょうか?
- 解説を見る
- 正解は左下のメッセージです。
- 4つの選択肢を眺めてみましょう。
- 4つのメッセージは,7文字中連続した6文字が同一です.右下以外の3つのメッセージは,最後の1文字が異なるだけで1文字目から6文字目までは共通です。右下のメッセージの2文字目から7文字目までは,他の3つのメッセージの1文字目から6文字目までと共通です。
- この共通する6文字に含まれる5つのパターン(隣合う2文字)から定まる点数は同じなので,残り1つのパターンの点を調べれば,実際にメッセージの点数を求めなくても最も点数が高いメッセージが分かります。
- 左上の最後のパターンである「青青」は,最初に見つけた石のメッセージには現れません。つまり,0 をかけるので,点数は 0 になります。
- 右上の最後のパターンと右下の最初のパターンは同じなので,右上と右下のメッセージの点数は同じです。
- 左下の最後のパターンである「青赤」は,最初に見つけた石のメッセージに3回現れます.右上の最後のパターンと右下の最初のパターンである「青緑」は最初に見つけた石のメッセージに2回現れます。
- つまり,4つの選択肢の中では,左下のメッセージの点数が最高です。
- 解説
この問題は,自然言語で書かれた文章をその内容を理解することなく解析するのに使われる言語モデルである n-グラムを題材にしています。このような言語モデルや言語認識や自動機械翻訳などの自然言語処理で用いられています。
- 正解は左下のメッセージです。