【Puzsq日記】2024/1/25 おやこどりのルールに関する経緯


おやこどり

ルール

原作はこちらの記事(以下、「原作記事」)のNo.10。

本誌159号向け没作品とのこと(ニコリvol.159は2017/6/10発売)。
「原作記事」の元記事(2018/12/14投稿。fc2ブログ、現在はリンク切れ。以下、「旧記事」)をWayback machineで閲覧したところ、以下の記述を発見。

159号没作品。158号の「わたりどり」と「ぐんたいあり」がどちらの似た感じで好みの解き味だったのでこれを一つにまとめられないかと思案した結果生まれたパズル。当時ブームだったけものフレンズに便乗して動物園テーマで何か作りたいなと思っていたこともありこんな感じにまとまりました。ストーリー、見た目、解き味の三点が揃っていてかなり気に入っていたのですが没となってしまいました。今回この記事を書いたのはこれを公開したかったからといっても過言ではないです。

「旧記事」より

おそらく1年半経過したことを期にこの「旧記事」の公開に至ったと思われます。

「旧記事」より引用。ルール文と例題

「旧記事」のルール文の、1文の長さを軽減したのが「原作記事」のルール文のようです。
これを編集してにしなんとかが書いたのが今のPuzsqの日本語版ルールです(以下、「日本語版ルール」)。

1. 親鳥(○、白丸)と雛鳥(●、黒丸)を巣(2マスの灰色マス)まで移動させましょう。
2. それぞれの巣には親鳥と雛鳥が1匹ずつ入るようにします。
3. 親鳥、雛鳥の移動は矢印で表します。矢印の線はマスの中央を通るようにタテヨコに引き、枝分かれさせたり交差させたり他の丸を飛び越えて移動してはいけません。
4. 親鳥はエサを求めて最低でも1回は太線をまたいで移動しないといけません。
5. 雛鳥はまだ飛べないので太線で区切られた仕切りの中でしか移動できません。

PuzzleSquareJPより、記事執筆時点

Puzz.linkの日本語ルールは「原作記事」のままで、誤字もそのままだったため、これを機に「日本語版ルール」に統一しました。

もうひとつのルール

2024/1/24まではPuzsqの英語版ルールは以下の通りでした(以下「英語版ルール」)。

1. You're given a grid with small birds (black circles) and large birds (white circles). Draw lines to move each bird into a nest, represented by adjacent gray cells.
2. Movement lines cannot cross or overlap each other. Lines can also not go through the start- or endpoint of other birds.
3. Lines can not go through nests, but must stop there.
4. Every nest that is used must have a small bird and a large bird.
5. Black birds cannot fly over borders.
6. White birds must fly over at least one border.

PuzzleSquareJPより、2024/1/24時点

「日本語版ルール」とは以下が異なっていました。

・ルール1において、巣は2マスとは限らない。adjacent gray cells(連結した灰色マス)とあり、2マス以上も含意している。1マスが可能とも、1マスは不可とも読めるかもしれない。
・ルール4において、「巣には、鳥が入る場合は、親鳥と雛鳥が1匹ずつ入るようにします。」とあり、鳥が入らない巣もありうる。
・上記ルールから、鳥が入らない灰色マスが存在しうるため、ルール3「鳥が巣を通り過ぎてはいけません。」というルールも追加されている。

「日本語版ルール」をみたす問題、つまり
・巣は全て2マス
・鳥の数=巣のマス数
が成り立つ問題は、「英語版ルール」で解いても支障が出ません。これらの問題では、全ての鳥を巣に入れるために、自動的に鳥が入らない巣が0つになり、鳥が巣を通り過ぎることも禁止されるためです。「英語版ルール」は、「日本語版ルール」を拡張していたといえるでしょう。
逆に、「英語版ルール」に基づいて作られた問題を、「日本語版ルール」に基づいて解くと、支障が出る場合がありました。こうした問題提起がPuzsq Rulesで起こったのを受け、2024/1/25に、にしなんとかは「英語版ルール」を以下のように改訂しました。

1. You're given a grid with small birds (black circles) and large birds (white circles). Draw lines to move each bird into a nest, represented by adjacent two gray cells.
2. Movement lines cannot cross or overlap each other. Lines can also not go through the start- or endpoint of other birds.
3. Lines can not go through nests, but must stop there.
4. Every nest that is used must have a small bird and a large bird.
5. Black birds cannot fly over borders.
6. White birds must fly over at least one border.

