初めまして |
- 01: 名前:みや投稿日:2002/11/01(金) 16:48
- 始めまして。最近、将棋研究室のページを発見しました。よろしくお願いします。
私は、10数年前からの将棋ソフトファンです。将棋は弱く、プログラムもできませんが、 将棋ソフトに対する興味は並々ではありません。 この素晴らしいホームページに書かせていただいて、とても光栄です。
コンピュータ将棋議論のページに書かれている定跡についての内容は特に有益でした。 私は定跡ファイルを作成していて、時々自分のやっている作業が意味があるのか わからなくなるときがあったのですが、可能な限り多くの定跡を入力することも、 無意味だとは限らないと言うことがわかりました。 多くの定跡を入力するとき、その定跡がコンピュータの思考と相性が悪い場合、かえって 入れないほうがいいという問題を緩和するために、私の考えたアイディアがあります。 以前に山下宏氏の運営する掲示板に書いたときは、将棋プログラマの方から、簡潔にですが、 「いいアイディアですね」という意見をいただけました。 その方法とは、まず、コンピュータ将棋にとって得意な局面だけを集めた、数千から数万手 くらいの定跡を作ります。これを定跡Aとします。次に、可能な限り多くの定跡を入力した 100万手以上の定跡を作ります。これを定跡Bとします。現在の局面のデータがAにあるときは Aのみから指し、AにはなくBにはデータがあるときはBから指すというものです。 この方法で、少なくとも、定跡B1つを使用したときよりは、確実に強くなると、私は考えています。 しかし、2つの定跡ファイルを同時に持てる将棋ソフトはありませんし、将棋が弱い私は定跡Aを作る ことができません。私のアイディアは、どの程度将棋ソフトの棋力を上げることができるかについて、 ぜひ皆さんのご意見をお聞かせください。 現在市販されている将棋ソフトの100万手以上級の定跡は、プロが指した手をとにかく多く入力して いるらしいのですが、この方法では200万手くらいが限度でしょう。それ以上に多くの、例えば 500万手といった定跡を作るには、コンピュータに定跡ファイルを生成させるしかないと思いますが、 そのときは、上記のアイディアを応用し、500万手かそれ以上の定跡Cを作り、AにあるときはAから、 AになくBにあるときはBから、AにもBにもなくCにあるときはCから指し手を選ぶというのは どうでしょうか。
話は変わりますが、ホームページ中のFAQ13の答えの中で、「コンピュータ将棋は頭打ちの状態 でもある」という意見には反論させていただきます。 『コンピュータ将棋の進歩』という本の146ページに、ソフトの進化を考えず、ハードの進化のみ を考えた場合、「計算速度が10倍速くなるとレーティングが200上がる」と書かれています。 これを言いかえると「計算速度が3.162・・・倍速くなるとレーティングが100上がる」 ということになります。 2年前と今では、将棋ソフトのレーティングは100は確実に上がっています。CPUの計算速度は、 ここ2年では2倍程度にしかなっていません。 この計算から、私は将棋ソフトは現在も進化していると思っています。ご意見お聞かせください。
- 02: 名前:白砂 青松投稿日:2002/11/01(金) 18:27
- はじめまして。白砂です。
定跡ファイルのことについては、多分、リアルタイムで読んでます。白砂もなるほど……と思った記憶があります。 ただ、ABなりABCなりと分けずとも、好手悪手度みたいなものを数値化しておけばそれで事足りるようにも思いました。 例えば、100点満点だとして、いわゆる定跡手は80点、定跡の中で好手なものは90点、分岐点でコンピュータが得意なものについては100点、とか。要は人間にとっての「定跡」とコンピュータにとって「必要な定跡」とは違うということなんで、それを悟れば(笑)それ用の定跡ファイルが組めるのではと思っています。どうしても今のコンピュータ将棋の定跡は「人間の定跡」という発想から抜け出ていなくて、まだまだ「定跡データベース」からは程遠いような気がしますし。
コンピュータ将棋の進歩に関してですが、もちろん、現在でもコンピュータ将棋は進歩していると思います。 ただ、例えば森田将棋が登場して極が登場してYSSや柿木が頑張って東大将棋が出てきて激指も現れて……という意味での「進歩」に比べると、非常に緩慢な印象があるんですよ(あくまでも印象ですけど)。 昔の森田将棋はホントに強かったです(ソフトの中では、ですけど(笑))。極の安定した強さ、YSSの終盤力、東大将棋の人間臭さ、どれも「うわ、強くなった!」と思いました。それらのソフトと今までのソフトとでは、明らかに実力が違うぜ! と感じたものです。 そういう強さがないんです。今は。 対戦成績で言えば、6−4とか7−3とか。昔のそれは9−1くらいなイメージでした。全然違うんです。 それに、現在のソフトは、新しいシステムやアルゴリズムを入れた、というより、従来のアイディアをきめ細かく作り込んだせいで強くなった、という感じがします。譬えは悪いですが、バグを取った強さみたいなもんです。それって、強くはなってるけど進歩や進化はしてないですよね? 本来だったら、そのアイディアを実装すればその強さは出せたはずなんですから。もちろんあくまで理論的な話ですけど(笑)。
そういう意味で、「ブレークスルーがない」という点から、「コンピュータ将棋は頭打ちの状態である」と書きました。この見解は間違ってはいないと信じていますし、確か『コンピュータ将棋の進歩』の2か3だかに同じようなことは書いてあったと思います。
コンピュータ将棋は強くなっているけれども進化していない、というのが白砂の見解です。
- 03: 名前:丸電ユキオ投稿日:2002/11/01(金) 21:30
- はじめまして、いつも楽しく拝見しています。
将棋ソフトの進化に関してはみやさんのいわれるようにハードの進歩から期待される R値の向上スピード(演算速度が5年で10倍。10倍の演算処理能力があれば約1 手深く読める。1手深く読めればR値は約200向上、でしたっけ?)を少し上回っ てR値が向上しているように思います。そういう意味では進化しているかもしれませ ん。 しかし白砂さんがいわれるようにたしかに頭打ちだ状態だなぁ、と感じるときもありま す。とにかく将棋ソフトの思考ルーチンで利用されているプログラムの技法は一部を のぞきほぼすべてチェスで考えられたものですし(アルファ・ベータ、反復深化、ハッ シュ表利用など)。たしかにバグフリーにして洗練化して強くなっているかな、と感じ る時も多々あります。今後はブレイクスルーが必要でしょうね。 棋力向上の体感速度(?)ですが、今のところ直線的に棋力は伸びてきているので は?と思っています。ドップラー効果と同じで自分の棋力付近を将棋ソフトが通過する とき一番早そうに見えるのではないかと思います(わけがわからないたとえですみま せん)。つまりアマ5級の人にとって、将棋ソフトがアマ初段からアマ三段になったこ とはほとんど体感できないのではないかということです(もちろんすでに今のコンピュ ータ将棋の進化のスピードは他人の解説なしでは理解できないです、私には)。 それが遠ざかれば遠ざかるほど、「あまり変化ないな」と。 いずれプロの解説なしではその棋力向上を理解できなくなり、そのプロ自身もいずれは 理解できなくなるという、ちょっと気の重たくなるような意見ですがどうでしょう? そう言えば将棋タウンの管理者さんが「東大将棋」の考察文で 「三段以下の人が4をやっても5をやっても違いが分からないかもしれないが、四段レ ベルの人が指せば、その違いをはっきり感じることができると思う」 といっておられたあたりが私の言いたいことかもしれません。
- 04: 名前:丸電ユキオ投稿日:2002/11/01(金) 21:48
- 参考までに。
将棋タウン/勝手に考察文/その十七 パソコンソフトの実力(東大将棋5) http://www.shogitown.com/book/consi/17soft7.html
- 05: 名前:うさぴょんの育ての親投稿日:2002/11/01(金) 22:29
- 一人の将棋プログラマとして、ものすごく大胆な意見を述べますが、「ブレークスルーがない」というのだったら、「実はもう10年以上前から頭打ち」なんですよ。たまたま、ある年に強いソフトが飛びぬけたように見えることもありますけれども、その差って、結局、「1年で進化する分」「細かいアイデアを作りこんだ分」くらいでしかないように思います。
もう少し穏健な意見も述べておくと、昔と比較して「致命的に欠けている部分が現在の将棋プログラムにはない」というだけなんじゃないでしょうか。
それから、新しいシステムとかアルゴリズムって、今でもちょっとずつ増えてると思いますよ。 ただ、その効果が上記の理由で今までよりも見えにくくなっているんじゃないかとは思いますが。
それから、みやさん、うさぴょんはデビュー以前から、定跡ファイルを複数持ち、それらの中の定跡を優先順位順に使うシステムになっていました。 本当にそれで効果があるか?というと、結局、対戦相手に応じて戦法を組替えるのが簡単、という程度にしか役に立っていません(^^; 白砂さんの言われているような、定跡に点数を与える方法よりも、差し替えが簡単であるというメリットはあります。
- 06: 名前:白砂 青松投稿日:2002/11/02(土) 08:10
- >>3 >>5
なるほど……。参考になりました。
将棋タウンは相互リンクもしているのでよく見てます。勝手に考察分も読みました。あれを読んで「5は買おうかなぁ」と真剣に悩んだものですが(笑)、結局3のままです(爆)。
>いずれプロの解説なしではその棋力向上を理解できなくなり、そのプロ自身もいずれは >理解できなくなるという、ちょっと気の重たくなるような意見ですがどうでしょう?
というのが来てしまう(ま、いつんなるか判んないですけど(笑))というのもなんか凄い気がします。 というか、そこまで行ったら必勝法探し状態だよなぁ……。
>本当にそれで効果があるか?というと、結局、対戦相手に応じて戦法を組替えるのが簡単、という程度にしか役に立っていません(^^;
この効果は全然考えてませんでした。そういやそうですよね。 ただ、できればコン君には「誰に対しても全方位的に戦う」姿勢でいてほしいと思っちゃうんですよね。上の話って、人間でいうところの、「コイツは7七桂戦法しかやってこないから角道開けんのやめよ」みたいなやつですよね、極論すると。白砂はユーザー側なんで(作る側に回りたいよぅ(泣))、そういう「対応型」よりは、単純にコン君に強くなってほしいと考えちゃいます。
あと、
>「ブレークスルーがない」というのだったら、「実はもう10年以上前から頭打ち」
というのは、言われてみて気づきました。 丸電さんの言うようにでっかいアイディアは全て借り物ですし、それに「将棋界独自のアイディア」は果たしてどれくらいあるか……。 というか、そんな細かい話より、最初の投稿は随分と無責任に書いちゃったなぁ……ということを反省しました。無責任というか、やっぱ主観を軸にしての話なんで、あんましよくないですね。
とりあえず、自分に対する罰として、『東大将棋5』と『AI2003』と『激指2』と『銀星将棋3』を買うつもりなんで許して下さい。 ……理由つけて衝動買いするだけじゃんか。
- 07: 名前:うさぴょんの育ての親投稿日:2002/11/02(土) 11:47
- うさぴょんの定跡の差し替えは実際には、結構複雑なことをやっていて、例えば大会では優先順位順に、
77桂→32金戦法(力戦中飛車)→ひねり飛車+立石流→20万手定跡
なんて感じでやってました。角道を空けてくれないときは、力戦中飛車を試みて、それもうまく誘導できないようなら、77桂に失敗した中途半端な局面からひねり飛車や立石流の定跡の類似局面を真似してみて、それもうまく行かないなら、でかい定跡をみる、ということになってたんですね。
でも、相手が二手目に42銀とか24歩とかやってくると、もう定跡としてはある意味無意味です(--;
それから、20万手定跡も、かなり適当に作ったものなので、今はもう「先手必勝」「後手必勝」とかいうように結論の出ているものが入ってるんですよねー。定跡の整備は、私みたいな実際の将棋のレベルの低いプログラマには頭痛いです。
うさぴょんに自動学習して欲しい(^^;
- 08: 名前:うさぴょんの育ての親投稿日:2002/11/02(土) 12:13
- 最初の投稿では、ちょっと過激に煽ってみたのですが、今度はもうちょっと本音ベースで書きます(^^;
「でっかいアイディア」とか「ブレークスルー」っていったい何?というのが気になります。
αβが変わってないとか言われると、チェスも含めて40年以上前から何にもブレークスルーがないことになっちゃうし(笑)
例えば、DeepBlueは一般に思われているよう(に私には思える…)な全幅探索を化け物のような高速ハードで行っただけのものではなく、選択的に読みを深くして間違いを犯しにくくするSingularExtensionというアイディアを使っていました。 「ブレークスルー」と呼ぶには小さいアイディアだったかも知れませんが、その効果はあって、カスパロフの勝負手を見抜いて正しいプレイをした(と言われている)わけですし。
YSSの手生成の手法のアイディアとか守備的な手を指すために一手パスして相手の最善手順と応手を考えてみるというアイディアだって、「ブレークスルー」と呼ぶには小さいアイディアだったかも知れませんが、YSSの初優勝(しかも全勝で)に結び付いたわけです。 #もっとも、あれも全勝の一因にはハードウェアの威力もあったと思いますが(^^;
「ブレークスルー」がないとかそんなに悲観的に見ないでも、今も地道に強くなってるんだなーと私は思ってます。 小さな小さなアイディアの積み重ねに見えるかも知れませんけど。
ほんとは、私みたいな時間のあまり使えない将棋プログラマは、自分でブレークスルーを起こすことを夢見ないと優勝なんか出来ないんですけどね(^^;;;;;;
- 09: 名前:白砂 青松投稿日:2002/11/02(土) 14:33
- うーん、なんだろ(<をい)。
白砂も本音ベースで言っちゃうと(笑)、
>αβが変わってないとか言われると、チェスも含めて40年以上前から何にもブレークスルーがないことになっちゃうし(笑) >YSSの手生成の手法のアイディアとか守備的な手を指すために一手パスして相手の最善手順と応手を考えてみるというアイディアだって
という2つのアイディアを比べると、実は後者の方が凄いかなぁ……なんて思うんですよ。いや、「凄い」ってのとは違うか。なんて言えばいいのかなぁ。 今まではある程度でたらめ読みだったわけじゃないですか。それを前向き枝刈りして、αβ法でもってもっと時間を省略して……みたいな。 その中で、単純に静的関数の大小だけで刈るんじゃなくて、そもそもコンピュータに判りそうもない手は読むのやめようぜとか、将棋のゲームシステムを考えればパスを読む手は有効だとか、そういうアイディアって凄いと思うんですよ。 森田将棋が強かったのって、多分「厚み」の概念を持ち込んだからじゃないかと白砂は思ってます。というか、それ以外ってそんなに変わんないんじゃないかなと(当人が聞いたら怒るだろーなぁ)。柿木みたいに知識ベースで勝負しようとか、そういうアイディアって、ちっちゃいんですけど「でっかい」と思うんですよ。
なんか変だな。よく判んなくなってきちゃった。
>「ブレークスルー」がないとかそんなに悲観的に見ないでも、今も地道に強くなってるんだなーと私は思ってます。 >小さな小さなアイディアの積み重ねに見えるかも知れませんけど。
というのには同感です。 ただ、「観客」の側としては、やっぱ派手なこと言って欲しいんですよねー。 ディープブルーだって、いろいろ細っかいことしてると思いますよ。でも、やっぱインパクトがあるのは「ばけもんコンピュータ」ですから(笑)。『背尾詰』にしても、かなりいろいろ工夫をしている、みたいなことは書かれていましたけど、みんな言うのは「共謀数」ですし(爆)。 やっぱかなり無責任な発想ですけどね(笑)。
p.s. とりあえず『激指2』、予約してしまいました(爆)。いいんか自分。
- 10: 名前:みや投稿日:2002/11/02(土) 15:50
- 白砂さん、丸電ユキオさん、うさぴょんの育ての親さん、お答えありがとうございました。
私の考えたアイディアは、もう実行した人がおられたんですね。考えついたときは 「ひょっとしたら画期的なアイディアなのでは?」と思い、山下氏の掲示板に書き込んだことが、 今はお恥ずかしいです。(笑) 定跡Aにコンピュータが得意な手を、定跡Bにプロ棋士が指した手を入れて、Aを優先的に指す という方法は、対コンピュータではほとんど効果がなかったとしても、人間のアマチュア5段以上 と対戦するようなときには、効果が大きいと思うのですがどうでしょうか。このことについては、 特にうさぴょんの育ての親さんに答えていただけたらうれしいです。
「ブレークスルー」があるのかないのかが議論になっていますが、私はあれだけ多くのプログラムが 参加している選手権で「激指」が数年で優勝を達成したのには、それなりに新しい技術があったので はないかと考えています。
- 11: 名前:うさぴょんの育ての親投稿日:2002/11/02(土) 21:34
- 好き放題書きます(…後で関係諸氏に頭を下げて回らないといけないかも知れませんが…)
森田将棋が強かったのって、評価関数に厚みの概念を持ち込んだことと、それによって速度を犠牲にしなかったこと、かなと思います。手の生成や局面の評価は、執念のアセンブラコードの塊と聞いた記憶があります。
YSSで行われているような前向き枝刈は、ハードウェアが貧弱だったころにはほとんど全てのチェスプログラムで行われていた方法だと思います。 ただ、YSSの「パスに対する応手」は新しいんじゃないかと思います。それから、YSSの0.5手延長は、アイディア自体は山下さんが独自に思いついたものだと思いますが、チェスの方面ではYSS以前に類似のものがあったような気がします…。でも、実は本当に山下さんがすごいのは、「0.5手延長を使い物になるようにしたこと」のような気がします。 ちなみに、今のチェスプログラムは、(基本的には全部の手を生成・評価するんですけど)選択的に浅い読みで打ち切りを行ったり、選択的に深い読みを行ったりするので、これも厳密には前向き枝刈と言えますね。
激指に関しては、激指のホームページに書いてある通り、局面の実現確率に応じた枝刈、というのが新しいアイディアですね。でも、そのアドバンテージって絶対的なものではない、というのはこの前のコンピュータ将棋王者決定戦の結果通り、かな。
細かい技術まで含めれば、上位のプログラムって、なんらかの新しい技術を大会ごとに持ち込んでると思いますよ。 その技術自体は、うまく行ったり行かなかったり、効果がとってもあったりあんまりうまく行かなかったり、いろいろだと思いますけど。 もしかして、実は、その年に一番うまくいくアイディアを思いついた人が優勝する?(笑)
p.s. 今、ふと思ったんですけど、チェスでブレークスルーを起こしたすごいアイディアって、実は終盤データベースなんじゃないかなぁ…。
- 12: 名前:うさぴょんの育ての親投稿日:2002/11/02(土) 21:40
- さて、定跡の話ですが、正直に言って、効果のほどは分かりません(^^;ごめんなさい。
ただ、実戦金沢将棋が筋違い角で乱戦模様にするのって、やっぱり人間の上級者相手に一発入れやすいからなんでしょうね。 もちろん、それだけで勝てるってもんではないですけど。
- 13: 名前:丸電ユキオ投稿日:2002/11/03(日) 09:52
- > とりあえず、自分に対する罰として、『東大将棋5』と『AI2003』と『激指2』と『銀
> 星将棋3』を買うつもりなんで許して下さい。
ぜひ対戦レビュー、お願いします。
> チェスでブレークスルーを起こしたすごいアイディアって、実は > 終盤データベースなんじゃないかなぁ…。
私は「反復進化」ってすごいなぁ、と思いました。人間棋士は絶対にあんな思考は しないし、ちょっと考えても「ええっ、そんな無駄なことすんの」と思うのに結果は単 純なαβより早いなんて。そしてどんなに強い人間棋士でも真似できない思考で すよね。他の技法については人間棋士の思考の模倣の域を出ていないという 印象です。終盤データベースは程度の差こそあれ人間のチェスプレイヤーなら誰で も持っているし。どれだけ棋力向上に貢献したかっていうことになると別だとは思い ます。確かに終盤データベースの威力は圧倒的。
> みやさんへ 定跡データベースについて。 現状の定跡データベースって膨大な「データベース」から現在局面を「キーワード」に して検索しヒットしたものを何らかの意味づけで評価し、最善手を決定するっていうこ とですよね。実は身近なところでは大手検索サイトでのキーワード検索なんかが似 たようなシステムだと思うのです。
たとえばGoogleで「コンピュータ将棋」をキーワードに検索すると 2,469,940,685ウェブページから検索して2,280ページにヒットして、「コンピュータ将 棋協会」のページを最有力関連ページとして提示してきます。この間0.2秒余り。 データベースの分割が検索サイトでされているかどうかわかりませんが、仮にあった としても最有力ページの決定には貢献していないように思います。
> 定跡Aにコンピュータが得意な手を、定跡Bにプロ棋士が指した手を入れて、Aを > 優先的に指すという方法は
先の定跡Aのデータすべての評価値を+100点、Bのデータすべての評価値を+50点 とかあらかじめつけてAとBを組み合わせたデータベースでも(サイズが大きくなりま すが)同じ結果を得ることができます。 これは先の白砂さんの書き込みと同じことを言っています。
これならば多くの将棋プログラムは採用していると思います。つまりある局面で 定跡にそった複数の有力手が存在する場合どちらを選択するかをあらかじめ評価 点をつけることによって決定する、ということです。
たとえば初手。 [データベースA] ▲7六歩 [データベースB] ▲2六歩
というのは [統一データベース] ▲7六歩 130点 ▲2六歩 120点
と同じことですよね。まあ、この場合初手7六歩ばかりをさすので実際は乱数をつか って或程度バラけるようにしないと「このソフトは毎回同じ手ばかりを指しやがる」とい われてしまいますが。
それにしても将棋の定跡のほうは総数せいぜい数百万、最終的に提示する 最善手はたかが数百手の中の一手。先の検索サイトの例をみる限り仮に定跡デ ータベースが数億以上になったとしても現在のマシン性能で十分短時間に解答は 出せるような気がします。 じゃ何でだれもそれをやらないんだっていうとそれだけのデータベースを作るために かかった時間と労力にみあった棋力向上が得られないと考えているからだと思いま す(やろうとしている人はいるようですが、それだけではだめですし)。
定跡データベースを分割しているプログラムは「うさぴょん」以外にもいくつかあるかと 思いますが、いまのところそのほうが「機械にとって」ではなく「人間にとって」管理 しやすいからだと思います。あるいはメモリの効率的運用のためとか。ちなみにわた しは登録しているデータベースが小さいので一つで済ましています。
将来的には将棋プログラムの思考において重要さがもっと序盤のほうにスライドして いって定跡データベースの研究が進むと思います。いまから優秀な定跡データベー スについて考えをめぐらせることは必要なことだとは思います。
うさぴょんの育ての親さん(このHN、長い^_^;)に、ということでしたが、ちょっと横槍入 れさせてもらいました。
- 14: 名前:白砂 青松投稿日:2002/11/05(火) 10:03
- 少しでっかい話になっちゃうんですけど、
「なんでコンピュータ将棋界全体でなんかしないのかなぁ」
というのは、よく考えるんです。 例えば棋譜形式1つ取ってみても、共通なのはcsa形式くらいで、事実上の標準であるkif形式に未対応のソフトもかなりあります。定跡データベースに至ってはほとんど全てのソフトでバラバラですよね。なんでこう、「全体で1つのものを作る」というプロジェクトが発動しないのかなぁ……と思っちゃうんです。 有効性はさておき、みやさんの提示している分割データベース方式については、将棋連盟と組めれば(れば、ですけど(笑))将棋が指された次の日には登録可能ですよね。提供とのからみがあるのであれば多少伸ばしてもいいですけど、そのへんは「自動化」が可能なはずです。市販のソフトでかしましい「定跡○万手」ってのも、データベース形式が統一されていれば意味のないことですよね。
現在のコンピュータ将棋界ってのは一枚岩というよりは同好会みたいな感じで、将棋界うんぬんというよりは個人の好きなことを特化させたい、という方向なんだと思います。それはそれでいいんですけど(そういうところからアイディアが生まれたりするわけですし)、もう少し、舵取りをしてくれてもいいんじゃないかなぁ……とは思います。 例えば、定跡データベースはもう柿木形式に統一! とかしちゃえば、インターネット上にそこそこいる「シコシコ手を登録している人」の苦労が報われる可能性は今より格段に上がりますよね。統一、でなくてもコンバーターでもいいです。とにかく、1つの○○に入れることにより、全てのソフトでその恩恵が受けられる、という形にして欲しいと思います。
まぁ、ユーザーの勝手な意見なんですけど。 開発者の方、もし見てたとしても、聞き流して下さって結構です。ホントに。すいませんマジで(←低姿勢(笑))。
- 15: 名前:あぼーん投稿日:2011/10/23(日) 17:46
- あぼーん
-
-
|
|