PlayPendium

Roomshade · 考えるための糧

かみ合う4つのルール

Roomshadeのパズルはどれも、たった一つの避けがたい解を生み出すために協働する4つの制約の上に成り立っています。

英語で執筆・編集されました。この日本語版は機械翻訳によって作成されたものです。正確さが重要な箇所については、英語の原文が正式なものです。 英語の原文を読む →

制約の建築

Roomshadeのパズルは、太線によって長方形の部屋に分割された空のグリッドとして始まります。数字を持つ部屋もあれば、空白のままの部屋もあります。プレイヤーの仕事は、盤面全体に及ぶ3つの追加の制約に従いながら、数字のある各部屋でちょうど正しい数のマスを塗ることです。この4つのルール、すなわち部屋ごとの個数、隣接の禁止、連結の要請、そしてライン横断の上限は、単独で働くわけではありません。それらは、あるルールを満たすことが別のルールを満たすために必要な条件をしばしば生み出し、どれか一つでも破ればパズルが成立しなくなる、かみ合った一つの体系を作り上げています。3 1

この設計の優雅さは、それぞれのルールが他のルールをどう縛るかにあります。部屋ごとの個数ルールは局所的に働き、一つの部屋の境界内のマスだけを支配します。隣接ルールもまた局所的に働きますが、隣り合う部屋のあいだに関係を作り出します。連結ルールは大域的に働き、白いマス全体が一つの連続した領域をなすことを要求します。ライン横断ルールは、複数の部屋を横切りうる直線に沿って働きます。これらの制約が合わさることで、局所的な推論が大域的な結論へと波及し、解が当て推量からではなく、ルールがどうかみ合って一つを除くすべての可能性を消していくかを見抜くことから立ち現れる、そんなパズルが生まれます。3

4つのルール、1つの解。

部屋ごとの個数ルール

第一の、そして最も目につきやすいルールは、数字のある部屋はちょうどその数だけ塗られたマスを含まねばならない、というものです。これがパズルの主要な手がかりの仕組みであり、プレイヤーが各部屋の内側について受け取る情報です。大きさ3の部屋に手がかり2があれば、塗られたマスがちょうど2つ、白いマスが1つ必要です。大きさ6の部屋に手がかり3があれば、塗られたマスが3つ、白いマスが3つです。数字のない部屋はそうした制約を課しませんが、それでも隣接ルールが上限を与えます。塗られたマスは0個から、2つが接することなく収められる最大数まで、いくつでもあり得るのです。長方形の場合、その最大数はマス数の半分を切り上げた値になります。3

このルールだけでは、たいていのパズルを解くには足りません。たとえば手がかり2の3×2の部屋では、2つの塗られたマスを15通りに配置できます。ルールは局所的な情報を与えますが、相当な曖昧さを残します。しかしその曖昧さこそ、他のルールが解消するものです。隣接ルール、連結ルール、ライン横断ルールはそれぞれ、個数ルールだけなら許されていたはずの配置を消していきます。個数ルールが舞台を整え、他のルールがどの役者を登場させるかを決めるのです。3

隣接の禁止

第二のルールは、塗られたマスどうしが上下左右に隣り合うことを禁じます。2つの塗られたマスが辺を共有することは決して許されず、触れてよいのは斜めだけです。このルールは、部屋の境界を越えて伝わる間隔の要請を生み出します。あるマスが塗られると、その上下左右の隣接マスを塗ることが直ちに禁じられます。その隣接マスが同じ部屋にあろうと隣の部屋にあろうと関係ありません。ここから波及効果が生まれます。1つのマスを塗ることが隣の部屋の可能性を消し、それがさらに別のマスを塗りか白かに強制しうるのです。1

隣接ルールは、部屋ごとの個数ルールと組み合わさったときに特に強力です。手がかり2の1×3の部屋を考えてみましょう。2つの塗られたマスは並んで座れないので、両端を取るしかなく、真ん中のマスは白のままでなければなりません。個数ルールがいくつかを決め、隣接ルールがどれかを決めるのです。逆に、1つのマスしか塗れない部屋を考えてみましょう。隣接ルールは、隣の部屋のどのマスが塗れるかを縛ります。その唯一の塗られたマスに隣り合うマスを塗れば、ルールに反するからです。個数ルールと隣接ルールのこの相互作用こそ、パズルの推論の多くが始まる場所です。3

1つのマスを塗ると、その上下左右の隣が禁じられる。

連結の要請

第三のルールは、すべての白いマスが上下左右につながった一つの領域をなすことを要求します。つまり、どの白いマスからでも、白いマスだけを上下左右にたどって他のどの白いマスにも到達できる、ということです。このルールは盤面全体にわたって大域的に働き、それがゲームで最も強力な制約の一つになっています。このルールは、白い領域が孤立した小部屋へと分断されるのを防ぎます。分断は、塗られたマスの環がたまたま白いマスの一画を盤面の残りから囲い込んでしまったときに起こり得るものです。3

