いつもオセキチ向けの記事ばかりなので、このブログもたまには普通のオセラーにとって有益なことを書こうと思います。
edaxってのはおそらく最強のオセロソフトで、僕は普段の研究は全部これでやってます。
ゼブラに比べていまいち浸透していない感じがあるので簡単な使い方をまとめておきます。ググればわかることなんですけど案外まとまって書かれていないので。ただ僕はアナログ人間なのでググるともっといい使い方があるらしく、そういう指摘をしてくれる方大歓迎です。
ちなみにwindowsです(Macでどうなのかはよく知らない)
(1)ゼブラとの比較
edaxで研究するメリット
・中盤の精度がゼブラよりだいぶ良く、ゼブラでの研究ではなかなか発見できない手も見つけてくれる
・終盤の読み切りが早い
デメリット
・bookがついてないので自作
・確定(読み切りではない)するまで評価値を出してくれない
まあメリットがはるかに大きいと思う
(2)入手方法
シマスケさんのページのEdaxGUIがいいと思います
GUI(ゼブラみたいに盤面が出るやつ)の使い方はページを読めばわかると思います
一括DLしてzipを解凍するとこんな感じ

wEdaxのx64とx86のどっちが動くのかは人によるんで両方クリックしてみて動くほうを使いましょう
動かないほうは削除してok、pthreadってやつもいらないほうは削除してokです(しなくてもいいと思うけど)
で、edaxGUIを起動してみるとこんな感じ

はいオセロは白勝ちです
というのは嘘でこれはbookがまだない状態なので評価値がわりかし適当なわけです(なんでd3だけbookなのかは知らんけど、学習させればちゃんと対称な局面に同じ評価値が出る)
こっからはedaxをうまく使って学習させる、bookを作る話です

こんな感じになる
(3)学習させる前に
edaxでbookを作る前にいくつかゼブラの学習と違う点があるので注意しましょう。
edaxでbookを作る際には深さを指定する必要があります。上の「学習」をクリックするとbookの深さという項目がありますね。初期設定は35です。
深さというのは初手から何手目までをbook値として記憶するかを指します。深さが30の場合は30手目まで覚えます。
一般に深く記憶させるほど学習に時間がかかります。edaxGUIをDLした初期状態ではedaxのレベル(「設定」で確認可能)は18であり、この場合38手目くらいから完全読みになります。なのでそれ以降は記憶させておく必要がないわけです。
bookのレベルってのは僕はよくわかんないです。
右下のbook(完)ってのも怪しいですけど完全読み付近まで記憶してる数で、bookってのは途中で打ち切ってる数だと思います。
とりあえず僕はedaxのレベルとbookのレベルに関しては初期設定のままで困ってないのでいいでしょう。この場合よく使う進行については最終的に35~40くらいの深さで記憶させることになります。
マニアの人はこの辺をいじるともう少し質の良いbookが作れるんだと思います。
(4)いよいよ学習させよう!
では、いよいよbook作りに取り掛かりましょう。
学習の方法は大きく分けて3つです
①GUIで自分で並べた棋譜を学習ボタンで学習させる
②edaxに自動対局させた棋譜を自動学習させる
③book deviateを利用する
順に見ていきましょう
①GUIで自分で並べた棋譜を学習ボタンで学習させる
これは簡単です。自分で並べて学習ボタンを押すだけ。ゼブラと同じですね。
一番最初はこれを繰り返すことになると思いますが、試しにbookの深さを30,35,40と3種類試してみましょう。学習にかかる時間が全然違うのがわかるはずです。
僕は基本は30で学習させ、必要そうな進行を改めて35で学習しなおさせています。これについては以降も同じです。
②edaxに自動対局させた棋譜を自動学習させる

こっちを使います。僕も細かいことはよくわかってないんですが特に困ってないんでビビることはないです。
一応 マニュアルがあるんで細かいことをやりたくなったらこっちを見てください。そして僕に教えておくれ。
1行目で怒られてますがそっちは後で。
さて、これを使う上でいろいろ命令を出していくわけですが、毎回出すのは面倒なので手間を省くことができます。EdaxGUIのファイルのなかに

こういうやつがいると思うので開きましょう

はい。edaxに関するいろんな設定みたいなやつが出てきます。ここの命令をいくつか書き加えておけば起動のたびに命令通りに動いてくれます。ちなみにさっきn=6が怒られてたので2にします(僕のパソコンの限界みたいなもの)。怒られてなかったらそのままでいいです。自動学習にはあんま関係ない。

