Bombeとかいうゲームについての手記 その22

このnoteは私が淡々と頭の中を整理するために書くnoteです。
過度な期待はしないでください。

今回検討する盤面はこちら。

この3ルールにおいては1/2は0個以上あふれるという意味でこれまでに検討してきたルールと同じような意味を持つ。ここからなにか推測できないだろうか。
下段について、爆弾のパターンは0,12のみ。
1個のとき、下段左に入る場合、上段真ん中は0/1,上段左も0/1。
下段右に入る場合、上段右は0個、上段真ん中は0/1。
0個のとき、上段右が0/1。上段真ん中は0/1/2。
2個のとき、上段左は0/1。上段真ん中は0/1。

うーん……。

こちらならどうか。

aに爆弾が2個入らないことが確定すれば、bは1個に確定する。
aに爆弾が2個入らないというのは、つまり2マス中どちらかは爆弾ではないということである。

逆のパターンはどうか。

こちらはこの状態でbが1+であることがわかっており、cが1であれば内訳が確定する。

下段に爆弾が入らない場合、上段はすべて爆弾である。
下段真ん中に爆弾が入る場合、上段のマスは確定しない。
下段右に爆弾が入る場合、上段真ん中に爆弾が1個入り、上段左に爆弾が1個はいる。
うーん……。

下段左に爆弾が入る場合、上段左は0/1、上段右は爆弾1個。
下段真ん中に爆弾が入る場合、上段左は0/1、上段右も0/1。
下段に爆弾が入らない場合、上段左は1/2、上段右も1/2。
うーん……。

Hintの与えられ方が不親切な気もする。(Bombeへの責任転嫁)
Hintをもらい直してみる。

おしい。非常に惜しい。でもHintを見る限り上段真ん中がおそらく0個なのだろう。そうなると、この3/4がおそらく1個あふれる形になればその通りになる。具体的には

こうなるはず。なので、この3/4を残りの情報からなんとかできるのだろう。残りの情報はすべて1/2であって、

先ほど検討したこの形である。

この形に直せば、いつもの1個溢れている形なので、下段左は1+であることが確定している。そのため、

上段の内訳はそれぞれ、
下段左が1個のとき、101,010,011。
下段左が2個のとき、001。
うーん……惜しいというかなんというか……。

こんなときこそ!2とか!1とかが欲しいんだが……。
いっそ!を作ってみようか。
!が作れる条件を考えてみると、一部の+や-に変換できる情報を逆変換できることが思いつく。例えば、

こういった事が考えられる。先に上記の例を説明すると、
!χであるとき、その範囲のマスがχちょうどであれば、当然そのマスの爆弾はχ個ではないので、必然的にχ-1個以下の爆弾であることが確定するということである。これは逆に言うと、

こういったことである。
χ個以下の範囲についてχ+1このマスが存在する場合、少なくともχ+1出ないことだけは明らかである。

また、1個だけ溢れ出すという考え方も!に繋げられる。1個だけ溢れ出すというのはつまり1+であるが、これは同時に!0でもある。

さてこうなってくると、!χに対してその次数を変化させる何らかの2範囲のルールが欲しくなる。

下げる方は既にあったので(どこかで既に検討した気がする)、問題は上げる方である。

例えばこれは成り立つが、これだけで足りるだろうか。

!自体はともかく盤面が解けていないのがなんとも……。
最後の情報が5つなので、どれか2つ以上を統合して1つのルールにしないと最低でも解けない。やたら出てくる1/2と0/1(1-)の比較でもしてみることにする。

この内共通するものは、以下の通り。

101もしくは010の場合に1/2,0/1は等価である。そりゃそうか。どっちも1を共通に持つのだから、1のときはそりゃあ等価だよなあ……。

この盤面、パスします。一旦。多分1/2をなんとかうまく他の情報に適用できたりすれば解けるか、もっと簡単な盤面になる気がする……。

他の盤面検討してみます。

できそう。(期待感)

この時点で2通りしかありません。やったぜ。

上記の場合に、4は一つあふれる系なので、さっさと文字にしておきます。

?は1+


よってこのパターンのみ。

22の場合も考えてみる。

2でも同様に1つ溢れている場合はcに1以上が確定しており、aが1マスであることを鑑みれば同様に成り立つ。

先ほど考察した1つあふれる場合=!0を使用してみる。
最終的には下記のようになった。

しかしこの盤面は解かれなかった。3+と3-は存在しているであろうが……

さっぱり3+と3-が出てこない。ルールの適用優先順位のせいだろうか。

上から順に適用されるようでさっぱり下まで適用されない。まあ適当なルールがあるのも問題かもしれないが……。いっそロボット実行に任せて、1回くらいはregion数をinfiniteにして実行すべきかもしれない。一晩くらいかければ終わるか……?

解けてないけど解けたことにします。本記事はこれにて終了。

いいなと思ったら応援しよう!