ChatGPTに数独の問題と解答を作ってもらうプロンプト集

ChatGPTに数独(ナンプレ)の問題と解答を作ってもらうプロンプトをいくつか紹介します。

今回は初級・中級レベルの数独の問題を作成してもらいました。がしかし、思い通りの結果にならず大苦戦。。。一見正しく見える数独問題は作れましたが正確な問題解答は現時点では得られませんでした。

どのように試行錯誤したかお楽しみいただけますと幸いです。

ベースとなるプロンプト

ChatGPTに数独を作ってもらうためのプロンプトのベースは以下です。

簡単な数独の問題と解答を生成してください。
中級レベルの数独の問題と解答を生成してください。
難しい数独の問題と解答を生成してください。
新しい数独パズルを作成してください。難易度は問いません。
数独の問題を生成し、ヒントも提供してください。

ただ、上記プロンプトだけだと、「1から9までの数字は、各3×3のボックス内・各行・各列に1回ずつしか現れない」といった数独のルールを平気で無視してきます。。。

ルールを[制約条件]で指定するプロンプトへ改良してこの問題を解決します。

【改良後その1】使用するプロンプト

以下、改良後のプロンプトです。制約条件に数独のルールを指定しました。

# 命令書
以下の制約条件から簡単な数独の問題と解答を出力してください。

# 制約条件
・1から9までの数字は、各行・各列・各3x3のボックス内に必ず1回ずつしか現れない

# 出力文:

もし一発で求めている結果が出ない場合は、下記のように間違いを指摘してあげて正解へと導いてあげましょう。

出力してくれた解答が間違っています。例えば、左から5列目で7が重複しています。
1から9までの数字は、各列・各行・各ボックス内にそれぞれ必ず1回ずつしか現れないとい制約条件を守ってやり直してください。

ただ、これでも何度修正依頼をしても思い通りに数独を生成してくれないので、もう少しプロンプトをブラッシュアップすることにします。今度は正解例を提示してあげます。

【改良後その2】使用するプロンプト

先程のプロンプトにサンプルの問題・解答をセットで追記してみました。

# 命令書
以下の制約条件から中級レベルの数独の問題と解答を出力してください。
出力する問題と解答はサンプルを参考にしてください。

# 制約条件
・1から9までの数字は、各行・各列・各3x3のボックス内に必ず1回ずつしか現れない

# サンプル
<問題>
. 5 1 | 8 6 . | . . .
. 3 . | 5 . 7 | . . .
. . 7 | . . 4 | . . 3
------+-------+------
3 7 . | . . 6 | . 2 1
2 1 4 | . . 9 | . 6 8
6 8 5 | . . . | 9 . .
------+-------+------
. 9 3 | 7 1 2 | 4 . 6
. . 8 | 9 4 5 | . 7 2
. 4 . | 6 3 8 | 1 9 5

<解答>
9 5 1 | 8 6 3 | 2 4 7
4 3 6 | 5 2 7 | 8 1 9
8 2 7 | 1 9 4 | 6 5 3
------+-------+------
3 7 9 | 4 8 6 | 5 2 1
2 1 4 | 3 5 9 | 7 6 8
6 8 5 | 2 7 1 | 9 3 4
------+-------+------
5 9 3 | 7 1 2 | 4 8 6
1 6 8 | 9 4 5 | 3 7 2
7 4 2 | 6 3 8 | 1 9 5

# 出力文:

ただ、これでもうまくいかなかったので、今回の記事ではちょっと一旦ここいらで実験を中断します。。。

また正しくアウトプットが得られるプロンプトができたら更新します!

ChatGPTによる回答

上記のテンプレートで数独の作成についてお願いすると、ChatGPTから以下の回答が返ってきました。

数独のルールを無視してくる解答ばかりでした。

簡単な数独の問題

<問題>
. . 3 | . 2 . | 6 . .
9 . . | 3 . 5 | . . 1
. . 1 | 8 . 6 | 4 . .
------+-------+------
. . 8 | 1 . 2 | 9 . .
7 . . | . . . | . . 8
. . 6 | 7 . 8 | 2 . .
------+-------+------
. . 2 | 6 . 9 | 5 . .
8 . . | 2 . 3 | . . 9
. . 5 | . 1 . | 3 . .

<解答>
4 8 3 | 9 2 1 | 6 5 7
9 6 7 | 3 4 5 | 8 2 1
2 5 1 | 8 7 6 | 4 9 3
------+-------+------
5 4 8 | 1 3 2 | 9 7 6
7 2 9 | 5 6 4 | 1 3 8
1 3 6 | 7 9 8 | 2 4 5
------+-------+------
3 7 2 | 6 8 9 | 5 1 4
8 1 4 | 2 5 3 | 7 6 9
6 9 5 | 4 1 7 | 3 8 2

中級レベルの数独の問題

<問題>
. . 2 | . 6 . | 9 . .
. . 1 | . . . | . 5 .
. 6 . | 2 . 1 | . . 7
------+-------+------
5 . . | . 3 . | . . .
. 8 . | . . . | . 1 .
. . . | . 7 . | . . 4
------+-------+------
3 . . | 7 . 9 | . 8 .
. 9 . | . . . | 2 . .
. . 7 | . 1 . | 3 . .

<解答>
4 3 2 | 5 6 8 | 9 7 1
8 7 1 | 9 3 4 | 6 5 2
9 6 5 | 2 7 1 | 8 4 3
------+-------+------
5 4 6 | 1 3 2 | 7 9 8
2 8 3 | 4 9 6 | 5 1 7
1 2 9 | 8 7 5 | 6 3 4
------+-------+------
3 1 4 | 7 5 9 | 4 8 6
7 9 6 | 3 4 8 | 2 2 5
6 5 7 | 6 1 3 | 3 9 8