このへんを書き換えました。
これを書き加えると、対局終了時に自動で次の対局をはじめ、また対局終了時に自動で学習するようになります。深さを30にしたので30手目まで記憶しますね。
ちなみに「-auto-start」とかはGUIで自分で棋譜を並べてる時も有効になっちゃうのでいらないときはoffにしときましょう。(実際はそれだとあまり手間が変わらないのでファイルを分けたりするがおいておく)
で、edaxを起動して
m 2
と打ち込んでenter
するとedaxが勝手に対局を始めます。m 2ってのは黒白両方edaxが打ってねっていう意味です。
これと上の-auto-なんちゃらが合わさると自動学習が完成しているのがわかると思います。
以上が自動学習のだいたいの仕組みです。いい頃合いでqと打ってenterすることで学習が終了します。右上の×を押して終わると何も学ばないので注意
ただ、この場合edaxはひたすら最善と思われる手を打ち続けます(ちょっと違うけど)。
特定の進行について学習したい場合はforceというコマンドを使うことになります。m 2の前に
force 学習したい進行
と入力しておくことで、序盤の進行を指定できます。たとえばロジステロを学習させたい場合

これでenterを押せばロジステロから対局を初めて学習させられます。ちなみに棋譜はGUIで出力したのをコピペできる(上部を右クリックして編集)のでいちいち手打ちする必要はないです。
このままいくとロジステロからの最善を探索し続けます。ロジステロからの変化まで探索させる方法はあるんですが効率が悪いので、自分で変化をforceしなおして探索させるか③でやったほうがいいでしょう。
③book deviateを利用する
これは僕も一昨年くらいに知ったので、別に知らなくても自動学習はできてましたが知ってると効率がかなりよくなります。
①②である程度作り上げたbookをさらに太らせるための方法になりますので①②をマスターしてから戻ってきましょう。
book deviateとはすでにあるbook からの分岐を追加していくコマンドです。
book deviate x y
というのがその形で、xyには数字が入ります。
マニュアルの意味が分かりにくいのでおそらくですが、すでにあるbookに対してx石損の手まで、合計でy石損の手までを全てbookに加えることだと思われます。ちなみに引数を書かないとx=2,y=4になります。
もっとも初手からこれをやると膨大な量になり、しかもこの命令は中断できない(たぶん)ので学習し終えないまま生涯を終えることになります。先に
play 学習したい棋譜
と打ってこっからbookを分岐させてねという局面を作っておきましょう。深さ30なら15手くらいは並べておくのを推奨します。あと終わったら警告されますがb fixを実行してからqしましょう。
(5)終わりに
ここまでで学習はほとんど完璧ですが、edaxにも当然見落としはあります。完成したbookをGUIで見て、ここ怪しいんじゃねーのと思ったら手動で学習させましょう。
特に、これはおそらくですが深さ30で学習した場合30手目時点での評価値が記憶されます。(これは嘘っぽかったが不正確な値になることがある)これは完全読みでないのでたまに間違ってます。その進行について手動でもう少し深く学習させれば直ります。
それと、僕のGUIはなぜか起動のたびにbookの深さを直さないと20手目くらいまでしか覚えてくれなくなったのでそういうこともあるかも(設定を見ても35になってるのでよくわからん)。
細かいことでまだ書いてないことはありますが体で覚えましょう。
それと、だれかb enhanceの意味をおしえてくれ~
(追記)book enhanceが気になったのでやってみた結果、おそらく自分のbook値が不確定(+3とかで途中やめになってる)な進行に対する学習のようだが、実行後book値が不確定になっていたので結局よくわからない。一応book自体の精度は上がったっぽい
というわけで君だけのbookを集めて最強オセラーを目指そう!!!!!!
質問は気が付いて且つ答えられるものなら答えます(がマニュアル読むのが確実です)。
それといろいろ勝手にリンクを貼ってしまいました。一応リンクしてよいのは確認しましたが、問題があれば削除します。シマスケさんのアプリにはだいぶお世話になっています。ありがとうございます!みんなも使ってみよう!!(ダイレクトマーケティング)
edaxってのはおそらく最強のオセロソフトで、僕は普段の研究は全部これでやってます。
ゼブラに比べていまいち浸透していない感じがあるので簡単な使い方をまとめておきます。ググればわかることなんですけど案外まとまって書かれていないので。ただ僕はアナログ人間なのでググるともっといい使い方があるらしく、そういう指摘をしてくれる方大歓迎です。
ちなみにwindowsです(Macでどうなのかはよく知らない)
(1)ゼブラとの比較
edaxで研究するメリット
・中盤の精度がゼブラよりだいぶ良く、ゼブラでの研究ではなかなか発見できない手も見つけてくれる
・終盤の読み切りが早い
デメリット
・bookがついてないので自作
・確定(読み切りではない)するまで評価値を出してくれない
まあメリットがはるかに大きいと思う
(2)入手方法
シマスケさんのページのEdaxGUIがいいと思います
GUI(ゼブラみたいに盤面が出るやつ)の使い方はページを読めばわかると思います
一括DLしてzipを解凍するとこんな感じ

