0から始める入門囲碁アプリ
囲碁アプリを開発中です!
fe8787e9d6882315df7a2304a5dd86db.pngページへ移動
Twitter
Calendar
1234567
891011121314
15161718192021
22232425262728
293031    
<< July 2018 >>
New Entries
Recent Comment
Category
Archives
囲碁アプリの開発日記(22) 何となくできてきた

ディープラーニング系の話から一旦離れて従来のAI開発を行っていました。今は自宅から2駅のところに新しいコアワーキングスペースを借りてそこで作業を行っています。静かで集中できる良い場所なのですが、未だに私以外に使っている人を見たことがありません(10席あるのに!)。このまま使い続けて良いのかちょっと罪悪感があります(笑)

 

AIは弱いなりに一通り打てるようになりました。弱いといっても私よりは強いのでまずはこれで十分だと思います。あとは「私がAIより強くなる」→「私より強いAIを作る」の作業を繰り返していく予定です。私が強くなる過程を学習コンテンツの素材にしていけば一石二鳥になります。あと一週間ぐらいでWebで遊べるようにしたいですね。

 

あとは、個人的なモチベーションアップの施策として、囲碁関係のユーザ数や収益を公開していこうと思います。現在は0円です!Web版で1日100円くらい稼げたらいいですね有料1ゼロゼロ

 

posted by: ken1-fund | 囲碁 | 19:38 | comments(0) | trackbacks(0) |-
メールで掲示板等で頂いた質問への回答(1)

今回はメールで頂いた質問をブログで回答してみようと思います。メールで個別に返信しようとすると、色々悩んで数日過ぎた挙句、返信できなくなる事が多々あるからです。質問の内容はこちらで意訳させていただきました。

 

【質問】

勝ち切れ将棋は何故ヒントや正解がないのでしょうか?。掲示板で教えてもらうのはハードルが高いです。

 

【回答】

"正解"と"ヒント"を一緒にすると混乱するためそれぞれ分けて回答します。

 

>何故正解がないのか?

勝ち切れ将棋はプロ(又はアマチュア高段者)の棋譜を利用した問題集です。有利な局面を引き継いで相手の玉を詰ませば勝ちとなるため、どのような経路を辿っても勝てば正解となります。そのため単一の正解手順がありません。

 

>何故ヒント機能がないのか?

ヒント機能は将来的には実装する予定があります。ただし、いくつか懸案があり慎重になっています。

 

>懸案について

ひとつは技術的な問題です。ヒント機能を実装するには、現在の一番強いCPU(LV5 or 6)より大幅に強いCPUを作る必要があります。そうしないと「ヒント機能を使ったのに負けてしまった」という事があるためです。私が開発したリバーシのアプリにはヒント機能や解析機能がありますが懸念した事が起きており、アプリの評価を最低に下げられる事があります。そのため、中途半端に作るぐらいならCPUを1から作りなおすレベルで考えないとダメだなと思っています。

 

もうひとつは、掲示板のコミュニティ機能を損なうのではないか?という不安です。勝ち切れ将棋の掲示板は、自分が対局した棋譜を投稿してコメントしたり他の人に質問したりできます(現在はPC、タブレット端末のみ)。そのコミュニティ性は他の将棋アプリにはない独自のものであり、今後も重視していくつもりです。ヒント機能を作る事でその盛り上がりが欠けてしまうのではないか?という不安があります。

 

 

以上が回答となります。

 

 

posted by: ken1-fund | 将棋(色々) | 01:35 | comments(2) | trackbacks(0) |-
将皇(Flash版)のJava証明書を更新しました

将皇(Flash版)で使っているJavaアプレットの証明書が5月2日で切れるため先ほど更新しました(ぎりぎり)。IE限定の機能なのでほとんどの方には影響ないと思いますが、何か問題がありましたらご連絡頂けますと幸いです。

 

今回の更新でJavaアプレットに手を入れるのは最後になります。メンテが色々と大変でしたが、Javaで将棋を作らなければAndroid版を作る事はなかったですし、Android版の成功がなかったらiOS版もなかったわけで、私の人生に良い影響を与えてくれたことは間違いないです。本当に作って良かった!!

 

…と書いた後に不具合修正で手をいれるかもしれませんくもり

 

posted by: ken1-fund | 将皇(FLASH版) | 18:38 | comments(0) | trackbacks(0) |-
囲碁アプリの開発日記(21) 亀の歩みで

3か月ぶりの開発日記更新です。ちょっと気を抜くとあっという間に日が過ぎてしまって焦ります。日記を書いていなかっただけでインプット作業は少し行っていたので今回はそれを紹介していきますね。

 

■DeepLearning関係の勉強

