合法なラベル数の計算

 前回、検証データにおいて1回でも出現する出現するラベル数を記録したところ、1411種類だとわかった。

 ネットワークの出力の都合上、2187クラスとしてクラス分類を行っているが、その中には将棋の指し手としてあり得ないものもある。

 簡単に計算したところ、これが間違っているという指摘を山下さんからいただいたため、本記事でできるだけ慎重に考えてみる。

分類

 将棋の指し手としてあり得ないものは、以下の4種類として分類できると思われる。

  • 打つ手として不可能
  • 移動方向として不可能
  • 成りとして不可能
  • 桂馬の不成として不可能

 以下一つずつ数を数えていく。

打つ手として不可能

 3分類の中でこれが最も数えやすいものであり、最奥段に歩、香車、桂馬、および二段目に桂馬が打てないため、以下のようになる。

f:id:tokumini:20210919151502p:plain

移動方向として不可能

 たとえば1一の地点に右下からやってくることはできないなどの不可能性がある。

 移動方向としては上下左右斜めの8方向 + 桂馬の2方向からあることに注意して計算する。

 一番移動元の候補が少ないのが1九、9九であり、1九では上、左上、左の3方向からしか来る可能性が無いので7通りが不可能である。

 またこれら移動のラベルは成り・不成によらず不可能であるため、合計の2倍が不可能な手の数になる。(冒頭のツイートではこれも失念していた)

 2021/09/19 17:22追記 八段目へ桂馬で移動するようなものをカウントし忘れていたので追加。

f:id:tokumini:20210919170646p:plain

成りとして不可能

 指摘いただいた成りとしてあり得ない手がここに当たる。移動不可能なものは上で数えたので、移動自体は可能であるが、成りながら移動することが不可能であるもののみを数えることに注意する。

 また上方向からやってくる行動は、移動幅1マスとは限定していないため、飛車を自陣に引きながら成るという手が可能であることに注意する。斜め方向についても角があるため、引きながら成る手が成立しうる。

 正直やや複雑な条件になっているので正しく数えられている自信はないが、おそらく以下のような感じになる。

 2021/09/19 17:22追記 4九への左上からの引き成り、6九への右上からの引き成りが不可能であることをカウントし忘れていたので追加。

f:id:tokumini:20210919170732p:plain

桂馬の不成として不可能

 2021/09/19 16:20追記

 桂馬で奥の二段に移動する手については不成が非合法であることにも気づいた。

f:id:tokumini:20210919161038p:plain

まとめ

 2187ラベルのうち、あり得ないラベルは

  • 打つ手として不可能 : 36通り
  • 移動方向として不可能 : 308通り
  • 成りとして不可能 : 315通り
  • 桂馬の不成として不可能 : 32通り

であるため、あり得るラベルは1496通りである。dlshogiとの調査とも一致しているようなのでおそらく合っているのではないか。

 前回の記事ではfloodgate2015年のレート3400を超える対局について集計したが、やや緩和してレート3200を超える対局について集計してデータ数を増やしたところ、1回でも出現するラベルの数は1482通りとなった。あり得るのに出現していない手が14通りある。それらは

  • ▲6八角成(左下方向への移動)
  • ▲8九角成(左下方向への移動)
  • ▲9九角成(左下方向への移動)
  • ▲9八角成(左下方向への移動)
  • ▲7九角成(左下方向への移動)
  • ▲5七角成(右下方向への移動)
  • ▲4八角成(右下方向への移動)
  • ▲3九角成(右下方向への移動)
  • ▲1九角成(右下方向への移動)
  • ▲2三飛成(左方向への移動)
  • ▲1九飛成(下方向への移動)
  • ▲9九飛成(下方向への移動)
  • ▲4九飛成(下方向への移動)
  • ▲3九飛成(下方向への移動)

であった。角や飛車を自陣の奥まで引きつけながら成る手の一部が出てきていないようだった。