世界コンピュータ将棋選手権・オープンな価値との葛藤 54
強い相手を乗り越えるのもまた一興、 部門より
コンピュータ将棋関連の暫定掲示板にて、世界コンピュータ将棋選手権における使用可能ライブラリ規程に関する議論が続いている。議論百出。結論を出すのは非常に難しいようだ。
これまで19回開催された世界コンピュータ将棋選手権では、思考部を自作することが出場の条件になっており、開発者はひとつのチームにしか加われないことになっている。これは例えば、同一のコンピュータ将棋ソフトウェアの複製が多数出場することによって一定の順位を占めてしまうような状況を防ぐために設定されているルールである。ある意味で当然のルールともいえるが、一方でオープンな技術の普及を妨げ、いわゆる「車輪の再発明」を招く側面もないとはいえなかった。
このルールをよりオープンなものにするために数年前から導入されているのが、ライブラリルールである。つまり、「使用可能ライブラリ」として登録されているものなら思考部でも共有できるようにしたのだ。このルール改正は参加者の増加や新技術の導入を促し、一定の成果を挙げた。
ところが今年になって、2006年の第16回選手権を制したBonanzaがライブラリとして登録され、物議を醸すことになった。こんな強いソフトが誰でも使えるものになってよいのか…。
多くの論点については掲示板にて語られているので、各位にはご一読をお願いしたい。筆者にとって興味があるのは、オープンであることの価値を共有するスラッシュドットのコミュニティにおいて、この議論がどのように評価されるのかということだ。コンピュータ将棋開発者のコミュニティがその外部のコミュニティとも価値観を共有できれば、より有意義な議論への発展が期待できる。
掲示板では対立する意見も多く交わされているが、フレームは1件も起きていない。コンピュータ将棋開発者のコミュニティのモラルの高さは驚異的だ。なお、この件についてはコンピュータ将棋協会(CSA)でも意見を募集している。
参考: コンピュータ将棋協会blog
門外漢がこの件を見て思ったこと (スコア:3, 興味深い)
Bonanzaライブラリ使用ソフトが次の大会を席巻してしまうことよりも、
そうなった後にBonanzaへ特別の対策をしたソフトが増える可能性の方が気になる。
競技性をあまり大切にしすぎると、大会環境への対応を重視しすぎたメタゲーム合戦に突入しないかと。
様々なソフトが参加する大会だからこそ、そういう偏った対策をしたプログラムを淘汰できるはずなので。
コンピュータ将棋って、そういうところとは距離をとって技術追求もやるという取り組みだと思うので、
掲示板の意見に競技性を重く見た意見が多いようだったのはバランス的にどうなのかなと。
既存の参加者はそういった競技至上主義には陥らないかもしれないけど、
ライブラリをどんどん活用する世代が過半を占めるようになると性質が変わってくる可能性はあると思う。
だからこそ、むしろ技術開発というお題目は大事にすべきかなーと。
Re: (スコア:0)
そのような競争の結果、進化したものが生き残る気がします
では、「Bonanzaライブラリ使用ソフト」を「AAA戦法」と読み替えてみます
「AAA戦法」が次の大会を席巻してしまうことよりも、
そうなった後に「AAA戦法」へ特別の対策をした「BBB戦法」が増える~~~~~~
これって、将棋進化の仕組みそのものでは?
Re:門外漢がこの件を見て思ったこと (スコア:1)
問題は、その「BBB戦法」対策のために打ち出された「CCC戦法」が「AAA戦法」に勝てるかどうか、ですね。
1を聞いて0を知れ!
Re: (スコア:0)
あまり問題があるように感じないのですが (スコア:3, すばらしい洞察)
ライブラリをレースのエンジンに例えればわかりやすいのですが。
レースエンジンのように「ウチのライブラリは**チームのみに提供する」となった場合、確かに不公平感が出てくるでしょう。
しかしながら「ライブラリを完全にオープン、使用フリーに限る」現状ならば、特に問題ないと思うのですが。
「ライブラリを適当にアセンブルしただけで勝てるようになる」と言った声もありますが、ライブラリが独占されていない以上「去年の最強ライブラリをベースにしたラインが、今年の最低ライン」になるだけの話でしょう。
そもそもライブラリのアセンブリもソレはソレで技術なワケで、勝っても問題ないとは思いますが。
実際問題アセンブリ技術だけで常勝するのはムリでしょう。よって、結局は「決定的に勝てる能力」を持つため新たなライブラリを作る必要が出てくるでしょう。
こんな感じで、特に問題ないように感じるのですが。いかがでしょうね?
借り物の技術力 VS オリジナリティー (スコア:1)
レースはモータースポーツっていうくらい、技術開発であると共にドライバーの技量を
競う場でもあるからね。極論すれば全く同じ性能のマシンで、全く同じチューニングでも
モータースポーツは成立しうる。
#スピード社の水着で独占された競泳みたいなもの?
これに対してコンピューター将棋は純粋に技術力とアイデアを競う場であるので、技術
なんかなくてもライブラリをパクッただけのチームが、自分で試行錯誤したユニークな
アイデアを実装したチームをズタボロに打ち負かすのは、本来の理念に反した物になる
恐れがあるんでしょう。
ライブラリ使用時の規定 (スコア:2, 興味深い)
ざっと見た感じですと
・ライブラリ登録時に、客観的な強度(レーティング?)を登録しておく
・ライブラリ使用者は、ライブラリの強度より数パーセント以上の効果がある改造をした場合に出場可能
・ヤミ使用者対策の審査は実行形式でチェックする(最近はPGA使用のものもあるそうですけどね
あたりで収束しませんかね
floodgateのレーティング [u-tokyo.ac.jp]って、厳密には客観的な強度にはならないかもしれませんけど
「オリジナルに対して一定の優位性がある」事を示せれば、厳密さはあまり必要に無いと思います。
Re:ライブラリ使用時の規定 (スコア:1, すばらしい洞察)
・同一/派生ライブラリ使用時は、その中で予備予選を行う
でいいんじゃない?
複数ライブラリをマルチスレッドで走らせている場合は、それぞれの予選に参加するってことでw
世界コンピュータ将棋選手権が何を目指しているのか (スコア:2)
何ごともそうだけど、理念がなければ結論なんて出るわけ無いでしょ。
「将棋の多様性の増加」ということならばライブラリ共有による均質化は避けるべきだし、
「コンピュータ将棋の普及」ということならばライブラリによる実装の容易化はむしろ推進すべきでしょう。
個人的には、こういう趣味のもので(特に本質的な部分での)車輪の再発明を嫌う精神が理解できないよ。
Re: (スコア:0)
レベルが上がれば自然と淘汰は進む (スコア:1, すばらしい洞察)
後者の場合競技者の淘汰が進み、ある種の寡占化が進むのは仕方ないところだろう。
ライブラリなどの場合も同じ。淘汰されて残るのはそんなに多くは無い。
例えばNHKで放送されている高校・大学のロボットコンテストは毎回ルールを変えて
新規性を呼ぶのと同時に寡占化を防ぐ意味合いもそこにはある。
極力不公平にならない様にと。
将棋の場合はそういう手段はできないので、寡占化を防ぎたければ
単にソースやライブラリを公開した「使われるだけのリソース」という次元から
抜け出る必要がある。技術の発展を望むのであれば、技術の内容の解説をも公開して蓄積し、
新たな技術的な思考を育みやすい環境を作るしかないだろう。
ただし、ライブラリ開発者にそれ(技術解説)を全部やれというのは酷なので、
最低限の解説だけに留め、その他の解説などの知的情報は興味のある人や、
知的情報を構築する役割の人を置いて積み重ねて、ユーザが利用しやすい環境を
作るという方向の方がいいと思う。
それでもまあ、ライブラリを使うだけの人は絶えないだろうが、それもまた
ユースウェア的な視野で許容し、将来的には競技のジャンルを分けるなどの工夫で
乗り切ればいいと思う。カーレースのジャンル分けの様に。
Re:レベルが上がれば自然と淘汰は進む (スコア:4, 興味深い)
強力なライブラリによって「技術力」と「勝敗」の逆転が起こりやすく
なる所に、不公平感というか「卑怯だ」という反応があるんじゃないかと。
「ライブラリを使うだけの人」に負けるなんて耐えられないという。
そういう反応をする人たちこそが、その世界を牽引してきたんだとは思うけど、
あまりそちらに配慮して規制をかけていくと内輪の名人芸大会になっちゃいますよ。
歯で缶切り世界大会!(いや缶切り使えよ)みたいな。
結局は主催者がどこを目指すかですねえ。
Re:レベルが上がれば自然と淘汰は進む (スコア:4, すばらしい洞察)
・ボナンザの丸コピーに近い物には意味がない。
・ボナンザを進化させたものであれば意味がある。
・上記二つを巧く区別する方法がない。
という状況下で、区別できないから全廃とか、いずれ淘汰されるから許可しちゃえよとか、
そういう話し合いをしてるのだと思いますが。
Re: (スコア:0)
特にこういうジャンルでは、感情的であることは悪徳とされるので。
Re:レベルが上がれば自然と淘汰は進む (スコア:1, 興味深い)
>強力なライブラリによって「技術力」と「勝敗」の逆転が起こりやすく
>なる所に、不公平感というか「卑怯だ」という反応があるんじゃないかと。
>「ライブラリを使うだけの人」に負けるなんて耐えられないという。
この辺はよくわかります。
優勝のネームバリューがあるのもわかるので
・思考コア部分(ライブラリっていうのか?)もきちんと自分で作った部門
・人のふんどし借りて、それに自分なりの改良を加えた部門
の2部門でそれぞれ優勝を決めて
最後に2部門優勝者を戦わせて
・やっぱりライブラリ以外に力を入れられる「ライブラリを使うだけの人」が勝ったね
・やっぱり内部ルーチンをきちんとわかってる「ライブラリを使った人」が勝ったね
って、どっちになるのか見てみたいですね。
Re: (スコア:0)
不公平感が起きるというのは。
ライブラリが低いレベルで留まる訳も無いし(それでは使われないので意味が無い)、
この手の競技のライブラリの能力は日々上がるだろうから、逆転現象はいつか起こる。
その逆転ポイントがどのレベルまで上がるか?は他の競技者との兼ね合いもあるけど
トップに近いレベルになるのが予想外というのは無理があったろうね。
だから、
>結局は主催者がどこを目指すかですねえ。
これに尽きるでしょう。幅広くやるならクラス分けは必要ですし。
脊髄反射 (スコア:0)
本筋から思いっきりそれますが、
高校じゃなく高専です・・・。
#高専ロボコンOBなので・・・
#NHKのロボコンは、高専、大学、ABUです
Re:脊髄反射 (スコア:1)
> #NHKのロボコンは、高専、大学、ABUです
大学ロボコンの優勝チームが、日本代表としてABUロボコンに行くわけですから、
競技もいっしょだし、大学とABUはロボコンとしては同じものじゃないかな。
高専ロボコンの地方大会と全国大会みたいなもん。
高専ロボコンは、最近の競技は2チームが完全にフィールドを分けられたタイムアタック系が多いんですけど、
そういうのは見てて面白くないんですよね。トーナメントにする意味ないし。
結構当たりはずれがある。
一昨年の騎馬戦は直接対決で面白かったけど、そこまでいかなくてもいいから、
同じフィールド上でやるだけでも「陣取り」的なかけ引きが出てきてがぜん面白くなる。
そうやって見ている方は年々変わっていくのが面白いんだけど、
最近は競技が高度化しすぎている気がしてます。
多足歩行、自動ロボと手動ロボの2台での協調動作、無線での操作、などなど、
その分、やらなきゃならないことが増えたせいか、
最近の高専ロボコンは既存のモジュール流用が増えてる感じ。
昔はロボットのコントローラーは、タッパにトグルスイッチを付けたような自作まる出しな感じでしたけど、
最近はゲーム機のコントローラを流用とかが多いし。
Re: (スコア:0)
タイムアタック系はつまらないに同意。
まぁ、露骨な妨害目的のものを防ぐとか言う気なんだろうけど。
うちが現役だったころは、有線が禁止になったあたりだったので四苦八苦してましたが、
その後は、通信部分は少しの改良程度でほぼ使いまわしされてたな・・・。
今じゃ、ラジコンのモジュール使えるとか・・・。
コントローラーも味気なくなったな・・・。
昔はギター型とかあったのが懐かしい。
Re: (スコア:0)
え、何で?
プラスカルマの人間に唐突に高専死ねと言われる理由がいまいち分からないんだけど。
その発言に足るだけの正当な理由を言ってみてよ。
Re: (スコア:0)
#1636250 [srad.jp]が落としどころだとおもうんですけど。
そのおかげかどうか分からないですが、ロボコンってほとんど進歩してないですよね。
本当に人とサッカーやって勝つ気があるのかと。
Re: (スコア:0)
サッカーやってるのはRoboCupですよ。
Re: (スコア:0)
ロボコンとロボカップはずいぶんと趣旨が違うようですね。
車輪の再発明って… (スコア:1, すばらしい洞察)
競馬のセックスアローワンスと似てる? (スコア:1)
限られた開発時間の中で勝負すれば既存のライブラリを改良する人のほうが有利なはず。
ハンデつけたらだめかなあ。
ライブラリごとに点数をつけて、使ったライブラリの点数の合計分だけ持ち時間から引くなんてのはどうだろう。
ライブラリ使用者はアルゴリズムの改善だけでなく更なる高速化にも貢献することになり無駄な研究にはならない。
#第三者的観点としてはゲームなんだからある程度再発明マンセーでいいだろと思っている
強いライブラリって… (スコア:1, 参考になる)
四半世紀ぐらい前にASCIIでやってたオセロ選手権(正式名称忘れた)の話だったと思うのですが、ある人(森田さんだったと思うけど正直正確には覚えていない)のプログラムが次の年にバージョンアップして更に強くなったと言われる中、自分の古いプログラムと対戦したらなぜか古いほうが勝ってしまったみたいな話があったような覚えがあります。チューンする上でもバランスが難しいみたいな覚えがあるんですが誰か詳細覚えてる人いませんか?
Re:強いライブラリって… (スコア:4, 興味深い)
私も昔に押せろのプログラムを作っていた過去がありますが、思考回路以上にパラメーターのバランスは非常に重要です。
パラメーターを変化させれば、強さ弱さは変わりますが、それは絶対的な強さはわかるわけでもなく、
対戦相手の得手不得手によっても変わってくる結果でしかないので、チューニングが非常に難しかったです。
同じアルゴリズムと同じパラメーターで対戦させたところで、引き分けになるわけでもなく大差で勝負がつくこともあります。
ライブラリの思考回路に該当する部分は公開してもよいですが、パラメーターだけはノウハウの固まりなので、
対戦相手とかには絶対に教えたくない情報でしたね。
Re:強いライブラリって… (スコア:2, おもしろおかしい)
そのパラメータをおせーろ!
将棋の必勝法があるわけじゃないんだし (スコア:1)
ましてやオープン化でアルゴリズム公開されたら、寿命はものすごい勢いで短くなりそうだけどな。
Re:将棋の必勝法があるわけじゃないんだし (スコア:1, 興味深い)
あまりに強いと周辺系は育つけど、根幹部分は意外と育ち難いものだよ。
#LZHを改変して更なる効率化を図った‥とかいうのはあまり記憶に無い。
#ZIPとかは別系列だし。まあ必要充分だったのもあるけど。(改良しても微々)
Re:将棋の必勝法があるわけじゃないんだし (スコア:2, 参考になる)
> #LZHを改変して更なる効率化を図った‥とかいうのはあまり記憶に無い。
アルゴリズムの変更ではなく、パラメータの変更レベルですが、lh6とかlh7がありますよ。
でも、本家LHAでの、ベータ版での非公式な改良だったため、
今では対応ソフトは結構多いと思いますが、
それでも公式には「LH6/LH7は使うな」ってことになるかと思います。
あとは、UNLHA32.DLL 独自の lhx なんてのもあります。
といったわけで、結局昔ながらの lh5 が、LZH の圧縮形式として一番使われている状況からして、
> あまりに強いと周辺系は育つけど、根幹部分は意外と育ち難いものだよ。
には、かなり同意します。
LZHとZIP(おふとぴ) (スコア:2, 参考になる)
> #ZIPとかは別系列だし。
(現在最も使われている)ZIPとLZHは同系統ですよ
lha開発中にコア部分をPDSで公開したので、それをパクってできたのがZIP。
(なので同じ脆弱性が見つかってる [srad.jp])
現在最も使われている、としたのは、現在ZIPはlzmaやppmdなど違う内部圧縮形式も扱えるようになっているため
また、7-zipや最新版GNU tar [mycom.co.jp]で使われているlzmaはlzhの改良といえるんじゃなかろうか
Re:LZHとZIP(おふとぴ) (スコア:1)
↑ごめん脆弱性の件は関係なかったぽい。でもコアの件は本当 [mie-u.ac.jp]
Re: (スコア:0)
余談として、奥村氏が書かれた本の一つに「LHAとZIP―圧縮アルゴリズム×プログラミング入門」というのがある。(2003/12刊)
読んでないので何とも言えないけど多少歴史的な記述はあるっぽい。
#もっとも、入門と書かれているが「入門書ではないと」Amazonユーザレビューが。(w
#まあ、C++言語は習熟しているのが前提で圧縮系は知らないという意味の入門なのだろう。
無問題 (スコア:1, すばらしい洞察)
・ライブラリを自作して勝負=ライブラリの優劣を競う
->勝ったライブラリの方が残る
・既存ライブラリを利用して製作=ライブラリ以外の部分の優劣
->ライブラリ以外のアルゴリズムなどが優秀な方が残る
どちらにせよ、将棋ソフトの改良に向かうんで問題無いと思います
Re: (スコア:0)
1強の戦略が寡占化した場合は局所解に陥ってしまう為、最適解に辿り着くのが難しくなる。
弱い物も含めて色々な戦略がある方が最終的には良い方向に向かう事が多い。
Re: (スコア:0)
将棋の場合は、最適解ではなく解(答えは1個)を探すものだと思っているのですが。
#二人零和有限確定完全情報ゲーム(Wikipedia) [wikipedia.org]
それはさておき、ライブラリに挑戦するものはいなくならないと思うので問題ないと思います
相手を読む (スコア:1)
相手の思考設計を棋譜から「読み取って」、自分の戦略を変えていくような設計(?)なんてのも、やっぱり既に使われてたりするんでしょうか。
それ面白そう (スコア:0)
エンジンごとの「特徴手」をデータベース化しておいて、
ヒットしたら「既知のハメ手」を試すっての。
#逆手に取られたりしてもまた面白そう
どうせ (スコア:0)
アンチボナンザライブラリが開発されて、それを使うだけの人が出てくるよ
それでも、やっぱり優れたものは頭一つ飛び出てくるんじゃないかな
長い視点で見てみようか (スコア:0)
いずれ、bonnanzaもやり尽くしたら
それを超えるアルゴリズムが開発されるだけ
それは、ボナンザがあると出てこない
アルゴリズムなのかい?
それとも、ボナンザが普及した方が
出てきやすいんだろうか?
それを予測する手段は無いし、
最適解の方向も解らないわけで
なんともいいようがない。
すぐに脆弱性とパッチの世界になる気が。 (スコア:0)
あるプログラムの一極化が起こった場合は、その思考パターンを突いて倒すプログラムが勝つと思います。
そこで一手先を読むなら、
そのプログラムを使う人はどういう振る舞いを狙われるかを想定した上で、そこを修正すればいい。
二手先を読むなら、
相手がどういう修正を施しているかを想定して、手つかずになりやすい点や安易な修正個所を狙う。
三手先を読むなら、
そのプログラムはすでに"既知"なので、 ある段階で、"未知"の別のプログラムを使った方が勝利を得やすいということになるはず。
クリティカルな用途ではWindowsのサーバーはもう使えない、とか、
もうPHPは危なすぎるから別のを使ってみようか的な。
もちろん、そういったコードのハッキング合戦が、人間に対して強い将棋プログラムを作るという目的から離れていく気はしますが、
プログラム同士なら競技は成立するはずです。
目的 (スコア:0)
今勝つことだけ求めて強いライブラリを使った所で大して進歩はしないだろう
その強さは研究の成果でないだけでなく、自分の功績ですらない
それがコンピュータ将棋に貢献するとは思えない
強い弱いの問題だけじゃなく新たな優れたアイディアを見つけなければ
プロ棋士を超えたりは出来ないだろう
オープンであることの価値 (スコア:0)
そうだったのか? 全然知らなかった。
アレげなニュースについて雑談するためのサイトだと思っていた。それとも、このサイトに集うというだけではない、コアな「コミュニティ」があるのだろうか。
Re: (スコア:0)
オープンと言うのは単にその手の話題が身近なだけという感が強いかな?
ま、タレコミ主も大して重点を置いてる部分じゃ無さそうだから、
「オープンソース等の取り組みが身近」程度の意味なんじゃないの?
Re: (スコア:0)
AppleやGoogleの独占的な活動に否定的でない意見も見られますし、
オープンであることの価値を共有しているわけではないと思います。
派生がいいことか (スコア:0)
FreeBonanza,OpenBonanza,NetBonanza
きっと、いろんなBonanzaが出てきますよ。
でね、こうしてライブラリを積み重ねていくうちに
ライブラリを使って強い戦略を実装する組と
戦略で使われるアルゴリズムを突き詰めていくカテゴリに分離されるんですよ。
何にせよ、参加者が楽しければいいと思うね。
Re:派生がいいことか (スコア:2, おもしろおかしい)
まとめて「Bonanza Bros.」と呼びましょう。
極端に技術寄りの見方 (スコア:0)
極論ですけど、たとえば「コピー元とまったく同じ動作をするが、実行速度が2倍」のソフトをもし書けたら、オリジナリティを認めてもいいんじゃないかなあ、と思いました。
結局、明確な線が最初からあるわけでなく、ここに線を引く「ことにしよう」という申し合わせがルールになるわけで、上みたいな例が認められないというのも不公平だとは思いませんけど。
見てる方とすれば (スコア:0)
ライブラリとかそういう問題はどうでもいいので、プロ棋士に勝てるソフトが早く出てくることを期待してしまいます。
熊坂学四段に勝てるくらいのソフト希望。