囲碁アプリの開発日記(20) 調べたことまとめ

割り込み作業が終わって少し余裕が出てきました。囲碁開発にフルコミット!というわけには行きませんが、少しずつ進めていければと思います。

 

■前回までの成果

・Pixi.jsを使ってWebアプリで基本的なGUIが作れるようになった

・囲碁の盤面や説明GUIを作成した

・囲碁入門のコンテンツを一部作成した

・C#で作った囲碁AIをC++に途中まで移植した

 

■今後やる事

・囲碁AIの移植を終わらせる

・WebAssemblyを使ってWeb上でコンピュータと対局できるようにする

・開発者の囲碁棋力アップ

・囲碁入門のコンテンツを拡充する

ディープラーニングを勉強して囲碁AIに組み込む

・その他、便利な機能を組み込む

 

ディープラーニングは今まで勉強したことがなく一番時間がかかりそうです。一応補足しておくと、ディープラーニングを使わなくても囲碁アプリを作る事自体はできます。ですが使った方が人間らしい手を打てるという話を聞いており、ぜひチャンレンジしてみたいです。単純に性能が良くて強いAIができるというのもあります。強いAIがあるとヒント機能など便利な機能として生かす事ができます。

 

今は参考書を読んで基本を勉強しています。新しいPCを買ったらtensorflowをインストールしてサンプルプログラムを動かしてみます。囲碁プログラムについては、過去の記事でも紹介したとおり「AQ」開発者である山口さんが公開された「Pyaq」を読んで勉強します。

 

懸案としては、ディープラーニングで学習したモデルをどうやってWeb(将来的にはAndroid、iOS)で動かせばよいか?というのがあります。tensorflowはC++のAPIをサポートしていますが、そのAPIを使うためのセットアップが大変そうです。ライブラリが機能豊富すぎて容量が大きくなるのも心配です。今のところ、tiny-dnn(https://github.com/tiny-dnn/tiny-dnnというC++のヘッダだけで使えるフレームワークを使うことで解決できるのではないかと考えています。日本の個人の方が開発されているフレームワークだそうです!!ただし、tensorflowのモデルをインポートする機能がないので(caffeからのインポートはあるのですが)、そこを自分で何とかする必要があります。C++の文法も再勉強しないとダメですね。C++14とか全く分からないです悲しい英語の勉強も(以下略)。

 

 

コメント

  1. かめかめ より:

    お年寄り向けに、操作しやすくて、気品があり、そして必ず勝てるアプリを開発してくださいますと、ありがたいです。
    かつて将棋・囲碁ファンだった方が、喜んで対局できるようなものを。
    二枚落ちで勝っても自信になりませんし、負けてるとガッカリしてしまいますので……。

PAGE TOP
タイトルとURLをコピーしました