wEdaxのx64とx86のどっちが動くのかは人によるんで両方クリックしてみて動くほうを使いましょう
動かないほうは削除してok、pthreadってやつもいらないほうは削除してokです(しなくてもいいと思うけど)
で、edaxGUIを起動してみるとこんな感じ

はいオセロは白勝ちです
というのは嘘でこれはbookがまだない状態なので評価値がわりかし適当なわけです(なんでd3だけbookなのかは知らんけど、学習させればちゃんと対称な局面に同じ評価値が出る)
こっからはedaxをうまく使って学習させる、bookを作る話です

こんな感じになる
(3)学習させる前に
edaxでbookを作る前にいくつかゼブラの学習と違う点があるので注意しましょう。
edaxでbookを作る際には深さを指定する必要があります。上の「学習」をクリックするとbookの深さという項目がありますね。初期設定は35です。
深さというのは初手から何手目までをbook値として記憶するかを指します。深さが30の場合は30手目まで覚えます。
一般に深く記憶させるほど学習に時間がかかります。edaxGUIをDLした初期状態ではedaxのレベル(「設定」で確認可能)は18であり、この場合38手目くらいから完全読みになります。なのでそれ以降は記憶させておく必要がないわけです。
bookのレベルってのは僕はよくわかんないです。
右下のbook(完)ってのも怪しいですけど完全読み付近まで記憶してる数で、bookってのは途中で打ち切ってる数だと思います。
とりあえず僕はedaxのレベルとbookのレベルに関しては初期設定のままで困ってないのでいいでしょう。この場合よく使う進行については最終的に35~40くらいの深さで記憶させることになります。
マニアの人はこの辺をいじるともう少し質の良いbookが作れるんだと思います。
(4)いよいよ学習させよう!
では、いよいよbook作りに取り掛かりましょう。
学習の方法は大きく分けて3つです
①GUIで自分で並べた棋譜を学習ボタンで学習させる
②edaxに自動対局させた棋譜を自動学習させる
③book deviateを利用する
順に見ていきましょう
①GUIで自分で並べた棋譜を学習ボタンで学習させる
これは簡単です。自分で並べて学習ボタンを押すだけ。ゼブラと同じですね。
一番最初はこれを繰り返すことになると思いますが、試しにbookの深さを30,35,40と3種類試してみましょう。学習にかかる時間が全然違うのがわかるはずです。
僕は基本は30で学習させ、必要そうな進行を改めて35で学習しなおさせています。これについては以降も同じです。
②edaxに自動対局させた棋譜を自動学習させる

こっちを使います。僕も細かいことはよくわかってないんですが特に困ってないんでビビることはないです。
一応 マニュアルがあるんで細かいことをやりたくなったらこっちを見てください。そして僕に教えておくれ。
1行目で怒られてますがそっちは後で。
さて、これを使う上でいろいろ命令を出していくわけですが、毎回出すのは面倒なので手間を省くことができます。EdaxGUIのファイルのなかに

こういうやつがいると思うので開きましょう

はい。edaxに関するいろんな設定みたいなやつが出てきます。ここの命令をいくつか書き加えておけば起動のたびに命令通りに動いてくれます。ちなみにさっきn=6が怒られてたので2にします(僕のパソコンの限界みたいなもの)。怒られてなかったらそのままでいいです。自動学習にはあんま関係ない。

このへんを書き換えました。
これを書き加えると、対局終了時に自動で次の対局をはじめ、また対局終了時に自動で学習するようになります。深さを30にしたので30手目まで記憶しますね。
ちなみに「-auto-start」とかはGUIで自分で棋譜を並べてる時も有効になっちゃうのでいらないときはoffにしときましょう。(実際はそれだとあまり手間が変わらないのでファイルを分けたりするがおいておく)
で、edaxを起動して
m 2
と打ち込んでenter
するとedaxが勝手に対局を始めます。m 2ってのは黒白両方edaxが打ってねっていう意味です。
これと上の-auto-なんちゃらが合わさると自動学習が完成しているのがわかると思います。
以上が自動学習のだいたいの仕組みです。いい頃合いでqと打ってenterすることで学習が終了します。右上の×を押して終わると何も学ばないので注意
ただ、この場合edaxはひたすら最善と思われる手を打ち続けます(ちょっと違うけど)。
特定の進行について学習したい場合はforceというコマンドを使うことになります。m 2の前に
force 学習したい進行
と入力しておくことで、序盤の進行を指定できます。たとえばロジステロを学習させたい場合

