オセロ

今日はオセロ試合

今日は研究室の新入生が各々作ったオセロ思考エンジンの対戦の日だ。 今になって、評価の仕方が敵味方真逆になってる盤面評価関数を発見。 「まだ私は2回変身を残している。この意味が分かるか?」 対戦するからにはいい結果を残したいなぁ。

実に久しぶりにオセロを弄る。

研究室から課題としてでたオセロゲーム+AIですが、ある程度動くようになってからノータッチでした。 このオセロゲーム。最後には同期のモノ同士で戦うようです。 んで「その時」まで1週間切った所でわかった事実は 「対戦の場にネット環境が無い」 という点…

仕上げです。

とりあえず「ゾンビプロセスがゾロゾロ」なバグは取れた。後は後半の手が馬鹿っぽいので、後半用に各評価の重み付けを変えたモノも用意しよう。

タイムアウトしなくなった

今まで、思考エンジンのゲーム木が大きくなって考える時間が多くなりすぎたら、ブラウザだか、サーバーだか、rubyだかが勝手にタイムアウトとして、切ってたんだ。 しかし、先ほどのゲーム中タイムアウトしてくれなくなった。 仕方がないので、rubyで外部コ…

勝利確信機能を搭載

今までのオセロの思考エンジンの評価関数探索方法は完全にネットを参考にして進めていた。しかしそれだけではツマラナイのでオリジナルの評価方法を搭載してみた。後述となるが、実はオリジナルではないかも。 性質だけ掻い摘んでみると、 長所 簡単に言うと…

オセロの先読み探索方法

オセロ思考エンジン内部についてメモ書き。内部で扱っているデータ構造で以下のようなデータ構造を定義している。 struct ttee{ int color; /* プレイヤー番号(自分:1, 相手:-1)*/ int coo; /* 置く座標 */ int flips[20]; /* 置くことによってひっくり返…

デカイ?

ってかオセロの盤デカくね? 今朝更新したAIがそこそこ強いのでこれで行こうかな?

とりあえず

出来た。叩き台です。主にjavascriptによる通信部分はJavaScriptistサンを参考にさせてもらいました。 しかし、初めてprototype.jsのAjaxオブジェクトなるものを使ったんだが、使いにくい。 勝手に例外を拾ってしまって、FireBugがエラーを拾ってくれない。…

イロイロ整える。

HTML+javascript+cssでのユーザインターフェースの実装はオシマイ。 次は、大方の思考エンジンは出来ているので、javascriptと通信できるように入出力を整えてrubyなりでCGI化すればとりあえず実装完了。 多分明日出来る。 あとは評価方法の再考かな。

javascriptでオセロ。

とりあえず一人でオセロできるようにはできた。 まぁ見た目はアレだけど。 とりあえず今日は疲れた。javascriptは分からないことがたくさんある。 あとは思考部分を作って、cgiなりサーブレットなりの形にしてajaすればいい。 xmlを使ってないからajaなんだ…

進行報告

だんだん見出しがいい加減に...c言語で書き直しております現在、本日は置くことのできるマスの探索と、先読みの肝になるデータ構造の作成が完了。次は置いて裏返すところを作ろう。んで、この土日は、研究室に行く予定はないので自宅でjavascriptとHTML,CSS…

cに書き直してみる。

先日rubyで先の手を読む部分作ったわけですが、なんてかrubyで書くほど複雑なプログラムではなかったわけで。 なんでcに書き直しております。 UI部分が未だ決まらない。 恐らくは、Ajaxを用いた怪しげなUIになるんじゃなかろうかな〜という予想で、思考エン…

オセロAIのゲーム木作成完了

あ〜この記事はかなり読みにくいはず。自分のメモとして使っています。しかも各概念の呼称が間違っている可能性があります。読むことをお勧めしません。 オセロAIの「先の手を読む」って部分はできた。 データ構造は木になるんだが、問題はその先だ。各手(…