Solyuの気まま日記

Solyuの思ったことや考えたことをまとめます

ヒントの出し方から考えるパズルの分類

こんにちは。最近はパズル制作が趣味になっています。

今回は、初心者でも制作しやすいパズルについて、独断と偏見に基づいて考察していこうと思います。

なお、パズルのルールの複雑さ・エディターやソルバーの有無については考慮しません。特にソルバーは有るとかなり便利ですが、今回はソルバー無しの完全手作りで考えます。これで生産者表示を要求されても安心ですね。*1

0 ヒントと制作のしやすさ

殆ど全てのパズルは、最初に盤面と幾つかのヒントが与えられ、それをもとに解答を導き出します。つまり、パズルを作るということは、(一意解になるように)ヒントを置くということでもあります。

作為や様々な手筋を入れ込むなど、上手いヒントの置き方は有りますが、今回はとにかくパズルとして完成させることを重視しましょう。Done is better than perfectの精神です。

今回は、次のように制作することを考えます。

『あらかじめ解答盤面を用意→解答盤面に合うように、ヒントを幾つか配置→一意解になったら終了』

この作り方の利点は、気が付いたら解無しという状況が起こらないことです。その為、折角置いたヒントを消して置き直すなどの修正を行う必要がありません。作為を入れ込むのが多少難しくなるという弱点が有りますが、今回はその点は気にしないこととしましょう。

さて、この作り方がしやすいパズルとしにくいパズルとが有ります。

例えば数独は、かなりしやすい方です。適当にヒント数字を配置しても問題がないからです。対称配置も簡単に作ることが出来ます。

一方でナンバーリンクは、かなり難しい方でしょう。そもそものヒントを増やす方法が、ルール上存在しないからです。

この"作りやすさ"に、具体的な基準を設けることはできないでしょうか?

 

1 どんな解答も一意解に出来るか

そこで、まずは次の問題について考えていきたいと思います。

どんな解答盤面に対しても、出来るだけ多くのヒントを出せば、その解答以外に解答がない状況(=一意解)に出来るか?

この性質があるパズルの簡単な例として、数独が挙げられます。全ての数字を表出してしまえば、それがそのまま答えです。

一方、殆どのパズルにはこの性質は有りません。つまり、出せるだけのヒントを全て出しても解答を絞り切れない可能性が有ります。

スリザーリンクでは、ヒントは[特定のマスの4辺のうち、線が通る数]を表します。この情報は4辺の総和であり、各辺に引かれるかどうかが確定する訳ではありません。
このことが悪さをし、次の様な盤面が出来てしまいます。

(左)想定解 (右)余剰解

ましゅでは、ヒントは[特定の線の繋がり方をする箇所]を図示します。そのような箇所が少なければヒントも減ってしまい、実際に次の様なヒントを配置できない盤面が出来てしまいます。

無記号配置。この場合、盤面内のどんなシンプルループも答えとなってしまう

さて、ここで分類の難しいパズルが有ります。四角に切れです。このパズルは解答盤面に対して複数のヒントの出し方が有り、その違いによって一意解かどうかが変わることが有るからです。
仮に黒丸の置き場所を最初に固定した場合、一意解とはならないケースが簡単に構成できます。一方で、黒丸の置き場所を固定しない場合、一意解とはならないケースは無いように見えます(全ての黒丸を一番左上に置けば良いと思って証明を試みたのですが、無理でした。反例や証明が見つかった方はご連絡下さい)。

へやわけでは、事態は更に深刻です。部屋の分割方法を最初に固定した場合、一意解とはならないケースが簡単に構成できます(部屋を唯1つにすれば良いです)。一方で、黒マスだけを全て1マスの部屋で囲ってしまい、白マス全てを1つの部屋として表せば、これは一意解となります。

そこで、この違いを明確にすべく、次のように定義します。

定義(一意保証性):パズルXが一意保証性を満たすとは、任意の問題Aとその解答Bに対して、次を満たす問題A'が存在すること。

  1. Aで与えられている全ての情報は、A'でも全く同じ形で与えられる。
  2. A'の解答は唯1つであり、その解答とはBのことである。

定義(弱い一意保証性):パズルXが弱い一意保証性を満たすとは、任意の解答Bに対して、次を満たす問題Aが存在すること。

  1. Aの解答は唯1つであり、その解答とはBのことである。

 

簡単に言えば、一意保証性は『ヒントを適当に増やせばいつかは一意解に出来る』ということ、弱い一意保証性は『上手くヒントを与えれば一意解に出来る』ということです。

これにより、四角に切れへやわけは一意保証性を満たさないパズルと言えます。へやわけは弱い一意保証性だけを満たすので、この2つの条件は真の包含関係にあります。

