2023年9月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

最近のトラックバック

無料ブログはココログ

« 2004年6月 | トップページ | 2004年8月 »

2004年7月31日 (土)

バグ見っけ。

やっと評価関数のバグを見つけた。見つけてみると下らないバグで、配列の大きさの宣言を間違えていたために、レンジ外をアクセスして、でたらめな値を取ってきていた。
そりゃぁ挙動もメチャクチャになるわ。しかし、良く暴走しなかったなぁ…(笑)。もっとも、暴走してくれればもっと発見しやすかったと思うけれども。
これで、うさぴょんv1.5とりあえず完成。
これで、v2.0への道は、
・v1.0は先手番でしか考えられないので、手番が変わるたびに一々盤面をひっくり返しているのをやめること。
・上に関連して、後手駒の動きのインプリメントを変更すること。
です。

2004年7月27日 (火)

速度はそのままで、精度を75%位まで高めてみたけど

何かバグがあるようで、期待した通りに動かない。王手をかけられそうになるとおかしくなるとか、何でもない局面で王が囲いからするする抜け出すとか。いや、うさぴょんの初期の頃にもこういうことがなかったとは言わないけど、評価関数はうさぴょんとほぼ同じなので起こりえないはずなんだけど…(--;
しかも、詰めろをかけられるとそれが必至でもなんでもなくてもおかしな手を連発。局面が膠着しても自爆手を連発。もうバグがあるとしか思えないんだけど、評価関数はうさぴょんとほぼ同じで、αβとかのアルゴリズムはうさぴょんそのものなのに、どうやったらこんなことが出来るのか…。

2004年7月24日 (土)

うさぴょん2の前にうさぴょん1.5

うさぴょん2を開発する前に、うさぴょん1.5をちょっと作ってみる気になりました。うさぴょんのαΒ法やその他基礎のアルゴリズムはそのままで、評価関数もほぼそのまま、手の生成速度を精度を落とす代わりに早くする、という代物です。
今試している範囲だと3倍くらい手の生成が早く、精度が2倍くらい悪いので、これではまだ勝負にならないと思うのですが。

駒の動きの更新速度

以下の各数字は、そのCPUのクロックで測ってます。
Xeon2.8GHzの方が、クロックが高いので、数字がちょっとくらい大きくてもOpteron2.2GHzより早いはずです。が、しかし、どうもPentium4系とAMD64では、IPCが大きく違うみたいですね。

うさぴょんで、交換値更新あり/なしをやってみたら、こんな感じでした。
(By Xeon 2.8GHz)
交換値更新なし 交換値更新あり
▲86歩(87) : 1887 6697
▲76歩(77) : 1902 15281
▲38銀(39) : 1859 7598
▲78銀(79) : 1844 7355
▲38飛(28) : 2022 8804


(By Opteron248 2.2GHz)
交換値更新なし 交換値更新あり
▲86歩(87) : 1187 3609
▲76歩(77) : 1210 8076
▲38銀(39) : 1185 4121
▲78銀(79) : 1181 4117
▲38飛(28) : 1273 5048

うーん、XeonとOpteronでここまで差があるとは。
同じクロックだったら2倍くらい速度差が付くって事だよね。

うさぴょんは、
1.駒割
2.駒の絶対段による点数
3.駒の敵玉・自玉との位置関係による点数(囲いの点数を含む)
4.利きの更新
5.ハッシュの更新
6.各筋の歩の位置の更新
7.更新前のPinの計算と更新後のPinの計算
8.更新された利き・更新されたPinによって交換値が代わる可能性のあるところの交換値の再計算

をやってます。

交換値更新なしのときは、1~6までを、更新ありの時は、7、8も処理します。

2004年7月23日 (金)

速度測定

吉村さんからサンプルコードをもらって、うさぴょんの駒の移動の速度測定をしてみました。
…遅っっ!
並みのプログラムの20~30倍くらい遅いみたいです。良くこれで他のプログラムと戦えるなぁと妙に感心。

2004年7月11日 (日)

CSAの例会に行ってきました

昨日はCSAの例会に行ってきました。ちょっと議論になるようなことがあったので、えらく疲れました。

さて、発表の方は吉村さんが、
・データ構造を変えたらYSS並みに早くなった
・間接利きの情報は更新が重いし、手の生成にしか使わないので、更新は不要なのかも知れない
山下さんが
・YSSでのパニックタイムの実装
でした。
いずれも参考になるようなならないような…(^^;
うさぴょんは偶奇問題(読みの深さが偶数か奇数かによって評価値が大きく異なることがあると言う問題)が大きくて、パニックタイム実装し辛いし、手の評価に間接利きも含めて交換値が必要だし、うーん(^^;

2004年7月 7日 (水)

うひゃー恥ずかしいミスを…

デバッグウィンドウ付きでV1.2.1リリースしちゃった。多分10人くらいしかダウンロードしていないと思うけど、恥じくさい…。
V1.2.2ではそんな情けないミスはないと思いたい…。

2004年7月 2日 (金)

広告も載ったし、うさぴょんもTCP/IPをしゃべるようになったし…

ついにやさしい囲碁指導対局の宣伝が毎日コミュニケーションズのサイトに掲載された。〆切間際のドタバタがもう遠い昔のようだ。(って今週のことなのだが。)
うさぴょんは、wdoor.c.u-tokyo.ac.jpでGPS将棋のメンバーが立ち上げてくれているCSAのTCP/IPプロトコルの審判サーバに繋げてGPS将棋と対局できるレベルになりました。CHAT機能などをもう少しどうにかするのと、相手が%TORYOを送ってきたときの対処をちゃんとするとか、細かいツメが残っていますが、うさぴょんのGUIにチャット機能がついてて、よその将棋プログラムと対戦できるというのは新鮮です。なんかやる気出ますね。

さて、うさぴょんとGPS将棋との対局ですが、例によって時間切れ負けするか勝つかというような対局になってます(--;

« 2004年6月 | トップページ | 2004年8月 »