コンピュータ将棋議論

2.コンピュータ将棋についての疑問


 前章でコンピュータ将棋についての基礎的な理解はしていただけたと思います。
 しかし、本当に基礎的なことしか書いていませんので、あれだけでコンピュータ将棋の全てが判るわけではありません。
 ここでは、実際にあったコンピュータ将棋についての疑問、質問をピックアップしていきます。
 回答はスレにあったものや白砂が調べたことなどで構成しています。「ウソをウソと見抜けないと……」ということで、故意にウソを書くことはありませんが、本当かどうかは判りません。間違ってたら教えて下さい。ただ、レスは都合上全文ではなく一部を抜いて転記しているところもあるので、投稿者の意図を100%反映していないかもしれません。特に本人からの指摘をお待ちします。

■ 定跡ファイルは定跡外しがあるから意味がない?

34 名前: 清水市代が本妻の男(謎) 投稿日: 2000/11/22(水) 02:21
序盤に関して言えば、鬼ほど定跡を詰め込む事で対処出来そうですけどね。 
そのうち、アンチビールスソフトみたいに、 
インタネで毎週定跡ファイルのライブアップデートしてたりして。 
こうなって来ると手強いでしょうね。 

674 名前: 名無し名人 投稿日: 2001/08/24(金) 03:43 ID:???
定跡なんざ100万手いれようが200万手いれようが強くならねえよ。 
そんなの当然だろ。初手に36歩とでも指せばすべて無意味になるからな。 
特に弱い奴には効果なし。 

 どっちが正しいんだ一体……?

 両方正しい、というのが正直な感想です。個人的には前者寄りですが。
 というのも、現在言われている「定跡」と「定跡データベース」との間にはなんとなく理解にズレがあると思うからです。
 例えば、ここで言われている初手▲3六歩。これに対して△8四歩△3四歩△5四歩の3手がそれぞれ100手以上の変化を持って登録されているそうです。
 ただ、100手って少ないですよね? 矢倉や振り飛車に比べれば。
 674さんも、矢倉や振り飛車の定跡形になった時に定跡ファイルが意味をなさないとは思っていないと思います。じゃあ、仮に矢倉森下システムが10000手くらいの変化があったとして、それと同じくらい深く掘り下げた「初手▲3六歩定跡」があったとしたら、その定跡ファイルを持つ将棋ソフトに▲3六歩を指すことが「(定跡ファイルが)すべて無意味になる」ことでしょうか?

 要するに、こういうことだと思うんです。
 現在、人間が指している「定跡」をぶち込んで定跡ファイルを作成することには、ある程度の意味がある。
 しかし、コンピュータ将棋はまだまだ対応能力が人間のそれに比べて弱いので、定跡を外されると困る。
 そこで、コンピュータ将棋においては、定跡外しをも考えた「定跡データベース」を持たせてやる必要がある。

 例えば、初手▲8六歩。
 コンピュータが先手の場合、この手は悪手と教えておいた方がいいでしょう。
 しかし、人間が初手▲8六歩と指した場合、コンピュータがそれを完璧に咎めるのは容易ではないでしょう。△8四歩では▲7八金△8五歩▲同歩△同飛▲8七歩で、激しく手損しているもののそれ以上の損は先手にはありません。
 例えば、ここからプロが先手を持ってアマ初段が後手を持ったら、アマ初段はまず勝てないでしょう。アマ4段だったら? どうでしょうか……。個人的には、それくらいの棋力があればなんとかなるような気もするんですが、それでも損は微々たるものですからね。負けちゃうかもしれません。
 ですから、初手▲8六歩に対処するためには、△8四歩▲7八金△8五歩▲同歩△同飛▲8七歩で少しだけ有利、以下駒組み、として定跡ファイルを終わりにするか、△8四歩▲7八金△8五歩▲同歩△同飛▲8七歩以降の指し手、もしくはそれ以外の▲8六歩を咎める指し手を、矢倉や振り飛車のように深く研究してデータベース化するしかないんです。

