見出し画像

【AIとつくったペンシルパズル】スーレン

ChatGPTと新しいペンシルパズルを作ることに挑戦してみました!

前回の挑戦はこちら。


今回も、私とChatGPTが協力してパズルのルールやコードを作成しました。今回は、「スーレン」と名付けたパズルをご紹介します。ChatGPT o1-previewと一緒にルール問題を生成したパズルです。(シンプルなルールなので、全く同じパズルをすでに考案している人がいるかもしれません。)

この記事は「スーレン」パズルについての紹介だけでなく、ChatGPT o1-previewの活用方法についても触れています。また、サムネイル画像はChatGPT 4oが生成したものです。

パズルの概要

ルール

  1. グリッドは N×N の正方形です。

  2. 各行および各列には、1から N までの数字が一度ずつ現れます。

  3. 太線で囲まれた隣接する2マスの灰色セルには、連続する数字が入ります。

  4. パズルの一部のマスには最初から数字が埋められています。

  5. 目的は、すべてのマスを条件に従って埋めることです。

例題

2行目を見ると、すでに1と3が埋まっています。1から3までの数字が一つずつ現れるので、残りのマスは2とわかります。

次に、2列目を見ると、残りのマスは2か3です。

ここで、下のマスに3を入れると、太枠で囲まれた残りのマスは2になります。しかし、そうすると左の列に2が二つ現れてしまいます。

つまり、上のマスが3だとわかります。すると太線で囲まれた灰色セルの残りのマスは2となります。


こんな感じで解いていくことができます。

今回の問題

問1

問2

問3

ちゃんと自力で手筋を駆使して解けました


ChatGPT o1-preview への指示文

このパズルを作成するために、以下のプロンプトをChatGPT o1-previewに与えました。

Prompt

4×4くらいの小さいグリッドサイズから楽しめる、新しいペンシルパズルのルールを考えてください。さらに、そのパズルの問題を作るpythonコードを書いてください。さらに、そのパズルの問題を解くpythonコードを作成し、解が一つしかないことを確認するようにしてください。解が一つになるまで、問題を修正するようにコーディングしてください。コードは、現実的な時間で実行できるように工夫してください。

ポイント

  1. 一度にすべての要求を盛り込む:ChatGPT o1-previewの場合、プロンプトにすべての指示を盛り込むと、複数回のやり取りをせずに問題生成がスムーズに進みます。

  2. Pythonコードを経由する:直接パズル問題を生成させるのではなく、Pythonコードを介することでルールに破綻のない問題を作成することができます。ただし、実行に時間がかかりすぎることがあるため、試行錯誤が必要です。


すると、次のようなルールとコードを返してきました。しかしこのルールは破綻しています。これを満たすような問題は存在しません。

新しいパズルのルール:数連鎖パズル

ルール:

  • グリッドは N×N の正方形です(例:4×4)。

  • 1から N×N までの数字をすべて一度ずつ使います。

  • 数字をグリッド上に配置し、隣接するマス(上下左右)に連続する数字が来るようにします(例えば、5の隣には4か6が来る)。

  • パズルの一部のマスには最初から数字が埋められています。

  • 目的は、すべてのマスを条件に従って埋めることです。


そこで、こちらでルールを一部変更しました。

次のようにルールを改変したうえで、コードを書いてくれますか? ルール: グリッドは N×N の正方形です(例:4×4)。
・1から N までの数字を使います。
・数字をグリッド上に配置し、縦にも横にも、1から N までの数字が1度ずつ現れるようにします。
・いくつかの隣接する2マスが、太線で囲まれています。この領域には、連続する数字が来るようにします(例えば、4と5)。
・パズルの一部のマスには最初から数字が埋められています。
・目的は、すべてのマスを条件に従って埋めることです。

かなり数独に近いパズルになってしまいましたが、これでパズルとして成立させることができました。解き味も数独に似ている部分もありますが、太線で囲まれた領域をうまく使いながら解いていく解き味は、数独とは少し異なる独自の味が出ていると思います。
数独と似た感じの名前にしつつ、数が連続するのでスーレン(数連)と名付けてみました。



今回の記事を楽しんでいただけましたか?よければ「スキ」を押していただけると励みになります。また、ぜひ「コメント」でご感想をお聞かせください!新しいパズルやアイデアをもっと共有していきたいと思いますので、今後ともよろしくお願いします。

いいなと思ったら応援しよう!

この記事が参加している募集