Hatena::ブログ(Diary)

やねうらお−俺のやねうら王がこんなに弱いわけがない。 (第2期) このページをアンテナに追加 RSSフィード

電王戦出場記念! 書籍化されたで! 監修したで!(`ω´) 絶版なってしもた 絶版プレミア価格 記事書いたで!
解析魔法少女美咲ちゃん マジカル・オープン!

YaneuLabs / やねうら王公式 / やねうらおにメール / twitter / プロフィール

2014-04-06 電王戦 第四局 ツツカナ戦について思うこと

[] 電王戦 第四局 ツツカナ戦について思うこと  電王戦 第四局 ツツカナ戦について思うことを含むブックマーク  電王戦 第四局 ツツカナ戦について思うことのブックマークコメント


第四局は、将棋の内容的にも非常に素晴らしい戦いだった。両者の力が存分に発揮された白熱した戦いだった。矢倉の達人、森下卓先生矢倉で勝つ。棋譜だけ見ればツツカナ側が森下先生ではないかと思ってしまうほどだ。


森下先生は事前対局はそれほどされていなかったようなのだが、ツツカナ比較的事前研究されると弱点が見つかりやすいのではないかと私は思う。ちょっと、私の考えの道筋だけ書いておく。


今回のような貸し出しアリのルール場合ファミコンゲーム攻略のようにしてプロ棋士側が勝率を最大化しようと思ったときに、コンピューター同士対戦させるという方策がまず考えられる。どうせなら、本番と同じ持ち時間で対戦相手のソフトを一番強いソフトと対戦させておくほうがなお良い。これを最初に言い出したのはプロ棋士西尾明六段だと思うので、ここではこれを西尾戦略と呼ぶことにする。


f:id:yaneurao:20140406221605p:image

https://twitter.com/nishio1979/status/447558853253529600


f:id:yaneurao:20140406221606p:image

https://twitter.com/nishio1979/status/447561125853290496


f:id:yaneurao:20140406221607p:image

https://twitter.com/nishio1979/status/447573579261943808


ところが、よく考えると、序盤でコンピューター側の指し手がバラけると研究対象局面が増えて損である。そこで、西尾戦略の前に、まずコンピューター側の定跡がどこまで入力されているのがその樹形図(初手からの定跡木)を作成したほうが効率が良い。


ソフトによってはある局面での定跡の指し手は1手しか入っていないことも多々あるし、今回のような貸し出しルールのもとでは、不利と結論の出ている局面まで進んでしまうことを開発者としては恐れるので、定跡を早めに打ち切っていることがある。だとすれば、先手側が人間であれば、樹形図を使えばソフト側の定跡を抜けた局面を数局面限定することは十分可能である


それらの局面研究対象として研究するほうがはるか効率が良い。そこで、それらの局面から強いソフトと本番の持ち時間で対戦させてみるという西尾戦略を採ることを考える。実際には西尾戦略樹形図作成を交互に繰り返しながら、研究対象局面の深さ(初手からの手数)をどんどん深くしていくと良い。


そうしたときに、ソフト側の指し手がバラけるソフトとバラけないソフトとがある。指し手がバラけるように調整しようと思うと、きつく乱数を入れないといけないので弱体化してしまう。ソフト人間よりはるかに棋力的に上回っているなら、R50〜R100ぐらい弱くなっても誤差かも知れないが、まだそういう状況でもない。局後学習は、弱体化させずにランダム性を入れるという意味では面白いアプローチだが、本当にこれで事前研究回避できるかは定かではないし、比較的実装が面倒なので私以外の開発者が進んでこれを導入するとはあまり思えない。


また、乱数調整をしていない場合、長い思考時間において指し手がどの程度バラけるのかという部分はあまり知られていない。一般的に言って思考時間が長いと、指し手は特定の指し手に収束する傾向がある。(例えば、終盤で羽生先生激指の指し手一致率が90%を超えることがある) これは、思考時間が長いと棋力が高い人の指し手に近づき、そして、棋力が高い人にとってはそんなに指し手の自由度がないということなのだろう。


やねうら王の場合、同じ思考時間(例えば1手1分ぐらいの長さ)であれば、5〜10手に1手ぐらいしか指し手が変化しない。たぶん他のソフトも似た状況だろう。それでもこのときの指し手のバラけかたはソフトによって個体差がある。それが評価関数の差なのか探索手法の差なのかはよくわからないが、さまざまな要因で個体差がある。もしかするとツツカナ比較的指し手がバラけにくい部類に属するのではないかと私は思う。


と言うのもやねうら王のほうは序盤で自ら局後学習で定跡を作っているので、他のソフトと対戦されると意図せず相手ソフトにとって定跡外しのような進行になる。そのときに相手の指し手がどの程度バラけるかという尺度で見たときに、ツツカナはどうも同じパターンにハマりやすい気がする。今年の2月下旬にやねうら王をfloodgateに流していたときツツカナと5回当たったのだがいずれも似た進行となり、5回とも勝たせてもらった。(だからこういう進行ばかりになるならfloodgateのレーティングを見てどっちが強いとか言ってもあまり意味のないことである。このへん、他の開発者にもいい加減わかってもらいたい。)


ツツカナが今回の電王戦版でどんな乱数調整がされているのか詳しくは知らないが、あまりきつい乱数を入れていないなら、もしかしたらまずいのではないかと私は思っていた。もちろん、西尾先生がおっしゃっているように人間側は「(そこまでやって)作戦勝ち或いは少し優勢な局面を作れるかなという程度」だと思うので、プロ側が事前に時間を大量に費やして、こういうのを狙ってやるほどの価値はないのかも知れない。


また、私が考える究極のアンチ将棋ソフト戦略は、

1. 研究対象局面限定する(初手から樹形図を書いて、研究対象局面を絞っていく)

2. 入玉狙いにする(まだソフト入玉は大変弱いので)

3. ソフトの評価値おかし局面に誘導する(棋譜から学習は実戦例が少ない局面が苦手)

という3つだが、これらを同時に満たすのが故米長邦雄先生が対ボンクラーズ戦で見せた後手6二玉なのである。あれこそがアンチ将棋ソフト戦略極北だった。米長先生戦略は、2年前にしていまよりさらに3年ぐらい先を行っていた。トータルで5年ぐらい先を行っていたことになる。


それと言うのも、米長邦雄先生将棋倶楽部24でのレーティングはおそらく(いまの将棋倶楽部24換算で)R2800前後米長先生引退されてから長かったのでトッププロ比較するとR300〜400程度の差はあったと思われる。一方、ボンクラーズのRは(米長先生と対局時のPC構成において)R3200前後だと思うので、10回やって2回勝てるかどうかぐらいの差があったのだろう。それくらいの差において勝率を最大化しようと思うと、もはやアンチ将棋ソフト戦略以外に他ないと米長先生は判断されたのだろう。


今回の電王戦では出場ソフトプロ棋士の棋力はそこまで大きく乖離していないので、プロ側も米長先生のような戦い方をすることもないのだろうが、もっと大差になってくるとそういう戦いが現れるのかも知れない。


さて、少し話を戻して、初手から樹形図についてもう少し考えてみる。


連珠では、初手が天元(中央の星)に打ち、2手目は天元から1目離れた場所、3手目は天元から2目以内の離れた場所に置かなければならない。このため、3手目までが対称形を除くと26通りあり、これらを珠型(しゅけい)と呼ぶ。


将棋でも、今回の電王戦のような貸し出しルールのもとで序盤に対して樹形図が得られている場合人間側は好きな(自分の得意な)珠型(開始局面)を選択することが出来る。


そこで、樹形図自動生成するソフトなんてのも作ろうと思えば作れるわけだ。対戦相手のソフトと、一番強いソフトとを自動対戦させて樹形図作成する。「この3つの局面のいずれかに進行する確率(80%,10%,10%)、この4つの局面のいずれかに進行する確率(60%,20%,10%,10%)で、前者と後者とどちらを選択するか」なんてのを人間が選び、一番自信のある進行で戦う。


まあ、「自信のある進行」とは言っても局面的にはほとんどの場合ソフト側によほどの穴がない限りは形勢的にはほぼ互角であるだろうから、そこから勝ちきるのは実力である。また、ソフト開発側としては、こういう形の事前研究で欠陥が露呈しないように対策しないといけない。お互いに苦労が絶えない。誰得な感じもする。

り 2014/04/06 22:38 対コンピュータ戦の人間側が取るべき戦略は
攻撃7/防御3くらいの攻撃に特化した差し回しでしょうね。

redboltzredboltz 2014/04/06 23:00 > 連珠では、初手が天元(中央の星)に打ち、
> 2手目は天元から1目離れた場所、
> 3手目は天元から2目離れた場所に置かなければならない。

連珠の3手目に関してですが、花月、雨月、松月、丘月、雲月、浦月、銀月、斜月は天元から1目離れたところかと思います。
http://ja.wikipedia.org/wiki/%E9%80%A3%E7%8F%A0

kanokekanoke 2014/04/06 23:17 電王戦では「一時の勝利よりも普遍的な棋力アップを考える開発者」と「長い伝統とプロスポーツとしての矜持をもつ棋士」が主役ですので、このように「ルール内で勝率の最大化を狙う」という方向にはなかなか進まない気がしますね。
開発者にとっても棋士にとっても、ルール攻略で電王戦に勝っても得るものが少なすぎますから。
どちらかというと、Ponanzaに勝てたら100万円企画の方がそれに近くなりそうな気がします。
100万円企画の方をもっと整備して、各自宅で再現性がとれるルールとより高い賞金提供があれば(プログラマ的には)盛り上がる気がするなー。(興行的には)いまいち盛り上がらないでしょうけど。

aa 2014/04/06 23:20 確かに今回の電王戦を観戦していても、事前研究はただ漫然とやればよいというものではないことが良く分かりますね。本番と同じ設定だと時間と体力が必要なので序・中盤だけとか、時間をより短く設定してとか…前者では終盤のソフトの粘りに対応不足だし、後者ではそもそも指し手の質が違うことになる…数千局を分析するのも容易ではない。

YSSは序・中盤に時間をかけなかったことと、おっしゃる指してのバラツキが少ないことにより、研究がしやすかった面があるかもしれないですね。

米長先生は先見性がありましたね。電王戦の興行も…

yaneuraoyaneurao 2014/04/06 23:39 ↑*3 「2目“以内”の離れた場所」と書こうとして“以内”が脱字してました。本文、修正しました。ご指摘感謝します。
↑*2 100万円企画は、ソフトが強すぎて電王戦が成立しないぐらいの時代が来たら、詰将棋解答選手権のようにプロも参加可能にしたものを見てみたいですね。
↑*1 米長先生の先見性はもっともっと評価されていいように思うんですけどね。

観戦者n号観戦者n号 2014/04/06 23:42 貢献の割に見返りが少ないみたいですね。棋士にとっても開発者にとっても。
個別の対局勝利賞金と、チーム戦勝利賞金を設ければ、少しは緩和されるのかな…。

abcabc 2014/04/06 23:47 局後学習有りのやねうら王と無しのやねうら王を延々と自己対戦させると勝率はどの程度開いていくと思われますか?

yaneuraoyaneurao 2014/04/06 23:58 ↑*1
20手目ぐらいまで局後学習させただけで短い持ち時間(1局5分設定)では自己対戦勝率は55〜60%ぐらいになりますね。40手目ぐらいまでやれば(変化も膨大なのですべての変化を網羅するのに何年もかかるかも知れませんが…)80%ぐらいいくのではないでしょうか。

トラックバック - http://d.hatena.ne.jp/yaneurao/20140406

人気blogランキング
1900 | 01 |
2004 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2005 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2006 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2012 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2013 | 01 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2014 | 01 | 02 | 03 | 04 |


Microsoft MVP
Microsoft MVP Visual C# 2006.07-2011.06