195 名前: 名無し名人 投稿日: 01/12/19 22:53 ID:IU7WMLb6
定跡はずしも含めて定跡データベースをつくるのは常識の範囲だと思うんだが、将棋ソフトの開発者は本気でやってないんだろうなあ。

 つまり、定跡データベースを持たせるという発想が本質的に間違いなのではなく、定跡データベースに不備がありすぎるがためにアナが多いように見えるだけなんです。その不完全のものを捉えて「不完全」というのであればいいんです。そうではなく、不完全なものを捉えて「だからそういうことをやっててもムダ」というのは問題だと思います。定跡ファイルは外されると無意味、というのは、現在の定跡ファイル、及び人間が使っている意味での定跡という概念が強すぎるために生じる誤解でしょう。
 将来的には、序盤のどんな指し手にもある程度の変化を登録しておく、なんてことになるかもしれません。そうなった場合、定跡データベースは大いに役立つと思います。

 ただ、こういう指摘はあります。

467 :名無し名人 :02/09/03 00:58 ID:EWVQSd4v
現時点でほとんどのソフトは100万局入れてるよね。
これが100倍の1億局になっても、定跡でカバーできるの範囲は4〜5手しか伸びない。
定跡はあくまで補助なんじゃない?

 その通りで、中盤へ進めば進むにしたがって枝分かれは増えていくでしょうから、現在の倍の200万手を入れたら定跡でカバーできる範囲が倍になる、というわけではないでしょう。
 定跡データベースはあくまでも「補助」ですから、それでいいと思います。
 もっとも、今の定跡データベースに期待されているのは、現在の結論をもっと突き詰めることではなくて、現在カバーされていない範囲を埋めることのような気もします。だとすると、例えば200万手の定跡を入れればもっともっと「定跡外れ」されにくい定跡データベースができるのではないでしょうか。

 もちろん、もしそうなったらどんだけデカいデータベースになるんだとか、そんなでっかいファイル持てねぇぞとか、検索に時間がかかるんじゃあとか、そういった問題は考えられます。それはそれでまた技術的な問題になりますので議論をしていただければと思います。

■ 定跡をいくら入れたって、全部指しこなせるわけじゃないでしょ

 これもよく言われる話です。

726 名前: 35 投稿日: 02/03/03 00:27 ID:8qsVfduG
定跡無差別に100万手も登録したら、苦手戦形を選択する確立が増えるわけで、相当弱くなると思う。
定跡100万手とか登録して喜んでるソフトはもう伸びないだろう。すなわち思考部分の長所が大量の定跡で薄れる。
たくさん登録すれば強くなると思ってる奴は厨房(○○支部とかね)
ただでさえ中盤の大局観めちゃくちゃなソフトになんでもかんでも指しこなせるはずが無い。

730 名前: こくまろファン0001 投稿日: 02/03/03 02:37 ID:Y1jk3S5/
感覚がまったく違うのに100万手定跡もへったくれもないよね、確かに。
しかも、百万手っていっても、各手の評価がそのソフトにあっているかどうかまではきちんと検討できていないし。
ソフトと戦型の相性もあまり真剣には考えてないように見える。

激指は、その辺を実戦譜での出現確率と必要最小限の悪手指定で人手の省力化を図ってる。
柿木の標準定跡は、なかなか良い定跡評価をしてあるけど、苦手な矢倉とかを選択するようではだめだしなあ。
東大も、定跡はずしにはある程度は強いが、振飛車以外は定跡との相性がいまいちでぱっとしない。
が、金沢は実戦例のあまりない角交換定跡を狙ってくるから要注意だ。はめられる可能性大。
AI将棋は定跡をわざとはずして、相手ソフトの定跡データを無効化して序盤の厨房ぶりをついてくる。

構えと狙い次第で感覚はまったく違う。 
しかし、全般的にみてソフトはどの形でも無難に対応できるように駒得重視の超激辛風味にせざるを得ない。
よって定跡の裏の意味がわかっていないから、中途で定跡をはずされると、まったく見当違いのことをやり出す。

 コンピュータ将棋の弱点は確かにそこです。8五飛戦法とツノ銀中飛車を同じ感覚で指していいはずはありませんよね(笑)。ただ、そうであることに間違いはないんですが、それが本質的な意味でのコンピュータ将棋の弱点になるかというと果たしてどうでしょうか?
 特に、

