見出し画像

第1回 駒の複合とLeaper

あるフェアリー詰将棋を詰将棋メーカーに投稿しようと思ったのですが、解説が大変なことに気が付いたので、noteで準備をします。

一体第何回まで必要なのか分かりませんが始めます。


フェアリー駒には、複数の駒の利きを合わせた駒があります。

例1.1

WFP作品展登場ルール一覧より

今後の議論のために、駒の利きを足し合わせる「複合」を定義します。
そのために、まずは駒の利きを数学の言葉で表現することを考えます。

ある駒の利きを、その駒の位置を原点とする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}}$$である。

○:(1,0)-Leaper
●:(1,1)-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を追加

この記事が気に入ったらサポートをしてみませんか?