将棋の階層化された戦略について
http://d.hatena.ne.jp/streakeagle/20071107/1194437125
GA勝!さんに反応されましたのでレスですが
階層化された戦略ってのは、「使用する評価関数を選択する OR 評価関数のパラメータを状況に合わせて変更する」といった感じで実現するものでしょうか*1。例えば「2筋を突破したいからその付近の駒の価値を高めにする」といった感じの。
このへんちょっと自分が考えてたのとは違いますね。
正確に書くと階層化された戦術かな。
コンピュータ将棋は戦術だけで、戦略が乏しいってのは、みんな思ってると思うんですよ。
そのことです。
具体的には、「流れ」とか「雰囲気」とか。広義には「相手の癖」「自分の癖」とかも含む。
将棋の知識がないので変なことを書いてるかもしれませんが、
長い詰め物に「絵になってるもの」があるんですよ。
そういうのは、証明数と逆証明数では認識できないわけです。人間は図形的に将棋の駒の配置を認識できるから
その絵としての配置に、詰めるヒントが隠されてると、現在の詰め将棋のアルゴリズムには認識できないわけです。
別の次元に情報がある感じ。
野球で考えると、今いるバッターを打ち取るとか、今投げてるピッチャーのボールを打ち返すってのは、戦術で、
確かに戦術を積分した結果が、試合運びになるし、それが戦略かもしれないけど、
他の要素がありますよね?
デッドボールの後とか、ホームランの後でピッチャーが気弱になってるから、真ん中の棒球狙えとか、
もっと時間的に長いスパンだと、前回の打席で変化球にタイミングがあってなかったから、今回も変化球を使えとか。
そういう時系列の情報が、まず現在のコンピュータ将棋に無いですよね?
完全に刹那主義で、今、最高の評価値が返る手を指せばいいって、近視眼的な戦術論だけで戦っている。
だから、駒得で得してると思ってたら、いつの間にか王様の周りに敵駒が迫ってて位取りされてコロリとか、
Bonanzaがアマ名人相手に、NECビックグローブの番組で二戦やってて、どっちも同じような負け方してたんですが、
あーゆーのが戦略負けと思うんですよね。
選手権でYSSが負けた、「いつのまにか飛車と角が王様の側に成り込んでた」なんて状況も、
人間に戦略負けしてる結果と思うんです。
人工無能を作るときも刹那的に来た文に反応するんじゃなくて、「話題」とか「相手の狙い」とかを時系列情報として持っておくと、
戦略的な会話ができるはずだし、人間はそういう会話をしていると思うんです。
そういうものを将棋でも考えないといかんのではないかと。
階層化されているってのは「私は、彼が車に乗り込むのを、黙って見ていた」って階層化された複文を処理できるのは
人間だけだと思うんですよ。動物にも信号の送り合いはできても、抽象化された一般化された概念は伝えられない。
ってことは、人間は脳の中に、時系列の概念を保持できていて、一般化
これは巡回してるAI研究者のブログの話なんかも参考にして自分なりに考えているんですが、
そうねえ。
たとえば、将棋で、右側からばかり敵が攻めてきたら、「左側に目を向ける」
みたいな、時系列なベクトルとしての動きを、今のコンピュータ将棋って認識してないと思うんですよ。
評価値の増減はαβ探索的に気にする、変化量の変化。
すなわち、評価値の変化速度とか加速度とか? それも空間に紐付いた形の。
監視カメラとかで、なにか動いたときにフロー解析って言うのかな? 物体の動きをベクトルで認識するみたいな、
将棋の駒の動きをフローで認識して、相手の動きを認識するみたいな感じかな?
一度動き出した駒には加速度が出ていて、すぐには止まらないんですよ。
だからこそ人間は一直線の読みが出来るんでは?
コンピュータは駒の動きをベクトルでとらえてないから、ばらばらに全ての駒の動きを読むから、
いつまでたっても一直線に読めない。
モンテカルロ囲碁のアルゴリズムを見ると、前回置いた石の周辺。その前に置いた石の周辺
を確率的に優先してるようですが、あのへんは多少、フロー解析の考え方が入ってると思うんです。
将棋は、前回動いた駒を取る手は確率が高いとか、キラー手とか、
その程度のフロー解析しかしてないと思うんです。
飛車が屈伸運動するのもフローが理解できてないからですよね
このへんは、GPW会場で良かったら議論しましょう。
GA勝!さんは、わりとことあるごとに「評価関数の精度を高める方向にモチベーションがある」って書かれてるんで、
それはそれで良いと思いますよ。たしかに現在のアルゴリズムが複雑に成りすぎてる感じはします。
いるかいらないか判らないような様々な特徴を全部評価関数にぶち込んで、重みをブラックボックスでいいから
ニューロ的に学習するのもありと思うんですよ。要は強ければいいわけだし。
どうやって考えてるかは二の次で。
人間は人間がどう考えてるか判らなくても人間を製造できますからね(^^;