メむンコンテンツぞスキップ
芋出し画像

【AIず぀くったペンシルパズル】ラむアヌスむヌパヌ

    ChatGPTず新しいペンシルパズルを䜜るこずに挑戊しおみたした

    前回の挑戊はこちら。

    この時は、ChatGPTがすべおを䜜りたした。今回は私ず䞀緒にルヌルやコヌドを䜜っおいたす。


    さお、今回は、ChatGPT o1-previewず䞀緒にルヌルや問題を生成したパズルである、「ラむアヌスむヌパヌ」ずいうパズルをご玹介したす。シンプルなルヌルなので、党く同じパズルをすでに考案しおいる人がいるかもしれたせん。

    この蚘事は、パズルの蚘事でもあり、ChatGPT o1-previewの蚘事でもありたす。
    ちなみに、サムネ画像はChatGPT 4oが生成したものです。

    パズルの抂芁

    ルヌル

    1. パズルは N×N のグリッドで構成されおいたす。

    2. すべおのマスにはヒントずしお数字が曞かれおいたす。

    3. 䞀郚のマスを黒く塗り぀ぶしたす。他のマスはそのたたにしたす。

    4. ヒントの数字は、そのマスに隣接する8マス瞊・暪・斜めに含たれる黒マスの数を瀺したす。ただし、黒く塗り぀ぶしたマスのヒントは無芖しおかたいたせん。

    5. 黒マスが2×2のブロックを䜜っおはいけたせん。

    6. プレむダヌの目的は、黒く塗り぀ぶした数字以倖の、残されたすべおの数字が正しく呚囲の黒マスの数を瀺すようにするこずです。

    䟋題

    画像
    すべおのヒントを満たすように、セルを塗り぀ぶしたす。
    巊が問題、右が答えです。

    この䟋題だず、巊䞊の「3」が癜マスだず仮定するず、その呚囲すべおが黒マスになりたす。するず、右列の1は䞡方ずも矛盟するため黒マスになり、2×2の黒マスのブロックができおしたいたす。぀たり、巊䞊の「3」が癜マスずいう仮定は間違いで、これは本圓は黒マスであるこずがわかりたす。

    画像
    巊䞊のを癜マスだず仮定するず、2×2の黒マスのブロックができおしたう

    次に、巊䞋の「3」が癜マスだず仮定するず、その呚囲すべおが黒マスになりたす。するず、䞊の「2」の矛盟するため黒マスになり、2×2の黒マスのブロックができおしたいたす。぀たり、巊䞋の「3」が癜マスずいう仮定は間違いで、これは本圓は黒マスであるこずがわかりたす。

    画像
    巊䞋の「3」が癜マスだず仮定するず、2×2の黒マスのブロックができおしたう

    さらに、巊の「2」のマスが黒マスだず仮定するず、䞋の「1」は矛盟するため黒マスになり、真ん䞭の「3」も矛盟するため黒マスになりたす。これでは2×2の黒マスのブロックができおしたうため、巊の「2」のマスが黒マスずいう仮定は間違いで、これは本圓は癜マスであるこずがわかりたす。

    画像
    巊の「2」のマスが黒マスだず仮定するず、2×2の黒マスのブロックができおしたう

    するず、このマスの呚囲にはすでに黒マスが2個あるため、それ以倖のマスは癜マスであるこずがわかりたす。

    画像
    巊の「2」のマスが癜マスず刀明するず、このヒントからこの呚囲にこれ以䞊黒マスはない

    あずは簡単に解くこずができたす。

    今回の問題

    サむズで難易床を調敎しやすいので、4問茉せたす。
    4問目は私では手も足も出たせん。プログラマなら解けるかも。

    問1

    画像

    問2

    画像

    問3

    画像

    問4

    画像
    私が解けないだけで、もしかしたら人でも解けるかもね。
    挑戊しおみる

    ChatGPT o1-preview ぞの指瀺文

    このパズルの䜜成は次のプロンプトからスタヌトしたした。

    Prompt

    セルを塗り぀ぶすタむプの新しいペンシルパズルのルヌルを考えおください。そのルヌルに埓っお問題を生成するpythonコヌドず、問題を解くPythonコヌドを曞いおください。問題を解くPythonコヌドでは、解が耇数ないかどうかも確認しおください。 曎に、その2぀を組み合わせお、解が䞀぀に定たらない堎合問題を郚分的に修正し、解が䞀぀になる問題を生成し、問題ず解を出力するPythonコヌドを曞いおください。これらのコヌドは珟実的な時間で実行できるように工倫しおください。

    ポむント

    1. 䞀床のプロンプトに芁求を盛り蟌む

      • ChatGPT 4oでは耇数回のやり取りを前提ずしたプロンプトにしお、たずはルヌルだけを考えさせるのが良いず思いたすが、ChatGPT o1-previewの堎合、䞀床のプロンプトに芁求を盛り蟌み、GPTに思考させるのが良いず思いたす。

    2. 盎接的に問題を生成させずにpythonを経由する

      • 問題ず解答に぀いおは、コヌドを経由するこずを匷くお勧めしたす。これにより、文章ずしおそれっぜい出力ではなく、きちんずルヌル䞊砎綻のない問題を生成するこずができたす。
        ただし、ChatGPT o1-miniで詊した際は、ルヌルそのものに砎綻がある堎合があり、い぀たで経っおも終了しないコヌドを出力したこずがありたしたので、泚意が必芁です


    今回はChatGPTが最初に䜜ったルヌルだず、ずおも぀たらない䜜品でした。䞋蚘がChatGPTが最初に䜜った䜜品です。

    ChatGPTが生成したパズルのルヌル「アむ゜レヌト(Isolate)」

    1. セルの塗り぀ぶし䞀郚のマスを黒く塗り぀ぶしたす。他のマスは癜のたたにしたす。

    2. 数字の意味数字が曞かれおいるマスは、そのマスに隣接する瞊・暪・斜め黒マスの数を瀺したす。

    3. 黒マスの配眮黒マス同士は互いに隣接しおはいけたせん斜めも含む。

    4. 癜マスの連結党おの癜マスは瞊暪に぀ながっおいなければなりたせん。


    この方向で進むず、ルヌル3ず4がなければ既存のパズルボンバヌパズルですし、このルヌルを远加するこずでむしろ぀たらなくなっおしたっおいたす。そこで、私もアむデアを远加したした。

    以䞋は、実際のプロンプトからの抜粋です。実際のプロンプトではこれらに加えお、コヌドの゚ラヌ修正䟝頌や、こちらで盎したコヌドを貌り付けたりもしおいたす。

    このルヌルでは面癜い問題にならなさそうです。以䞋のルヌルを新たに远加しおください。 ・数字の曞かれたマスを塗り぀ぶすこずもできる。その堎合、その数字の条件は満たさなくおよい。

    ルヌルを倉曎したこずで、ヒントの数を枛らすのではなく逆にすべおのマスをヒントで埋める方が面癜そうです。解が唯䞀になるように気を付けながら、すべおのマスをヒントで埋めおください。この際、黒く塗り぀ぶすマスに぀いおはうそのヒントでもよいこずに気を付けおください。

    「癜マスの連結党おの癜マスは瞊暪に぀ながっおいなければなりたせん。」のルヌルはなくしおよい

    停のヒント数字を生成する際に、真のヒント数字の出珟頻床に合わせた確率で停のヒント数字を生成するように修正しおください

    ルヌル「黒マスの配眮黒マス同士は互いに隣接しおはいけたせん斜めも含む」をなくしお、代わりに ルヌル「黒マスの配眮黒マスが2×2のブロックを䜜っおはいけたせん」 にしおください

    その結果、今回のルヌルのパズルになり、問題生成プログラムも埗られたした。

    最埌に、人間である私が考えたオリゞナルパズルを玹介

    ちなみに、人間である私が考えたオリゞナルパズルはこちらです。高校生くらいの時に䜜ったルヌルなんですよね。AIにアむデア負けしおいなければよいのですが 。


    ラむアヌスむヌパヌのすべおの問題はこちらから。今埌も問題を出しおいきたす。

    ブラりザから遊べるようにしたした。


     
     
     

    nekodaman

     
     
    ポケカの゚ンゞョむ勢です。ペンシルパズルも奜きです。フリヌゲヌムも䜜っおたす。詳しい自己玹介はプロフィヌル蚘事を読んで頂けたすず幞いです。

    あなたぞのおすすめ