• 検索結果がありません。

研究内容 99 Java を用いた京都将棋アプリの開発

N/A
N/A
Protected

Academic year: 2021

シェア "研究内容 99 Java を用いた京都将棋アプリの開発"

Copied!
1
0
0

読み込み中.... (全文を見る)

全文

(1)

99

Java を用いた京都将棋アプリの開発

情報論理工学研究室 野々下

1.

京都将棋は盤面縦横 5 マスの盤面を用いるミニ将 棋の一種である.京都将棋の最大の特徴は「香とと金」、

「銀と角」「金と桂」、「飛が歩」と王以外の駒の裏表 に異なる駒が書かれており,駒を動かすとその駒を裏 返すという特別なルールにより一手ごとに駒の性能 が変わる点である.将棋同様取った駒は打てるが,裏 表どちらで打ってもよく,二歩,行き所のない駒,打ち 歩詰めはいずれも禁止されていない.また,千日手は 同一譜面 4 回で引き分けである.

一手ごとに駒の性能が変わるという奥深い将棋 であるが、知名度が低くあまり研究されていない.ま た,既存の京都将棋の AI としては 2)があるが,あまり 強い AI では無い.そこで本研究では京都将棋のアプリ ケーションを作成し,強い AI を開発する.

2. 研究内容

本研究では Java を用いて,CPU との対戦ができ る京都将棋アプリケーションを開発する.京都将棋は, 通常の将棋と異なり駒の性能が毎回変わる為,駒の評 価値が通常の将棋と異なる.そこで,駒の評価値が異な CPU同士で対戦させ,最適となる評価基準を求める.

また,通常の将棋では,プロ棋士の定跡をデータベース 化し利用できるが,京都将棋の定跡は確立されていな いので,定跡データベースに変わる方法も検討しなけ ればならない.

3. 結果・考察

強いAIを作成するにはまず,駒の評価値を決めなけれ ばならない.本研究では評価値を決めるために,通常の将 棋の駒の評価値を裏表で平均を取った CPU(以下平均

CPU)と,対戦ごとに評価値を変動させるCPU(以下変動

CPU)2 つの異なった評価値を持つCPU作成し先手 後手100回ずつ対戦し評価値を決める.強いAIの判断と しては勝率8割で良いとする.

本研究では,京都将棋に最適な駒の評価値を求めるた め,平均CPUと各駒に表1に示す評価値を割り振った 変動CPUを対戦させた.表2に各CPU間で100回対 戦させた結果を示す.表2 より,パターンEの場合に 勝率7割が得られることが示される.

検証の結果,変動CPUどれか一つの駒の評価値を極端 に下げて実行すると敗北数が増えることがわかった.ま た,先手後手による勝率の変化があまりないこともわか った.このことから,5x5 の狭い盤面の京都将棋では駒そ れぞれが役割を持っており,評価値にあまり差はないと

考えられる.

1 各駒の評価値

評価値 香と 銀角 金桂 飛歩 平均 900 1400 950 1550 10000

A 500 2000 500 2000 10000 B 1500 300 1000 1000 10000 C 2000 1000 1400 1500 10000 D 1600 1800 1800 1600 10000 E 2400 2500 2500 2400 10000

2 平均CPUとの対戦結果(試行回数100) 変動CPU先手 変動CPU後手 勝率 勝率 A 40 52 8 43% 38 46 16 45%

B 44 42 10 51% 46 47 5 49%

C 55 40 5 61% 58 41 1 58%

D 63 29 8 68% 66 30 4 68%

E 69 26 5 72% 67 27 6 71%

4.

本研究では, 京都将棋のアプリケーションを作成し, 強い AI を作成した.本研究で作成した AI は,人間と戦わ せると十分な勝率を上げた.しかし,CPU 同士で戦わせた 結果,勝率は 7 割程度と目標の 8 割には達成できなかっ た.定跡が確立されれば定跡データベースを用いること により更に強い AI を作成することが可能になると考え られる.どのように定跡を確立するかは,今後の課題で ある.

参考文献

1) 池 泰弘 :Java 将棋のアルゴリズム, 工学社(2007) 2) 京 都 将 棋 , Nekomado Co. Ltd, (2015),

https://itunes.apple.com/jp/app/ /id1037596970?mt=8

参照

関連したドキュメント

従来の管理方法では、作業完了後に、圧力調整 器で残圧を確認し、養生テープに記載してボンベ に貼るのがルールであった(図

 本研究では,最善手の選択にまず MiniMax 法を用いた β 版のプログラムを作成し,β 版上で正し

将棋に類似したゲームの一つに京都将棋がある.京都将棋は 5x5 格子盤面,双方 5

本研究で作成したプログラムは ,Constants インターフェイス ,KomaMoves インターフェイス ,Player イ ンターフェイス ,GenerateMoves クラス ,Human クラス ,Koma

初期盤面

将棋や囲碁に代表されるボードゲームは二人零和完 全情報ゲームに分類されており、世界中に様々なバリエ ーションが存在する 2)

本研究では、 Java を用いてハルマの AI 戦を行うこと のできるプログラムを作成した。AI は着手可能手から

  しかし本研究ではモンテカルロ法を用いた AI を作成する以前の基本となる一定手数の 先読みを行うだけの CPU を作成する。この 方法の