なぜチェスエンジンは良い動きを時々見逃しますか(または永久に見つけます)?


17

チェスエンジンよりもはるかに優れた動きを見つけたのは初めてではなく、それらの動きを理解してから理解するまでに時間がかかります。

たとえば、15 ... Bf2以下のゲームの動き:

NN-NN、0-1
1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. OO Ng4 5. h3 h5 6. hxg4 hxg4 7. Bxc6 gxf3 8. Qxf3 Qh4 9. Qh3 Qxh3 10. gxh3 dxc6 11. Re1 Bxh3 12. f3 Bc5 + 13。 Kh2 Bf1 + 14. Kg3 Rh3 + 15. Kg4 Bf2 16. Rxf1 Rg3 + 17. Kf5 Rxf3 + 18. Kg4 Rg3 + 19. Kf5 f6 20. d3 Kf7 0-1

この動きはしばらくの間エンジンに気付かれずに残り、氷山の残りの部分が見え始めるのは私が動くまでです。

しかし、分析にどれだけの時間をかけるかによってすべてが決まることはわかっていますが、コンピューターよりも短い時間で人間がこれらの動きを見つけることができるのは受け入れられません。

  • チェスエンジンがいくつかのポジションで良い動きを見つけられないのはなぜですか?(私はかつて「水平効果」について何かを読みましたが、これは関連しているのでしょうか?)
  • 他に注目すべき例はありますか?(たとえば、この有名なパズルは、コンピューターが解決するのに時間がかかります)

これらの質問には、この異常を引き起こしている可能性のあるいくつかの要因を部分的に説明するための有用な情報が含まれています。コンピューターの対戦相手と対戦するとき、勝つチャンスを増やすためにどのような状況を作り出す必要がありますか?コンピューター評価:それらはどれほど信頼できるか?

注:トラップはフィッシングポールとして知られていますが、3の仲間(および7の仲間)を見逃したことはわかっています:すべての計算を終了します。


1
とても興味深い。私の平均的な強さのPCのStockfishは、15... Bf25分後にまったく見つかりませんでした。
トニー・エニス

...次の動きで同様のメイトイン7を見つけるのに7分以上かかりました。
トニー・エニス

20 d3はエラーです。20 d4を試してください。
dcaswell 14

1
人間がコンピュータよりも短い時間で動きを見つけるために「受け入れられない」言語を使用するのはなぜですか?これについての考えを解くことができますか?
Xonatron

それは多くのより良い動きを逃しました。なぜ特別にそれを選ぶのですか?
ヨバママ

回答:


33

チェスエンジンがいくつかのポジションで良い動きを見つけられないのはなぜですか?

