2006年07月19日更新
スタイル不使用
  スタイル使用
スペース
移転
2005年09月11日(日)

リバーシのページを移転してきました。今は基本のライブラリを自作しています。デバッグ用とかmalloc関係とか乱数のメルセンヌツイスターとかLinuxには最初からあるgetoptをwindowsでも使えるように自作とかしてます。あとはファイル読み込みとかタスクシステムとか作ろうかなぁと思ってます。とりあえずファイル読み込みを作ったらリバーシでも作り直そうか。


修整
2004年06月21日(月)

今日もまたリバーシプログラムを修正していました。昨日と同じ様な間違いが同じところで見つかりました。あと、探索の深さをおおきくしたりすると、なぜか∞ループに。良く解りませんがprintfをいれたりすると動くときもあるようで、メモリ関係かなと考えました。それで配列でとってたのをmallocで擬似配列でとるようにするとOKでした。最初は途中コピーを作ってたけどfreeをしわすれてたのでスッゴクメモリをつかって遅いなと思ってしまった。freeをするとそれなりの束度で動いてくれて満足。

ついでにアンドゥ機能も付けてみました。といっても置いた場所だけ保存していってアンドゥ時には最初から指定した場所まで石を置くという単純なものです。最初はこれで探索しようと思ったけどかなーり遅かったのでやめました。折角なのでユーザー入力時に使えるようにのこしました。

後は重みの設定だけかと。定石を沢山置いてあるホームページからPHPをつかってデータを抽出しました。200以上あり、最終30手以上は最善手ということでこれをつかって重みの設定をしていこうと思います。そういや定石を扱えるようにもしないといけないなー。


評価関数
2004年06月20日(日)

今日は久々にリバーシプログラムを作ってました。やったのは評価関数のデバッグです。途中基本プログラムの中にバグが見つかったからこれもなおしました。この調子だとまだまだバグが見つかりそうです。取り敢えず評価関数はC打ち、X打ち、山、翼、確定石(簡略版)、解放度、着手可能手、必勝、完全を完成させました。後は各々の重みを決定してつよくしていくだけなのかな?速度的にはどうなんでしょうかね。遅いようだと辺アタリは現在別々に評価してるのをまとめてみようかな。それかパターンによる評価にするか。


評価関数
2004年04月15日(木)

現在基本部分は完成してこれから評価関数のプログラムに入りたいと思います。とりあえず本と同じように、着手可能手数、開放度、ウィング、確定石、危険なC、X打ちの評価を作ろうと思います。あとは必勝、完全読みようの関数かな。どれぐらい強くなるかなー。


作り直し
2004年03月24日(水)

久々更新です。現在プログラムの基本から作り直してます。これからちょくちょく更新していくかも?


定石
2003年11月28日(金)

現在は定石を取り入れようとしてます。定石を入れるのと同時に終盤完全読みきりした結果も書かれているものもあるので、それぞれの評価関数の重みの最適化も同時にしようとしてます。


2003年11月22日(土)

今日は注文してたリバーシの本が届きました。これは今年発売された本でリバーシの基本部分や探索アルゴリズム、評価関数についてかかれてます。掲載プログラムがC++とJavaなので私はわからないところもありましたが、大体はわかりました。これを読んでそうだったんだと思ったところを書いときます。まず探索アルゴリズムでnegamax法とNegaScout法が理解できました。次に評価関数で私は辺の評価値を配列に入れてそれを参照するようにしたんですが、配列のインデックスを求めるのに乗算がたくさんあり少し遅くなるかなと思ってたところ、この本では掛け算の順序を工夫することで掛け算の数を減らすホーナー法というものが書かれていて、へーと思いました。早速実装します。その他では個々の評価の重みを決めるのにどうしようか迷ってたところ、この方法が書かれていてこうするのかと思いました。こちらは時間がかかりそうなのでまた後日実装するでしょう。ほかには定石の組み込み方も書かれて定石を実装するときにすぐに取りかかれそうです。


対戦
2003年11月19日(水)

今日pl_kyo氏のWindows版リバーシと私の作ったリバーシを対戦しました。私が先手のみしかやってませんでしたがやっぱり負けてしまいました。1回目は15石差ほどで、2回目は49石差でした。2回目はpl_kyo氏のソースを見てX打ちは手数に入れないようにしました。それとC打ちも手数に入れないようにしました。すると弱くなったよ〜。一番の敗因は変の形だと感じた。上と左の辺で自分がウイングを作ってしまい、右と下の変では相手が山を作ってました。早く辺の形による評価も入れないといけないですね。とりあえず辺の形による評価を入れたらソフトをアップします。


表示変更
2003年11月17日(月)

ほかのプログラムやサイトを見てると、盤面の表記がa1とかc4って感じなので、これに変えました。自作プログラムと別のプログラムを対戦させるときに、自分で入力するときに間違えるときもあったしね。ちなみにほかには、確定石を数えるようにしてみた。辺だけですが。関数が長くて汚いので、現在確定石の数え方をどうしようか考えてます。確定石というより辺の評価という関数を作ろうと思ってます。山とかウィングとかブロックとか爆弾などを評価できるように。今思ってるのが変の形をいくらか用意してそれと照らし合わせた結果で評価値を決めるようにしようかなという感じです。


ページ公開
2003年11月16日(日)

今日はBigのリバーシのページが公開されました。パチパチパチ。まだまだコンテンツ不足ですが地道に更新していきますので、どうぞよろしく。


スペース
管理人:Big
コンテンツトップ
  ページトップ