さて、一意保証性を満たすパズルは、数独の他に何が有るでしょう?

例えば、虫食い算は一意保証性を満たします。これは全ての虫食いを復元すれば一意解となります。

覆面算も一意保証性を満たします。例えばA+A+A+A+A=BなるA,Bの組は1,5しかないので、この様な関係式を追加すれば全ての文字が確定できます。

マインスイーパは、地雷の総数を与えれば一意保証性を満たします。というのも、地雷以外のマスを最初から全て開けてしまえば良いからです。

Tapaも、実は一意保証性を満たします。全ての白マスを与えれば、各白マスの周り8マスの白黒は全て決定できます(白マスとして与えられている部分以外全てを塗ることが、黒マスの総数から分かります)。となるとどの白マスとも8方向で接しない黒マスが必要ですが、黒マスの2×2禁からその配置は不可能です。*2

さしがねも、一意保証性を満たすパズルです。全ての白丸とその面積を与えれば、全ての領域が表出していることとなり、ここに矢印を全表出すれば各矢印から白丸まで接続線を伸ばすことで確定します。

ボーダーブロックでは、全てのマスにどの領域に所属するかの記号を載せれば、違う記号同士が隣り合っている箇所に線を引くことで解答が得られます。よって、一意保証性を満たすと言えます。クロスウォールも同様の作業で一意保証性を満たすと言えます。

↑ボーダーブロックにおける領域の『分割』について、間違った理解をしておりました。ルール上では同じ領域内に余計な線が入っていても、その線が行き止まりにならなければ良いと読み取れ、これにより一意解とならない可能性が有ります。

具体的な反例は、ミレイ様が以下の投稿にて掲載しております。

x.com


なお、クロスウォールでは(盤面が通常の平面である限り)同じ領域内には余計な線が入りません。この為、上の説明で一意解性が示されます。

ご指摘下さったミレイ様に深く感謝を申し上げます。

 

 

他に一意保証性を満たすのは、フィルオミノ、波及効果、ビルディングパズル(内部表出有りの場合)、アイスバーン、数コロ、マカロ、バッグ、Rassi Silaiなどが挙げられます。*3

この様なパズルの多くは、虫食い系』=解答盤面の一部分を(どこでも)ヒントとして表出でき、残りの部分を復元するパズルとなっています。Tapaや数コロは、厳密には虫食い系ではない(黒マス・数字の置かれないマスをヒントとして表出できない)のですが、それに近いでしょう。アイスバーンも同様です(解答の道順を表出すれば、それ以上線を足すことは不可能)。

虫食い系ではないものはやや少なめで、覆面算やさしがね、ボーダーブロックやRassi Silai等に限られます。

 

 

他のパズルについては……

Kropki…2×2以上では一意保証性を満たしません。
2×2と5×5以上では、弱い一意保証性も満たしません(6×6以上ではどこにも白丸黒丸を置けない配置が存在し、5×5は個別に構成できます)。

(左) 6*6無記号配置 回転・反転した盤面と区別できない
(右) 5*5(※灰色円は白黒両方可) 左上の角が確定できない

 

3×3では弱い一意保証性を満たします(1と2の間を全て黒丸で埋めれば良いです)。4×4は自分の中では未解決です。

シャカシャカ…白マスに情報を置けないことが災いし、何もない盤面が弱い一意保証性の反例となります。

ぬりかべ……3×3で中央以外全て黒マスの例を考えれば、弱い一意保証性を満たさないと分かります。

へびいちご…蛇がいないマスを全て黒マスにしても、矢印が1つも蛇に向いていないと蛇の頭が決まらないので、一意保証性は満たしません。
一方、どの蛇も縦横で接しないことから、黒マスを全て与えると蛇は1,2,4,5のどれか1つでも判明すれば決まります。ここから条件をかなり絞ることが出来、実際にこの事実から外周が全て黒マスならば弱い一意保証性を満たすことが示されます(そうでない場合は1×5盤面などの反例が有ります)。

ヤジリン・ヘヤジリン・月か太陽…そもそものシンプルループが弱い一意保証性を満たさないため、これらも弱い一意保証性を満たしません。Tapa Like Loopスラローム・Castle Wall等、殆どのシンプルループ系のパズルも同様に、弱い一意保証性を満たさないことが分かります(全てのマスに線が通るようにすれば、情報を配置できず一意解となりません)。

キンコンカン…全マスに鏡を置けば部屋の分割方法は1通りしかなく、その状況で全く光が入らない空間を作れば、その中での鏡の置き方は光の道順では判別できないので、弱い一意保証性が満たされないことは直ちに従います。

中央の?4マスの鏡の向きが確定できない(何でも良い)

 

