2013年1月16日水曜日

数独の問題の問題点

 今まで新聞や雑誌に紹介される数独パズルの問題を解いては、それを個人的に保存してきた。その問題の数が400件近くになった。そこで、かねてから気になっていたことに挑戦してみようと考えた。

 数独の問題の組み合わせは無限にある(約54億パターン以上あると言われている)が、実際に自分で問題を作るとなるとこれが結構難しい。“難しい”という意味は、既存の問題とは異なることを確認するのが大変だからである。したがって、誰も確認などしないでそのまま発表しているのが現実なのであろう。

 そうなると、偶然に一致した問題が作られて、誰もそれに気が付かないで新しい問題だと思い込んでいる可能性も十分にあり得るのではないか。沢山の問題を集めて“問題集”を持っているなどと威張っていても、かなり重複した問題が含まれているのかもしれない。

 そこで、この約400個の問題に対して同じものが含まれていないかどうか確認するプログラムを作ってみた。以前から Perl言語を使えば簡単にできるのではないかと考えていたからである。大学の授業も区切りがついたこの時期に、挑戦してみることにした。

 その結果は、自分でも驚くほどのものであった。
 ・同じ問題が3個見つかったケース(2回)
 ・同じ問題が2個見つかったケース(3回)
つまり、12個の問題が実際は5個になってしまったのである。

 しかし私の問題集に重複登録されてしまったのは、どうやら大半は私の方に原因があるように思われる。最初の頃は個々の問題に適当に命名していたので、データベース化する時点で別のものと判断されたのかもしれない。現在は統一した命名法で出典を辿れるようにしてある。
 もう一つの原因は、「例題-1」という名称の問題だったから、以前に発表した問題を「例」として取り上げたのであろう。偶然の一致と確認できたものは、今までのところ存在していない。

 数独の問題は、異なるものをほぼ無限に作れるから重複することは滅多にないが、新たに作って公表する際は、少なくとも自分が過去に作ったものの中に同じものが含まれていないことを確認してからにすべきではないかと思う。

0 件のコメント:

コメントを投稿