第1回 駒の複合とLeaper
あるフェアリー詰将棋を詰将棋メーカーに投稿しようと思ったのですが、解説が大変なことに気が付いたので、noteで準備をします。
一体第何回まで必要なのか分かりませんが始めます。
フェアリー駒には、複数の駒の利きを合わせた駒があります。
例1.1
今後の議論のために、駒の利きを足し合わせる「複合」を定義します。
そのために、まずは駒の利きを数学の言葉で表現することを考えます。
ある駒の利きを、その駒の位置を原点とするXY平面の座標(整数の格子点)の集合で表すことにします。
例1.2
$$
\begin{align*}
\mathrm{歩} &= \{ (0,1) \} \\
\mathrm{桂} &= \{ (1,2), (-1,2) \} \\
\mathrm{金} &= \{ (1,1), (1,0), (0,1), (0,-1), (-1,1), (-1,0) \} \\
\mathrm{香} &= \{ (0,1), (0,2), (0,3), \cdots \} \\
&=\{ (0,a) \mid a \in\mathbb{N} \}
\end{align*}
$$
例1.2のように、駒$${A}$$の利きのことを単に$${A}$$と表すことにします。つまり、$${\mathbb{Z}\times\mathbb{Z}}$$の部分集合のことを「駒」と呼んでいます。
実は、この定義では表現しきれていない駒があります(Hopperなど)。今回の目的には影響しないのでこのまま先に進みます。
また、特に断りのない限り、駒の利きを考えるときは無限に大きい盤上に駒があるとします。
駒の複合(利きの足し合わせ)は、自然に和集合で定義できます。
定義1.3(駒の複合)
駒$${A}$$と駒$${B}$$の複合駒$${A+B}$$を、$${A+B=A\cup B}$$で定める。
例1.4
$${R}$$をRook、$${S}$$をKnightとすると、
$${R=\{ (0,a) \mid a \in\mathbb{Z}, a\neq 0 \} \cup \{ (a,0) \mid a \in\mathbb{Z}, a\neq 0 \} }$$
$${S=\{ (1,2), (-1,2), (1,-2), (-1,-2), }$$
$${(2,1), (-2,1), (2,-1), (-2,-1) \} }$$
と書ける。RookとKnightの複合であるEmpress(Em)は、$${Em=R+S}$$と表せる。
補足1.5
チェス・プロブレムの世界では、Knightのことを「S」で表す。KはKingを意味するし、NはNightriderという駒を意味するので、ドイツ語の「Springer」の頭文字を取っている。
最後に、Knightを拡張した$${(a,b)\textrm{-Leaper}}$$を定義してこの記事を終えます。
定義1.6(a,b-Leaper)
$${(a,b)\textrm{-Leaper}}$$を下記で定める。
$$
\begin{align*}
&(a,b)\textrm{-Leaper} \\
=&\{(\pm a, \pm b), (\pm b, \pm a)\} \;\; \text{\small{(複号任意)}} \\
=&\{ (a,b), (-a,b), (a,-b), (-a,-b), (b,a), (-b,a), (b,-a), (-b,-a) \}
\end{align*}
$$
つまり、$${(a,b)\textrm{-Leaper}}$$は$${a,b}$$の順番と正負のすべての組合せを集めた集合です。$${a\neq0}$$かつ$${b\neq0}$$かつ$${a\neq b}$$のとき、$${a}$$対$${b}$$の八方桂を意味します。
また、定義から下記が成り立ちます。
$$
\begin{align*}
(a,b)\textrm{-Leaper} &= (-a,b)\textrm{-Leaper} \\
&= (a,-b)\textrm{-Leaper} \\
&= (-a,-b)\textrm{-Leaper} \\
&= (b,a)\textrm{-Leaper} \\
&= \cdots
\end{align*}
$$
例1.7
Knight(S)は$${(1,2)\textrm{-Leaper}}$$である。
例1.8
$${(1,3)\textrm{-Leaper}}$$は、Camel(駱)と呼ばれる。
例1.9
King(K)は$${(1,0)\textrm{-Leaper} + (1,1)\textrm{-Leaper}}$$である。
次回はこちら。
<更新履歴>
2021/12/26
例1.4の$${R}$$に$${(0,0)}$$が含まれていたので修正(antillesさんご指摘)
例1.2の後の文言を修正
2021/12/27
駒の定義に「空でない」を追加
2021/12/30
駒の定義を空集合もOKに変更
2022/1/29
Leaperの説明を削除
例1.8を追加
この記事が気に入ったらサポートをしてみませんか?