[過去ログ] 【オセロ,将棋】ボードゲーム【囲碁,War】 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
258
(1): 通りすがりの妖術僧 2012/07/27(金)16:18:03.62 ID:GFEdOn68(1) AAS
以下のような本もあるしサイトも結構ありますね。

アマゾンで取扱い
「コンピュータ将棋のアルゴリズム―最強アルゴリズムの探求とプログラミング-I・O-BOOKS-池-泰弘」
352: 310 2015/12/04(金)23:35:12.62 ID:DNSRUk3b(1) AAS
結局、確定石が評価関数の誤差の大きさと、収束性の悪さの原因だったみたいです。
前半から中盤はmobilityのウェイトが大きそうなので、とりあえず復活させてみました。
あと、スムージングは、あるステージで出現しなかったパターンが隣接ステージにある
可能性も考慮し、ウェイトがゼロのパターンを減らす目的もあるようです。

実際、200試行ちょっとでかなり誤差が減ったのですが、FFO#40で試すと途中の評価値
のバラツキというか、極端に0に近い局面が現れて、2σ以上の差異が簡単に出てしまい
ます。そこで、ちょっとだけスムージングを入れて、かつデバッグ段階ではウェイトゼロの
出現をアラームできるように改造しようかと思っています。

評価関数の重要性を痛感しています。しばらくは、ここで悩む事になるのかなぁ。
最低でも300試行するとなると3日かかる。
355: 310 2015/12/10(木)23:16:49.62 ID:lQAJMVKx(1) AAS
結局、評価関数は1000回試行までやってます。
β・1/Nでやってるけど、それだと収束が遅いので、100回試行ごとにβを倍々に。
1000試行目で発散するステージが出たので、βを下げて最後の100試行を実行中。

その間、反復深化などで使えるように、置換表を改造。前回評価範囲をmoveorderで
再利用します。いちいち消しているとメモリ解放で時間がかかるし、全データを入れたまま
用途をキーで区別すると、使用時に選択する事になりオーバーヘッドが気になるので、
一番新しい評価値をひたすら上書きし、置換表として使用する時のみ、今回探索か
区別するようにしました。moveorderで若干割り切った作りです。

同時に中盤探索(MPCなし、反復深化)をちゃんと作ってみました。MPC計算で、結構深い
深さまで探索する予定なので、反復深化が上手く機能するようなMPC計算ロジックを考え
ようと思っています。

それができたらiterative wideningのテストをしてみようと思います。
397: 310 2016/01/30(土)20:51:37.62 ID:yCKBToEa(1) AAS
囲碁がすごい事になってますね。オセロで一通り勉強したら小さい盤の囲碁をやって
みようと思っていたので、モチベーション低下中。とはいえ、ああいうのをオセロに応用
しようとしたら、あそこまでマシンパワーいらないんじゃないかとか・・・。

ここのところ、もっぱらSTLやPPLの機能を綺麗に使う方向での改良ばかりしてました。
pararell_reduceの使い方もわかりました。negaScoutの繰り返しループが綺麗に並列化
できたんじゃないかと。ただ、MAPする件数がしれているので、parallel_reduceではなく
逐次版のaccumlateの方が速いという結果に。あと、時間計測が結構飛び飛びの値に
なるので時間計測関数を精度1msのものに変更。

色々やった結果、若干高速化したうえで、時間のバラつきが消えてくれました。
100回試行で計測すると610ms±15ms(1σ)となり、逐次処理のほぼ2倍の速度に。
ノード数は同程度で、NPSは40M超えて来ました。このNPSのままノードを半減できれば
良いのに。
472
(2): 2016/08/10(水)22:53:03.62 ID:BL+f+Yy5(2/2) AAS
>>310はかなりハイレベルだと俺は思ってるが
>>310からみて>>460はいい線行ってるの?
744: 535 2017/02/26(日)23:30:45.62 ID:TbeyqTpr(2/2) AAS
特徴量とか便利すぎる言葉考えたやつ誰だよ。
いつでも特徴量が効率よく計算できるとは限らんだろうが。
マジムカつく。
746: 535 2017/02/28(火)21:58:57.62 ID:+JAecqpe(1) AAS
ファイルに2Gの壁とかあんの?
2G以上のデータはどうやって受け渡せばいいんだ。
777: 310 2017/03/31(金)20:13:06.62 ID:Hurb1/nC(1) AAS
expの計算は重さの原因ではありませんでした。やはり単純に評価関数が重い模様。
プレイアウトはヒューリスティックのsoftmax版に変更。

ツリーの初期の評価値は、数手読む事で精度アップを図ってみましたが、3手も読む
とかなり時間がかかって、プレイアウト回数が1/10以下になってしまうので、バランス
見て2手読みにしてみましたが、これで強さが変わるのか不明。

10〜15手目で1回。35手前後で1回づつ間違えて、負けを確信したところで乱心。
試しに15手まで定石DBを使うようにしてみたところ、35手目まで引き分けで行けました。
やはり35手目で間違えて−6。むむむ。

40手までの棋譜。
F5 D6 C3 D3 C4 F4 C5 B5 B4 B3
E7 C6 B6 E6 F6 D7 C8 A6 C7 E3
F3 G4 G3 E2 H3 G5 G6 F7 E8 B7
F2 B8 D1 F1 A8 A7 A5 D8 A4 A3

35手目のA8以下を、A5 A4 E1 C1 A8 A7としていれば引分でした。
評価の順番はA8/E1/A5と、正解を3番手に予想しています。
Zebraの中盤20手読みでもE1と間違える局面で24手読みだと正解するみたいです。

実をいうと、途中で邪魔が入って放置している間に、バックグラウンド探索で1000万
プレイアウトの上限に2回達しています。強さ図る時はバックグラウンド探索を止めない
と意味ないかも。

囲碁AIの本を読んでいたら、プレイアウトの精度の検証に、プレイアウト結果盤面を
統計的に処理して、終局予想図を出す方法と、重要な手を見つけるクリティカリティと
言う概念の説明がありました。この辺使って、プレイアウトの弱点探してみます。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.040s