第33回世界コンピュータ将棋選手権

え~っと昨年は大騒ぎでしたね

bleu48.hatenablog.com

 

今年はネタバレがあるので情報をあまり出しておりませんでした。

#もちろんここでいうネタバレは準備が十分出来ておらず弱いことを大会前に公言してしまうことです。

 

まずは昨年の振り返りからですね。

上記記事通り選手権当時は単なるラッキーだと思っていました。

ただ,その後の電竜戦本戦やハードウェア統一戦,それに将棋倶楽部24での計測を経て結果的にはオーパーツレベルの評価関数が出来ていることが確認されました。

小さなことからコツコツと(二番絞り近況) - 48's diary

二番絞り@将棋倶楽部24の戦型分析 - 48's diary

二番絞りの計測の件(GX1080Ti編) - 48's diary

 

ただ,どこかで書いたかもしれませんが実のところ教師データ生成を自力で行い切れずに以下の書籍で紹介されているデータを一部利用しています。

 

今年の選手権に向けて同レベルの教師データを自力生成を試みたのが今年の大博打でした。逆に言うと最高精度の評価関数を更に更新するにはこれくらいしか方法が無いという感じです。

結論から言いますと教師データはRTX4090を投入しながら一年かかって1億局面程度しか生成できませんでした。あまり言い訳になりませんがハードウェア統一戦の期間に電力制限的に棋譜生成を止めたのが厳しい結果を生みました。冬場の暖房としてはよかったんですが・・・

電竜戦マイナビニュース杯ハードウェア統一戦開幕 - 48's diary

第1回マイナビニュース杯電竜戦ハードウェア統一戦の戦型分析 - 48's diary

 

過去の経験から20ブロックの二番絞りの頃でも1億局面では不足気味で過学習しやすい印象でしたので現状の40ブロックモデルではまずダメだろうと考えておりました。残り一ヶ月切って生成を打ち切り,学習に入りました。

何せモデルが大きいもので学習に入っても一週間ほどかかります。2憶局面あったら二週間ってのは今までの例です。

それで生成したものが今年のモデルです。

簡単な計測で,手元のローカル対局では五分五分(というか全部先手勝ち)

気持ちは新モデルの方を贔屓したいかなぁということで採用しました。

この辺は例年アピール文提出後に出た結果です。

 

結果は二次予選6勝3敗で7位。

終戦まで通過確定しなかったのは久しぶりです。(逆に考えると今まで全部決勝まで進出しているんですね。相当運が良い。)

決勝は開始前から嫌な予感しかしません。

 

今年のモデルを生成後あまり後手で勝った記憶がありません。

結局のところ決勝勢の中では負け越しですね。

昨年は定跡無しであわや優勝と解説陣にも褒めちぎられたのですが,負けると定跡を用意していない点を敗因とされるのが結構面白いところです。

持ち時間が残っていれば勝てた将棋があったのではないかとのことですね。

同じレベルの計算機を使えないので時間をかけて事後ゆっくり確認します。

 

(かきかけ)

---

疲労(というか寝不足?)がたたって書きかけで連休明けまで放置してしまいました。

選手権決勝の結果は3勝4敗で5位でした。

よく言えば先手番は全て勝った。悪く言えば後手番は全て負けた。ってことです。

教師データが不足すると過学習気味になるのですが,先手番はやや過学習気味の方が強いくらいのイメージでしたので想定内ですね。後手番は心が折れるのが早い感じという表現くらいしかありません。対戦相手からは結構粘られたとコメント頂いたのですが,おそらく昨年版の方が粘り強いような気もします。(この辺検討方法すら思いつかない)

 

今年の選手権ざっくり総括すると昨年の上位に他の何チームかが追い付いてきたという感じでしょうか。うちはたぶんさほど強くなっていません。(弱い可能性もある)

序盤の定跡を整備していない分,終盤で時間不足に陥りそのために探索が浅く読み抜けるとうのがうちの負けパターンで,白ビールのコンセプトを思い出せばカモですね。

皆さん白ビールの定跡+Multi Ponderを高く評価して下さって類似テクニックを多く取り入れられているようです。二番絞りに関しては評価関数の実験ですので対戦時はあのような対応にしておりますが今後「勝ちに行く」なら別の対応があるかもしれません。

 

そもそも計算機リソースが不足している時点で今年の5位はよくやったと言う方でしょうか。え,祝勝会ですって?お疲れ様会名義くらいにして頂ければ幸いです。

(仮綴)

---

追記:

AobaZeroチームの山下さんによると持ち時間半分くらい損しているとのこと

http://www.yss-aya.com/bbs/patio.cgi?read=55&ukey=0