187 名前: 名無し名人 投稿日: 02/05/05 20:51 ID:6K1Fjv9c
【序盤は定跡たくさん登録すりゃいい】みたいな風潮になってから停滞しまくり。今年も特に強くなったとは感じなかった。歩の連続ただ捨てや、理解不能な悪手も相変わらず。棋譜が出ると思うから見てみたら分かるよ。

 という指摘については疑問符がつきます。
 というのも、ご存知のことと思いますが、コンピュータ将棋選手権に出場している時のプログラムには、ほとんど定跡を積んでいないからです。東大将棋なんかですと数百手、というのを何かの記事で読んだことがあります。KCCの100万手定跡、というのがインパクトがあったせいでかどのソフトもいっぱい定跡を積んでいると思われがちですが、そんなことはないようです。
 理由は上記で言われていることと同じなようで、苦手な定跡に入り込んでしまうデメリットがあるからみたいです。例の「あっこたん切れ負け」関連の記事だったかで東大将棋の作者が言っていたように記憶しています。
 ですので、「定跡を登録すればいい→開発停滞」というのは全くの(とまで否定するのもアレなんですが)誤解でしょう。
 ちなみに、上記の誤解は、市販プログラムと大会プログラムが同一もしくは同質であるという誤解によって発生したものと思われます。大会版では勝ち負けだけを考えればいいので自分の土俵で戦うことを優先させますが、市販版ではいろんな人の要求に応えることを優先させる(=どんな戦形でもそつなく指しこなす)ため、またソフトのインパクトのため(笑)に様々な定跡を記憶しておく必要があるのでしょう。ひとっころの「こんなにちっちゃい携帯電話が出ました」合戦を思い出すのは白砂だけではないと思います(笑)。

 話を戻しますと。
 戦形によって指し手の感覚を変えないといけない、いう事実は存在すると思います。プロでもそれ故に△3二金戦法なんてのをするくらいですから(笑)。
 ただ、コンピュータは評価関数を複数持つことが可能になると思うので、そうなると定跡ごとに異なった評価関数(群)を呼ぶことは可能なように思います。そうなると、「異なった戦法を違った感覚で指しこなせない」から定跡ファイルを持つことに意味がない、という指摘は当てはまらなくなるかもしれません。評価関数を変化させることによって、コンピュータ将棋は全然違う人格になれるわけですから。
 こうなると、「それにしたって、居飛車はまだ指しこなせないでしょ」とかそういう話が出てくると思います。しかしそれは評価関数の正確さなどの話であって、もう定跡ファイル云々の話ではありません。正確に言うと、「たくさん定跡を持っていても意味がないかどうか」という議論とは別の次元の話になってしまうわけです。

 現在のところ、特に市販の将棋ソフトが定跡ファイルに振り回されている感があることは否定しません。
 しかし、それと「コンピュータ将棋における定跡データベース構築が方法論として正しいかどうか」という話とは違う話だと思います。

■ コンピュータの「寄せ」って、そんなに強くならないんじゃない?

289 名前: 投稿日: 02/05/07 14:13 ID:Q6US2jiQ
例えばオセロだと最期の30手は詰め将棋や等号で結ばれた数式のような決まった解を求める計算になって、そういう「解を求める」という算数のような分野においては人間よりコンピュータが強く、またその部分の割合が中盤の形勢判断より大きなウェイトを占めるから人間よりソフトが強いわけじゃん。

チェスだってやったことある人は分かると思うけど、将棋と終盤だいぶ違って何万パターンだかの詰め将棋の形があって、どうにかしてその形に持ってく勝負になるから、「その形に持ってく詰め将棋」が発生して、その部分においてコンピュータのが人間より強く、またその部分の重要度高いじゃん。

