前回は、将棋プログラムの基盤として、駒の動きや盤面を管理する「将棋盤プログラム」のつくりかたについて、オブジェクト指向の観点から解説しました。(実際に将棋盤を完成させるには、まだまだつくる必要があるクラスがありますが…) 今回からはいよいよ、将棋の指し手をコンピュータに考えさせる人工知能プログラムのつくりかたに入っていきます。 人間はどのようにして次の一手を指すのか-人工知能プログラムをつくる前に 人工知能プログラムをつくる有力なアプローチの一つに、「人間の思考を真似ること」があります。このため、実際に人工知能による将棋の思考プログラムをつくる前に、まず人間の思考方法について考えることは重要です。 人間のプレイヤーはまず、現時点での将棋盤と持駒台の駒の配置を見て、次の指し手の候補を考えます。続いて、相手がどのような手を指すか、相手側になって考えます。さらに、その相手側の手に対して、自分がど
![将棋の人工知能をつくるには、まず棋士の思考を知るところから](https://cdn-ak-scissors.b.st-hatena.com/image/square/d0d6abc3b2f57822adbe206a9ca9f90061d80048/height=288;version=1;width=512/https%3A%2F%2Fxtech.nikkei.com%2Fit%2Fatcl%2Fcolumn%2F16%2F082600181%2F101700008%2F00.jpg%3F20220512)