将棋ソフトの開発者の棋力は大して高くない、と聞いたことがあります。
中には「なぜこのソフトがこの手を選んだのか、開発者である私にもわかりません」とか基本的な手筋や定跡を知らない、などという人もいるらしいです。
それなのに、なぜトッププロを負かし、現在では対プロ戦が終了してしまうほど、将棋ソフトは強くなったのでしょうか?
スポーツの世界では「名選手、名監督ならず」という言葉があります。
選手時代の実績と、監督としての手腕は別物、ということです。
たしかに、選手として大成しなかった人でもコーチや監督として率いたチームや教え子が非常に良い成績を修めた例はたくさんあります。これは教え方が上手、とか選手のやる気や潜在能力を引き出すのがうまい、ということが起因しているわけです。逆に選手時代に大選手、大記録を残した人は、監督やコーチとして実績を残せない場合も多いです。これは努力家の元選手が選手に対して自分と同じ努力や猛練習を強要して潰してしまう、とか、天才選手が人並みはずれたことを天性の能力でこなしてしまうのに対して、凡人の選手が同じことができないとか、タイミングとか間、勘、といったことが言葉で上手く伝えられない、といったことが理由のようです。
将棋ソフトも同じことが言えるのでしょうか?プログラムの組み方さえ上手なら、基本的な手筋や守備の駒組みや駒の損得や手損・手得、定跡などを知らなくても、勝てる将棋ソフトが作れるのでしょうか?
しかしながらもしこの仮説が正しいとするならば、別の疑問が生じます。
人間が将棋を強くなるときも、同じように
「基本的な手筋や守備の駒組みや駒の損得や手損・手得、定跡を知らなくても将棋に勝てる」
ようになるはずです。(この考え方、おかしいでしょうか?)
なぜ将棋ソフトの開発者は自分より棋力が高いソフトを作れ、さらにはトッププロを負かしてしまうような強大なソフトを作れるのでしょうか?
それとも本当は開発者はトッププロを負かすほどの棋力があるにも関わらず、謙遜しているのでしょうか?
No.9ベストアンサー
- 回答日時:
(仮説)「基本的な手筋や守備の駒組みや駒の損得や手損・手得、定跡を知らなくても将棋に勝てる」??
非常に素晴らしい着眼点ですが結論が間違っています。
いまのコンピュータが無茶苦茶強いのは、
人間・プロ棋士よりも、基本的な手筋や守備の駒組みや駒の損得や手損・手得に関する評価(すなわち大局観)が優れているからです。
昔のプログラムは、「飛車をとったら何点、歩をとったら何点、敵玉の近くにと金を作ったら何点、自王の周りを金銀で囲ったら何点、相手の王様を詰ましたら何点」って感じで、プログラマの持つ知見(棋力)をコンピュータに教えて、コンピュータは高得点を目指す手を選択するように作っていました。この時代は、先を読む力こそコンピュータは優れていましたが、最終的な局面を評価する力「大局観」(この世界では評価関数と呼ぶ)がプログラマに由来するので、たいして強くなかったのです。
いまは、すでに指摘がある通り「ディープラーニング」という手法が発達し、「巨大・膨大なデータを与えて、それをコンピュータ自身に分析させることでそのデータの中に潜む関係・関連をコンピュータ自身に発見させ覚えさせる」ことができるようになりました。
さらに、かつては、コンピュータに与える「巨大・膨大なデータ」としてはプロ棋士さんたちの作った棋譜データが用いられていましたが、現在では、「コンピュータ同士による対局の結果」を用いることができるようになりました。
ルールだけを教えてコンピュータ同士に対局させると、最初は「人間の初心者同士」のような稚拙な勝負にしかならないのですが、やがてどうすれば勝ちやすいのかをコンピュータ自身が発見し(←ここがディープラーニングのキモ)、飛車先を突き、角道を開け、自玉を金銀で囲うようになりとどんどん上達していくのです。
この結果、評価関数がどんどん改善(改良)されていくのです。
コンピュータ同士の対局は、時間と電力とパソコン台数さえあればすぐに数千万局以上を重ねることができ、このようにして上達したプログラムが、過去にプロ棋士を破ったソフトウェアよりはるかに強くなったことが確認されています。
---
人は生まれてからたくさんの「猫」と出会い触れ合ったことで猫の特徴を体の中に染み込ませています。
いま、これまで出会ったことのない「初めての猫」を見てもそれが「猫」だとわかるのは、たくさんの経験を経て「猫の特徴」がわかっているからです。これがディープラーニング。
決して「いままで見たこと(出会ったこと)がある猫」だから猫だとわかるのではなく、自分の知っている猫の特徴と突き合わせて目の前の動物が「猫」だとわかるのです。
これが「人が行っている」ディープラーニング。
これと同じで、決して「過去に覚えた、棋譜の中にある手」を選んでいるのではなく、「膨大な棋譜の分析を踏まえ、勝つにはどうするのが望ましいか」という「勝つための指し手の特徴」と突き合わせて指し手を選択しているのです。
これがディープラーニング。
冷静に考えれば、人も将棋を上達する過程で同じことをしています。
人も基本的な手筋や守備の駒組みや駒の損得や手損・手得、定跡について、言語化されたもの(棋書や先生の指導)を学び、また自身のたくさんの対局を通じて「勝つための指し手の特徴」を獲得していくのです。
ご回答ありがとうございます
>最終的な局面を評価する力「大局観」(この世界では評価関数と呼ぶ)がプログラマに由来するので、たいして強くなかったのです。
過去の将棋ソフトはプログラマの棋力に依存するので、プログラマの棋力を超える将棋ソフトは作れなかったんですね。だからトッププロと比較すると弱かったんですね。
>ルールだけを教えてコンピュータ同士に対局させると、最初は「人間の初心者同士」のような稚拙な勝負にしかならないのですが、やがてどうすれば勝ちやすいのかをコンピュータ自身が発見し(←ここがディープラーニングのキモ)、飛車先を突き、角道を開け、自玉を金銀で囲うようになりとどんどん上達していくのです。
なるほど、ディープラーニングとは、コンピュータ(ソフト)自身が、勝手に自習を積み重ねて、その中からよりよい方法(この場合でいえば将棋の勝ちパターン)を見出していく、ということなんですね。
ディープラーニング、恐るべし! ですね。
ご回答ありがとうございました
No.6
- 回答日時:
他の回答にあるように、ソフト(プログラム)は作成した時点では単にプログラムでしょ。
ディープラーニング、膨大な過去の棋譜を入れていると思う。
違う用途で、人間の顔認証がありますよね。
中国ではすでに実用化していますが、空港のカウンターでマーク中の要注意人物をピックアップする、など。
多少の変装でも瞬時に見抜く。
毎秒何人も何十人もカメラの前を通過するだけでモニターがマークの人物を見つける。
人間も強い相手に番を指せば、書籍で勉強すれば、もちろん定跡を覚える、詰め将棋を解く、を繰り返せば上達しますよ。
だが、悲しいかな人間は根気が続かない(笑)
それに覚える(単に記憶)だけでは限界がある。
おそらくだが、飽きずに続けさえしたら、時間はともかく誰でもアマ初段にはなる。
あとは努力と才能ですよ。
将棋より彼女と映画見てたほうが楽しいし。
ソフト相手に将棋指すよりドライブでも釣りでも時間を楽しく使える。
じゃ、才能とは?
反対に、過去の定跡にとらわれない。
漠然と言えば「大局感」。
覚えるのは記憶だが、記憶するだけでは限界が来る。
「なぜこう指すのか?」
「こうしないとなぜダメなのか?」
「それは本当か?」
これを記憶じゃなく理解するわけ。
局面を眺め最善を瞬時に見つける。
わかります?
言い換えたら無駄な手ははなから読まない。
コンピュータのように瞬時に多数の手を読むことはできないが、切り捨てることはできる。
あなたが今、自分の部屋の中を見回してごらん。
パソコン、モニターだけじゃなく、デスク、テーブル、コーヒーカップ、回りは部屋の壁、天井、床、それぞれの質感も一目でわかるだろう。
これはあなたが今まで育った経験の積み重ねもあるし、「無」から「有」を発明してきたのが人間だ。
よちよち歩きの幼児でもお母さんは見つけるし、お腹が空けばおっぱいにしがみつく。
人間には生まれながらに本能がある。
五感を連続させて脳は判断できる。
人類より先にコンピュータがあったら(笑)コンピュータに火は起こせたかな?
(コンに手足は無いがこする摩擦で発火する発見ができたか)
定跡は無から有を作り発達、見直し、新しい「新手」ができてきた。
これからコンピュータがさらに強くなるにはディープラーニングの元になる強い棋譜を叩き込む必要がある。
人間が強ければコンピュータも強くなる。
だがすでに人間がソフトに勝つ可能性は無くなってきた。
アルゴリズムの見直しと膨大なデータの合わせ技の勝利と思う。
一応、、、
ソフトがプロ棋士に勝っても将棋の面白さが減るわけじゃないからね。
ソフトがひふみんアイを食らってカッカしてオーバーヒート(熱暴走)するくらいに進化したらオモロイが(笑)
去年だっけ?
例の藤井さんの「△7七飛成」。
あの手でポナンザなどソフトの指し手の反応を見れば、ソフトはまたまだとも思いますよ。
(一応発見はしていたが悪手と決めつけその先は打ち切った)
No.5
- 回答日時:
人間も暗譜できれば強くなれるでしょうね。
ただし1局2局では話になりませんよ?記録に残っている過去の対局数10年分すべてを覚えておけるくらいであれば強いはず。まあそんなのは不可能に近いから、コンピュータ的な力技による解決方法を人間がやるのは非現実的です。ただこのような力技は常識的な対局しか学習しかできません。とっぴな指し方をされると対応できないわけです。プロ棋士はその弱点を突いて、人間同士の対局ではあり得ないような変な指し方でプログラムの弱点を見つけ出し、そこを突き崩して勝っていました。このような指し方をされた場合の対処はプログラマの棋力がなければ無理でしょう。
ご回答ありがとうございます
>人間も暗譜できれば強くなれるでしょうね。
暗譜すればいいんですね。
それなら私、暗譜の得意な人、知ってますよ。羽生って人です。
>人間同士の対局ではあり得ないような変な指し方でプログラムの弱点を見つけ出し、そこを突き崩して勝っていました。
角不成でコンピュータをパニックにさせて勝った人、いましたね。まあ賛否両論のようでしたが。
あと、米長元名人も、後手初手6二玉作戦をしましたが、コンピュータはパニクらなかったようで負けてしまいましたね。
>このような指し方をされた場合の対処はプログラマの棋力がなければ無理でしょう。
まあ、上記の二つの手は、もうソフト上に組み込まれているか、ハードディスクに棋譜が載っているでしょうからもうこの手で勝つことは不可能でしょうね。
あと、やるとすればなんでしょうね。歩不成でしょうか?桂不成でしょうか?銀不成でしょうか? ま、このあたりは人間でもやりますからね・・・ もうムリでしょうね。
ご回答ありがとうございました
No.3
- 回答日時:
プログラムはルールを組み込むだけです。
将棋を知らなくてもルールブックを見ればでていることです。
>「基本的な手筋や定跡も知らない」
ルールでも公式でもありません。
人間が経験的に積み重ねてきた物であって論理的に考証された物ではありません。
他のプログラムでも機械でも作るのに必要なスキルと実行するのに必要なスキルは違います。
電卓を作ったプログラマーより電卓の方が遙かに計算能力は高いし自動車を作ったエンジニアと自動車がかけっこをすれば自動車の方が早い。
ご回答ありがとうございます
>プログラムはルールを組み込むだけです。
将棋を知らなくてもルールブックを見ればでていることです。
なるほど、ルールさえ組み込めばいいのですね。
>他のプログラムでも機械でも作るのに必要なスキルと実行するのに必要なスキルは違います。
スキルの違いなんですね
>電卓を作ったプログラマーより電卓の方が遙かに計算能力は高いし自動車を作ったエンジニアと自動車がかけっこをすれば自動車の方が早い。
これはまたどういうことでしょうか?
ちょっと言葉足らずというか、発想の飛躍というか、説明不足だとおもいますが。いかがかな、とおもいます。
(もうちょっと詳しく返答してもよいのですが、質問の本題と外れるのでここまでにしておきます。まあ貴殿もまさか
「せっかく回答してあげたのに、反論するとは何事だ!」
などとはおもっておられないとはおもいますが。)
ご回答ありがとうございました
No.2
- 回答日時:
最近のものは機械学習ですね。
コンピュータに勝てる方法を学習させまくってるので、強くなります。
「基本的な手筋や守備の駒組みや駒の損得や手損・手得、定跡を知らなくても将棋に勝てる」
については、
コンピュータと同じように学習できればYesです。が、
コンピュータは、
コンピュータの中で物凄く高速に対局を繰り返しますし、
その対局から得た勝つための情報は全て覚えています。
人間にはまず不可能なことでしょう・・・
ご回答ありがとうございます
>最近のものは機械学習ですね。
>コンピュータに勝てる方法を学習させまくってるので、強くなります。
そういうやりかたなんですね。
>コンピュータと同じように学習できればYesです。
同じようにやればいいんですね。
>コンピュータは、
コンピュータの中で物凄く高速に対局を繰り返しますし、
その対局から得た勝つための情報は全て覚えています。
学校にもいかず、飯も食わず、延々とただひたすら将棋をやり、全ての棋譜を記憶にとどめておけば人間も自然と強くなれるでしょうか?
>人間にはまず不可能なことでしょう・・・
無理なんですね。
ご回答ありがとうございました
No.1
- 回答日時:
手筋を読む理論を組み込めば良いだけ
人間の脳みそでは、読む手数に限界があるからね
ご回答ありがとうございます
>人間の脳みそでは、読む手数に限界があるからね
なるほど、コンピュータは計算能力にモノを言わせて、人間より深い読みをするから勝てる、ということなんですね。
しかしながら疑問があります。
質問に書いたように開発者の中には「基本的な手筋や定跡も知らない」という人もいます。
>手筋を読む理論を組み込めば良いだけ
とのことですが、そのような開発者、プログラマが作ったプログラムが正しい手筋を読めるかどうか、という点が気になるのですが・・・
誤った手筋の読み方をコンピュータに教え込ませたら、当然誤った手筋を最善手として選ぶのでは?
極端に言えば将棋の川柳にある、「へぼ将棋 王より飛車をかわいがり」のような手を最善手とする可能性だってあるわけです。
この点はどうなのでしょうか?
ご回答ありがとうございました
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 囲碁・将棋 詰将棋。過去作品との重複、盗作、偶然の一致については誰が検証しているのか? 2 2023/04/26 20:14
- 囲碁・将棋 人間(プロの棋士の)の能力を凌駕してる、たとえば囲碁のAIは、将棋の能力がみられないのですか? 5 2023/08/13 15:59
- 囲碁・将棋 将棋の対局に他人が口出しすることは厳禁。ではこの場合は許される? 許されない? 2 2023/02/06 19:40
- 囲碁・将棋 羽生さんが将棋連盟会長になった真の理由は…? 2 2023/06/14 17:26
- 囲碁・将棋 80の父親はアマ5段くらいです。コロナで外出できず、パソコンも出来ないので、私が父の言うように駒を動 3 2022/03/31 23:32
- 囲碁・将棋 将棋について 2 2023/04/06 19:35
- 囲碁・将棋 サバンナの高橋さんの将棋の棋力って、何級ぐらいでしょう? 2 2023/01/12 15:57
- 囲碁・将棋 将棋のスーパーカップはやらんの? 2 2023/06/27 21:54
- 囲碁・将棋 将棋の勝敗に、身長差や筋力差は関係ありますか? 女性が勝てないし、女性プロ棋士が誕生しない 6 2022/04/29 11:25
- 囲碁・将棋 ぴよ将棋。データはどうやって保存してあるの? 1 2023/04/17 14:16
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
渡辺明さんの「僕は将棋の天才...
-
将棋強いって何故頭良いと思わ...
-
囲碁でせっかくが台無しになる一手
-
将棋のプロ編入試験。引退済み...
-
買って良いのか悪いのか
-
将棋が好きで、プロ棋士や女流...
-
将棋って究極の覚えゲーですか...
-
囲碁 KGS の cgoban ログインパ...
-
将棋にお詳しい方に聞きます・・
-
将棋の飛車 、角行がなった時の...
-
林葉直子ってそんなに美人か?
-
将棋ウォーズ、中々初段になれ...
-
碁盤や将棋盤の木裏を使っている方
-
将棋で頭が丸いとは?
-
ぴよ将棋。実際のアマチュア段...
-
【将棋】「相横歩取り 後手番の...
-
囲碁が強くならない
-
藤井聡太の倒し方ってありますか?
-
将棋ウォーズの3分将棋ってム...
-
低学歴でも将棋がプロ並みに強...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スパコンとクラスタサーバの定...
-
頭のトレーニングとしての将棋...
-
人材不足なのに必要ないヒト
-
藤井四段ですが次戦は現役東大...
-
携帯(au)で将棋対戦するには
-
コンピューター関係に詳しい方...
-
将棋のフリーソフトK-SHO...
-
アマ竜王戦にソフトが参加、ル...
-
コンピュータとの対局って、た...
-
おすすめの将棋PC用ソフト教...
-
ソフト指し
-
三浦九段に対する連盟の処分は...
-
将棋ソフトの強さがcpu速度で変...
-
将棋ソフトと指す場所について
-
将棋ソフトについて
-
テレビで将棋のできるソフト(...
-
将棋のネット対局だけができる...
-
将棋勉強ソフト
-
Kifu for Windows のv違い
-
将棋で初手の最悪手は何でしょうか
おすすめ情報