2017年4月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            

tweet

  • tweets

« 優勝だん | トップページ | ライブラリ論つづき:楽ちんは正義 »

ご提案:ライブラリルール改正の件

ライブラリルールの件でまた議論するそうで。私は例会出れるかどうかわからないので、自分の思うところをブログに書いておきます。

このブログの読者さんならご存知のことと思いますがいちおう説明しときますと、コンピュータ将棋選手権では通称「分家制限」というルールがあります。ボナンザのような既存のライブラリを自分のソフトの一部として使用して大会に参加してもよいのですが、ライブラリを使用したチーム(「分家」)は、一定数までしか予選通過できない、というルールです。特に今年は、決勝への分家通過制限数が「1」と大変厳しいものでした。大会に注目していた方なら「ponanzaと芝浦将棋はどちらか片方しか決勝に行けない」という話を目にされたかと思いますが、その根拠がこのルールです。この2チームは両方かなりの強豪でありながら、ボナンザをライブラリとして使用していたからです。

まず私の個人的立場から書きますと、分家制限はとにかくやめてほしい。私は昨年はボナンザライブラリを使用して参加しましたが、今年は分家制限が厳しくなったので、これを回避するためにいろいろ作り直したりしたんですが、えらい手間がかかりました。私にとってはこれはまったく無駄な作業で、二度とこんなことはやりたくない。

私は、コンピュータ将棋選手権は「将棋の強さを競う場である」と捉えています。その立場からすると、ライブラリを使用してるかどうかなんて全く関係なくて、とにかく「盤上で強い者が勝つ」が正しい姿だと信じている。それ以外の将棋に関係ない部分で、強いのに決勝に行けない、なんてことがあるのは絶対おかしいと思ってます。神聖なる将棋に対する冒とくである、と正直怒りすら覚えています。

私にとって唯一の目的は、「盤上で、神の一手に近づく」こと。それのみであって、他のことは眼中にありません。その目的のために必要なことがあれば躊躇なく何でもします。ライブラリを使用した方が強くなるなら、当然使う。その当然のことを事もあろうにルールで禁止するとは何事か!というスタンスです。

ところが一方、私とは異なる立場の人も大会参加者の中にけっこういる、というのも事実です。この件、2年前にさる掲示板で論争していました。スラッシュドットでも取り上げられたり 。残念ながらこの掲示板、なくなってしまって今は見えないんですが。

ある人たちは、コンピュータ将棋選手権を「将棋で競う場」でなく「プログラミング能力を競う場」と捉えているようです。プログラミングコンテストみたいなもの、というわけです。私自身はプログラミングコンテストには全く興味がないし、プログラミング能力を競うつもりもないので感覚がよくわからないのですが、たしかにそういう観点からすると、他人の書いたライブラリをそのまま流用するというのはルール違反と思えるのかもしれません。

この辺り2年前も大論争となったのですが、「将棋か、プログラミングか」でそもそも前提が異なるため、なかなか議論がまとまらなかった、という経緯があります。

じゃあ、というので「2種類別々の大会を開催したら?」という話もその時出ました。ですがこれも現実的には難しい。今の大会でも参加者は40チーム程度なので、これを2つに分けて各20チームずつ、とかでは寂しくなって大会が盛り上がらなくなってしまう。運営側の手間の問題もありますし。元々競技人口が多くないので、その中で仲間割れしてたりすると業界全体がジリ貧で共倒れになってしまうわけです。

そういうわけで、大会の形態としては今までと同じように「みんなが参加する、一つの大会」を維持しながらも、何とか異なる意見の人たちがそれぞれ納得して共存できるような形がないかなあ、ということを考えたいわけです。で一つ案を思いついたので、「こんな案はどうでしょうか」というのが今回の記事の主旨です。

アイデアとしては、「ライブラリ使用ありの場合となしの場合で、別々に表彰する」というものです。つまり、大会結果の表彰に「無差別部門」と「独自プログラム部門」を設ける。で、後者はライブラリを使用したチームは対象から除きます。言ってみれば、「2種類の大会を、別々に開催するのでなく、ワンシリーズの対局でまとめてやってしまう」というイメージです。

参加チームは大会エントリー時に、今と同じようにライブラリ使用の有無を申請します。ライブラリ使用有りのチームは、この時点で独自プログラム部門の対象からは外され、無差別部門にしか関わらなくなります。