因子の部屋・検ロジ…解答盤面と部屋の分け方まで全て決まっている為、弱い一意保証性を満たしません(検ロジはヒントの出し方によって決まるかどうか変わる可能性が有りますが、部屋が1つだけのケースを考えれば無理だと分かります)。

部屋の分割を自由にできる場合については、後述します(ヒントの出し方が変わるので、一意保証性とは見做しません)。

やじさんかずさん…全ての黒マスを→(盤面の上限を超える大きさの数字)とします。あとは、残りのマスが全て白マスだと分かればよいのですが……
ここで、盤面で長い方の辺が2以上と仮定します。この列の端以外に黒マスが有れば、その両隣は白マスで確定するので、この2マスの矢印がお互いを向き合うようにすればこの列の白マス全てが確定します。
端に黒マスが有る場合も、その隣の確定白マスの矢印を反対側の端を向くようにすれば確定します。
よって問題は、全て白マスの場合です。ここで、この列の隣り合う白マス2つにお互いを向き合う矢印を付けた0を配置します。このうち片方でも黒マスならば、もう片方も嘘情報となって黒マスとなり、黒マスが隣り合って矛盾します。つまり、この2マスは白マス、従って情報は真であり、これよりこの列は全て白マスと分かります。
これより、1×1盤面以外は全て弱い一意保証性を満たします
なお、一意保証性は満たしません(1×n盤面で、全てのマスが盤面の短い辺と平行の矢印で0と書かれている場合、両端が確定しません)。

流れるループ…線が曲折する箇所にヒントを置けない弱点が災いし、例えば次のような解答を考えると弱い一意保証性を満たさないことが分かります。

(左)想定解 (右)余剰解

ストストーン…石(つまり領域)が1つだけの場合、領域分割の方法も1通りしか存在せず(ストストーンでは全ての領域に石が1つ以上入り、かつ石は領域を跨いで縦横に隣り合いません。よって1つの石と1つの領域とが対応します)、これにより弱い一意保証性を満たさないことが分かります。

チョコバナナ…6が3×4状の盤面に敷き詰められている状況が弱い一意保証性の反例となります。

ダブルチョコ…盤面の模様も決めてしまうため、2×2盤面に白黒交互に配置した状況(全てのマスには1と表記されている)が弱い一意保証性の反例となります。

ホタルビーム…線が少ない状況では出せるヒントも少なく、実際に次の盤面が弱い一意保証性の反例となります。

(左) 想定解 (右) 余剰解

天体ショー…次の盤面が弱い一意保証性の反例となります。

(左)想定解 (右)余剰解

カーブデータ…次の盤面が弱い一意保証性の反例となります。画像の例では中央にヒントを置いていますが、何処にヒントを置いても2つの解答を区別できません。

※一見、右図はルールを満たしていないように見えますが、左図と同じように左方向に進む→左折×4となっているのでルールを満たします(左図ではスタートのマスが右上、右図では中央となっています)。

(左)想定解 (右)余剰解

LITSのりのり…部屋が1つしかない盤面が厳しく、弱い一意保証性の反例となります。

スターバトル…☆2つ以上のときの弱い一意保証性が未解決です。
☆1つのときは、弱い一意保証性が成立します。具体的な方法は、図を見てもらった方が早いでしょう。

棒グラフのような何か。☆1つの場合はこの方法で一意解となります。

なお、全ての領域を縦1列にすれば領域からの情報が何も得られなくなり、☆が幾つの場合でも一意保証性の反例となります。

ひとりにしてくれ…全部白マスの盤面が厳しく、この場合角のマスが黒マスとなっても良いため、弱い一意保証性の反例となります。

ぬりみさきドッスンフワリなど、そもそもヒントを増やすこと自体が難しいor不可能なパズルも存在し、これらのパズルも(弱い)一意保証性は期待できません。

 

2 実質的な情報量の増加と一意解性

さて、一意保証性のないパズルを作成する場合、ヒントを解答盤面に近づけて増やしていくだけではどうにもならないことが有ります。

しかしながら、一部のパズルでは『実質的に』ヒントを増やせる方法が有り、その方法を用いて一意解に出来るケースが有ります。

四角に切れ特定領域を全て1に分割
同様の手法がLohkousにも適用出来ます。

ナンバーリンク線を細分
用意されている解答盤面は、全てのマスを通るとします。(実際に解く際は、全てのマスを通るかは分からない状態でも良いです)
このとき、線を長さ1(余りは長さ2)に細切れにすれば良いです。具体的には、以下の様にします。

(左) 用意した解答盤面 (右)余剰解
右図の通り、このままではとても確定できない盤面ですが……
(左) 元の解答を細切れにした形 (右)左図を元に再構成した問題
長さ1の線(余りが出来たらそこだけ長さ2とする)に分割することで、一意解になります。

