アカウント名:
パスワード:
この種のソフトは,マシンパワーもさることながら,「よりよい手を探すアルゴリズム」がキモだと思うのです.碁や将棋は,たとえばチェスよりも遥かに広い確率空間をもつので,要するに総当たり戦が使えないのです(よね?).
より良いアルゴリズムを作るのは,その素質のある人に限られる,と私は考えています.企業がプロジェクトチームで作ろうが,名棋士を呼ぼうが,一人のアルゴリズムの天才にはかないません.
したがって,ソースを公開したことで模倣者が出てきたとしても,再利用するしか能がない模倣者は,次のよりよいアルゴリズムにはかなわないのではないでしょうか.
> 要するに総当たり戦が使えないのです(よね?).
従来の強い将棋ソフトはアルゴリズム重視でしたが、Bonanzaは総当たり探索が大きな特徴ですよ。ある意味先行する他のソフトはCPUが遅かったころから開発されていたのに対して、後続の強みが発揮されている点だと思っています。
Bonanza:思考ルーチン/Wikipedia [wikipedia.org]全幅検索 Bonanza以前のコンピュータ将棋ソフトでは、その局面で可能なすべての指し手を評価する(全幅検索)のではなく、駒を取るなどの自然な指し手を重視して検索していた。これはすべての指し手を評価すると選択肢が膨大になり、現実的ではないと考えられていたからである。Bonanzaはその常識を覆し、全幅検索を実現することでこれまでのソフトが見落としていた(あるいは軽視していた)指し手に高い評価を与えることが可能となった。
>アルゴリズム重視
細かくいえばアルゴリズムというよりはストラテジ(重視)でしょうね。
それこそGoFのストラテジパターンのように、「場面ごとに適切なストラテジを動的に選ぶ」ように作られてて、その選びかたの旨さがその実装の強さに直結するということなのでしょう。無論どれくらいの深さまで探索するかもまたストラテジのひとつ。
そしてBonanzaのほうはそういうストラテジ選択をやらない、というアルゴリズムなのでしょう。
ほかにも「評価関数を自動生成」とか非常に興味深いですね。ソフト自身が強い自分をいかに自動生成するかっていう辺りが。棋譜データをいわゆる「学習」するソフトだということなのでしょう。
…というか粒度の違いかな。ふつうのソフトはストラテジ単位で(実行時に動的に)差し替えることで強くなろうとする。Bonanzaは差し替える単位がもうちょっと小さい「評価関数」だ、ということかなあ。
逆。名棋士が将棋アルゴリズムの天才なんです
失礼しました,まさにその通り...真に恐れるべきなのは,名棋士の頭ですね.
T/O
さほどどころか、無茶苦茶に弱いですよ。少なくとも最初の開発時点では、「ルールを知ってるだけ」レベルです。#あの当時の将棋が出来る知人中一番弱かったんじゃないかなあ……
Bonanza自体も、保木が本職側のアルゴリズムを応用して片手間に作ってみたら意外に強かったというだけで、特に将棋を熟知して作り込んだわけでもありませんし。(当時の他の方々とはアプローチの方向が違い、そのため他のプログラムに対し実力以上に強かったという面もあります。勿論それだけではなくそれなりの実力もあるアルゴリズムではありますが)
とりあえず本人は、「Bonanzaばっかり取り上げられて、本職(量子化学計算)の側がちっとも評価されん」とぼやいておりました。
一瞬、Bonanzaのアルゴリズムがキモいのかと思ってしまった。
#キモいアルゴリズムってどんなだろう。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
物事のやり方は一つではない -- Perlな人
アルゴリズムがキモ (スコア:4, すばらしい洞察)
この種のソフトは,マシンパワーもさることながら,
「よりよい手を探すアルゴリズム」
がキモだと思うのです.碁や将棋は,たとえばチェスよりも遥かに広い確率空間をもつので,
要するに総当たり戦が使えないのです(よね?).
より良いアルゴリズムを作るのは,その素質のある人に限られる,と私は考えています.
企業がプロジェクトチームで作ろうが,名棋士を呼ぼうが,一人のアルゴリズムの天才にはかないません.
したがって,ソースを公開したことで模倣者が出てきたとしても,再利用するしか能がない模倣者は,
次のよりよいアルゴリズムにはかなわないのではないでしょうか.
そうじゃないだろう!
Re:アルゴリズムがキモ (スコア:2, 参考になる)
> 要するに総当たり戦が使えないのです(よね?).
従来の強い将棋ソフトはアルゴリズム重視でしたが、Bonanzaは総当たり探索が大きな特徴ですよ。ある意味先行する他のソフトはCPUが遅かったころから開発されていたのに対して、後続の強みが発揮されている点だと思っています。
Bonanza:思考ルーチン/Wikipedia [wikipedia.org]
全幅検索
Bonanza以前のコンピュータ将棋ソフトでは、その局面で可能なすべての指し手を評価する(全幅検索)のではなく、駒を取るなどの自然な指し手を重視して検索していた。これはすべての指し手を評価すると選択肢が膨大になり、現実的ではないと考えられていたからである。Bonanzaはその常識を覆し、全幅検索を実現することでこれまでのソフトが見落としていた(あるいは軽視していた)指し手に高い評価を与えることが可能となった。
Re: (スコア:0)
>アルゴリズム重視
細かくいえばアルゴリズムというよりはストラテジ(重視)でしょうね。
それこそGoFのストラテジパターンのように、「場面ごとに適切なストラテジを動的に選ぶ」ように作られてて、その選びかたの旨さがその実装の強さに直結するということなのでしょう。無論どれくらいの深さまで探索するかもまたストラテジのひとつ。
そしてBonanzaのほうはそういうストラテジ選択をやらない、というアルゴリズムなのでしょう。
ほかにも「評価関数を自動生成」とか非常に興味深いですね。ソフト自身が強い自分をいかに自動生成するかっていう辺りが。棋譜データをいわゆる「学習」するソフトだということなのでしょう。
…というか粒度の違いかな。ふつうのソフトはストラテジ単位で(実行時に動的に)差し替えることで強くなろうとする。Bonanzaは差し替える単位がもうちょっと小さい「評価関数」だ、ということかなあ。
Re: (スコア:0)
逆。
名棋士が将棋アルゴリズムの天才なんです
Re:アルゴリズムがキモ (スコア:1)
失礼しました,まさにその通り...
真に恐れるべきなのは,名棋士の頭ですね.
そうじゃないだろう!
Bonanzaの作者は他の将棋ソフトの作者とは違って本人はさほど将棋が強くないんじゃなかった? (スコア:0)
T/O
Re:Bonanzaの作者は他の将棋ソフトの作者とは違って本人はさほど将棋が強くないんじゃなかった? (スコア:4, 興味深い)
さほどどころか、無茶苦茶に弱いですよ。少なくとも最初の開発時点では、「ルールを知ってるだけ」レベルです。
#あの当時の将棋が出来る知人中一番弱かったんじゃないかなあ……
Bonanza自体も、保木が本職側のアルゴリズムを応用して片手間に作ってみたら意外に強かったというだけで、特に将棋を熟知して作り込んだわけでもありませんし。
(当時の他の方々とはアプローチの方向が違い、そのため他のプログラムに対し実力以上に強かったという面もあります。勿論それだけではなくそれなりの実力もあるアルゴリズムではありますが)
とりあえず本人は、「Bonanzaばっかり取り上げられて、本職(量子化学計算)の側がちっとも評価されん」とぼやいておりました。
Re: (スコア:0)
一瞬、Bonanzaのアルゴリズムがキモいのかと思ってしまった。
#キモいアルゴリズムってどんなだろう。