わたし、木になります!(*´∀`*)教えて、ホータロー
問題:5五将棋の最大分岐数(ある局面で可能な指し手の数の最大値)を求めよ。(値が推測できてもそれが最大値である証明を書くのが意外と面倒かも)
— math26さん (@math26) 11月 28, 2012
分岐数は合法手の数と考えられるので,
ようは5五将棋で合法手は最大何手なのかっていう問題だと思います.
まずはホワイトボードを使って考えてみました.
すると,以下のことに気が付きました
- 相手は玉だけが一番都合がよさそう・・・
- 持ち駒はそれぞれ1種類ずつ持っていたほうがいい
- 駒を盤上に置くと打つ場所が1つ減るので,持ち駒は最大5種類であるから全体として最大で5つの合法手がなくなる
こんなことに注意しながら考えると次のような局面が得られました.
自分,打ち歩詰めに関しての知識が乏しいのですが,たぶんこの局面の分岐数は138です.(案外ある・・・
次に,この問題は玉2枚は必ず盤面上に配置し,また金銀(または成銀)飛車(または龍)角(または馬)をそれぞれ1枚ずつ盤面または駒台に配置し,残りの駒は自分側の駒台に配置した場合に,合法手の数が最大になる局面を見つけるのと同じなんじゃないかと考えました.ただし,当然その局面は相手の玉に対して利きがないものを対象とします.以下そう考えた理由が続きます・・・。
次に,この問題は玉2枚は必ず盤面上に配置し,また金銀(または成銀)飛車(または龍)角(または馬)をそれぞれ1枚ずつ盤面または駒台に配置し,残りの駒は自分側の駒台に配置した場合に,合法手の数が最大になる局面を見つけるのと同じなんじゃないかと考えました.ただし,当然その局面は相手の玉に対して利きがないものを対象とします.以下そう考えた理由が続きます・・・。
駒台には駒は1種類ずつあったほうが良い理由としては,盤上において1つの駒の合法手の最大数は利きに駒がない状態の3三馬や4三龍などで得られる12です.一方,打つ駒以外が盤面にすべて配置されていたとしても打つ合法手はおよそ14あります.このことから,駒は1種類ずつ自分の駒台にあったほうが良いと考えられます.(こう単純じゃないんかな・・・ orz)
次に歩は盤面に配置しない方がいいと考えました.盤上に配置してしまうと駒を打つ場所が1つ減ってしまいます.したがって,持ち駒の種類の数分たぶん合法手は減ります.一方,歩に関する合法手の数は最大で2です.よって,持ち駒の種類が3以上であれば歩を配置することによって最大分岐数は増加しないと考えられます.また,先に述べたように持ち駒の種類の数が多いほど種類が少ないときの場合と比べて合法手の数は減ることはないと考えられます.このことから,歩は駒台の上にあったほうがよいと考えられます.
相手は玉1枚のみが最大分岐する局面が得られやすいと考えました.これは相手の玉を配置しないで(もはや将棋じゃないけど)考えたときと配置した場合との最大分岐数が同じであれば簡単に示せそうです.なぜなら,そのような状況で相手の玉以外の駒を配置した場合に最大分岐数が増加することはおそらくないと考えられるからです.
以上の考え(仮定?)をもとにプログラムを作成し,合法手が最大となる局面を求めてみました.結果として以下の
今回,歩は自分の駒台に固定しました.
相手の玉を配置しない場合でも得られた最大分岐数は138でした.
また,歩(またはと)を盤面(または駒台)に配置する条件を追加した場合も同様に最大分岐数は138で,そのとき敵玉を配置しない場合でも最大分岐数は138でした.以下の図は上記で示した局面以外に得られた局面で,上の図の金がとに変わっています.これから,各駒をそれぞれ1枚ずつ任意の盤面のマスに配置(または駒台に配置)した場合における最大分岐数は138であることがわかりました.また各種類の駒を2つ盤面に配置した場合,最大分岐数は増加しないことから,たぶん5五将棋の最大分岐数は138なのではないかと思います.
*10局面の内8局面は自玉が相手の敵玉の利きにつっこむものが含まれていました.これは反則手だそうです.将棋って奥が深い(・∀・;) math26さんにご指摘頂きました.ありがとうございます.また,金はとに代えてもいいと助言を頂きました.(2012年12月4日修正)
0 件のコメント:
コメントを投稿