囲碁アプリの開発日記(1)

4月から囲碁アプリの開発を始めました。とはいっても、AIを作る以前に囲碁をまともに打てる棋力もないので本当に1からのスタートです。備忘録代わりに色々書いていこうと思います。
まずは、プログラムを作る前にある程度の棋力がないと駄目かなと思い囲碁の勉強を始めました。入門本を買ったりスマホの囲碁アプリやWebで一通り学んでみました。
 

全然分からないし勝てないんですけど
やはり一筋縄ではいきませんね。しかし、初心者の気持ちが分かるこの時期は、アプリを開発するには一番良いタイミングなのかもしれません。先にアプリを開発して、その棋力にギリギリ勝てるAIを作って自分が強くなったらAIも強くするという開発スタイルの方が良いアプリが作れる気がしてきました。というわけで、囲碁の勉強はいったん中断orz
囲碁AIの方を先に作ろうと思い、参考になる情報をWEBから漁ってみました。山下さんの下記サイトが参考になると思います。
囲碁プログラムを作る人向けのリンク集
http://www.yss-aya.com/howtogo.html
囲碁AIは将棋AIと比べるとかなり難しい気がします(年のせいかも)。以前、モンテカルロ木探索の事を少し調べていた時に「人間らしい自然な弱さを実現するにはモンカルロ木じゃなくて、知識ベースの古いアルゴリズムを採用した方がよいのでは?」と少し思って、古い情報から調べたのですが、職人芸の雰囲気を感じてお腹いっぱいになりました。GNU GOのソースも長すぎて手に負えません(ライセンスがGPLだからどっちにしても使えませんが)。
「囲碁AIはワイには無理やったんや」と思い途方に暮れていたところ、ライセンスがMITのオープンソースを発見しました!しかもソースコードの記述が分かりやすく量も少ないです。これなら何とかなるかもしれません。
https://github.com/db3108/michi-c
まずは、このコードを理解してC#に移植する作業から始めてみます。1か月くらいで何とかしたいな~。

コメント

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