将棋を打つプログラム(よく人と戦っている)は、
主に動けるものから状況的に最適なものを選ぶという方法をとっているのではないのですか?
今日国語の授業で将棋の話をして、
将棋をコンピューターと戦う的な話になったのですが、
先生は「あれは実際に前に棋士が打ったものを使っている」
と言っていたのですが、
主にどちらを使っていて、どちらが強いですか?
(一致するとは思いますが・・・)
私がソースを書くとしたら、その都度最適なものを選ぶようにつくると思うのですが・・・。
|||
Bonanza というソフトが、
何が最適かの判断パラメータに過去の棋譜情報を使い、大きな効果を挙げました。
http://ja.wikipedia.org/wiki/Bonanza
> ボナンザは元にした6万局の棋譜データから、評価関数のパラメータを自動生成している。
> 各盤面の判断となる評価関数が、強い棋士が実際に指した手と同じになるようなパラメータを探索する。以下の誤差関数 J を最小にするパラメータ v を最適化問題として探す。
> 「全幅探索」と「評価関数のパラメータの自動生成」は、2010年までには世界コンピュータ将棋選手権の上位ソフト全てがこの方法を導入するようになった。
----
何をもって最適と判断するかというパラメータを
過去の棋譜データから事前に決定しておくのであって、
対局中に似た棋譜を探すというわけではないという点はお間違えなきよう。
0 件のコメント:
コメントを投稿