Home
パズル問題自動生成時代
ナンプレ
はじめに
プログラムで問題を解く
プログラムで問題を自動生成
- 手作りの方法
- 破綻の判定が欲しい
- 序盤の数字のばらまき方
- 多重解にならないために
- 中盤は統計的にごまかそう
- 終盤へのつなぎ方
- 良い問題を目指して
- 終盤は問題の選択
- 見かけが大切
- 隠れた工夫
- 面白さの実現について
- 自動生成プログラムのススメ
乱数の乱用だけでは限界
将来展望
- もしミリ秒で問題生成できたら
- 誰でも簡単に問題が作れたら
- 自動生成も多種多様
- 解き方を見て問題を提供
- パズル作家風の問題生成
- 自動生成プログラムの自動生成
- 多種パズルに適用可能な汎用的アルゴリズム
- いつごろ実現できるか (1)
- オープンソースでの公開
- パズル作家は何をすべきか
パズル問題自動生成時代 -- ナンプレ -- プログラムで問題を解く
消去法のパズル
可能性が1つのマスから決定
ナンプレのパズルは、どうやったら解けるか最初は分からないかも知れない。
まず、問題を見てみよう。
まだ数字の入っていないマスには、1〜9のいずれかが入れられる。 しかし、同じタテ、同じヨコ、同じブロックに既に入っている数字は 入れられないのでそれ等を除く数字が入れられる可能性がある。
ということで、各マスに、1〜9の数字を小さく記入してみた。 そして、可能な数字だけを残したのが次の図だ。
各マスで入れられる数字は、少ないところは1つしかなく、 多いところはほとんど決まっていない状態だ。
空色のマスは、問題として与えられているマスを明示しようとしている。 決まったマスから順に決めて行くと、さらに次が決まって行くはずだ。
つまり、ナンプレは、この小さく書いた可能性を示す数字が、 各マスの中に1コだけになったときに完成だ。
小さい数字が1つしか残っていないところの数字を順番に確定してみよう。
1つ確定すると、それに伴ってまたたくさんのマスの小さな数字が消えて行く。 そうして、また小さい数字が1つだけのマスが見つかる。
これをくり返して、もう1つだけのマスが見つからないところまで 進んだ状態を示す。
さて、もうこのやり方では先へ行けないようだ。
こんな解き方をするのか
ところで、こんな方法で解くのであろうか。
電車の中で、ナンプレの問題を解くにあたり、まず以上のように小さい数字をびっしりアリがいっぱい並んでいるように書きこんでから解き始める人を見たことがある。
とてもご苦労なことだが、普通の人はこういう解き方はしないようだ。小さい数字は書きこまず、いきなり大きなマスに合ったサイズの確定数字を書きこむ。
本など、紙の上に印刷された問題を、鉛筆と消しゴムで、せっせと小さい数字を消しながら解き進むのは、非常に律儀だと思う。
とてもご苦労なことだが、普通の人はこういう解き方はしないようだ。小さい数字は書きこまず、いきなり大きなマスに合ったサイズの確定数字を書きこんでいる。
そのあたりのテクニックについては、後でいくつかの代表的技法を紹介しよう。そういう技法があるからこそ、その技法を身につけることで、要領良く解けるようになり、パズルが楽しくなっていく。
それに、パズルなんだから、できることなら消しゴムはあまり使いたくない。エレガントに解きたい。できれば、「消す」という行為もしたくない。消すという行為は、どうもミスを修正しているような気分もあって、個人的には好きになれない。
消せるボールペン
消去法のパズルといいながら、消去が良くないとは矛盾しているが、 消去法のパズルだからこそ、消去できないように、 ボールペンで「消さない」という強い決意で解いてみたいものだ。
でも、「消せるボールペン」というのも売られているので、 ボールペンで書きこんでいるからと言って、 本当に消さずに解いているかどうかはじっくり観察しないと分からない。
その他にもいろいろあるらしいので、興味のある人、 ごまかしたい人は探してみよう。