一方将棋はというと、チェスのように詰みの形プログラムするのは量が多すぎて現実的じゃないし……中略……チェスのように収束からプログラムしていく手法とるなら、仮に10年でコンピュータの速度1000倍になっても(ならんと思うが)100年くらいかかりそう。

291 名前: 名無し名人 投稿日: 02/05/07 14:19 ID:0rgi6ncI
 少なくても、終盤の詰み、詰めろ、必死の判定はコンピュータのが羽生さんより強くなる日は近いんでないかな?

292 名前: 名無し名人 投稿日: 02/05/07 14:31 ID:Q6US2jiQ
詰む形を詰ませることにおいてはよっぽど選択肢多い形で無い限りコンピュータのが強いよ。
ただ、局面見て1分以内に「この形は詰む」「これは詰まなさそう」と直感的に判断する能力はプロの終盤強い人には及びもしないけどね。
即ち「正確な詰めよ」「正確な必死」に関してはコンピュータのが羽生より強い。

結局詰みの形から全部の手を読んでさかのぼれる範囲でしかコンピュータの優位性は無いのではないかと思うのです。その「さかのぼれる範囲」がハードの進化によって人間の直観力超えるのはまだまだ先ではないかと思う。

294 名前: 名無し名人 投稿日: 02/05/07 14:40 ID:0rgi6ncI
 個人的にはこの「さかのぼれる範囲」がそのうち人間を超えるんじゃないかなと思っています。予想ですけど。

295 名前: 名無し名人 投稿日: 02/05/07 14:51 ID:Q6US2jiQ
うん、いつかは超えられると思うよ。
ただチェスと似てるからって分岐の数が10の何十乗ってレベルで違うから、今までの手法だとほんといつになるか分からない。

 FAQでも書いたことですが、まず、詰みと寄せは違います。混同している人がいないとも限らないので一応書いておきます。
 それを踏まえた上で、寄せについての話題です。

 上記のやりとりは「チェスで通用した「終盤データベース」が将棋で通用するか?」というものです。読んでいただければ判りますが、とりあえず「無理そう」という結論です。
 ただ、前章でも書いたことなんですが、寄る形というものを事前に読んでおいてデータベース化する、という作業はムダにはならないと思います。『光速の寄せ』のようなパターン化ですね。これは人間もやっている「寄せのお勉強」ですから、頻出手筋を1000や2000入れておくだけでだいぶ違うように思います。
 そこまで突き詰めた部分でなくても、美濃囲いに継ぎ桂とか矢倉囲いに▲2四桂とか▲4一銀とか、その程度の「知識」でしたら既に実装されているかもしれません。要するに、完全に一致することを目的としたデータベースではなく、形をパターン認識して、近いものについてそこに載っている指し手をとりあえず読んでみる、といった感じです。うまく勝ち筋に入ればムダな手を読まずに済みますし(笑)。

 現在のところ、終盤データベースについてはあまり考慮されていないように思います。詰将棋アルゴリズムは進歩したんですけどね……。
 寄せに関する評価関数がうまく実装できればそれに越したことはありません。ただ、人間だって終盤はある程度の「知識」を使って読みを進めていると思います。序盤のようなそれではなく「知識事典」としてのデータベースについて、もっと考慮されてもいいように思うのですがどうでしょうか?

■ 将棋プログラムを強くするのに、プログラミングテクニックは必要ない?

 そんな議論があったので抜き出しておきます。

321 名前: 名無し名人 投稿日: 02/05/09 07:49 ID:qyk4VObI
強い将棋プログラムを強くするために、特別なプログラミングテクニックなど必要ないよ。
プログラムの中に盛り込む新機軸の評価法や読み方さえ決定すれば、それをコーディングするのは割と肉体労働に近い。
問題はその新機軸の「評価法」や「読み方」のアイデアを考えつくことだ。これには将棋の実力と論理的思考力の両方が高いレベルで必要になってくる。
つまりただ強いだけでなく、つまりその強さの中身をちゃんと論理的に説明できなければならない。
コンピュータは論理的な説明しか理解できないからね。