DeepLearinngを使うと人間らしい手を打つという囲碁関係者の話を聞いていたので、どうせ作るならスキルアップも兼ねて勉強することにしました。本当に一からの勉強なのでどこから手を付ければよいか分からず悪戦苦闘しています。何冊か買った入門本の中ではこれが一番参考になりました。

 

Google Cloud Platformではじめる機械学習と深層学習

 

DeepLearningのサンプルプログラムを動かすには様々なソフトウェアのインストール必要です。それだけで挫折してしまいます。この本ではGoogle Cloud Platformを使う事で面倒な作業を減らしています。また、理論的な部分も初歩から丁寧に書いてあり何となく分かった気分になりました楽しい

 

次は囲碁プログラムでどのようにDeepLearningを使っているかの勉強です。そのものずばりな本があります。

 

最強囲碁AI アルファ碁 解体新書

 

1年前にこの本を買ったときは、内容が頭に入らずお蔵入りにしていました。DeepLearningの概要を理解してから読む事でようやく内容を理解できました。何となく理解したぐらいのレベルですが・・。余談ですが、この本の著者である大槻和史さんはコンピュータ将棋選手権で準優勝された方です。凄いと思うと同時に知的レベルの差を感じて若干凹みますねくもり

 

…といった感じです。実際にDeepLeariningを使った囲碁AIを作るにはまだ勉強が足りないと思います。ですが、いい加減に飽きてきましたので、途中でストップした囲碁アプリのUIの開発とAI(DeepLearning使わない版)の移植作業を再開する予定です。新しいオフィスを借りたのでそこで黙々と開発しようかなと楽しいブラウザで遊べる最低限の囲碁アプリ公開を目標に頑張ってみます。

 

posted by: ken1-fund | 囲碁 | 17:33 | comments(0) | trackbacks(0) |-
面倒くさい作業が増えた

将皇の問題配信で使っているGoogleのサーバ(AppEngine)でJava7が使えなくなるからJava8に移行してくれとアナウンスが来ました。Java7でデプロイしたプログラムは来年の1月で強制的にシャットダウンするという事です。( ´_ゝ`)フーンと思って移行方法を調べてみたところ芋づる式に作業が増える事が分かりテンションがガタ落ちです。とりあえずまとめてみます。

 

■Java7からJava8への移行方法について

 

Migrating from Java 7 to Java 8 Runtime

https://cloud.google.com/appengine/docs/standard/java/migrating-to-java8

 

をみるとappengine-web.xmlに<runtime>の設定を追加してデプロイすれば良い、とあるので早速試してみたところエラーがでました。「今使っている環境が最新でない(むしろかなり古い)ので最新にしてから考えよう!」と思い調べると、現在使っている「Google Plugin for Eclipse」が非サポートになっていた事を今更知りました。「Cloud Tools for Eclipse」に移行せよとのことです。

 

■Cloud Tools for Eclipseの移行方法について

 

Google Plugin for Eclipse からの移行

https://cloud.google.com/eclipse/docs/migrating-gpe?hl=ja

 

新しいソフトウェアをいくつかインストールする必要があります。普段なら面倒臭い作業ですが、開発環境を新しいPCに移行する必要が元々あったため、ちょうど良いきっかけになりました。手順に従って移行するといくつかエラーが発生します。エラーの内容をググって解決。解決した後にナレッジをまとめたQiitaを発見しました…。

 

Google Plugin for Eclipse から Cloud Tools for Eclipse への移行

https://qiita.com/kazuki1600/items/360f649d158cd81191c2

 

色々あったけどjava8でデプロイできました。と思ったら実行時エラーが発生。Java8でサポートしていないクラスがあるとのこと。使っていないので削除!削除!

 

今度は別のエラーが発生。これが一番の問題です。移行ガイドを再度読んでみたところ「Cloud Tools for Eclipse はエンティティ クラスを自動拡張しません」という一番がさらっと書いてあって、このせいでエラーが起きていました。端的にまとめるとDBアクセス系の関数が全部非サポートということです。移行の方法がさらっと書いてありましたが、Stackonverflowの事例を見た限りでは別のライブラリを使った方が早いみたいです。

 

DataNucleus JDO with Google Cloud Tools for Eclipse

https://stackoverflow.com/questions/43395026/datanucleus-jdo-with-google-cloud-tools-for-eclipse

 

それなりのプログラム修正が必要です。残念無念。しっかりしたテストも必要だし、この作業に集中しても半月以上かかる気がします。3か月くらいかけて少しずつ進めていこうと今は考えていますが、それにしても大幅なモチベダウンです。

 

posted by: ken1-fund | 将棋(色々) | 12:20 | comments(0) | trackbacks(0) |-