分家の予選通過制限は、通過制限総枠数の半分、とします。決勝に8チーム進出するならば、計4チームまで、となります。形の上では分家制限が残ることになりますが、これは言い換えると、無差別部門・独自プロ部門それぞれの上位4チームは、必ず決勝に進める、ということです。決勝8チームが全部分家に独占されることもないし、分家の方が強いチームが多いのに1,2の分家チームしか進めない、ということもない。両部門共、決勝枠数は最低4は確保される、というわけです。ただ決勝戦は別々にやるのでなく、両部門合同でやってしまおう、という感じです。

なお今の制度では、使用しているライブラリの種類(ボナンザ/GPS/…)ごとにいくつまで、と決めていますが、そうではなくて使用しているライブラリの種類に関わらず計4チームまで、とします。なぜなら、ここで選びたいのは「無差別級の上位4チーム」だからです。

決勝戦は今と同じく8チーム総当たりで行う。ただ結果の順位をつける際に2通り行います。無差別級の方は今までどおり。独自プロ部門の方は、たとえば無差別級の1位がライブラリ使用のチームだったとするとそれは除いて、2位のチームを(それがライブラリ非使用なら)独自部門の1位とする、というわけです。

もう少し具体例を挙げましょうか。仮に来年の大会をこのルールでやったとします。で、決勝進出の8チームの顔ぶれも、対局結果も今年と同じだったとします。ただしボンクラーズはライブラリ使用だった、としましょう。

このとき、無差別級の順位は今年と同じで、以下となります:

1.ボンクラーズ
2.ボナンザ
3.習甦
4.激指
5.ponanza
6.GPS
 :

独自プロ部門の方は、ライブラリ使用チームを除きます。この例だとボンクラーズとponanzaが該当するので除くとして、順位は以下となります。なお当然、「本家」は除かないものとします。

1.ボナンザ
2.習甦
3.激指
4.GPS
5.Blunder
6.YSS
 :

で、この2通りを同時に表彰します。2つの間に優劣はつけない。いわば片方は将棋の順位、片方はプログラミングの順位で、別物ですから。

結局以上まとめると、今のルールとの変更点は2点のみ:

1)分家制限の枠数を「ライブラリの種類によらず、総枠数の半分」とする
2)表彰を2通り行う

で、他は変更なし、です。なので運営へのインパクトも最小限で済むと思います。

…という案なんですが、いかがでしょう?私がぱっと考えるに、どちらの考え方の人もそれなりに納得できるのでけっこういいかな、という気が一見するのですが。何か見落としとかあるかな?コメント等ありましたら遠慮なくどうぞ。

« 優勝だん | トップページ | ライブラリ論つづき:楽ちんは正義 »

将棋プロセサ」カテゴリの記事

コメント

ライブラリ枠が4と言うのは最大値と言う意味ならば良い案だと思います。枠数は3が良いとは個人的に思いますが。

>無差別部門・独自プロ部門それぞれの上位4チームは、必ず決勝に進める、ということです。

と言うことは仮に来年の二次予選で上位8位までを独自プログラムが占めても、5~8位のチームはライブラリ使用チームに決勝進出権を取られてしまう様に思えるのですが、伊藤さんのお考えはどちらなのでしょうか?

あ、勘違いしていました。最大4枠という意味ですね。
「独自と無差別の上位4位まで」を
「独自とライブラリの上位4位まで」と
読んでいました。

ご理解いただけたと思いますが、4は最大枠です。分家が0もありえます。

>枠数は3が良いとは個人的に思いますが。

これはどういう根拠から来ているのでしょうか?私の考えでは、「2種類の大会が共存するため、決勝枠を半分ずつシェアしている」というイメージなので、半分の4ずつ、が必須だと思っています。

棋力に直接関係ない部分(合法手生成、盤面データ、等)のみを使用する限り「分家縛り」は無しでもヨロシイのでは...と思います。

これにより敷居を低くし、純粋に強さを追求できる環境を提供できる...と言うことです。

速度も棋力に影響するという意味で、手生成も影響すると思いますよ。もっともGPSだってBOOST使ってるし、ボナだってmallocとか使ってますがこれもライブラリなので、既にみなさん棋力に影響するライブラリ使ってますが。

