chatGPT先生にパズルゲームを解いてもらおう

※最初は記事タイトルが「AI先生に…」でしたが、実際にやったことの誤解を招きそうだったので変えました。

ゲーマーとしてのプロフィールに「パズルゲームが好き」と書いてあります。しかしその取り組みたるやヌルい体たらく、ゴリゴリハードなパズルよりは頭の体操程度で済むものをこなすのが好きです。そこに、体操どころかとんでもないアトラクションで脳みそ揺すられた体感を感じわばばばば。だから「portal」「portal2」が最高傑作だと思っております。過去に遊んだゲームを並べてみれば他にも十分楽しんだパズルゲームはあった。フラッピーバベルの塔とかキッズの頃遊んだな~。最後までクリアできなくても、ここまでは進める事ができた、という達成感があった。

「A=B」と「cypher」という共にハードコアなパズルゲームがあります。前者は特別なルールの下でアルゴリズムを作り上げる、プログラムっぽいけどちょっと違う何か。後者はゲームというよりもはや暗号実装演習みたいなもの。自力で進めるには心が折れてもうプレイしていないのですが、もしかしてAI先生にルールを伝える事が出来れば助力をいただけないかとトライしました。ヌルいねえ。頼ったAIも、無料版chatGPTというヌルさです。

以下、なんか内容が胡乱で申し訳ないですが、素人の日記ぐらいで勘弁してください。そんなにちゃんとやるつもりもなかってんでして…。

さて。まずは「cypher」のほうが説明が簡単そうだと思ったのですが、なかなかうまくいかず。暗号の答えを探すゲームだというのは流石に簡単に伝わるとしても、映像として処理する情報にヒントや答えが隠されているので、それをchatGPTのwebUIでは伝えるのが上手くできてない感じがある。左上から下にS、T、…みたいに見えている情報を伝えてみます。良い感じに表にしてみたり、並べ替えて出力したり、とやってくるのに、どうやっても特定の場所の文字を覚えてくれない状態などが発生しました。

流石に無理だったか🤔自分で答えを発見した暗号を出題して、こちらから誘導するとちゃんと解答がでてきました。「〇〇文字目で区切るとどうなりますか」みたいな。そんなもんかなあと思っていたのですが、自分で解けなかった2-05の問題を与えたところ、AIが解きました。一回目に出てきた解答をゲーム内に解答として入力したら間違えたので、別のアプローチを求めたら二回目に解答出ました。(ちなみに、「Qの位置に法則性はないか?」と尋ねました。)提示がシンプルだからでしょうか。感心している所で、GPT-4o. の Free プランの制限に達しました。という啓示を頂きました。あらま、有料版のほうが性能良いのは他の使い方で実感あるので、無料版でどうなるか。別の問題にトライ。するとどえらいポンコツぶりを発揮されてしまった。

ゲームなのであるからどうせ正解はネットに転がっているだろうとググると、あった。

https://akademeia.info/?p=35870

その説明を基に誘導する。以下はその途中経過であるが…


ChatGPT:元の文字列「TEAUYUOSHNNTRRBTEPAIENROMLMNTTIL」において、Tは3回登場しています。そのため、答えの最初の文字が「T」だとすると、他のTの位置にも注目する必要がありますね。次のステップとして、どのTが最初の文字になるかを考えつつ、並べ替えを試してみることができそうです。

あなた:5回では?

ChatGPT:おっしゃる通りです!もう一度確認してみると、「T」は元の文字列「TEAUYUOSHNNTRRBTEPAIENROMLMNTTIL」に5回登場しています。以下の位置に「T」が含まれています:

  • 1文字目(T)
  • 10文字目(T)←合ってない
  • 14文字目(T)←合ってない
  • 17文字目(T)←合ってない
  • 24文字目(T)←合ってない

そのため、最初のTを使って解読を進め、残りのTがどう関連しているのかもチェックしてみる必要がありますね。さらに進めるために、どういった方法で解読を試みたいかお考えですか?


これが無料と課金での差異だと言われてもそこは納得ではあるなんだけど。指で数えてわかる事も平気で間違えるのは怖い。訂正を求めても同じ回答でした。うーん。本当に有料かどうかだけの差異なの?ここまで違うもん?

その後も、上記のサイトで得られる解答を参照に、8文字ごとに改行し縦読みをするように指示をだす。やはり正解は出てこない。最終的に得られる文章が誤っていて、使ってない単語を織り交ぜて出力してくる。”THE MEN ARE IN THE STORM”や、”THE MEN PLAIN THE MIST”といった文字列を答えであると提出してきた。創作されては困るのだが。おそらくは、解答をブラウザ上に表示するところで問題を起こしているように思われた。試しにプログラム言語で出力させると、並べ替えまでは期待通りの処理をしてくれるソースが出てきた。実装として適切かまではわからん。

function transposeText(text, numColumns) {
  // テキストをnumColumnsで改行
  let rows = [];
  for (let i = 0; i < text.length; i += numColumns) {
    rows.push(text.slice(i, i + numColumns).split(''));
  }

  // 行と列を入れ替える
  let transposed = [];
  for (let col = 0; col < numColumns; col++) {
    let newRow = [];
    for (let row = 0; row < rows.length; row++) {
      newRow.push(rows[row][col]);
    }
    transposed.push(newRow.join(''));
  }

  // 結果を行ごとの文字列として返す
  return transposed.join('\n');
}

// 元の文字列
const text = "TEAUYUOSHNNTRRBTEPAIENROMLMNTTIL";
const numColumns = 8;

// 処理を実行して表示
console.log(transposeText(text, numColumns));

もっとヒントを出し続ければ正解したのかもしれない。ソースコードを書かせたあたりでだいぶ疲れたのでやめてしまった。単なる悪ふざけであったのに、AI関係にはもうちょっと引き締まった態度で当たらねばならないとの思いを固めた。思わぬところで真面目な体感を感じ。

chatGPTが話題になりはじめたころから、あたかも真実のように捏造して返答することがあるとは言われていたと思う。これをバグと呼んでいいのか自分の知見ではわからない。また正確にいえば、実は有料版ならさらっと解けるのかどうかも検証してない。まだ人間によるチェックが必要な場面は多そう…というのも使い方次第なんだろう。ニュースやブログ記事なんかの英語→日本語の翻訳はもう心配すらしてない人が多いだろう。でも、ガチの会社同士の契約書なんかは絶対に専門職のチェックが入っている筈だ。…よね?

後日「A=B」のほうでもやってみた…ものの、放置している。こちらはゲームをプレイした事無い人にはまったく伝わらないと思うので、ここではおいてけぼりにするしかない。「A=B」のルール内での解法に準じることをどうやってAIに伝えればいいんだろう。何度も指摘と訂正するしかないかな?こういう閉じた世界だけで通用するロジックも「ここに書いてあるから読んで理解して」で把握されるの、もう間もなくなんだろうか。

将棋AIもこのあたりをクリアしてるんだろうな。こういう高度な処理の資料や文献の把握は自分には難しすぎて、あっ。それAIに頼めばいいのか…?

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)