さて。テストのために作ったとりあえずのアルファベータをまともなものに置き換えよう。現在のところ、10手読みで思考時間が30秒-1分くらい。11手読みなら5分くらい。
さて、どの方法を実装するか。オセロにおいての速度は
PVS > MTD(f) > NegaScout > AlphaBeta
といった感じらしい。でもPVSとMTD(f)の差は1%よりずっと小さいくらいっぽいし、実験環境もよくわらかない。
MTD(f)の実装を見てみて、ムダがあり過ぎる気がした。1ずつずらすんじゃなくてせめて2分探索っぽいやり方にすればいいのに・・・
と思っていて調べたらそれはMTD-biと呼ばれるアルゴリズムらしい。そして、平均的にMTD(f)より 遅 い ら し い 。
あぁ、まだMTD(f)やらPVSがどういう仕組みで動いているのか分からない・・・。1ずつじゃなくてある程度飛んで動きそうな気はするけど、よくわからない。
そもそもいったい何のデータを置換表においておけばいいんだ?局面→評価値だけでいいの?んなはずない。
局面,プレーヤー,評価段階→評価値の上限と下限
くらい?
あぁこれに前向き枝刈りを組み込む方法も考えないと。あぁぁぁ。
でも実装は特にしなかった。
はい。また貼付けときます。
あぁぼくも自分の書かなきゃ。
時に、そういうこともあるだろう。
そりゃ、それを避けるようにはする。もう、必死で。
でも、仕方のない時もある。
そういった時、じわじわ傷つけるほうがいいのか、一気に傷つけるほうがいいのか。
そんなの分からない。人がどう思うかなんてわからない。
でも、ぼくだったら後者の方がいいと思って行動するわけだ。
つらいね。
今朝はK宅で午前6時過ぎまではしゃいでました。
というか、午前6時頃に力つきました。
それまでは、SくんのJavaの課題をやったり
そしてExcelのすばらしさを伝えたり(笑
中途半端に寝てしまって、朝はものすごく辛かった・・・
講義は当然ムシ。
サークルに行った。今日はなんか人が多かった。
それはさておき、そのあとK君の家に泊まった。実は泊まる必要はなかったかもしれないけど、なんとなく。
着いてまずしたこと。
片付け。
まぁ、そんなもんですよね。一人暮らしなんて。
昨日実装したαβ法にバグ。
なんでこんな簡単なルーチンにバグを入れられるんだ?
と思いつつ修正。
探索ルーチンのバグは本当に見つけにくい。バグあってもある程度はまともに動いちゃうし。そういえば、LOGISTELLOもソース公開後にバグ発見されたりしてたし。
で・・・現在10手読みくらいで1試合1分以上考えてるぞ?
これってもしかして遅い?
cf.「10手読みは余裕でいけそうだ。」(F日記)
cf. vsOthaはおなじ時間で12手読みくらい
うーむ。
学習ルーチンはさらに収束しにくく、誤差が大きくなるであろう方法に変更。でも、こっちのほうが強いと信じる。信じるだけだが・・・
しばらく前に貸してもらったので、見てみました。
面白かったです。
ジャックスパロウ船長がいい感じ。
適当っぽく見せて、実はちゃんとしてたりとか。
自分の信念を曲げず、それでもやっていけるのは機転の利く頭があるから。
ぜひこういう風になりたいですね。
遅くなってごめんなさい。今度会った時に返します。>Eさん
とりあえず書いてみた。まぁまぁ。
めっちゃシンプルなアルファベータ+1手読みでソート
という感じです。まともな時間でだいたい10手読みくらい。
速いのか遅いのか分からないけど、とりあえず使い物にならないほどの遅さではないようだ。よかったよかった。やった事のないボード設計だからどうなるかと思ったけど。
さて、昨日約束したのでステージ別学習誤差を公開。
続き参照。