コンピュータ将棋の「弱さ機能」について
 コンピュータ将棋ソフトのアルゴリズムが研究されて、以前に比べてソフトが効率的な手順で最善手を導き出すようになってきている。そして、それ以上の速度でハード面が革新的に進化して、計算速度、つまり読みの速さが格段に進化した。
 そういった進化を経て、今や家庭用PCでも「アマチュア強豪ですら勝つことが難しい」ような将棋ソフトが扱えるようになった。
 ソフトはどんどん強くなる。同じソフトでも、ハードが強化されればより強くなったりする。けれど、誰もが思うように、強いソフトほど売れるということではない。

 コンピュータ将棋の開発者はもともと、将棋界のために開発をしていたわけではない。ゲーム理論を基盤とした、優秀な調査解析アルゴリズムの研究の一環だ。つまり、何億通りものパターンから、最善のパターンを選ぶために、どうコンピュータに思考させることが効率的か、という仮説を立てて検証をする。そこに「将棋」というゲームが使われているというわけ。

 では将棋界の盛り上がりはあくまで副次的なものか、と言われると、そうでもない。日本将棋連盟の協賛を得て公開対局などを行えば、その開発自体が注目を浴び、活発になる可能性が高いし、なにより研究開発費の確保につながる可能性があるのが大きい。
 資金が確保できなければ、研究は行えない。そういうわけで、日本においては将棋を舞台にした研究開発が盛んに行われている(もちろん世界的には主にチェスが舞台となる)。
 もちろん開発者の中にはアマ有段の人も多いようで、愛好心から開発を始めているような人・グループも今では多いのかもしれないけれど(bonanzaのソースコードが公開されているため、開発競争に途中参入しやすい状況でもあるし)。

 話を戻して、強いソフトほど売れるわけではないのは明白であり、一般の人が楽しむためのソフト開発というのは別途行われる。アルゴリズムの研究を行っているような研究者達も、この点は無視できない。ソフトの売り上げが大きければ、次の研究開発費用に充てることができる。
 せっかくコンピュータ将棋選手権などで名前が売れたなら、それを利用したい。そこで生まれるのが「弱・中・強」などの一般向けの「レベル調整」だ。

 コンピュータを強くするのに日々苦労している研究者達だけれど、弱くするのにも実は困っているという。
 コンピュータの強さと弱さの仕組みについては長さ的にも知識的にも書けないけれど、例えば「強いモードでは7手先まで読むけれど、弱いモードでは3手先までしか読まない」というような単純なものではない。
 もちろんそれも重要な要素ではあるけれど、それだけではなかなか弱くならなかったりする。

 もう一つ重要な問題として「ソフトの癖」がしばしば挙げられる。これは若干説明が難しい。
 俺の知る範囲では、ソフトは駒や状況を「点数化」して評価し、次の一手を決定している。例えば3手先に出現しうる局面を並べてみて、そのうち「最低点の低い1手目(=相手が最善手を選択する仮定で、一番良い手)」を選択するという要領。
 この評価方法やアルゴリズムによって、ソフトには癖が出る。極端な例を出すと、飛車より歩に高い点数が割り振らていれば、積極的に飛車を捨てて歩を取りに行くということ。

 そういうコンピュータの「癖」が、特にレベル調整をしたときに色濃く出るのだと思う。弱くしたときに「こんな手はありえない」と一目で分かるような手が出てきて興ざめした、というような談話もしばしば見かける。
 おそらくそういう意味で言われていると思われるが、「コンピュータ将棋には自然な弱さが必要」という言葉をよく耳にする。

 でも、俺は思う。自然な弱さって、いったい何だ?

 コンピュータは人間と違って見落としをしない。意図的に見落とし(除外)をしようと思えば、人間ではまず生じないような見落としが生まれてしまう可能性がある。
 コンピュータは疲れないし、集中が途切れたりしない。人間がよくするミスはコンピュータには無い部分だし、わざと悪手を出そうと(アトランダムに悪手を指す)という設定をすれば、信じられないタイミングで悪手を指すかもしれない。
 だから、人間の級位者や低段者のような自然な弱さを出すのは難しい。というのが大方の主張だと思う。

 そこで逆に考えてみてほしい。じゃあ人間の弱さは「自然」で、興ざめしないようなものか、と。
 まず、見落としははっきり言って興ざめだと思う。人間同士でも興ざめであることが多いけれど、興ざめでないとすれば「この一局に勝ちたい」という気持ちが強くあるからだと思う。
 弱モードだからと言って、中盤のせめぎ合いから「あー飛車取り見逃してた。もう勝てないや投了」とか言われたんじゃあ話にならない。それは極端な例だが、まあ似たようなことが対人ではある。それがコンピュータの機能として成立するかと言えば、NOだろう。
 コンピュータに人間的な見落としが生じたとして、そこを突いて大勝利、というのがどれほどの達成感に繋がるかは分からない。ミスや疲れについても同じような考え方だ。

 コンピュータ将棋に弱さが必要、というのは基本的に同意するけれど、自然な弱さを演出することで人との対局と同じような楽しさを生もう、というのは到底無理なのではないか、ということだ。
 今のソフトの「弱さ」は、もう既によくできている。即座に負けにつながるようなミスはしていないし、実際に「低段者は負けるが、高段者なら勝てる」というようなレベル調整も実現している。それで十分だと思う。それで満足できないなら、ネット将棋を指せばいいんじゃないか。
 より人間に近い指し手を目指すなら、強さ別に「よくある悪手例」をデータベース化して、定跡ファイルと似たような形で組み込むことである程度は実現するんじゃないかと思っている。けれど、その労力を割くほどの得があるだろうか。

 一般向けのセールスを目指すなら、これ以上の「弱さ研究」を進めるより、激指がやっているような情報量や処理能力を活かして「定跡指南」や「現局面検討機能」のような方向に走るほうが、将棋ファンの支持を得やすいかもしれない。

 例えば多少不自然な弱さでも、ネット上で遊べる「ハム将棋」はそれなりに楽しいし、ルールや基本手筋の勉強ができて、初心者でも、対局マナーに自信が無い人も、気軽に対局できる。ソフトが初心者に対してできることは、既にそのあたりでほぼ完結していて、新たなブレイクスルーが無い限りはそこから先は無いんじゃないかと思う。
【2012/02/16 23:21】 | 考え事 | トラックバック(0) | コメント(0) | page top↑
<<「ノウハウは企業に蓄積」は本当に理想的か | ホーム | バレンタインデーを過ぎて>>
コメント
コメントの投稿












管理者にだけ表示を許可する

トラックバック
トラックバックURL
http://kaoru61.blog10.fc2.com/tb.php/578-11e95ed6
この記事にトラックバックする(FC2ブログユーザー)
| ホーム |