《スリザーリンク自動解答アルゴリズム》

局所的解法

局所的解法では、盤面にパターンを適用させて解答を導く。パターンは条件と結果の組で表される。盤面を調べ、条件に一致する箇所が見つかると、結果を適用させる。

数字条件による単純パターン

最も単純なパターンは、マスに「0」が書かれている場合である。この場合は、「0」のマスと隣接するマスの5つのマスが同じ側になる。

「1」のマスと、隣接するマスが反対側の場合は、残り3つの隣接するマスは「1」のマスと同じ側になる。
逆に、「1」のマスと、隣接する3つのマスが同じ側の場合は、残りの隣接するマスが反対側になる。しかし、このケースをパターンにする必要はない。隣接する3つのマスが同じ側の場合には、下記のパターンを適用すれば同様の結果を得ることができる。
「1」のマスに隣接する2つのマス同士が同じ側の場合、「1」のマス自体も同じ側になる。この場合は、残り2つの隣接するマスの片方だけが「1」のマスと反対側になるので、この2マスは互いに反対側になる。
「1」のマスに隣接する2つのマスが互いに反対側の場合、この2つのマスの片方が、「1」のマスの反対側になる。そのため、残り2つの隣接するマスは「1」のマスと同じ側になる。

「2」のマスと、隣接する2つのマスが同じ側の場合、残り2つのマスは反対側となる。逆に、隣接する2つのマスが反対側の場合、残り2つのマスは同じ側となる。このことから、「2」のマス自体がどちらの側か分からなくても、隣接する2つのマス同士が同じ側の場合は、残り2つのマスはそれとは反対側になることが言える。
「2」のマスと隣接する2つのマスが互いに反対側の場合、残り2つの隣接するマス同士が同じ側になると、「2」のマスと隣接するマスのうち反対側のマスが1つか3つとなり、条件に合致しない。つまり、この場合は、残り2つのマスが互いに反対側になると言える。

「3」のマスについては、「1」のマスの場合と同様のパターンが考えられる。数字の書かれたマス自体がどちらの側になるかを逆にすれば、「1」のマスのパターンはそのまま「3」のマスのパターンとなる。

頂点条件を利用したパターン

ある頂点の周りの4つのマスが、時計回りに、青紫・橙色・¬橙色・¬青紫と並んでいる場合、青紫と橙色が反対側なら頂点条件に反する。そのため、この場合は青紫と橙色が同じ側と分かる。同様に、青紫・橙色・青紫・¬青紫の順で並んでいる場合は、青紫と橙色が同じ側と分かる。

しかし、この解法は、頂点条件を利用した、より一般的な解法の特殊なケースに過ぎない。この一般的な解法について説明する。

あるマスに対して、上に隣接するマスと、左に隣接するマスのうち、少なくとも片方は反対側になる場合を、左上に接すると言うこととする。同様に、左下・右上・右下に接するという表現も使う。
接すると判断できるのは、対称のものを一つとすると、以下の4通りが考えられる。

頂点をはさんで対角の位置にある2つのマスが、互いに相手の方向へ接している場合、頂点の周りの残り2つのマスは互いに反対側になる。

この解法は、ナナメ 3 3 の定理と呼ばれる場合など、多くのケースに対応できる。

その他のパターン

上記で挙げた以外にも、決定できるケースが多く存在する。これらは、一つずつパターンとして登録する。



市岡 耕平