プロが教えるわが家の防犯対策術!

プログラミング初心者で、pythonを勉強し始めました。
まだまだ知らないことばかりですが、一通り文法は勉強し、なんとかコンソール上で将棋ゲームを作ることができました。ユーザー側が指すと、有効な手からランダムで一手返してくれます。
ここまで作り終えた時点で、自分で将棋AIを作ってみたくなりました。おそらく深層学習や機械学習などを勉強することになるとおもうのですが、どこから手をつけていいのかわかりません。
数多くの将棋AIが公開されてはいますが、C++などで書かれたものが多く、また知識不足で参考にすることもできないのが現状です。今後どのような方向性で勉強していけばいいのか。アドバイスを頂けないでしょうか。

A 回答 (3件)

pythonで機械学習を独学して、手書き入力文字、画像認識等を自分のパソコンで、学習させ、検証正解率がどの程度かを勉強しています。

AI囲碁の学習方法のアルゴリズムは少しは分かったという程度の物です。

AI将棋かつPythonとなると、書籍では将棋AIで学ぶディープラーニングが良書と思いますが、この本のAIはpythonとchainerで実装されており、本には一部のプログラムしか載っていないそうです。(Amazonの口コミを見ると分かります)

では 「今後どのような方向性で勉強していけばいいのか。」
①将棋AIについては、まず、プログラムの作りこみよりも、アルゴリズムがどうなっているかを理解する。(どういう学習方法なのか、どうやって学習方法かなど)

②pythonで機械学習、ディープラーニングの良書はいくつかあり、サンプルプログラム付きの本もあるので、それで勉強する。
(オライリー社の本は初心者にはハードルが高いので、避けた方が良いですよ)

(③将棋にこだわらないので有れば、AI囲碁の本の方がアルゴリズムは理解しやすい。)
(白と黒の置き方の問題なので)

ディープラーニングをやりだすと、keras,chainer,Tensor flow等を使うことになるので、その辺の知識も必要になってきます。


時間かかるけど、やっているうちに面白くなると思いますよ。
    • good
    • 1

> 自分で将棋AIを作ってみたくなりました。



プログラミングで将棋ゲームを作ったとしても、AIと言う事なら棋譜も相当数集めてデータ化しないとならないでしょう。
それにレベル設定もしなければ為らないだろうから、棋譜データもランク別に振り分けないと。
それと学習機能も必用になるし。
先は長いよ。
    • good
    • 0

今となっては内容が古くなってしまった将棋プログラミング入門書。


>コンピュータ将棋のアルゴリズム―最強アルゴリズムの探求とプログラミング (I・O BOOKS)
https://www.amazon.co.jp/%E3%82%B3%E3%83%B3%E3%8 …


 商品検索で見つけた本。

将棋AIで学ぶディープラーニング
https://www.amazon.co.jp/%E5%B0%86%E6%A3%8BAI%E3 …

 ディープラーニングの話をするとまた別の難しさが出てくるような。
 商品説明によればPythonで実装をするようだが。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!