余剰ヒントって何だ
1.きっかけ
先日まで行われていた、えすのじ/bbpzさんのパズル期末試験【自由作問】に参加しました。運営していただいたえすのじ/bbpzさん、ありがとうございました。ルールを自分で作り出す、新しい形の最適化コンテストとして面白かったと思います。
自分の取り組み方ですが、11の制約ルールをざっと見て、条件①以外お互いに矛盾がなかったため、初めから全ての制約を満たす問題を目指しました。ルールさえ決めてしまえば作問はすぐだったのですが、ある条件だけが引っかかりました。
条件⑪ 余剰ヒントが存在しない。
- 基本的には、「いずれの数字を消しても複数解となる」だが、ヤジリンやぬりかべなど、単純にヒントを消すと解答が大きく変化するものに関しては?に置換して余剰ヒント判定を行う。
(パズル期末試験【自由作問】ルールより引用)
これです。これまで余剰ヒントについて深く考えたことが無かったのですが、ここではなぜか定義が2つあります。自分が作ろうとしたルールではこれが非常にややこしいことになってしまっていて、1日悩みました。この記事では、余剰ヒントについて改めて考え直してみようと思います。
2.一般的な余剰ヒント
一番わかりやすい余剰ヒントは、スリザーリンクの例です。
適当に1問作りました。
この問題、実は右上の0が無くても唯一解になっています。数字を対称にするためだけに0が置いてあるのです。このような、主に配置のためだけに必要のないヒントを置くことを余剰ヒントと言い、嫌う人が一定数います。このような状況を避けることは、作者の腕の見せ所です。
もう少し考えてみます。この0は必要ないといいましたが、取り除く方法は2通りあります。?に変えるか、消すかです。下の2つはどちらも唯一解の同じ問題です。少し考えればわかりますが、スリザーリンクでは、?に変えることと数字を消すことは同じ意味です。このような?に変えても消しても答えが変わらない余剰ヒントを「余剰ヒントA」と呼ぶことにしましょう。
別の例を考えてみます。ヤジリンです。
下の1ですが、数字が無くても左下のマスが黒マスになることはすぐに分かります。つまり、この数字を?に変えても同じ問題になります。このような、自明なヒントを表す数字も余剰ヒントと呼ばれ、嫌う人がいます。
ところが、これは余剰ヒントAとは状況が違います。数字を丸ごと消してしまうと、これはもはや別の問題(しかも複数解)になってしまいます。少なくとも、「ここに数字がある」という情報は余剰ではないわけです。
ヤジリンのような、?に置き換えても唯一解だが、消すことはできないという余剰ヒントを、「余剰ヒントB」と呼ぶことにしましょう。
余剰ヒントAもBも、普段なんとなく余剰ヒントと呼んでいますが、原理的には全く別の現象です。パズル期末試験【自由作問】では、「解が大きく変わってしまう場合は?で置き換えて判定する」とすることで、余剰ヒントBに対応していました。
ニコリの大半の問題では、余剰ヒントはAとBの2種類しかありません。なので、これまであまり深く議論する必要がありませんでした。ところが、一部のパズルではさらに異なる種類の余剰ヒントが存在することに気づきました。
3.三種類目の余剰ヒント
問題となるパズルは、シークワーズです。
「ぱずる」と「るーと」を探してください
探すまでもない簡単な問題ですが、ここでは余剰ヒントを探してみましょう。中央の「わ」はどうでしょうか。消してしまっても、?に変えても、答えは変わりません。つまり、「わ」は余剰ヒントAです。
左上の「ぱ」はどうでしょうか。消してしまったら当然答えはなくなるので、一見余剰ヒントではありません。しかし、?に変えると「ぱずる」が残るので、問題は変わらず唯一解のままです。つまり、定義の上では「ぱ」は余剰ヒントBです。文字の中身がなんであるかに意味はなかったわけです。
では、左下の「を」はどうでしょうか。
「を」を消しても元の問題のままです。なので、「を」は普通の余剰ヒントのように見えます。しかし、?に変えた時、なんと「ぱずる」が2つできて複数解となってしまいます。これは余剰ヒントなのでしょうか。なぜこんなことが起きるのかというと、この「を」は少なくとも「る」ではないという情報を持っているのです。「を」を消しても「る」ではないという情報は残るのですが、?に変えてしまうと「る」になる可能性がでるため、複数解になります。このように、消すことはできるが?に変えることはできないというヒントを、「余剰ヒントC」と呼ぶことにします。
シークワーズでは、3種類の余剰ヒントが全く同じ見た目で存在しているため、非常にややこしいことになっています。消せるかどうか、?に置き換えられるかどうかだけでは、もはや余剰ヒントを定義することが出来なくなってしまいます。このように、余剰ヒントの議論は非常に繊細なものなのです。
これまでの中身をまとめます。
余剰ヒントA : 消す〇 ?に変える〇
本質的に意味がないヒント。
余剰ヒントB : 消す× ?に変える〇
数字(文字)に意味はないが、そこに何かは無いといけないヒント。
余剰ヒントC : 消す〇 ?に変える×
あってもなくても変わらないが、ある数字(文字)にならないことだけは保証しなければならないヒント。
これから余剰ヒントについて考える時は、余剰ヒントにも色々あるということを意識しましょう。
4.余剰ヒント警察
余剰ヒント警察だ!消しても解が変わらないヒントは全て消せ!
答えじゃねえか!!
余剰ヒント警察だ!「?」に変えられるヒントは全て「?」にしろ!
スケルトンじゃねえか!!!
ということで、余剰を楽しむパズルで余剰ヒントについて触れるのはやめましょう。
ちなみに自分がパズル期末試験【自由作問】に提出した問題(シークワーズのような何か)では、全てのヒントが消すことも?に変えることもできない真のヒントになるようにしました。なんと面倒くさい。