てすと

たかろぐ

自分のログを刻みます。

オセロAI

終盤ソルバーのベンチマークテストしてみた

ついに、学校が始まってしまった。 そして、新社会人・新学生の方おめでとうございます! 自分もあと1年で社会人の仲間入りなのですが、今から楽しみです。 (自分の実力がまだまだなのが心配ですけどね) さて、今日は大掛かりな開発はしていないのですが、こ…

Nim言語でオセロAI【終盤ソルバーの高速化】

以下の記事の続きです! takalog.hatenadiary.com 昨日、終盤ソルバーを"頑張って"作りました。 でも、出来上がったものを動かしてみると、ちょっと残念な感じになってました...orz (最終15手読みで、18秒掛かっていました。) そこで、今日はその「終盤ソル…

Nim言語でオセロAI【貧弱な終盤ソルバー】

以下の記事の続きです! takalog.hatenadiary.com オセロは、そのゲームの特性上、最大で60手でゲームが終了するので、ターン数によって終盤判定をします。 (将棋とかになると、ターン数ではなくて「相手を詰ませられるか」になるので、もっと複雑になります…

Nim言語でオセロAI【探索の高速化】

以下の記事の続きです。今回は、反転処理(Flip処理)の効率を上げて、自分の悪い実装を直してゲーム木探索の速度を上げました。 takalog.hatenadiary.com 反転処理 以下2つの記事を参考に、実装しました。 primenumber.hatenadiary.jp qiita.com 詳しくは記事…

Nim言語でリバーシAI

Nim言語触ってました〜。 いいですね!Nim言語! リバーシAI リバーシAIは昔作ったことあるので、大体の感覚は掴んでた訳ですが、設計とかビット演算処理とか甘い所はあったので、より良い感じになるように意識して作っています。 Nim言語も初めて触っている…

ビットボードの深みにハマる

今日は、前半はNimのお勉強、後半はオセロのビットボード実装をしていました。 Nim ドキュメントをサーッと見たり、メモしたりしました。 大体の感覚を掴んだ所で、「あとはやってれば覚えるっしょ!」ってノリで勉強を終えて、 ビットボードの勉強へシフト…

Nimに浮気しました

こんばんは、昨日に引き続き、オセロアプリの開発に関する調査をしています。 Rustで生成した実行ファイルをiOSで読み込む JavaScriptでいいじゃんという声もあるかもしれませんが、より高速で強いAIを実現するためには、 より効率的で速い実行環境を求める…