連結ルールは、解き進めた後半、ほとんどのマスが確定し、残る問いが白いマスが一つにつながった領域をなすかどうかになったときに、とりわけ決定的になります。隣接ルールなら塗ることを許すはずのマスを、白に強制することもできます。たとえば、あるマスを塗ると白いマスの一群が盤面の残りから孤立してしまうなら、そのマスは白でなければなりません。このルールは局所的な判断を大域的な帰結へと変え、個々のマスを確定させながら盤面全体の白い構造への意識を保つことをプレイヤーに要求します。3

ライン横断の上限

第四の、そして最も気づきにくいルールは、つながった白いマスの水平または垂直の直線が3つ以上の部屋にまたがってはならない、というものです。白いマスの直線の連なりが越えてよい部屋の境界はせいぜい1つ、つまり含んでよいのは最大で2つの部屋のマスまでです。このルールは部屋の境界を切り裂く直線に沿って働き、盤面の水平線と垂直線を調べるまでは目に見えない制約を作り出します。1

このルールは、それがなければ最初の3つのルールを満たしてしまう配置を消すのに、とりわけよく効きます。たとえば2つの部屋の境界を越える白いマスの長い水平の連なりは、たとえそのマスが隣接ルールに従って正しく間隔をあけ、正しい個数の部屋に属していても、このルールに反します。このルールは、白いマスがその線に沿った要所で塗られたマスに断ち切られることを強い、白いマスが、あいだを隔てる塗られたマスによって区切られて見えるという視覚的な模様を作り出します。3

ルールはどうかみ合うのか

Roomshadeの真の力は、この4つのルールがどう協働するかから生まれます。部屋ごとの個数ルールは最初の情報を与えますが、多くの配置を可能なまま残します。隣接ルールは、上下左右に隣り合う塗られたマスを禁じることで、ある種の配置を消します。連結ルールは、白い領域を分断してしまう配置を消します。ライン横断ルールは、あまりに多くの部屋を横切る白い線を作る配置を消します。それぞれのルールが可能性の異なる部分集合を消し、合わせて、たった一つの配置、すなわち唯一の解を除くすべてを消し去るのです。3

このかみ合いは、ルールを個別に満たすだけでは解に到達できないパズルを作ります。あるマスは個数ルールと隣接ルールのもとでは許されても、連結ルールによって禁じられるかもしれません。別のマスは隣接ルールを満たしても、ライン横断ルールに反する白い線を作ってしまうかもしれません。プレイヤーは4つのルールすべてを絶えず同時に確かめ、あるルールに基づく推論が別のルールのもとで新たな可能性や制約を生みうることを意識しなければなりません。これこそがこのパズルの推論の本質です。それぞれのルールの帰結が盤面全体へ伝わっていくのを追いかけること。3

どのルールも、ほかのすべてのルールを縛る。

グリッドの大きさと部屋の寸法

Roomshadeのパズルは3つの標準サイズで用意されています。小(5×5)、中(6×6)、大(7×7)です。これらの寸法はパズルの複雑さに影響しますが、ルールそのものは変えません。5×5のグリッドは7×7より含むマスも部屋も少ないので、解くのに必要な推論の手数はふつう少なくて済みます。とはいえ、パズルの基本的な構造は大きさにかかわらず同じままです。3

どの部屋も、縦横それぞれ1マスから3マスまでの長方形です。そのため部屋は1×1の単独マスから3×3の9マスの部屋まで幅があります。部屋の寸法は、ルールの適用のされ方に興味深い影響を与えます。手がかり1の1×1の部屋は必ず塗られ、手がかり0の1×1の部屋は必ず白になります。手がかり5の3×3の部屋は塗られたマス5つと白いマス4つを必要とし、隣接ルールはその置き方をちょうど1通りに絞ります。四隅と中央です。部屋の寸法は手がかりの値と組み合わさって、ルールが唯一の解を生み出さねばならない初期条件を作り出します。3

示される手がかりと、伏せられる手がかり

手がかりの数字を表示する部屋もあれば、空白の部屋もあります。空白の手がかりは、その部屋に個数の制約がないことを示します。塗られたマスは0個から、2つが接することなく収められる最大数まで、いくつでも構いません。空白の部屋も隣接ルール、連結ルール、ライン横断ルールには従いますが、パズルに数の制約を持ち込むことはありません。3