ここで、以下の事実を示しましょう。
◆ どの2つの数字も、長さ2以下の線で結ばれる。
証明します。マスの配置の偶奇性から、特定の数字同士を繋ぐのに偶数マス(つまり最低2)要るか奇数マス要るか(つまり最低3)かは確定します。偶数マスの数字と奇数マスの数字それぞれで最低マス数で結んでいるので、マス数の余裕はありません。
これより、未確定の可能性が有るのは3マスL字のケースのみです。
未確定のマスが有るとき、そのマスを他の3マスL字が通る可能性が有ることとなり、すると3マスL字が斜め一方向に延々と連なってしまいます。が、これは盤面の端に当たって何処かで止まり、そこで一意解となります。

因子の部屋/検ロジ:部屋を細分

因子の部屋では、部屋を細分すれば実質的にヒントが増加します。検ロジでも、部屋を細分する際に元の部屋と同じ演算を引き継ぐようにすれば、実質的にヒントが増加します(-,÷は3マス以上の領域には適用されないものとします)。特に1マスだけの部屋に細分すれば、そこで一意解となります

へやわけ黒マスを隔離

へやわけでは、黒マス1マスだけを囲んで1つの部屋としても、条件を満たします。そこで全ての黒マスを1マス部屋にした後、全ての部屋の黒マス数を表出すれば、一意解となります。

3 結論…作りやすいパズル3選

結局のところ、どのパズルが作りやすいのでしょう。以上の考察を元に、作りやすいと考えられるパズル3選を紹介します。

 

数独(6×6)

ヒントをどんどん開示していけば、いつかは答えになります。開示の仕方は自由なので、対称配置になるように開示していけば、最終的な問題も対称配置になります。

通常サイズの9×9はやや大きく、解答盤面を用意するなどで時間がかかるので、まずは6×6で制作すると良いと思います。

 

因子の部屋/検ロジ

部屋をどんどん分割して小さくすれば、いつかは答えになります。

最初は5×5がおススメです。5は素数なので、掛け算として大きな情報になります。検ロジ(四則演算なら何でもOK)の場合でも、5の倍数になる掛け算が大きな情報になることは変わりません。

 

マインスイーパー(地雷総数の情報アリ)

白マスをどんどん開けていけば、いつかは答えになります。

取り敢えず幾つか開けて、運ゲー盤面などで推測が詰まったら何処かの白マスを新しく開けるというやり方が出来ます。14 Minesweeper Variantsでは、5×5盤面に10個の地雷が入っている配置がデフォルトなので、まずはこのルールで制作すると良いと思います。

 

 

以上、『どんな解答盤面でも一意解にしやすいかどうか』という観点から、パズル制作の難易度について考察しました。一意保証性があるパズルでは、解答盤面を用意できさえすれば、問題を比較的容易に制作できます。特にマインスイーパーでは、解答盤面を何かのドット絵にしておき、全ての白マスを開けると絵が浮かび上がる様にするという芸当も難しくはないでしょう。弱い一意保証性であっても、領域を分割するなどの分かりやすい方法で一意解に出来る場合は、これもまた問題の制作が比較的楽になります。

とは言え、この見方はパズルの一側面に過ぎません。たとえば四角に切れでは、素数の面積の表出を増やすと相対的に解きやすくなるでしょう。この様に、序盤から分かりやすく強い情報を持っている表出を幾つか配置することで、最終的に一意解にすることがぐっと簡単になる場合が有ります。

ですが、その様な制作方法は、多少なりともそのパズルの手筋を知らなければいけません。知っているに越したことはないのですが、ただ作問して初めて見えてくる手筋も有ると私は思います。そこで、初めから手筋を何も知らなくても取り敢えず作問は出来るパズルを選びました。習うより慣れろの精神です。

 

ここまでお読み下さり、有難うございます。それでは、良い一日を。

 

[余談]

個人的に、クロスウォールと逆へやわけとでは、逆へやわけの方が制作難易度が高いように思えます。やはり、クロスウォールの一意保証性のお陰なのでしょうか。

一意保証性を調べてほしいパズルがありましたら、コメントをお願いします(気まぐれで検証&追記することが有ります)。

 

[追記]
07/09 21:40
ホタルビームの画像がルールと整合していなかったため、修正しました。

*1:パズルに『遺伝子組み換え』などと表示されても困りものですが……

*2:この説明から推測される通り、盤面が一部くぼんでいると、一意保証性を失うことが有ります。

*3:Rassi Silai以外は全表出で一意解となります。Rassi Silaiは、線が通らない箇所全てに境界線を引けば良いです。