将棋コン開発進行


三目並べの人工知能を作ったおかげで人工知能の基礎がわかった。
それを応用して将棋のプログラムを休日で改修しようと考えている。
プログラムに限った話では無いが、正しいやり方というのは易しい。
(まれに人間の錯覚で正しい事が直感的でないこともあるけれど)
難しいプログラムと言うのは、たいていやり方が縺れているのだ。


将棋をあまり知らない人からすると、プロの将棋の棋譜があるから、
それを覚えて間違いなく指せば強いのではないかと考えたりする。
そして一度でも指した事があると、覚えた通りでない指し方を
相手にされると困ってしまうと言う事が分かってくる。
プロと同じようにさすには相手も相手のプロと同じに指さないと。


このへん、相手がプロの指し方から外れた時に自分はどう指すか、
そこで将棋は段々深くなっていく。
たとえば三目並べの話の戻ると、三目並べの局面はどのくらいか、
概算で9*8*7*6*5*4*3*2*1で362880局面と実に30万ある。
5手目で勝負がつく場合と7手目で勝負がつく場合はもう少し少ない。
また、ある局面は90度180度270度回転の相似形があるので、
9万局面以下に集約する事ができるだろう。
それで、コンピュータと三目並べをやって9万通り遊べるか。
もし最強の三目並べがあったとして、必ず勝つ手を選んでくるとする。
そうすると先手がどんな手にしても後手はひとつの手になるので、
すると遭遇する局面は9*7*5*3*1で945局面の4分の1で236局面。
勝つ事しか考えていないといかに世界が狭いかと言う事が分かる。


この世界の狭さ事こそが正しいやり方の簡単さに繋がっている。
何かを成すために先人の切り開いた同じ道を辿ると答えに辿り着く。
それだけじゃない何かがゲームの中にはあるんじゃないかと考えて、
じゃあ勝ちを目指す意外にどんな世界があるのか、
それをコンピューターでやってのけることはできないか、
この部分は未来系で考えて、まずは定跡将棋から作ってます。


🄫1999-2023 id:karmen