ナンプレ(数独)無料ゲーム

スポンサーリンク

TOP > コラム > ヒントが少ない問題の作成

ナンプレプログラムの作成4

ヒントが少ない問題の作成

作ったナンプレ問題、空白マスを適当に作成しても問題はいくらでもできるのですが、できた問題が解けるとは限りません。
空白マスの数が45個ぐらいまではなんとかできるのですが、50個になると解ける問題ができる確率が25%ぐらいになります。
そこで下記のような実験をしてみました。

実験:空白マスを既存の問題からもってくる

空白マスの配置にも著作権があるかもしれないのですが、とりあえず既存の配置をお借りして実験しました(このサイトでは既存の配置は使っていません)
さすが良問の配置。一発で55個ぐらいの空白マスの問題を作成することができました。
これはいけると思って既存のゲームから問題を作成しようと思いましたが、実はできたのがその1つだけで後はダメでした。

実験:空白マスの位置を工夫する

既存のナンプレの綺麗な配置では問題は作れるけど適当に乱数で作成した配置ではできないということは配置に秘訣があるのかもしれません。いろいろな問題を見てみると、対称形であったり、1行あたり2〜3マスのヒントマスだったりとまんべんなくヒントマスが散らばっているような印象を受けます。
調べてみると対称形のを好むのは日本人の特徴のようなのですが、とりあえず、対称形でそこそこまんべんなくヒントコマが散らばるようにプログラムを作ってみましたがこれもダメでした。

実験:問題を解くプログラムを強化する

そもそも解けるナンプレ問題を解けないと判定している可能性があります。ですので問題を解くプログラムは強化する必要があります。
プログラム強化は常にするのですが、確定文字を候補文字から消すことを繰り返すだけ出なくペアマスを使った解き方、トリオマス、4つのペアマスなど強化しました。まだまだ強化できるかもしれませんが、自分自身の解き方の力が必要だと思いました。

考察:正攻法で作成

「数独 問題 作成 方法」などで検索していると、いくつか作り方が出てきます。
大学生の研究レポートにもよく使われる題材のようですが、学生さんはコンピュータのCPUのスピードに任せた力任せの作成方法のようであまり参考になりそうにありません。
そんな中数独まにあさんの数独の作り方が参考になりました。これは空白マスの配置を決めておいて、数字を一つ置いて、それを確定させるためにヒント数字を置いていくというもの。
答えを先に作るプログラムとは考え方が反対ですが、たしかにこれなら良問が作れそうです。
ただしこちらも、プログラムではなく自分で問題を作る力がないとプログラムを書けそうにないですね。

結論:ハイブリッド型

いろいろ考えているうちに、ハイブリッド型という作り方を思いつきました。
どういう作り方かというと、55空白マスのナンプレ問題を作る場合は、一気に作っても失敗するので、CPUのパワーに頼って失敗しては作り直しを繰り返してもイマイチ非効率です。
ところが45の空白マスまではすんなりできるので、まず45の空白マスのナンプレ問題をつくります。
ここでは、点対称の綺麗な形で作ることにします。そして残り10マスを1つづつ増やしては解けるか計算し、解けなければ別の空白マスを増やすという作業を10回繰り返します。
45の空白マスまでは強引な(解けるかどうかわからないような)作成方法で、それ以降は解けるマスを1つづつ増やしていくのでハイブリッド型と名付けました。
この方法ならそこそこ対称形を保ったまま解ける問題が出来上がります。いまは55の空白マスまでしかつくっていませんが、けっこう早くできたのでもうちょっと難問も作れそうです。

ナンプレ京(数独)
TOP
閉じる
閉じる