323 名前: 名無し名人 投稿日: 02/05/09 09:03 ID:Q5P/H1c.
コーディングの上手さによって、探索速度は全然変わってくるよ。 

324 名前: 名無し名人 投稿日: 02/05/09 13:10 ID:xc4XoqdY
>>321って頭が硬そう 
肉体労働的な作業しかできないプログラマーなのかな 

325 名前: 名無し名人 投稿日: 02/05/09 17:31 ID:Ja0U5PTA
いや、>>321は割とマトモ。言ってることは正しいと思うよ。真っ当なプログラマならこう考える。 

ただ、実際のところはコーディングもあんまり無視できないよ。
プロファイル取って、重いところをこつこつ潰していくのが正しい態度かな。

328 名前: 名無し名人 投稿日: 02/05/09 18:16 ID:yRfD.TFA
>>325 
確かに、まともなプログラマかもしれないし、はじめは誰もがそういうアプローチをとろうとするだろうけど、それでは限界がある。天才はもっと将棋とは離れた学術的な理論を使おうとするし、読んで評価するなどという枠組みにはこだわらない。

今の将棋プログラムが321の言ってるような枠組みから抜けられてないとすれば、まだまだだと言わざるを得ない。やっぱ天才は将棋プログラムなんかに挑戦しないのかな。

平凡な発想よりももっと高いレベルを期待してるってこと。
YSSや激指とかのアルゴリズム見ても率直に、低レベルすぎと思ってしまう。
最適化アルゴリズムすらも使ってないようだし、数学的な解明もされてないようだ。 
まあ、YSSの終盤の評価関数はほんの少し数学的だし、激指の確率の統計はまだマシな発想かな。
言うはやすし、行うは難しなんだけどね。

348 名前: 321 投稿日: 02/05/10 10:05 ID:rENGs3VA
>>328 
>天才はもっと将棋とは離れた学術的な理論を使おうとするし、読んで評価するなどという枠組みにはこだわらない。
それを「新機軸の「評価法」や「読み方」」と私はいっているのですよ。ところが、これがなかなか難しいらしい。
斬新なアイデアはいろいろあるが、それを盛り込むと副作用が激しいのです。

だいたい、このテのプログラミングを趣味にしている人間は、泥臭いやり方ではなく、洗練された画期的なアルゴリズムで一発当ててやろうという野心をみんな持っているのですが、そうは成功しない。そして、それには「コーディングテクニック」よりも将棋の実力とそれを論理的に説明する能力の方が遙かに必要なのです。

349 名前: 名無し名人 投稿日: 02/05/10 10:17 ID:8AoLNtFo
将棋は得意だけどプログラムが苦手な人が自己PRをしているみたい

350 名前: 321 投稿日: 02/05/10 10:28 ID:rENGs3VA
いやいや、そういう意図はありませんよ。
ただ、大会上位の常連の将棋プログラムを作成している人たちは、すでに「コーディングテクニック」という意味では一定の水準をクリアしているプロばかりです(これから将棋ソフトの開発を始めようという人は、当然プログラミングの勉強から始めなければならないのは言うまでもありません)。
ただ、現在の将棋ソフトのレベルを飛躍的に発展させるようなブレイクスルーを起こしたいと思ったときに、「コーディングの天才」を連れてきても有効ではないのです。

 321さんの言いたいのは、

現在のアルゴリズムを発展強化させる方法でコンピュータ将棋を強くしていく場合、それに必要なのは、高い棋力を支える大局観、深い読みを論理的に説明できる能力だ。
それが判れば、それをプログラムするのは「プログラミングの神様」でなくても(おそらく)できると思われる。

 ということだと思います。
 もう一歩深読みをすると、「プログラムがそこそこできる人というのは少なくないが、「高い棋力を支える大局観、深い読みを論理的に説明できる能力」を持った人は数少ない。それが問題だ」ということが言いたかったのではないかと。
