http://p.booklog.jp/book/11655
知能情報的に興味深い記事かも知らん。
ソフト将棋界にて「合議制」なるものがあると聞きまして。
ggってみたことを簡単にまとめてみた。
―――――――――――――――――――――――――――
A,B,Cがそれぞれ一番いいと結論を出した手を披露し合います。
A:「☗○○○」という手がいいお!
B:「☗~~~」という手がいいですね。
C:「☗○○○」という手やないん?
その後、多数決で手を決めます。
「☗○○○」⇒2票 「☗~~~」⇒1票
↓
「☗○○○」に決定
―――――――――――――――――――――――――――
んでこのシステムの特徴。
「合議することによって手を読む正確さが上がる」
「低スペのPC複数台でも十分なパフォーマンスが得られる」
だそうな。
要するに「複数人集まれば結局のとこ文殊の知恵ですねん」ってことですな、知らんけど。
将棋ソフトに関しての「合議制」とやらの話
Re: 将棋ソフトに関しての「合議制」とやらの話
おもしろいですね。
TSP 問題のような NP 困難な問題にも応用出来そうです。
しかしアレですね。 みんながみんなバラバラの解を出した場合はどうするんでしょうね。
A,B,C がそれぞれ似たようなアルゴリズムを持つ場合、似たような解を出すでしょう。
しかし、より多角的にアプローチを仕掛けた場合、バラバラの解を出す事も十分に考えられると思うのですが。
このあたりの調整がちょっと難しいような気がしなくもありません。
遺伝的アルゴリズムも、似たような問題を抱えてますね。
要するに「複数人集まれば結局のところ話がまとまらないねん」って事になりかねない気がします。
と、ちゃちゃを入れてみます。
TSP 問題のような NP 困難な問題にも応用出来そうです。
しかしアレですね。 みんながみんなバラバラの解を出した場合はどうするんでしょうね。
A,B,C がそれぞれ似たようなアルゴリズムを持つ場合、似たような解を出すでしょう。
しかし、より多角的にアプローチを仕掛けた場合、バラバラの解を出す事も十分に考えられると思うのですが。
このあたりの調整がちょっと難しいような気がしなくもありません。
遺伝的アルゴリズムも、似たような問題を抱えてますね。
要するに「複数人集まれば結局のところ話がまとまらないねん」って事になりかねない気がします。
と、ちゃちゃを入れてみます。
Re: 将棋ソフトに関しての「合議制」とやらの話
>へろりさん
>>しかしアレですね。 みんながみんなバラバラの解を出した場合はどうするんでしょうね。
そうですね、俺自身も気にはなっていたところです。
現実的な案としては「それぞれその手がどのぐらい良くなるかを数値として各々に出してもらい、一番優れたものを選び出す」ではないかと。
これだと精度が下がっちゃうので難しい問題ですけどね(´Д`)
>>しかしアレですね。 みんながみんなバラバラの解を出した場合はどうするんでしょうね。
そうですね、俺自身も気にはなっていたところです。
現実的な案としては「それぞれその手がどのぐらい良くなるかを数値として各々に出してもらい、一番優れたものを選び出す」ではないかと。
これだと精度が下がっちゃうので難しい問題ですけどね(´Д`)
Re: 将棋ソフトに関しての「合議制」とやらの話
たしかあから2010では
考慮時間を延長する。
各ソフトに重みをつける。
の2点で対応してたと思います。重みはコンピュータ将棋大会の順位を元にしてつけられたようです。
ちょっと残念だったのは、将棋クラスタに対する重みがテスト不十分で小さかったことですね。
http://blog.livedoor.jp/lunarmodule7/ar ... 21781.html
リソースを合議と並列化にどのように分配していくかがこれからのカギかもしれないです。
考慮時間を延長する。
各ソフトに重みをつける。
の2点で対応してたと思います。重みはコンピュータ将棋大会の順位を元にしてつけられたようです。
ちょっと残念だったのは、将棋クラスタに対する重みがテスト不十分で小さかったことですね。
http://blog.livedoor.jp/lunarmodule7/ar ... 21781.html
リソースを合議と並列化にどのように分配していくかがこれからのカギかもしれないです。
Re: 将棋ソフトに関しての「合議制」とやらの話
>nissyさん
なるほど!
アバウトな情報しか知らなかったので参考になりました。
言われてみれば重みをつけておけば一つの主導しているプログラムを他のプログラムがサポートしている形になって効率がいいですもんね。
今後の重みの配分の調整によってはもっと強くなりそうな。
なるほど!
アバウトな情報しか知らなかったので参考になりました。
言われてみれば重みをつけておけば一つの主導しているプログラムを他のプログラムがサポートしている形になって効率がいいですもんね。
今後の重みの配分の調整によってはもっと強くなりそうな。