2012年3月6日火曜日

将棋ソフトを作ってみたい。

将棋ソフトを作ってみたい。

こんばんわ。

僕はAI将棋を持っていて、いつも対局しているのですが日に日に自分でも将棋ソフトをつくってみたいと感じました。

そこでいろいろ調べているのですが、なかなか作り方がわかりません。

作り方等が載っているサイトまたは、作り方を教えてくださいませんか?

お願いします。


|||



将棋のソフトを作るとなると、C言語あたりを使うことになると思います。

なのでまずはじめに、C言語で簡単なプログラムを作り慣れる必要があると思われます。



ある程度慣れてきたら、将棋のソフト作成になりますが、

まずはじめに、盤の作成と、駒の動きなどの将棋のルールについてのプログラム。



次に、、連続王手となる手を考えさせる、つまり、詰みがあるかどうかを判断させるプログラム。

詰みに至るまでのプロセスは、単純なパズルのため、組みやすいと思われます。



最後に、将棋の点数付けの方法。一般的なソフトは、序盤は定跡通りに動かし、それ以降は、盤面の動ける量と駒を点数化して得点をつけ、良い手を選んでいるようです。この際、罪の有無を先に判断させておくようにするのが良いでしょう。

個の点数付けというのが非常に厄介で、これの作成方法次第でソフトの強さが決まります。



画像グラフィックがどうでもよいのであれば、C言語のみで作れると思いますよ。



まず手始めに、○×ゲームなどの単純なゲームの点数付けについてプログラムを作る(アルゴリズムを学ぶ)のが良いと思います。

たぶん、本を買うとまずこの辺から始めていると思いますので。



|||



『コンピュータ将棋のアルゴリズム』



という書籍がございます。

分からないことだらけだと思いますが、

しっかり調べて勉強すれば、作れるのではないでしょうか?


|||



将棋プログラムの作り方

http://homepage1.nifty.com/Ike/usapyon/HowToMakeShogiProgram.html



(僕には全然理解できないw)



コンピュータ将棋協会へ問い合わせてみたら?マニアックすぎる・・・

http://www.computer-shogi.org/enter.html


|||



あなたのプログラミングの能力はどの程度でしょうか?

またアルゴリズム論などは十分に習熟しているのでしょうか?

どこから教えていいのか分かりません。

0 件のコメント:

コメントを投稿