「特別なプログラミングテクニックなど必要ないよ」というのを「一定の水準以上のプログラミングテクニックを持っていれば、それ以上の」特別なプログラミングテクニックなど必要ないよ、という風に読み替えれば、よりいっそう理解が深まると思います。

 前章で拙い解説をした通り、現在のコンピュータ将棋は、評価関数の正確さと深い読みで勝負をしています。ところがなかなか正確な評価関数は作れないし、そんな不正確な評価をしていれば深読みの効果はさほど得られません。評価関数がある程度正確に局面を評価していれば読みが深くなることは絶大な力になりますが、勝手読みを20手先まで続けても意味がないのと同じです。
 というわけでつまるところ「正確な評価関数の作成」をすることがコンピュータ将棋を強くさせる一番の方法なのでしょうが、その方法の1つとして、「強い人の思考を参考にしよう」と考えたわけです。しかし今までのところ、強い人でも「なぜその手がいい手か」「どうしてその手を思いついたか」を論理的に説明できない。「駒が光った」とか言うわけですね(笑)。それじゃあコンピュータ将棋は強くなんねえよ、というのが321さんの主張だと思います。

「強い人の思考を参考にしよう」というのが正しい方向かどうかは別問題として(個人的には評価します)、もしその方向でいく場合、確かに一定水準以上のプログラミングテクニックは必要ないかもしれません。もちろん、あるに越したことはないですが。

■ 将棋プログラムを強くするのに、将棋の棋力は必要ない?

 前項の議論とは別に、こんな議論もありました。やはり抜き出してみます。

359 名前: 名無し名人 投稿日: 02/05/10 12:48 ID:6PsaX/n6
「画期的なアルゴリズム」に将棋の実力が必要とは思えないけどね。 
純粋に数学の力じゃないかな。 

360 名前: 名無し名人 投稿日: 02/05/10 13:07 ID:MAYT25is
最終形態の全ての手に最善手を指せるソフトなら数学だけだと思う
>>321は、こうきたらこうするみたいな現在のアルゴリズムの延長で考えているだけだと思う

361 名前: 名無し名人 投稿日: 02/05/10 14:29 ID:9p40frdE
意味不明だよ。
コンピュータっていうのは結局、最終的には数学で言うところの論理演算に帰着する訳で、っていうかコンピュータはそれしかできないぞ。数学以外の哲学とか、宗教とかで最善手がわかると信じている人がいるのか?

362 名前: 名無し名人 投稿日: 02/05/10 14:38 ID:tzz3j07s
ようするに経験にものを言わせたり、定跡に頼ったりするようなアルゴリズムじゃなくて、「厳密に証明された式を解いたら34歩が最善だった」というようなアルゴリズムってことでしょ。 

363 名前: 名無し名人 投稿日: 02/05/10 14:46 ID:9p40frdE
そんな当たり前のことを言って何か意味があるのか?
もし、将棋方程式(仮称)なるものが発見されて、それが正しいと証明されれば、最善手が計算により算出されるのは当たり前のことだ。

365 名前: 362 投稿日: 02/05/10 14:58 ID:tzz3j07s
だから、361に答えるという意味があったんだけど?
362のようなことを了解してるのなら、361が意味不明。何で360が意味不明なの?
360の言いたいところは、経験に頼るようなアルゴリズムを321が考えているから将棋の実力が必要だという話になるといったところだと思うけど。

366 名前: 名無し名人 投稿日: 02/05/10 15:23 ID:9p40frdE
>経験に頼るようなアルゴリズムを321が考えているから 
321はそんなこと考えているのか?自分にはそうは思えないが。
321は、将棋の強い人が自分がどのように指し手を決定しているのかを論理的に説明できれば将棋ソフト開発の参考になるという趣旨のことをいっているのではないのか。

それと>360が意味不明と思うのは、
「最善手を指せるソフトなら数学だけ」といっているが、コンピュータソフトは論理演算の手順を記述したものにすぎないのだから、ソフトは数学そのものなのではないのかということだ。
つまり、当たり前のことを言っているだけで何の意味もないから、発言の趣旨が理解できない。だから意味不明だと感じる。

