2006年12月02日
モンテカルロ法の実験、と未来を予想したり
9路、13路で、モンテカルロ法に完膚なきまでに叩き潰されたので
敵を知るには、で、遅まきながらモンテカルロ法で9路を作ってみました。
・・・強いですね。
GnuGo 3.7.10との対戦結果では
123勝177敗 勝率0.41 思考時間 1局11分
147勝153敗 勝率0.49 思考時間 1局17分
168勝132敗 勝率0.56 思考時間 1局40分
114勝 56敗 勝率0.67 思考時間 1局100分
だいたい思考時間を増やすごとにリニア?に強くなっていってるようです。
探索方法はUCTです。
http://senseis.xmp.net/?UCT
これは手を選ぶ時に、探索回数と評価値から一番最善手を更新する確率が
高そうな手を選ぶ、というものです。
評価値は全部の手の平均を取っています。
ただ、そのまま乱数で打ってもかなり弱く、上の実験は
当たりを取りやすく、逃げやすく、盤端には打ちにくく、
味方が周囲にいない時には打ちにくく、といったことをしています。
UCTを使わずに全部の升目で1000回ずつ乱数対戦をやった版では
64勝236敗 勝率0.21 思考時間 1局5分
と、それでもそこそこの強さです。
コンピュータ囲碁のMLでは19路でも通用するか、という話で盛りあげってます。
http://computer-go.org/pipermail/computer-go/2006-November/007239.html
9路ではもはや太刀打ちできませんし、13路でも
GnuGoを超えるレベル(アマチュア3級)程度までは来ています。
私の意見ではおそらく通用するだろう、と思います。
ただ、単純な乱数ではなく、限りなく、好手を打つ確率を高くした
モンテカルロ法になるような気がします。
GnuGoを使って、直線的に16手先まで読むSlugGoがそこそこ成功したのに
かなり似ているような気がします。
現状の人間を真似た評価関数の作り方があまりに非効率だったのは
事実ですし、微妙な石の強さ、弱さ、を単純に判定するのは
難しく、結局、直線的でも読んでみるのが一番確実な方法だった、
ということかもしれません。
敵を知るには、で、遅まきながらモンテカルロ法で9路を作ってみました。
・・・強いですね。
GnuGo 3.7.10との対戦結果では
123勝177敗 勝率0.41 思考時間 1局11分
147勝153敗 勝率0.49 思考時間 1局17分
168勝132敗 勝率0.56 思考時間 1局40分
114勝 56敗 勝率0.67 思考時間 1局100分
だいたい思考時間を増やすごとにリニア?に強くなっていってるようです。
探索方法はUCTです。
http://senseis.xmp.net/?UCT
これは手を選ぶ時に、探索回数と評価値から一番最善手を更新する確率が
高そうな手を選ぶ、というものです。
評価値は全部の手の平均を取っています。
ただ、そのまま乱数で打ってもかなり弱く、上の実験は
当たりを取りやすく、逃げやすく、盤端には打ちにくく、
味方が周囲にいない時には打ちにくく、といったことをしています。
UCTを使わずに全部の升目で1000回ずつ乱数対戦をやった版では
64勝236敗 勝率0.21 思考時間 1局5分
と、それでもそこそこの強さです。
コンピュータ囲碁のMLでは19路でも通用するか、という話で盛りあげってます。
http://computer-go.org/pipermail/computer-go/2006-November/007239.html
9路ではもはや太刀打ちできませんし、13路でも
GnuGoを超えるレベル(アマチュア3級)程度までは来ています。
私の意見ではおそらく通用するだろう、と思います。
ただ、単純な乱数ではなく、限りなく、好手を打つ確率を高くした
モンテカルロ法になるような気がします。
GnuGoを使って、直線的に16手先まで読むSlugGoがそこそこ成功したのに
かなり似ているような気がします。
現状の人間を真似た評価関数の作り方があまりに非効率だったのは
事実ですし、微妙な石の強さ、弱さ、を単純に判定するのは
難しく、結局、直線的でも読んでみるのが一番確実な方法だった、
ということかもしれません。
