【将棋】bona6.0の評価関数
見ると分かるけど、相手玉の周辺に大きな評価値がついている。
評価値の意味は、探索を行って、駒の取り合い(静止探索)を
行った結果、金がこの位置にいれば(詰めに近い状態?)400点くらい得になることを意味する。
bonaの終盤の寄せが強力なのは、このためだろうか。
KPPの評価は(A)KPP[自玉][駒1][駒2]-(B)KPP[相手玉][駒1'][駒2']で与えられる。
(B)は(A)の評価関数をひっくり返して同じものを使う。
基本的には自分の玉からの相対位置関係しか見ていない。
評価値を解析するために、(A)のみを表示してみた。
無線LAN(Mac book retina)
http://ubuntuforums.org/showthread.php?t=2006475&page=4
ここの下の部分。
転載---------------------------------------------------------------------
1. Download driver:
wget http://www.lwfinger.com/b43-firmware...00.138.tar.bz2
2. Install fwcutter:
apt-get install b43-fwcutter
3. Extract firmware:
tar -xf broadcom-wl-5.100.138.tar.bz2
sudo b43-fwcutter -w /lib/firmware broadcom-wl-5.100.138/linux/wl_apsta.o
6. Reload your b43 kernel module:
sudo rmmod b43
sudo modprobe b43
7. Use your wireless.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
NICドライバインストール(Mac mini)
以前入れたとき(日本語版x86)は何にも問題なく動いたのだけど
64ビット版(ubuntu-12.04.2-desktop-amd64)だと、
tg3-3.124c.tar.gzを展開してmakeするとasm/system.hがないといわれてできなかった。
以下、解決法。
転載---------------------------------------------------------------------
http://ubuntuforums.org/showthread.php?t=2078320
1. At line 96 of tg3.c, simply comment out the inclusion of asm/system.h:
Code:
/* #include
2. At line 14534 of tg3.c, I surrounded the following two lines of code ...
Code:
.get_sg = ethtool_op_get_sg,
.set_sg = ethtool_op_set_sg,
... with a preprocessor directive reflecting the fact that get_sg and set_sg were deprecated in (I believe) Linux 3.0 and removed sometime after that. Here's what that looks like:
Code:
#if (LINUX_VERSION_CODE < 0x30000)
.get_sg = ethtool_op_get_sg,
.set_sg = ethtool_op_set_sg,
#endif
3. Finally, since the API the driver tries to use to do TCP Segment Offloading went through the same deprecation and removal as get_sg and set_sg, and since I have no idea how to modify the driver to use the new API, I attempted to remove the TSO support entirely by changing line 3 of tg3_firmware.h from ...
Code:
#ifdef NETIF_F_TSO
... to ...
Code:
#ifdef XXXXNETIF_F_TSO
That resulted in a
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
【将棋】持駒の評価値
KPPは(自玉、駒1、駒2)の線形和で計算するけど
駒1、駒2には持駒も含まれる。
持駒分の寄与がどの程度あるかをbona6.0の評価関数で調べた。
↑は先手後手で持駒がない場合の、金の位置評価(KPPのみ)
1.全体
2.持駒の寄与分を除外:listに持駒の要素を排除。KPP(玉、金、金)のみの評価。
3.持駒の歩のみを考慮:listに歩の要素を追加
4.持駒の金銀のみを考慮
5.?持駒の角飛のみを考慮
持駒との寄与(特に金銀飛角)が結構、大きいことがわかる。
KKPのほうの寄与を見てみたけど、あまり大きくなかった。
bonanzaで指手の評価値の推定にKKPを入れてないのはこのためかもしれない。
クマ将棋はドーピングでひどいことになっているからKKPも推定に入れないといけない。
ドーピング
どうも今の学習では、玉から離れた位置にと金を作ったり、駒をとったり
して、寄せが弱いようです。
と金を作るのは、歩80点から金500点になるわけだから、すごく駒得になります。
この誘惑に勝てるように、位置評価を相当マイナスにしないといけません。
ところが、ボナメソのシグモイドだとこれが難しい。
学習初期値をゼロから始めた場合、駒価値のみのスタートとなるので、
そのまま学習時に探索をすると、正解手:0点、と金を作る手:500点
とかになる。シグモイドの微分値は500点も離れるとほぼゼロになるし、
そもそも学習探索窓から外れるので、「と金」生成防止のための
評価値調整が行われなくなってしまう。
bona6.0の評価関数はどうやって作っているかは分かりませんが
学習探索窓やシグモイドの傾きを調整したり、こちらで初期値を与えたり
しないと難しそうです。
一方の激指メソッドのパーセプトロンだと、シグモイドをかけないので
上記のような場合でも、一律に評価値更新がかかってきます。
過学習も大きそうですけど。過学習を防ぐために、平均化や
評価値の差をしきい値に更新の有無を判定しているようです。
クマ将棋のオンライン学習はシグモイド+激メソ風マージンでやっているので
上記の「と金」生成が問題になっていたので、無理やり、玉から離れた位置の
金の価値を初期値で大きくマイナスにしています。
これで一応、と金生成が回避できましたが、序盤が変になった感じがします。
学習のさせ方も色々とコツがあるんだな、という印象です。
オープン戦
http://wcsc.lolipop.jp/open19/
クマ将棋で参加しました。3勝1敗。
序盤で定跡はずれると変になるようです。