367 名前: 362 投稿日: 02/05/10 15:35 ID:tzz3j07s
だから、360の言ってる数学ってのはそういう観点ではなくて、例えば、「飛車が取れる場合必ず飛車を取ったほうがいい」のような将棋の感覚を持ってる人がいたとして(かなりの初心者でしょうが)、それをプログラムに組み込む人がいるかもしれない。
でも、その将棋の感覚は数学じゃないといったところでしょう。

368 名前: 名無し名人 投稿日: 02/05/10 15:47 ID:9p40frdE
その考えが間違っている。
もし飛車をとった方が良いと考えているとしたなら、何故飛車を取った方が良いのかを論理的に説明できれば、その考えが正しいかを検証することができる可能性が高い。つまり将棋が強い人が上記のような論理的説明付けが可能であるなら、将棋プログラム開発には大いに役立つのではないのか。

369 名前: 362 投稿日: 02/05/10 15:59 ID:tzz3j07s
間違ってるかどうかはおいといて、意味不明ではなくなったようですね。
ならば、もうどうでもいいです。 

まあ、私は359なので、論理的説明付けは数学の力であって、将棋の実力が必要とは思わないですが。全く役に立たないとは言いませんが。

370 名前: 名無し名人 投稿日: 02/05/10 16:14 ID:9p40frdE
よく読んでくれよ。
例えるなら、1+1=2だ、これ以外の答えは考えられないと言われても、あっそ、そんな当たり前のこと言われても、無意味だけどなって思うだろ。そんな印象をもったということ。
それと、将棋というゲームをどのように考え解釈するかということが前提としてあり、そして、その考えを論理的に組み立てていかなければならない。まったく純粋に数学的解を求めること、つまり将棋方程式が可能なら、だれも苦労はしないし、それが可能ならノーベル賞ものだろう。
だから、将棋が強い人間が将棋というゲームをどのように論理的に思考しているのかを解明することは、将棋を論理的に解析するのに大いに役立つと考えるのが自然だろう。

371 名前: 362 投稿日: 02/05/10 16:26 ID:tzz3j07s
あーあ、やっぱり全然わかってないですね・・・
まあいいです。

まあ、これ以上言っても無駄だと思いますが、ちょっとだけ補足すると、確かに「コンピュータプログラムはすべて数学である」という点に関してだけ言わせてもらえば、ある意味あなたの言ってることは正しいです。ただ、360はそんなことを意図して言ってるのではないし、全然別の観点から言ってると思います。

373 名前: 名無し名人 投稿日: 02/05/10 16:34 ID:99ell1Ls
将棋がどういう問題か、というのがわかれば数学の問題になるけど、将棋はまだそれがわかってない段階でしょ。
あるいは、証明問題に例えるなら、ゴールはわかっててもサブゴールがわかってない状態。

374 名前: 名無し名人 投稿日: 02/05/10 16:35 ID:opj/Am3c
将棋は芸術でも無ければ哲学でも無いし、しょせんは複雑なパズルゲームの1つにすぎない。
変化のパターンはとても多いが有限であり計算で求めることが可能だろう。それを解く人は将棋のルールは知っていなければならないが将棋が上手い必要は無いと思う。
SF的ではあるが、コンピュータが自分自信で与えられた問題の解法を自動的に求めることができる日がくれば、人間がソフトを作らなくてもコンピュータが解法(370が言う将棋方程式と呼んでも良い)を見つけてくれるかもしれない。

375 名前: 名無し名人 投稿日: 02/05/10 16:39 ID:6xspMmAw
全てのパターンを求めるのは現状のコンピュータ理論の元ではまず無理でしょう。囲碁とかだと変化のパターンは、全宇宙の粒子よりも多いとか言われますし、それだけの情報を記憶することは絶対不可能ですから。

376 名前: 名無し名人 投稿日: 02/05/10 16:42 ID:9p40frdE
ようするにこういうことだと思う。

みんな::
最近の将棋プログラムは全然進歩していないね。どの将棋プログラムもドングリの背比べで、たいしたことないよな。
天才が将棋方程式を考えてその方程式の解法をアルゴリズム化すればいいんだよ。そうすれば最強さ、どんな局面においても最強間違いなしなのさ。
それに将棋ゲーム作成のプログラミングテクニックなんて必要ないのさ。
将棋の強い人間の手助けなんてまったくいらないよ、だって純粋に数学の問題なんだからさ。

