てすと

たかろぐ

自分のログを刻みます。

オセロアプリ

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

ついに、学校が始まってしまった。 そして、新社会人・新学生の方おめでとうございます! 自分もあと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ライブラリをReact Nativeから使いたい(全体像の確認)

React Nativeから呼び出したくて、奮闘してるけど...行けそうで行けないっ。 何が足りないんだっ!? nimをCにコンパイルしたら、もうnimの問題ではなく「CライブラリをiOSに持って行く」帰着されて、 すると他の記事を参考にしてやればできるはずなんだけど…

NimライブラリをReact Nativeから使いたい(調査編2)

今日も一日お疲れ様でした〜! 僕は、今日もNimとReact Nativeを連携させる戦いをしてました。 Nimのクロスコンパイル これ、今すごく苦労しています...orz 昨日載せた記事(これ)を見て、内容を変えていきつつやる方針でやっていたのですが、結構ハマってい…

NimライブラリをReact Nativeから使いたい(調査編)

こんばんは、昨日作ったリバーシライブラリをiOSアプリに埋め込みたくて、色々調べていました。 でも、まだちゃんと整理しきれていないので、間違っていたら指摘してください! やりたい事 まず、やりたい事ですが、以下の図の通りです。 iOSアプリ(React Na…

Nim言語でリバーシAI

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

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

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

Nimに浮気しました

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

オセロアプリの制作開始

こんばんは、開発合宿も無事終えることができて、今度は自作アプリを開発することに精を出し始めました。 アプリの題材は、自分が好きで時々やることがあるオセロでいきたいと思います。 調査 どうせ作るなら、既存の有り触れているオセロアプリとは、差別化…