PuzzleSquareJPより、記事執筆時点。太線、打消し線は記事著者による

「日本語版ルール」に統一する形です。ルール3は、ルール1と4から自動的に従う"余剰のルール"ですが、残しています。

ルール改訂の影響

「英語版ルール」に基づいて作られた問題は、この改訂で解けなくなってしまうため、にしなんとかは以下のコメントで補足を行っています。同様の対応は、他のパズル種でも「ルール文に大きなミスがあり、そのミスを念頭に置いて作られた問題」に対しても行っています。

The English version of the rules has been revised to be consistent with the Japanese version.
日本語版ルールと統一するため、英語版ルールを改訂しました。
The Japanese version of the rules clearly states that "Every nest has two cells" and "All of every nest must have a small bird and a large bird".
日本語版ルールでは、「巣のマス数は2マス」「全ての巣には親鳥と雛鳥が1匹ずつ入る」が明記されています。
If some nest has one cell or more than two cells, and/or there are more nests than bird pairs, use the following rules to solve the puzzle.
巣のマス数が2マスでなかったり、巣のマス数が鳥の数より多いときは、以下のルールで解いてください。
Lines can not go through nests, but must stop there.
鳥が巣を通り過ぎてはいけません。
Every nest THAT IS USED must have a small bird and a large bird.
巣には、鳥が1匹も入らないか、親鳥と雛鳥が1匹ずつ入るようにします。
One cell nest can have one bird.
1マスの巣には鳥が1匹だけ入ってもよいです。

Puzz.linkでの実装

Puzz.linkのようなパズルエディターを用いるとき、「パズルを解くこと」は「正解判定が返ってくる入力をすること」と同一視されます。ルールに定義されていない状況があるとき、その成否を(ルール文から推測するのではなく)パズルエディターの挙動から推測する向きもあるでしょう。
Puzz.linkはおおむね「英語版ルール」に基づいた挙動が実装されているようです。例を以下に述べます。

余分な太線

「旧記事」のルール文から察するに、太線は元々盤面をいくつかのエリアに区切る「仕切り」でしたが、エリアを区切るのに役に立たない太線があってもエラー文は出ません。

3マス以上の巣

白丸と黒丸が1つずつ入るか、鳥が入らなければエラー文は出ません。鳥が通り過ぎるとエラー文が出ます。通り過ぎてはいけないのは、2マス以下の巣でも同様です。

1マスの巣

片方の鳥だけが入ってもエラー文は出ません。
この問題は「1マスの巣に鳥は入らない」というルールの下で唯一解です。単に鳥が通れないマスとして巣が使われていますね。Puzz.linkの実装上では「1マスの巣に鳥が入ってもよい」ため、他にも正解判定を出せる入力が複数あります。
おやこどり by anurag

巣の中の太線

2マス以外の巣が可能なので、巣が指す範囲をとらえる必要があります。
異なる灰色のマスが同じ巣に属することと、一方から片方まで灰色マスだけをタテヨコに辿って到達できることは同値です。そして、タテヨコに辿るとき、太線をまたぐことはできません。この太線の機能も、元々は無かったと思われます。例えば2マスの巣の間に太線を引くと、1マスの巣×2と扱われ、同じ色の鳥が入ってもエラー文は出ません。
この問題は「2マスの巣の間に太線があっても同じ巣と扱う」という意図で、この意図で唯一解、正解判定を出せる入力はもう1つあります。
おやこどり by ph.

初めから巣にいる鳥

そのまま動かなくても正解判定を出せます。そこから巣の内部で移動しても、始点は「巣を通り過ぎる」とは扱われず、やはり正解判定を出せます。

正解判定が出る。
これも正解。さらに右に移動するとエラー文が出る。

「黒マス」

問題入力モードでは「自動」「黒マス」「境界線」「白まる」「黒まる」「消去」とあり、この黒マスは実際には灰色マス(gray cell)、つまりは巣を表します。英語では「Shaded cell」となっていて違和感は少ないです。



この記事が気に入ったらサポートをしてみませんか?