Bombe
大量の領域が生成されはじめる度に狂ってリセットをするので、メモ。
ゲーム内で一覧性が低いのでこれとこれが似てる とか比べづらいし……。
ルール数の最小化は現時点ではめざしていない。
一旦は理性的なルールを入れるのが目標……。
ルール自体の最適化はしていきたい。
同じようなルールを一生追加してる気がするから……。
というか4領域ルール今までいっぱい作ってきたけど、ほとんどは一般的な3領域ルールの劣化なのでは?
3領域ルールが1領域を生成して、それともう1つがあわさって解ける という状態が多い予感がしている。
入力は広く/出力は狭く 個々のルールですると良い。
rules
base cases
0個以下の爆弾がある領域は開けられる。
💣⠨⢵⠯⣽⠣⡂⣯⠺⠅⢹⣽⠁⠀⠔⠂⡻⠢⡲⡵⡬⡥⠢⠺⡧⡲⡯⡵⡰⡡⡵⡳⡥⡤⡲⡩⡯⡲⡩⡴⡹⠵⠱⠶⠵⠰⡝⡽⡽⠊⠰⢍⠉⢍⢙⣅⣲⢬⢂⡒⢇⠁⠮⠳⠮⢬⠺⠀⠸⠄⡐⢃⠠⡨⢶⡡⠮🛑 x個の爆弾がある領域は、x個以上、x個以下の爆弾がある。
💣⠨⢵⠯⣽⠣⡂⣯⠺⠅⢷⠍⠂⠀⢄⠂⡻⠢⡲⡵⡬⡥⠢⠺⠶⠶⠳⠰⠴⠬⠢⡧⡲⡯⡵⠰⠬⠢⡰⡡⡵⡳⡥⡤⡲⡩⡯⡲⡩⡴⡹⠶⠵⡝⡽⡽⠈⠰⣍⠍⡘⡧⠐⢥⠐⠃⠈⠳⢶⣘⠹⠇⢸⠁⠮⠴⢆⠓⠗🛑 💣⠨⢵⠯⣽⠣⡂⣯⠺⠅⢷⠍⠂⠀⢄⠂⡻⠢⡲⡵⡬⡥⠢⠺⠶⠶⠰⠴⠸⠬⠢⡧⡲⡯⡵⠰⠬⠢⡰⡡⡵⡳⡥⡤⡲⡩⡯⡲⡩⡴⡹⠶⠵⡝⡽⡽⠈⠰⣍⠍⡘⡧⠐⢥⠐⠃⠈⠳⢶⣘⠹⠇⢸⠁⠮⠴⢆⠓⠗🛑 非表示
💣⠨⢵⠯⣽⠣⡂⣯⠺⠅⣁⠭⠂⠀⡴⠂⡻⠢⡲⡵⡬⡥⠢⠺⠸⡧⡲⡯⡵⠰⠬⠢⡰⡡⡵⡳⡥⡤⡲⡩⡯⡲⡩⡴⡹⠶⠵⠶⠶⠳⠰⠴⡝⡽⡽⠊⠰⠍⠈⠘⢐⡨⢁⡩⣅⡵⡡⢀⣋⢌⠋⠻⣧⢁⣔⡬⡰⣆⠻ ⢡⠹⣌⢸🛑 💣⠨⢵⠯⣽⠣⡂⣯⠺⠅⣁⠭⠂⠀⡴⠂⡻⠢⡲⡵⡬⡥⠢⠺⠸⡧⡲⡯⡵⠰⠬⠢⡰⡡⡵⡳⡥⡤⡲⡩⡯⡲⡩⡴⡹⠶⠵⠶⠶⠰⠴⠸⡝⡽⡽⠊⠰⠍⠈⠘⢐⡨⢁⡩⣅⡵⡡⢀⣋⢌⠋⠻⣧⢁⣔⡬⡰⣆⠻⢡⠹⣌⢸🛑 x個の領域にx個以上の爆弾があれば、全て爆弾。
💣⠨⢵⠯⣽⠣⡂⣯⠺⠅⢻⠭⠂⠀⡤⠂⡻⠢⡲⡵⡬⡥⠢⠺⡧⡲⡯⡵⠰⠬⠢⡰⡡⡵⡳⡥⡤⡲⡩⡯⡲⡩⡴⡹⠶⠶⠳⠰⠶⠵⠰⡝⡽⡽⠊⠰⢍⠉⢎⢙⣅⡺⢯⡂⡒⢇⠀⠮⠳⠮⣬⢜⠇⠄⢣⠅⠘⣯⡀ ⡓⢘⡱⠁🛑 分解シリーズ
もちろんそれらの非表示もほしい。
x+でバラすと、0+の領域がいっぱい作られることに気付いたので、x+1+でバラすとよさそう。
1マスでの!についてのbase case。
なんかこれうまく書けば1個になる予感もするけど、一旦はスルー。
!0ということは1個以上 というルールが他でもほしくなるので更新。
!の数少ない消去
1マスに偶数個くることはない。
1マスで 0/3 みたいなのができるので消す。
1マスに0+と3-ができてるので定まっていないので、nマスで n+k-みたいになっていたら n- にする で良いか?
ダメでした。
これでいけるけど、こう書くと x/x+1 in x- → x, x/x+2 in x+1- → x, x/x+3 in x+2- → x+2- とかになって微妙だなー
一旦最小化をめざしていないからこれでよしとするが、なんか知恵としぼるとなんとかできそう?
x+2n in x+1- → x とかもつくれそう。
これはもっとまとめられそう。
以下同じシリーズがx+2nまで。
より確定しているルールがあるなら非表示にしていく。
若干非自明。
5マスに 4+2n が来てると4 など。
2領域でのルール
💣⠨⢵⠯⣽⠣⡂⣯⠺⠅⣄⡵⠂⠀⢤⠂⡻⠢⡲⡵⡬⡥⠢⠺⠱⠳⠱⠸⡧⡲⡯⡵⡰⡡⡵⡳⡥⡤⡲⡩⡯⡲⡩⡴⡹⠹⠷⠳⠷⠶⠬⠶⠶⠰⠴⡝⡽⡽⠌⠼⣍⡀⣡⡌⣒⣻⡎⠰⢑⢮⢺⣧⠃⡠⢄⣱⡼⡕⠀⣐⣔⣄⣔⣖⡁⡨⢸⠇⡍⠃⠐⠮🛑 領域の部分集合で爆弾の数が充足されていたら、それ以外の部分では爆弾は無い。
💣⠨⢵⠯⣽⠣⡂⣯⠺⠅⢿⠕⠂⠀⡴⠂⡻⠢⡲⡵⡬⡥⠢⠺⡧⡲⡯⡵⡰⡡⡵⡳⡥⡤⡲⡩⡯⡲⡩⡴⡹⠶⠶⠰⠴⠸⠬⠶⠶⠳⠰⠴⡝⡽⡽⠉⠼⡍⠂⣨⣳⣡⣫⢃⠂⡈⡣⡬⢡⡚⠀⣧⡛⡪⢜⠉⢚⠽⡏ ⡜🛑 これ多分、左の部分を開ける ではなくもう少しいいのある。
これだと開くところが1-になるので広いけど弱い。
こうだった。
💣⠨⢵⠯⣽⠣⡂⣯⠺⠅⣁⡝⠂⠀⠔⠃⡻⠢⡲⡵⡬⡥⠢⠺⠳⠱⠵⠸⠴⠬⠢⡧⡲⡯⡵⠰⠬⠢⡰⡡⡵⡳⡥⡤⡲⡩⡯⡲⡩⡴⡹⠹⠷⠱⠲⠰⠬⠶⠶⠳⠰⠴⡝⡽⡽⠈⠼⠍⠂⣪⣳⣧⡵⠳⠋⠠⢖⢱⣍ ⡁⢷⡻⢔⢬⢇⡦⣕⠓⠗🛑 これがあると、xマス以下しかないのにx-が出るので非表示にする(2マスなのに3-とか、1マスで1-とか)。
全体でn+m個のある集合の部分集合にn個あったら、補集合はm個。
これももうすこし詰められるはず……と思っていじってたら ↑ と一致してしまった。
このルールでは消えるところが↑だけで消えない と思ったら、↑は n- は提供するけど n+ は提供してくれないからか。
こういうのがほしいので、つまり……
これでいいか?
0+ の領域がいっぱいできてしまうので消す。
H44.1
2マスで!1ということは、0/2だが、0だと2を充足できない。
2マスで!1であることに強く依存したルールだから、これ以上よくはならないか?
2マスで 2n の時、2マスで 0/2 の時も同じ状況になる。
なんかもっとよくできそう。
2マスで!1ってことは偶数だから、2nと2nのルールに落とせる?
これ単体では何も解いてくれない。2nと2nのルールをつくったほうがいい?
1/3 → 1+2n
3マスで1!ってことは偶数……じゃないのか。
ほぼ同じような気はするが……。
!の書き換えがむずかしい。
1-をa, 2+をb、0をc、1をdとしてa-(b-d) = c?つまりa-b+d-c=0, a+d=b+c?
2+から共通部分でない1に入るとしても1+残っているので、共通部分が充足されてしまうので1-の補集合は0。
つまり、n+から共通部分でないmを引いたn-m+だけはまんなかにあり、それがk-を越えていたら左は0。
もう少し緩めると、左の部分はk-(n-m)-。
これを陽に書くとこうなる。
これを入れると2+と1+みたいなのがいっぱい出るようになったので以下で消す。
偶奇に関するルール。
0/3には2個も1個も入らないからなんだけどなんかもうちょいうまくかける気がする。
こうはできたが……
これと類似ルールな気はする
これも偶奇に関するルールだからもうちょいいけるのかも。
うーんつらい
1/4 1 → 2 ? 0のとき2が消せるルール
もし1でないなら4ということになるが、残り2マスに残り3は置けないので1。それは1の方にあるので2の領域は消せるということだが、
一旦ここまで。1/3 1 → 1 ? 0 で左が消せる とかも言えるか。
0/3 1/2 → 1 ? 0 で左がBとかも若干似ていそう。
同じじゃないですか!!!!!!!!!
+が覆われている時の非表示(4の中に3+があるのは知っている)。
0/3 1 → 2 ? 0 で左B
0/3ですくなくとも1あるので3ということだが、そしたら2残っていれば2はB。
つまり 0/3 1 → ? ? 0で左2ということ。
x+y/x+y+3 y+1 → ? ? 0で左x+2……かと思えばそうとは言えない。
y+1 != x+yとは言えないから。
今日のところはこれぐらいにしといたろ……。
2n 3 → 0 2 2で中B。2個とも空きなら足りないから2個入るってことだと思う。
3領域でのルール
最初に出あうやつ(H11.148)。
これ多分もうちょっと一般に書ける。
これは含んでいそう。もう1個の1も消せるのか?
💣⠨⢵⠯⣽⠣⡂⣯⠺⠅⣈⢥⠂⠀⡄⠃⡻⠢⡲⡵⡬⡥⠢⠺⠱⠳⠱⠵⠸⠴⠬⠢⡧⡲⡯⡵⠰⠬⠢⡰⡡⡵⡳⡥⡤⡲⡩⡯⡲⡩⡴⡹⠳⠱⠳⠲⠹⠹⠶⠸⠶⠵⠶⠵⠰⡝⡽⡽⠊⠰⠍⢉⢗⢙⣅⢳⣡⢠⢫ ⢽⢘⡎⠛⡌⢀⡞⣆⢊⠝⡔⡀⢢⡁⠇⠚⡣⢘⠋🛑 これではクリアできない。
💣⠨⢵⠯⣽⠣⡂⣯⠺⠅⣋⢽⠂⠀⡂⡃⠌⠑⢠⡯⠨⢒⡹⢂⡯⣳⢿⢷⣗⣞⡎⠼⢪⣢⠐⣷⢦⠞⣄⡴⢟⣡⢠⣛⡃⣱⠺⣝⡃⣷⢋⡉⢪⠢⢃⢦⣰⡛⠨⣢⠈⣄⣬⣑⡧⠛⠌⠼⡍⠒⠲⠳⢇⡭⣃⠷⣒⠇⡮⢘⠈⠀⡪⢿⠀⣈⠵⢖⠜⠴⡋⣼⢾⢊⢆⢍⣐⠴⠀⣡⠂🛑 k=1の時これだとできる領域がy+1-じゃん!
こうだった。シンプルな論理ミス。
💣⠨⢵⠯⣽⠣⡂⣯⠺⠅⣋⣅⠂⠀⠴⠃⡻⠢⡲⡵⡬⡥⠢⠺⠳⠹⠳⠷⠲⡧⡲⡯⡵⠰⠬⠢⡰⡡⡵⡳⡥⡤⡲⡩⡯⡲⡩⡴⡹⠴⠷⠳⠴⠰⠱⠬⠴⠵⠹⠰⠰⠶⠵⠰⡝⡽⡽⠌⠼⡍⠒⠲⠳⢇⠵⣄⣘⣑⠇⡮⢘⠈⠀⡪⢿⠀⣈⠵⢖⠜⠴⡋⣼⢾⢊⢆⢍⣐⠴⠀⣡⠂🛑 +が入ったバージョン。なんかもうちょいうまくできないものか。
こうできた。
H21.85
一旦はこれぐらいで。
xでx個つかっていて、共通部分でそれぞれ1個づつで入っているからもう消費しきっている(共通部分の個数によるもの)。
2+と2+が2点でまじわってて、片方が1-でおさえられている時、もう1点はB というルールの発展。
非自明なつながり
H21.195 チュートリアルにもある盤面
もちろん全部?にできる。
多分これが一般化したもの。
これとは別っぽい……?
なんで??
左上の1に入らなければ!2のところに全部入ることになるけど、そうはなれない。
これ!2のところがn個以下で入りきらないパターンのほうが普通か?
なんもわからんけど頻出するやつをできる限り圧縮した。
y+1-の肩の1とx+k+1-の肩の1は違うものらしい。
似てる気はするけどわからん……。
これも似ているが違う。→に書き換えられた。2はどこから……。
- - + +と1つめの- - - +とは違うから別か? 1-3と2-2のシリーズがありそう?
地獄
#マインスイーパ #ゲーム