スターバトル手筋集
おもしろいよ
0. ルール
・盤面のマスに星を高々1つ配置し、盤面の各行・各列・各部屋に指定された個数の星があるようにする。
・星はタテヨコナナメに接触しない。
指定される星の個数は 2 個のことが多いので、以下その場合を念頭に解説する。
一般の場合でもだいたい同じ議論ができる。
1. 基本原理
接触禁により、「2×2 のマスには星が高々 1 つしか入らない」とわかる。
また、星の位置が二択になった場合、そのどちらにも接するマスはすべて白になる。
たとえば 1×2 のマスのどちらかに星が 1 個入るとき、長さ 2 の方に接する 4 マスは白になる。
斜め接触した 2 マスや L 字の 3 マスでも、同じようにいくつかのマスが白くなる。ただし使い勝手はやや悪い。
2. 初級手筋・小さい部屋における星の位置/白マスの確定
小さい部屋だと、その中で星の位置のパターンが確定し、結果としてその周囲のマスが白マスとわかることがある。
ペントミノの P 型の部屋などが例。
だいたいが 2x4 の長方形に完全に含まれているパターンで、2x3 に含まれている場合だともっと決まる。
また、星の位置のパターンがたくさん残る場合でも、周囲で白マスが確定することがある。
これは「周囲のマスに星を置くと、接している領域内のマスが白くなり、結果として領域に星を 2 個置けなくなって矛盾」という議論によるもの。
ペントミノの V 型、I 型などが例。
なお、この議論は複数の部屋をまとめても行える。
たとえば 4x4 に 2 つの部屋が入っているような場合。応用手筋かも?
白マスがたくさん確定した行や列でも、同じように星の位置が確定することがある。
先ほどの ペントミノ I 型が行・列で現れることもある。
高度な手筋を探していると、行や列単独での確定を見落としがちなので注意。
3. 応用原理
応用手筋のほとんどが、以下に述べるカバーの原理を用いて説明がつく:
マスの集合 C, D があり、D が C の部分集合とする。また、C には s 個以下の星しか入らず、一方 D には s 個以上の星が入るとする。
このとき、D にちょうど s 個の星が入り、C-D (CのマスでDに属さないところ) には星が入らない。
抽象的な言い方をしたが、自明な事実である。しかし、この原理の汎用性は高い。
C や D は、いくつかの部屋や二択/三択が確定したマスの集まりなどをまとめて使うことが多い。
たとえば「同じ列で二択の 1×2 が 2 個あった場合、その二択以外の列のマスはすべて白マスになる」とわかる。
これは、
- C:列
- D:二択の 4 マス
- s = 2
として原理を適用した結果といえる。
4. 中級手筋・部屋の偏りと列
k 個の部屋が k 列に収まる場合、その k 列のうち k 個の部屋の外のマスは白になる。
逆に、k 個の部屋が k 列を収める場合、その k 個の部屋で k 列以外のマスは白になる。
どちらもカバーの原理による (s = 2k) 。
またちょうど k 列に収まっていなくても、はみ出たマスが小さかったり、部屋の外に星がいくつか星が入ったりするときは、似たような議論ができる場合がある。
5. 中級手筋・2 列まとめる
「基本原理を使って個数を評価し、それらをまとめ、カバーの原理を使って星の位置を確定させる」という議論の流れになりやすい。
そこでよく出てくるのが、2 列まとめて考えるケース。
なぜかというと 2 列まとめると 2×2 に分割しやすいからである。
部屋に関係なく進んでしまうのもミソ。
やはりこれも、解くときは部屋に意識が集中しがちなので、列で見るタイプの理詰めは見落としやすい。
各行各列に星 2 個の場合、2 列に星 4 個入るので、長さ 8 (つまり2x8) だとカバーの原理の適用ができるようになる。
行や列の端にバツが並んだときは意識すべし。
ただ 2x2 に 1 個という評価だけではうまくいかないこともあるので、深追いはよくない。
2x7 に 4 個だとフィーバー。
6. 上級手筋・一般の応用原理
中級手筋ではカバーの原理のわかりやすい適用を見たが、実際の問題ではいろんな形で出現する。
頑張って見つけよう。
たとえば、
「部屋 2 つ」を「列+ 2*2 長方形 2 つ」でカバーしたり、
「部屋 2 つ」を 「2*2 長方形 4 つ」でカバーしたり、
「部屋 4 つ」を「行と列 4 本」でカバーしたり、
など様々。
7. その他・フィン
2 の後半で述べた白マス確定に似ている。
カバーの原理において。領域 C が D をカバーしきれなかったとしても、 D のうちはみ出たマスに星がある場合・ない場合のいずれにしても白になる場所は白マスと確定する。
はみ出たマスをフィンとよぶ。
数独の Finned Fish や、美術館のフィンと原理は同じ。
8. その他・チェイン
「マス (or マスの集合) に星が入るか」という命題が真か偽か、という情報を連鎖させることで解くことができるケースもある。
一見仮定が必要そうでも、チェインを使って仮定を回避し理詰めで解き切れる場合もある。
要するに二択を連鎖させて確定まで追い込むということである。
連鎖で使うのは弱リンク (両方真にはならない) と強リンク (両方偽にはならない)。
弱リンクは、注目する 2 マスが接触していれば自動的に成立してしまうし、高々 1 個しか入らない領域の 2 マスについても成立する。
また強リンクも 2 マスのうちどちらかに星とわかれば成立する。
よってチェインは非常に汎用性が高い。
チェインの基本は強弱リンクが交互にくるループで、
一か所だけ弱リンクが続く場所があれば、それらがつながるマスが白と確定する。
強リンクが連続してもいいし (そのマスが星と確定)。
交互だけで一周してもよい (その場合は二択になり、すべてのリンクが強リンクかつ弱リンクに昇格する)。
マス単独でなく、グループ化したマスを考えるのもアリ。
詳しくはチェインの記事を参考のこと。
9. その他・仮定
チェインでもどうにもならないことがある。
実際には入り組んだチェインになっている場合もあるが、実戦ではそれを短時間で見抜くのは難しい。
そんな場合はおとなしく仮定しよう。
というか、簡単なチェインですら仮定した方が速く解ける場合がほとんどかもしれない。
仮定というと敬遠しがちだが、すぐに詰むパターンもある。
単純仮定とでもいうべきか。
単純仮定でよく見るのは、終盤で二択が多い時に、あるマスを置くと、それに接触する二択が決まってしまい、ある列の個数がオーバーしてしまう(置けなくなる)、というもの。
自分は「押し出し」と呼んでいる。
カバーの原理の絡むチェインとも見れるが、シンプルに仮定した方が速いケースがしばしば。
よくあるパターンすらなく、どうしようもなくなって仮定が必要になったとする。
このときポイントは、仮定する場所が真でも偽でも議論が大きく進みそうな場所を選ぶこと。
これはスターバトルに限らず、どんなパズルでも大事。
たとえばマスに星が入るかで仮定するときは、入らないときに位置確定が大きく進むような場所で行うのが望ましい。入るときはどうせ大きく進む。
もっと具体的には「このマス白ならカバーの原理などで大きく進むのになー」みたいな場所で仮定するといい感じ。
10. その他・ミス論
スターバトルはミスやハタンが起きやすいパズルと思われる。
ミスの原因としては
- 行、列、領域の星の個数の把握ミス。部屋が白マスで分断されたせいで個数の把握を誤る、など。
- 議論のミス。誤った議論により本来星のマスを白マスとしてしまった、など。
- 誤った配置。星を接触させたまま気付かず解き進めてしまった、など。
といったものが考えられる。
いずれも意識から漏れやすいと思うので、十分注意して行うこと。
また修復不可能なら潔く全消しするのも手。
大きなタイムロスになるためあまり行いたくないが、一度ミスると星の位置が大幅にずれることが多いため、微調整が効かないこともしばしば。
解空間を泳げる自信のある人でない限り、そのまま修正するのはおススメしない。
11. おまけ・n stars in 4n x 4n
部屋にかかわらず、星の配置は 2 通りに限定される。
証明できたら数オリ代表クラス。
なお、この事実から星 2 個のときの盤面の適正サイズは 9, 10, 11 くらいと推測される。
9だと少し狭め、12以上は部屋の形がそれなりに特殊になるはず。
12. おまけ・1 star
白マスの確定が独特なので注意。もはや別ゲー。
以上。他に特筆すべき手筋があれば、コメント等でご連絡ください。