これでenterを押せばロジステロから対局を初めて学習させられます。ちなみに棋譜はGUIで出力したのをコピペできる(上部を右クリックして編集)のでいちいち手打ちする必要はないです。
このままいくとロジステロからの最善を探索し続けます。ロジステロからの変化まで探索させる方法はあるんですが効率が悪いので、自分で変化をforceしなおして探索させるか③でやったほうがいいでしょう。
③book deviateを利用する
これは僕も一昨年くらいに知ったので、別に知らなくても自動学習はできてましたが知ってると効率がかなりよくなります。
①②である程度作り上げたbookをさらに太らせるための方法になりますので①②をマスターしてから戻ってきましょう。
book deviateとはすでにあるbook からの分岐を追加していくコマンドです。
book deviate x y
というのがその形で、xyには数字が入ります。
マニュアルの意味が分かりにくいのでおそらくですが、すでにあるbookに対してx石損の手まで、合計でy石損の手までを全てbookに加えることだと思われます。ちなみに引数を書かないとx=2,y=4になります。
もっとも初手からこれをやると膨大な量になり、しかもこの命令は中断できない(たぶん)ので学習し終えないまま生涯を終えることになります。先に
play 学習したい棋譜
と打ってこっからbookを分岐させてねという局面を作っておきましょう。深さ30なら15手くらいは並べておくのを推奨します。あと終わったら警告されますがb fixを実行してからqしましょう。
(5)終わりに
ここまでで学習はほとんど完璧ですが、edaxにも当然見落としはあります。完成したbookをGUIで見て、ここ怪しいんじゃねーのと思ったら手動で学習させましょう。
特に、これはおそらくですが深さ30で学習した場合30手目時点での評価値が記憶されます。(これは嘘っぽかったが不正確な値になることがある)これは完全読みでないのでたまに間違ってます。その進行について手動でもう少し深く学習させれば直ります。
それと、僕のGUIはなぜか起動のたびにbookの深さを直さないと20手目くらいまでしか覚えてくれなくなったのでそういうこともあるかも(設定を見ても35になってるのでよくわからん)。
細かいことでまだ書いてないことはありますが体で覚えましょう。
それと、だれかb enhanceの意味をおしえてくれ~
(追記)book enhanceが気になったのでやってみた結果、おそらく自分のbook値が不確定(+3とかで途中やめになってる)な進行に対する学習のようだが、実行後book値が不確定になっていたので結局よくわからない。一応book自体の精度は上がったっぽい
というわけで君だけのbookを集めて最強オセラーを目指そう!!!!!!
質問は気が付いて且つ答えられるものなら答えます(がマニュアル読むのが確実です)。
それといろいろ勝手にリンクを貼ってしまいました。一応リンクしてよいのは確認しましたが、問題があれば削除します。シマスケさんのアプリにはだいぶお世話になっています。ありがとうございます!みんなも使ってみよう!!(ダイレクトマーケティング)
コメント
コメント一覧 (5)
やってみたいです。
所で私のedaxのbookが縦取りで+1斜め取りで-1となるようになったのですがこれはbookが壊れたりしたのでしょうか。
ネットで拾った高段者の棋譜や私がPCと打ったヘボい棋譜を学習させているうちにこんなことになりました。
一回破棄した方が良いのでしょうか。
めっちゃ遅れてすみません!
bookが壊れることはあるのですが、単に学習不足の可能性もあるのでわかりませんね…ファイルの容量が極端に減ったりしていたら壊れていると思います。
今はよいbookを乗せたアプリがあるし学習依頼も出せるみたいなので、普通に使う分にはそれでも十分かもですね。
36手目まで記録させるにはどうすればよいでしょうか。ただ単にm2での学習時間が足りないだけでしょうか。
36手目まで記録させるにはどうすればよいでしょうか。それともただ単にm2での学習時間が足りないだけでしょうか。
おにぎりさん
コメントありがとうございます。
すみません、blog放置気味で全然気がついていませんでした…
この記事もちょっと内容古い感じになっているかもしれないので書き直したいですね。
コメントの件ですが、それは不思議ですね。
学習が進んでいるならば、学習時間は基本的にあまり関係ないと思っていただいてよいので、おそらくケアレスミスの類ではなかろうか…というのがすぐ思いつくことです。
例えば自動対局のときにauto storeを入れ忘れているとか、deviateの後にfixして終了する操作をしていないとか(この場合はbook.dat.devというファイルがあるかもしれません、ファイル名から.devを消すと普通に使えるようになります。fixした方が良いですが…)、デフォルトで参照しているbookファイルが違うとか…