その理由は、ProbCutを最初の行に持つ前方プルーニング手法(http://chessprogramming.wikispaces.com/Pruningを参照)と呼ばれています。

15 ... Bf2の動きは、16.Rxf1の犠牲を含んでいるため、浅い深さで剪定されます。matenetは、17 ... Ke7のようにさらに「サイレント」な動きを含んでいるので、見づらいです。また、エンジンもそうです。人間は、しばしば剪定されるため、遠くの静かな動きを見るのが困難です。

この具体的なケースでは、15 ... Rh3h1の継続も非常に良い動きであり、絶対に勝ったポジションにつながるため、エンジンは良い動きを見つけることができないと言うことすらできません。

最後に忘れてはならないのは、エンジンの強さは常に勝利の絶対的な最短方法を見つける能力ではなく、エロ強度で測定されることです。エンジンが8手または25手で勝った場合、それは問題ではありません。ほとんどの時間はそのような秘密の良い動きがまったく存在しないので、最短の勝利のために多くを求めることは、無駄な時間を意味します。そして、時間の無駄はエンジンのELO-Ratingを傷つけます。


1
いい答え、サイトへようこそ!
アンドリュー

剪定と完全検索のトレードオフに言及するための+1。13+のPLYの組み合わせがすぐに見つからないことは驚くことではありません。エンジンには、その深さまであらゆる可能性を計算するよりも、「やるべきこと」があります。
ダニエルB

2
全体的にいい答えです。以下のための+1 「最後に少なくともないあなたはエンジンの強度は常に勝つために絶対的な最短の方法を見つける能力でELO-strenghないという点で測定されていることを、覚えている」
ferit

素晴らしい答え。
-Xonatron

12

Houdini 1.5(無料版)でこれを試しています。最初の15 ... Bf2は上位5の動きに現れず、深さ15に達すると#1として現れます。私の4歳のコンピューターでは、約19秒かかりますが、それほど長くはかかりません。

そのため、それを見つけるのに失敗することはありません。代わりに、深さ15に達した場合にのみ最適な動きと見なします。どうやら、14プライの深さしか見えない限り、他の動きの方が優れています(15 ... f5 +を獲得するなど)。

どうやら15 ... Bf2は8の合致であり、15プライ(8が黒で移動、7が白で移動)です。ただし、最初は+10程度、次に+20、次に10で合致、次に8で合致と見なされます。

8行の合致は次のとおりです。

NN-NN
1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. OO Ng4 5. h3 h5 6. hxg4 hxg4 7. Bxc6 gxf3 8. Qxf3 Qh4 9. Qh3 Qxh3 10. gxh3 dxc6 11. Re1 Bxh3 12. f3 Bc5 + 13。 Kh2 Bf1 + 14. Kg3 Rh3 + 15. Kg4 Bf2 16. Rxf1 Rh4 + 17. Kg5 Ke7 18. Rh1 Rxh1 19. Nc3 Rah8 20. Nd5 + cxd5 21. d3 R8h5 + 22. Kg4 R1h4#。

明らかに、Houdini 1.5が15層の深さを考えると、15層の深さのすべての可能なラインを考慮しないか、15層の深さの検索を完了した時点で8の合致を見るでしょう。

それは剪定のせいだと思う、それは彼らが十分に有望ではないと思うとき、それはいくつかの線を見ることをやめる。そうすれば、有望な行により多くの時間を費やすことができ、プログラマーは長所が短所を上回ると考えています。しかし、ここでプルーニングすることを決定したものについては、現時点では答えがありません(おそらく、深さ15で何百万もの個別のプルーニング決定を行います)。

それは静かな動きに関係しているかもしれません... Ke7、および... Rah8、黒が一枚下にあるラインの2つの非チェック、非キャプチャ。どこかでこの行を見続けるのは役に立たないと判断する可能性があります。後になって、ラインを続行し、最後に合致を見つけたときに、ゲームを延長する他のライン(18.Rh1 Rxh1など)を実行して表示されます。

とにかく、何かの底に到達したい場合にのみコンピューターに数秒間考えさせることはうまくいかないことが知られています。数分が良いです。


Rxf1が「発見的」に見えるのは、グレートホワイトの王が外に出ているわけではなく、即時のチェックメイトがなく、黒がマテリアルのポーンのナイトにいるからです。この「犠牲」の価値が明らかになるのは、(あなたが言ったように)より深い分析が行われるまでです。
ジョーK

「15プライ」とは、すべての動きではなく、深さ15までの動きを見ていることを意味します。それはかかるだろうwaayも、スーパーコンピュータ上で、4秒以上。
BlueRaja-ダニーPflughoeft

2

すべての回答と他のソースを読んだ後、私は彼らがこれらの動きを「見逃す」ことも見逃すこともしないことを理解しました。人間は(場所/方法/いつ+に)検索で特定のパターンに従うようにそれらをプログラムしましたさらに重要なのは、リソースを節約するために検索を一時停止し、より有望な行を調べるタイミングです。

しかし、十分な時間を与えられれば、コンピューターは特定の深さで可能なすべての組み合わせを見つけ出します。

TL; DR

  • Q1:彼らは動きを見逃すことはありません、彼らはまだそれらを見つけていません
  • Q2:リソースを節約するようにプログラムされているため、時間がかかります。また、一部の行を他の行よりも優先します(たとえば、受動的な動きがないか、次のいくつかの動きで素材を回復しません)。

-1

私は誰もがはるかに速い仲間を欠いていると思います。Houdini 3で位置を確認するとき、黒は実際に移動13で3に合致します。Bf1+の代わりに、黒はBf2をプレイすべきで、14に続きます。d3 bf1 + 15. Bh6 Rxh6#そのため、あなたの質問に対する異常な答えで、特定のエンジンはあなたの動きをすぐには見なかったかもしれませんが、Houdini 3の場合は、はるかに速い仲間を見つけました。


5
質問全体を読むと、彼は3の仲間を知っていることがわかります。すべての合理的な新しいエンジンは3の仲間をすぐに見つけますが、これはここでの質問の一部ではありません。
ハルバード
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.