あ、いやもちろん悪いと言ってるわけじゃないですよ。ソフト開発の業務って、よそで作られた部品をいかにうまく自分のソフトに取り込んで使いこなすか、も重要な技術。既に似たようなソフトがあってそれを使えるのに、使わず(使えず)に「ライブラリ使ってません、自作しました」は、自慢にならないというよりむしろ愚か・滑稽。というか私の部下が業務でそんなバカな真似してたら即殴り倒しますけれども。

…私は部下に修正前BSDライセンスなコードを使われてしまって、後で始末に困った経験が(苦笑)。
そして、GPLでも同じ罠に…(--;

というわけで、殴り倒す前に「どういう事情があって既存のライブラリを使わなかったのか?」位は聞いてあげましょうよ(苦笑)。

プログラムコンテンストを否定のような文脈を感じましたが、

ライブラリを使っている場合にしても、
参考に作り替えた場合にしても、
例えばPonanzaは、高速化のプログラミングの技
ボンクラーズはクラスターの並列化の技
による上澄みをしているので、
結局は、プログラミングコンテストであることに
違いはないと思います。

結局は、長い年月をかけて1からエンジンを創り上げた人が、
ライブラリを使って一気に強いエンジンを作ってしまった人への嫉妬が根底にある気がします。

でも、この嫉妬を否定してしまうと、
競技としてのコンピュータ将棋の楽しさはかなり失われるのではないでしょうか?
強ければなんでもいいのであれば、
Bonanzaライブラリを使わないのは愚かかもしれない。
業務の開発であれば、開発期間の圧縮は
クライアントへの必要条件でしょう

ただ、ライブラリ使用でオリジナルのエンジンに勝ったとして、それで楽しいでしょうか?
参加差者が楽しいと思わないと、
競技自体が今後も続いて行くか疑問に思います

うさ親さん:業務だとたしかにライセンスの問題はありますね。ただ私のように個人で非営利で使うぶんには実質めったに問題にならないですが。
そういえば今気づきましたが、激指やYSSはボナンザ使えないんですね。商用禁止なので、大会は出れても商品としては売れない。でもまあお金儲けてるんだからそのくらいはしないとねw そこは私とは違います。

komiyaさん:すべての点に同意するわけではありませんが、いいとこ衝いた指摘だと思います。返信長くなりそうなので、コメントでなく後ほど記事で書きます。

3という数値に根拠があるわけではないです。ライブラリ使用チームには何らかの制限が必要だと思っただけです。1/2も切がよいという意外に意味はないと思います。決勝が10チームで争われるとするとライブラリ枠が最大5だと4/8よりも更に多すぎると感じます。
究極の目的が「神の一手に近づく」ことなら大半の棋士は自分で考えるより羽生名人に助言して貰った方が効率が良いです。
そうしないのは「『自分で』神の一手に近づく」事に意味があると棋士も観戦者も考えているからだと思います。
助言とライブラリ使用を同列に論ずることは勿論できませんが、似た意味は有ると考えます。

>1/2も切がよいという意外に意味はないと思います。

2つの大会を枠を同じにして対等に扱う、ということです。

>究極の目的が「神の一手に近づく」ことなら大半の棋士は自分で考えるより羽生名人に助言して貰った方が効率が良いです。

いや、それはさすがに違うでしょう。ほとんどの棋士は羽生さんの棋譜を並べて羽生さんの考え方を身につけようとしているはずですよ。「自分で」などとは誰も考えてないでしょう。そもそもそんなの無理だし。

助言とは*対局中に*外部から情報を得ること。ライブラリ利用は明らかに違います。事前研究に近いです。

ちなみに、大手プログラミングコンテストのグーグル社のものは、ライブラリを自由に使って回答できます。
http://code.google.com/codejam/
そのルールで十分な人気を博しています:)

http://code.google.com/codejam/faq.html
の Competing in a Round: Tools のとこの

Can I use code that I don't write during the contest?

As long as you have a license to use it, and it was written before the contest, yes.

ですね。

いいじゃないですか、これw ていうかこれなら、CSAでいう「登録」ライブラリでなくても、ライセンスさえOKならたとえばbonasseやblunder使ってもいい、ってことですよね。私もそれでいいと思いますけど。

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/507007/40365148

この記事へのトラックバック一覧です: ご提案:ライブラリルール改正の件:

« 優勝だん | トップページ | ライブラリ論つづき:楽ちんは正義 »