Bonanzaの対称性すげー!

左右反転した盤でコンピュータと将棋を指してみたいと思った。
振り飛車の感覚で相居飛車をやったら自分はどんな陣形を目指すのか。
逆の相振り飛車や対抗型も気になる。
将棋というゲームは左右を入れ換えても本質的には何も変わらないのだが、
だからこそ、感覚が変わることが面白い。
しかし、左右反転した定跡などコンピュータ将棋に入っているわけがない。
そこで、b2uに左右反転機能を付けることにした。
そして今日になって完成したのだが、実はこの機能、全く不要だった。
ボナンザの定跡ファイル構造 備忘録 | と金倶楽部
Bonanzaの定跡データベースはどういう構造になっているのか? - Bonanzaソース完全解析ブログ
http://d.hatena.ne.jp/mkomiya/20080205/1202170333
ということで、Bonanzaは元々、盤を左右反転させても定跡が使えた。
左右反転機能をオフにしても平然と定跡で指してくるから何事かと思ったよ。
上の記事たちには目を通してたと思うけど、そういう目で読んでないんだな。
Bonanzaの定跡は上下反転でも使えるが、後手が千日手を歓迎する前提で作ってある定跡を、
先手で使うというのはどうなんだろう。
さて、せっかく左右反転機能を作ったので、通常の読みを比較してみた。
もっとも、符号が反転していてもいいなら、
左右反転した局面を通常のBonanzaに食わせればこの比較はできるけど。

[427]  ▲8七歩打△7六飛(86)▲7七桂(89)△4四銀(33)▲同銀(55)△同歩(43)▲2二角打△3三桂(21)▲5一銀打△4五角打▲6七金(78)△同角成(45)▲6二銀成(51)△同銀(73)▲6七飛(69)
[397]  ▲6四歩(65)△同歩(63)▲7七桂(89)△4五角打▲5六角打△同角(45)▲同歩(57)△5二金(42)▲8七歩打△7六飛(86)▲6四銀(55)△6三歩打▲7三銀成(64)△同桂(81)
[457]  ▲6四歩(65)△同歩(63)▲7七桂(89)△5二金(42)▲6四銀(55)△同銀(73)▲8七歩打△6八歩打▲同飛(69)△6七歩打▲8六歩(87)△6八歩成(67)▲同金(78)
[460]  ▲6四歩(65)△同歩(63)▲7七桂(89)△4五角打▲5六歩(57)△同角(45)▲3六角打△7一玉(72)▲6七金(78)△3五歩(34)▲6三歩打△3六歩(35)▲6二歩成(63)△同銀(73)▲5六金(67)△8八飛成(86)▲3六歩(37)△7七龍(88)
[263]  ▲7七桂(89)△8九角打▲7九金(78)△4五角成(89)▲4六銀(55)△4四馬(45)▲7八金(79)△7六飛(86)▲6四歩(65)△同銀(73)
[433]  ▲7七桂(89)△5二金(42)▲6四歩(65)△同歩(63)▲8七歩打△7六飛(86)▲6四銀(55)△同銀(73)▲同飛(69)△6三歩打
[506]  ▲7七桂(89)△4五角打▲5六角打△同角(45)▲同歩(57)△3五歩(34)▲9六歩(97)△5二金(42)▲9五歩(96)△7六飛(86)
[488]  ▲7七桂(89)△4五角打▲5六角打△同角(45)▲同歩(57)△3五歩(34)▲5九飛(69)△7六飛(86)
[474]  ▲7七桂(89)△4五角打▲5六角打△同角(45)▲同歩(57)△5七角打▲4六銀(55)
[515]  ▲7七桂(89)△5二金(42)▲9六歩(97)△3五歩(34)▲9五歩(96)△7六飛(86)
[522]  ▲7七桂(89)△5二金(42)▲9六歩(97)△3五歩(34)
[496]  ▲8七歩打△7六飛(86)▲7七桂(89)△4四銀(33)▲6七金(78)△7八角打▲7六金(67)△6九角成(78)▲4四銀(55)△同歩(43)▲2二飛打△8七馬(69)▲4二飛成(22)△7六馬(87)
[478]  ▲8七歩打△7六飛(86)▲7七桂(89)△4四銀(33)▲6七金(78)△5五銀(44)▲7六金(67)△7八角打▲6八飛(69)△8七角成(78)▲2二角打△4四歩(43)
[410]  ▲8七歩打△7六飛(86)▲7七桂(89)△4四銀(33)▲同銀(55)△同歩(43)▲5一銀打△5二金(42)▲6二銀成(51)△同金(52)▲4三角打△6六銀打▲6四歩(65)△7七銀成(66)▲6三歩成(64)△同金(62)▲5二角成(43)
[405]  ▲8七歩打△7六飛(86)▲7七桂(89)△4四銀(33)▲同銀(55)△同歩(43)▲5一銀打△5二金(42)▲6二銀成(51)△同金(52)▲4三角打△6六銀打
[363]  ▲7七桂(89)△8九角打▲7九飛(69)△7八角成(89)▲同飛(79)△8九飛成(86)▲9八飛(78)△5二金(42)▲1五歩(16)△3五歩(34)
[433]  ▲7七桂(89)△5二金(42)▲6四歩(65)△同歩(63)▲8七歩打△7六飛(86)▲6四銀(55)△同銀(73)▲同飛(69)△6三歩打
[506]  ▲7七桂(89)△4五角打▲5六角打△同角(45)▲同歩(57)△3五歩(34)▲9六歩(97)△5二金(42)▲9五歩(96)△7六飛(86)
[488]  ▲7七桂(89)△4五角打▲5六角打△同角(45)▲同歩(57)△3五歩(34)▲5九飛(69)△7六飛(86)
[474]  ▲7七桂(89)△4五角打▲5六角打△同角(45)▲同歩(57)△5七角打▲4六銀(55)
[515]  ▲7七桂(89)△5二金(42)▲9六歩(97)△3五歩(34)▲9五歩(96)△7六飛(86)
[522]  ▲7七桂(89)△5二金(42)▲9六歩(97)△3五歩(34)

上が素のBonanza Feliz 0.0による読み。
下が左右反転した局面を読ませたもの(を左右反転して表示させたもの)。
最初は読み筋も評価値もピッタリ同じに表示されているが、
途中からは少し違っている。
評価関数は左右対称だが、オーダリングは(実際上は)対称じゃないということか。
オーダリング上で区別されない手たちの選択に乱数を使って合議とかどう。
すいません。よくわかりません。