ゆっくりするブログ

最近SNS中毒になっていたのでゆっくりしようと思って。

将棋AIは大変だ

「人間に勝つコンピュータ将棋の作り方」読んだのだがAI作るのは大変だ。まず、AIを組み込む前に現状の課題として、不具合解消と仕様変更があるので一旦それだけ修正してバージョンアップしよう。。

AIを作るにあたって盤面情報とか駒が移動可能かどうかをチェックする機構とかを変えないといけない気がする。この辺はObjective-Cのクラスを普通に使ってやっているので、AIの計算で同じ様に使うと速度的にヤバそうな気がする。

盤面情報は2次元配列で表現したりとか、C言語系のモノでやらないといけないんじゃないだろうか。今動いているものはそのままで別で作ればいいのかもしれないが、結構面倒そうだ。

そもそも、自分のアプリでは盤面情報を一元管理していなくて、全部指し手情報で進めている。今どこに何の駒があるのか全容を知っているのはユーザだけである。

後々の拡張の事を考えていなかったとは言え、ソースがガチガチでヤバすぎる。1年前に作ったものなのだが、当時の経験値としては我ながら頑張ったとは思うが、正直全部破棄して作り直したいとさえ思う。

とりあえず、GW中にAIは難しそうだ。