第三者::
ところで、その将棋方程式って誰が作るの?
そんなもの、本当にできるの?

みんな::
沈黙・・・

377 名前: 362 投稿日: 02/05/10 16:47 ID:tzz3j07s
まあ、私は画期的なアルゴリズムと言っただけで、最強のアルゴリズムなどとつもりはないですけどね。360も多分極端な例を言ってるだけでしょうし。

378 名前: 名無し名人 投稿日: 02/05/10 16:58 ID:9p40frdE
発言の趣旨は、画期的なアルゴリズムだろうが、最強のアルゴリズムだろうが同じでしょう。中身が無くてだた、画期的とか言っているということにおいてはね。

380 名前: 名無し名人 投稿日: 02/05/10 19:00 ID:YQBBNlrE
将棋方程式とまでいかなくても、将棋というゲームの性質を論理あるいは数学の言葉で記述できれば、あとは将棋の知識はいらない。その後はアルゴリズムの世界、数学の世界になる。
ただ、将棋というゲームの性質を論理あるいは数学の言葉で記述するにはある程度の将棋の力は必要。
この記述がへぼければ(例:将棋は駒をたくさん取ったほうが勝つ)、いくらアルゴリズムが画期的でもコンピュータ将棋的にはあまり意味はない(人工知能的には有意義だろうけど。あと、もっとうまい記述に対してもこのアルゴリズムが使えるんなら大いに意味があるけど)。
ま、記述は完璧でも、いいアルゴリズムが発見されていない問題も腐るほどあるけどね。

 個人的には、イメージが湧きません(泣)。
 白砂は、もしもすっごい強い将棋ソフトができるとしたら、それは複数の評価関数をあわせ持ち、かつそれらの評価関数をどう使っていくかという評価関数を持ち、要するに結果としてけっこうな数の評価関数が必要になると思うんですよ。これは人間に置き換えれば判りやすいですよね? 矢倉と振り飛車と角換わりと横歩取りとで評価関数を分け、それぞれの序盤中盤終盤でさらに細分化し、とそういう感じです。極端なことを言うと、コンピュータに複数のことはできないだろうから、「それ専用」のアタマをいっぱい作って切り替える感じですね。
 ただ、ここで言っている話は、もうその次元を超えちゃってるわけですよね。定跡云々ってのがまずいらない、と。とにかく「将棋方程式」なり「画期的なアルゴリズム」なりに局面を入れると、そこで最善手が出力される、という感じを受けます。

 できんですかね……。

 というか、しらみつぶしとの区別化つかないんですよ、白砂には。
 いや、言い方がヘンかな? あくまでイメージとして、なんですが、将棋方程式、というと「完全解答」みたいな感じがしちゃうんですよ。単に「強い」だけだったら、白砂が先に言った「評価関数いっぱい持ち」とそんな変わんないと思うんです。……評価関数は、完全な解は出ないけどそこそこいい答を出す将棋方程式、って感じでいいんですよね? もうここが違うのかな?
 で、話を戻しますと、もしも将棋方程式が完全解だとすると、それとしらみつぶしとはどう違うのかと。というか、しらみつぶしより簡単に解が出せるのか、また、その解が正しいことをどう証明するのか? 完全解ってことは全ての変化がちゃんと考えられている(ピックアップ、ではなくて)ってことでしょう? でも、それが正しいことを証明するには、結局全部の局面で「確かに方程式の答はあってた」と証明しないといけないわけですよね。でもそれってしらみつぶしぢゃん、みたいな。
 いや、これについては解説を書く能力がないなぁ。どなたかうまいフォローをお願いします。


 議論的、というとなんかヘンな表現ですが、単純な疑問については別章で扱うつもりですので、ここでは議論になったものを取り上げるだけにとどめました。一応過去ログを漁った感じではこれくらいだったと思うのですが、他にもなにかあったらご報告下さい。