【資料】評価関数の応用的解釈
ここでは評価関数について考察していきたいと思います。
評価関数(ひょうかかんすう、英: evaluation function)とは、コンピュータにゲームをプレーさせるソフトウェアを開発する際に使われるプログラミング技術のひとつで、ゲームの局面の状態を静的に評価し数値に変換する関数のこと。
概要
評価関数を用いるプログラムは、局面の良し悪しを数値化し、それをもとにして着手を決定する。将棋やチェスでは駒の損得、オセロでは打つことができる場所の多さ、囲碁では陣地の大きさで評価関数を作る。
しかし、現実のゲームでは、単純なアルゴリズムでは測れない要素が複雑に関係し合うため、正確な局面の評価はできない。
そのため、着手ごとに枝分かれしていくゲーム木を作り、数手先の局面で評価関数を使用すること(探索)により、着手を決定する方法が用いられる。
原理的には、ゲーム開始から終了までの完全なゲーム木を再現できれば最善手を見つけることができる。しかし、完全なゲーム木は巨大であり、実際には扱うことはできない。そこでミニマックス法を使って探索を途中で終了したり、アルファ・ベータ法を使って枝数を減らし(枝刈り)探索の深さを伸ばす、といったアルゴリズム上の工夫が行われる。
素朴な評価関数の設計において、その精度はプログラマのゲームの理解力に依存する。
ゲームのどの要素を重視するか、取捨選択がプログラマに委ねられているためである。近年ではプログラマのゲームの理解だけに頼らない、大量のゲーム履歴データを用いた評価関数の設計の試みにより、精度が大幅に高まった。
将棋のソフトウェアであるBonanzaは、6万局の棋譜から評価関数を自動生成した。2006年5月に行われた第16回世界コンピュータ将棋選手権においてBonanzaが優勝した。これを機に、他の将棋ソフトウェアも大量の棋譜から評価関数を生成する手法を用いるようになった。
囲碁では 2006年、モンテカルロ法を応用しランダムに終局までをシミュレートし勝率の高かった着手を選択する手法を使ったソフトウェアCrazy Stoneが登場し、棋力が向上した。
英語のfunctionと日本語の関数
リバーシのアルゴリズム C++&Java対応―「探索アルゴリズム」「評価関数」の設計と実装 (I・O BOOKS)
- 作者: Seal Software
- 出版社/メーカー: 工学社
- 発売日: 2003/06
- メディア: 単行本
- 購入: 5人 クリック: 139回
- この商品を含むブログ (32件) を見る
ボナンザVS勝負脳―最強将棋ソフトは人間を超えるか (角川oneテーマ21)
- 作者: 保木邦仁,渡辺明
- 出版社/メーカー: 角川書店
- 発売日: 2007/08
- メディア: 新書
- 購入: 16人 クリック: 2,027回
- この商品を含むブログ (71件) を見る
まず「関数」という言葉について考えたいと思います。関数は英語のfunctionを数学で使われている用法に対応させて作り出した造語です。今では関数という表記が宛がわれていますが、昔は函数という表記でした。
函は「はこ(箱)」の事ですが、本来のfunctionという概念には、箱の意味合いはないですし、「関わる」という意味合いはfunctionという表現の中にはありますが、最も頻繁に使われる意味ではないと思います。
数学的に応用されて使われる以前の意味では、機能、働き、作用、目的などの意味が強いと思います。
恐らくですが、評価関数evaluation functionという用語を英語のネイティブスピーカーが使った場合、「評価の機能を果たすもの」みたいな意味合いがぼんやりと存在しているはずです。
日本語からイメージできるような、函(はこ)や数字の印象はfunctionという単語そのものからは浮かび上がってこないと思います。もしかすると幾分か関わるという感覚はイメージされるかもしれません。数に関するものという印象についても、あくまでその使用上の経験的知識に基づいてイメージがされるだけだと思います。functionの字義それ自体には関わる数とか箱のような数という意味合いはありません。訳語としては幾分余計な情報が入っています。
ともあれ熟語というのは全般的にはそのようなものです。
評価関数と社会科学
言葉の問題はともかく、評価関数という言葉は最近、将棋でプロ棋士とコンピュータ将棋の対局などでよく耳にします。
私が子供の頃、コンピュータ将棋で遊ぶというのは退屈で、時間の無駄遣い以外の何ものでもありませんでした。幾ら待ってもコンピュータが手を指してくれない上に、待っただけの手すら指してくれないわけです。それが今では、実際にプロ棋士がコンピュータ将棋に負かされてしまうという時代まで来ました。
その中でも山本一成さんが開発したPonanzaなど多くのソフトウェアが注目されています。評価関数という概念は、将棋に限らず、様々な業界、特に経営や経済、政治に関する事柄にも応用されると思います。
もしかすると、政府のあり方やマスメディアのあり方、企業のあり方、教育のあり方なども、人工知能理論や、社会工学理論、貨幣理論などと統合してかなり高度な評価関数(評価の機能を果たすもの)によって分析されるかもしれません。
幾つかの調査企業が膨大な人員をかけてアンケート調査などを行っています。これに対しては幾つかの問題点が直感的にすぐに考え付いたりしますが、もしかするとそのような感覚は私が子供の頃にコンピュータ将棋に感じた退屈に近い感覚かもしれません。
幾つかのマスメディアは様々な人々が考え出した評価関数に照らしあわせてもらい、高度に分析された方がよいと私は考えています。
ただ、実際に社会が評価関数にかけられるというのは将棋などのゲームの対局とは異なり簡単には考えられないでしょう。ただ、評価関数という概念がこれからどのような拡がりをみせてどのように応用されていくのかは注目されるべきものだと思います。