空白の部屋の存在は、パズルに一段の複雑さを加えます。数の制約がないため、プレイヤーは空白の部屋のどのマスを塗るかを、他の3つのルールだけに基づいて決めなければなりません。そのためには、空白の部屋でマスを塗ることが隣の部屋と全体の白い構造にどう影響するかを注意深く分析する必要があります。空白の部屋は数字のある部屋どうしをつなぐ連結路として働き、白い道をそのあいだに通すこともできますし、望ましくない白い線を塞ぐために塗られたマスで埋めることもできます。空白の部屋と数字のある部屋のあいだの相互作用は、Roomshadeの設計の鍵となる要素です。3

局所的な推論から大域的な推論へ

Roomshadeの美しさは、局所的な推論が大域的な結論へと波及していくさまにあります。盤面の片隅にある塗られたマス1つが、ルールのかみ合った作用を通じて、いくつも部屋を隔てたマスの状態を決めてしまうことがあります。隣接ルールは局所的に伝わり、塗られたマスの隣を禁じます。連結ルールは大域的に伝わり、白い領域全体がつながったままであることを要求します。ライン横断ルールは直線に沿って伝わり、あまりに多くの部屋を横切る白い連なりを禁じます。1

この伝播は、新しい情報が得られるたびにプレイヤーが盤面の理解を更新し続けねばならないパズルを作ります。かつて曖昧だったマスが、隣のマスが確定した途端に強制されることがあります。有効な配置が複数あるように見えた部屋が、連結ルールを適用した途端にただ1つの配置へと絞られることがあります。解は一つのひらめきからではなく、すべてのマスが確定するまで4つのルールを繰り返し適用した、その積み重ねの効果から立ち現れるのです。3

ルールこそ、このパズルの論理エンジン。

解が決定的であること

Roomshadeのパズルには、必ずちょうど1つの解があります。この一意性は偶然ではなく、パズルの構成によって保証されています。パズルの生成に使われるバックトラッキング・ソルバーが、4つのルールすべてを満たす塗り方が1通りしかないことを検証します。この決定性はパズルの設計にとって不可欠です。もし複数の解があり得るなら、そのパズルは不正なものとみなされます。プレイヤーの仕事は、当て推量ではなく推論によって唯一の解を見つけ出すことです。3

パズルが決定的であるということは、有効な推論はどれも確実でなければならない、ということを意味します。あるマスがルールによって塗りか白かに決められるなら、そのマスは唯一の解においても塗りか白かです。当て推量なしにマスの状態が決められないなら、そのパズルはまだ解かれていないか、プレイヤーが正しい推論をまだ見つけていないかのどちらかです。この性質が、Roomshadeを試行錯誤に頼るパズルから区別します。どのマスの確定も、ルールとすでに確立された情報から論理的に導かれねばならないのです。3

Sources & notes

  1. "Heyawake," Wikipedia, a binary-determination logic puzzle published by Nikoli, first appearing in Puzzle Communication Nikoli #39 in September 1992; the Japanese name means "divided rooms," the grid being divided into variously sized rectangular rooms by bold lines; a number in a room indicates exactly how many painted (shaded) cells it must hold; painted cells may never be orthogonally connected and all the white cells must be interconnected; and a straight line of connected white cells may not contain cells from more than two rooms. en.wikipedia.org/wiki/Heyawake.
  2. "Nikoli (publisher)," Wikipedia, a Japanese publisher specializing in games and, especially, logic puzzles, established in 1980 by Maki Kaji; its Sudoku, the most popular logic problem in Japan, was popularized in the English-speaking world in 2005; it is notable for a vast library of "culture-independent" puzzles focused on logic rather than language; and it has invented or introduced many puzzle genres, including Slitherlink, Nurikabe, Heyawake, and Masyu. en.wikipedia.org/wiki/Nikoli_(publisher).
  3. Roomshade game engine: a Heyawake realization on a rows×cols grid partitioned into axis-aligned rectangular ROOMS, enforcing four rules: (1) a room with a number holds EXACTLY that many shaded cells (unlabeled rooms are free); (2) no two shaded cells are orthogonally adjacent; (3) all unshaded (white) cells form one orthogonally-connected region; and (4) no horizontal or vertical straight run of white cells may span three or more rooms; sizes are small (5×5), medium (6×6), and large (7×7) with rooms of dimension 1–3 and a clue that is either the shaded count or blank; the grid is partitioned by a greedy randomized fill, and a backtracking solver both fills a valid solution and verifies the puzzle's uniqueness, all pure and seeded-deterministic. Read from the game's own source.
  4. Further reading on Heyawake: Markus Holzer and Oliver Ruepp, “The Troubles of Interior Design–A Complexity Analysis of the Game Heyawake,” in Fun with Algorithms (FUN 2007), Lecture Notes in Computer Science; the analysis behind the result that deciding whether a Heyawake instance has a solution is NP-complete. doi.org.
Was this worth reading?
Play Roomshade
PlayPendium · About · Contact · Privacy · Terms · Cookies · Accessibility · Copyright · Browse all games · Classic arcade games · © 2026