チェスのすべての可能な動きのデータベース


12

すべての可能な移動と位置のチェスデータベースがあると想像してください。このデータベースには、ゲームの開始から終了までのすべての可能な動きが含まれています。

チェスエンジンに対して直感を使ってプレイした場合、どちらの動きが勝敗を予測することができます。

つまり、可能なすべての動きがすでに記録されているため、「チェスエンジン」は必要ありません。

そのようなデータベースが存在する場合、次の利点があります。

  • 速い電撃ゲームでは、チェスエンジンはデータベースを移動するチェスの可能性に間違いなく負けます。
  • どのオープニングが他のプレイヤーに勝つ機会が増えるかを正確に知ることができます。

または、そのようなデータベースがまだ存在していなかった場合は、ゲームの開始から終了までのすべての可能な動きを数学的に計算することができます。

そのようなデータベースが存在することは可能でしょうか?


4
いいえ、想像できるテクノロジーでは不可能です。
Tony Ennis

私はしばらくさまようと思っています。それでもまだ作成していません。あなたが正しいです。あはは。
Ahmad Azwar Anas

宇宙のアトムよりも多いバイト数のデータベースを構築する幸運
デビッド

回答:


31

あなたの質問は本質的に、チェスを完全に「解く」ことができるかどうかというトピックに要約すると思います。ウィキペディアには、このトピックに関する優れた記事があり、概要がわかります。

要約すると、チェスで可能なゲームバリエーションの数は10 ^ 120と推定されます。これは驚くほど膨大な数です。比較のために、観測可能な宇宙の原子の数はおよそ10 ^ 80推定されると考えてください。言い換えると、観測可能な宇宙全体をハードドライブとして使用している場合でも、単純にすべてを格納するために、各原子にチェスゲームの10 ^ 40の組み合わせを格納する必要があります。言うまでもなく、これは私たちの現在の予測可能な技術をはるかに超えているため、ほとんどの人はそれを完全に不可能と考えています。

チェスのエンドゲームはそれほど複雑ではなく、5ピースのエンドゲームと6ピースのエンドゲームのすべての可能な組み合わせを計算できるようになりました。これらは通常、スーパーコンピュータにアクセスできる研究者によって行われる巨大な仕事であり、結果として得られるエンドゲームデータベースは巨大です(数百テラバイト程度)。新しい要素が追加されるたびに、計算のサイズと複雑さは指数関数的に増加します。つまり、近い将来、これらの結果はほんの数個しか拡大しないと予想できます。


現在、End Game Tableを表すアルゴリズムがあると想像しています。^^
Ahmad Azwar Anas

2
@AhmadAzwarAnasまあ、私は単純なものがすでにチェスエンジンで使用されていると思います、そして技術が許せばより完全なものが追加されるでしょう。アルゴリズムに関しては、パターンについて分析し、結果につながる一連のルールにそれらを一般化することで、エンドゲームテーブルを「圧縮」できると思います。しかし、ほとんどの場合、このルールのセットは非常に大きなものになります。これは、わずかなバリエーション(反対の有無など)によってゲームの結果が変わる可能性があるためです。
Daniel B

@AhmadAzwarAnas実際、なぜチェスのアルゴリズムだけではないのですか?失われたすべてのゲームに間違った動きがあるはずですよね?つまり、敵の移動に関係なく、失う前にパスが存在する前の移動ですが、その後はこれは当てはまりません。次に、アルゴリズムが実行する必要のある「すべて」は、これらの動きを識別して回避できるようにすることです。
Michael

1
@Michaelそれはそれより難しいです-対戦相手が何を動かしても、勝つための道が存在することをどうやって知ることができますか?せいぜい、50%の時間しかありません。1人が勝った場合、もう1人は負けざるを得ないからです。実際には、それを開始位置に戻します。ゲームのさらに先にパスが存在するためには、その時点で「絶対的な勝ちのパス」が存在するはずです。それがわかったら、なぜ誰もが負けた色をプレイするのです。 、彼らが何を動かしても、彼らは失うことを知っていますか?もし私たちがそれを行うことができたら、なぜ誰もがもうチェスをするのでしょうか?
user2813274

1
+1しかし、あなたの分析は間違っています。テーブルベースを保存するには、可能な各ゲームではなく、各位置を保存するだけで済みます。シャノンは、地球の約10 ^ 50の原子と比較し、約10 ^ 43の位置があると推定しています。だから、地球全体をコンピューターに変えることによってチェスを解くかもしれません。
David Richerby

6

いいえ、そのようなデータベースが存在することは不可能です。それを計算するには、実行不可能なほど大きなコンピューターが必要であり、計算に非常に時間がかかるため、タスクを完了するのに十分な時間、コンピューターが存在しません。

クロードシャノンは、チェスには約10 43の可能な位置があると推定し、データベースはこれらすべての結果を格納する必要があります(これは、基本的には32人のテーブルベースです)。ただし、地球には約10 50個の原子しか含まれていないと推定されているため、わずか10,000,000個の原子からメモリセルを構築できたとしても、すべての位置を格納するだけの地球サイズのコンピュータが必要です。

しかし、そのような巨大なコンピューターは大きな問題を引き起こします。地球の直径は約12,800キロメートルで、光がその距離を横切るのに約43ミリ秒かかります。つまり、クロックサイクルが43msよりも長く続くと、恐ろしいクロックスキューが発生するだけでなく、コンピューターのさまざまな部分が同じクロックサイクルにならないことになります。これを回避すると、クロック速度が約23.5Hzに制限されます(GHzまたはMHzではなく、Hzのみ)。1つのクロックサイクルで位置を完全に評価できたとしても、コンピューターがタスクを完了するのに約4.3x10 41秒かかります。それは約1.4x10 34年です。それは、1400億10億10億年です。

天体物理学者たちは、宇宙が1.4x10 34年で今とは根本的に異なって見えると信じています。その時までには、星は存在しなくなり、意味のない意味で放射性のない元素でさえ、大量の放射性崩壊を受けます。原子核を形成する陽子でさえ、かなりの放射性崩壊を受けます。したがって、地球サイズのコンピュータはもはや存在しません。


2
だからチャンスがあるってこと?
bpromas

4

ダニエルの答えは素晴らしい(+1)と思いますが、とにかくいくつか考えを追加したいと思います。

32ピースのテーブルベースは本当にチェスエンジンを置き換えるのでしょうか?答えは間違いなくノーです!

良いチェスをプレイするには、動きが勝つか、引くか、負けるかよりも多くの情報が必要です。もちろん、そのようなデータベースは無敵ですが、誰にも負けないでしょう。

チェスを強くプレイするには、すべてのターンで負けのない動きを選択するだけでは不十分です。各ポジションでの多くのドローの動きのうち、対戦相手に本当のプレッシャーをかけるのはごくわずかです。

既存のチェスエンジンは、テーブルベースにアクセスすることで大幅に強化されています。しかし、データベースが大きくなるにつれて、アクセス時間は宇宙のすべてのアトムをメモリに使用するずっと前から禁止要因になります;-)。

だから私はあなたの結論は間違っていると思います:そのようなデータベースは決して失うことはなく、勝つことはほとんどありません。ほぼすべてがドローであること以外は、オープニングについては何もわかりません。このデータベースをマイニングし、あらゆる種類のポジションについて興味深い結論を出すために新しいアルゴリズムを考案することはできますが、これでチェスの世界が大きく変わることはないと思います。


データベースに何が含まれるかを誤解しています。可能な各移動は、「これをプレイすると、対戦相手は次に何をしても勝つことができます」、「これをプレイすると、対戦相手が次に何をしても勝つことができる」または「ドロー」のいずれかとしてマークされます。したがって、「すべてのターンで負けのない動き」をプレイすることはありません。そのような動きが存在する限り、すべてのターンで強制勝利をプレイします。
David Richerby

さて、実際にはデータベースに何が含まれるのかを正確に理解しました…私がしようとしていた点は、高レベルのチェスゲームでは「強制的な勝利はありません!」ポジションの90%以上。まともなプレイヤーと勝つためには、「この手を引いて、この手を失う」よりもはるかに多くの情報が必要です。
BlindKungFuMaster 2014

1
例を挙げましょう:開始位置では、おそらくデータベース内の唯一の情報は、「すべての手引き」です。だからあなたは完全にあなた自身でいるでしょう。そして、完全に独力でいる場合、どのようにして強力なプレーヤーに対して勝ちポジションを獲得しますか?答えは次のとおりです。そうではありません。あなたが唯一無二の線をたどると、あなたの立場はどんどん悪化します。
BlindKungFuMaster 2014

いいえ、そうではありません。あなたの勝利を手に入れるのは簡単です。現在の位置から可能なすべての動きを計算し、DBで結果の位置を確認し、勝つかドローするかを選択します。定義により、現在の位置が「あなたが勝つ」である場合、「あなたが勝つ」である次の位置に少なくとも1つあります。そして、現在のポジションが「ドロー」の場合、次のポジションの少なくとも1つが「ドロー」になります(対戦相手が完全にプレーしない場合は、おそらく「勝つ」ことになります)。
イグナシオカルボ2017年

ポイントは、現在のポジションは通常「あなたが勝つ」ことではないということです。たとえば、スターティングポジションでの強制的な勝利がない可能性は非常に高いです。
BlindKungFuMaster 2017年

2

いつかチェスが解けると思います。どうして?まあ、それほど昔ではありませんが、コンピュータに対してチェスをするのは奇妙で考えられないことでした!コンピュータをトレーニングしてチェスをプレイするにはどうすればよいでしょうか?まあ、彼らはそれをやった!(それに加えて、コンピューターの考えは奇妙でした...)私の要点は、私たちがそのコンピューターを見たことも聞いたこともないため、奇妙に見えるかもしれません。それは私たちが簡単に想像できるものではありません。しかし、テクノロジーは急激に拡大しています。近い将来(10年以上)に、何らかの形で解決されても驚くことはありません。


チェスを解く際の障害は、並べ替える必要がある文字通りの天文学的なデータ量です。Shannonは、チェスにはおよそ10 ^ 43のポジションがあると推定しており、それらすべての結果を保存する必要があります。これを展望すると、地球には約10 ^ 50の原子が含まれているため、10,000,000原子からメモリセルを構築できたとしても、結果を保存するためだけに地球全体をメモリバンクに変換する必要があります。
David Richerby

1
@DavidRicherbyチェスが最高の引き分けだとしましょう。次に、すべての白の動きに対して、黒に対して適切な応答があります。次の白の動きに対して、黒も適切な反応を示します。そのような「ドローツリー」を構築するには、10 ^ 43未満のポジションしか必要としないことが考えられます。
Dag Oskar Madsen 2014

2
@DagOskarMadsenはい、実際にツリーを格納するために必要なメモリがはるかに少なくなる可能性があります(それでも天文学的な量です)。ただし、そのようなツリーを構築するための現在の手法は、すべての終了位置から逆行分析を行うことです。そのため、少なくとも中間段階として、すべての位置で実行することの完全なデータベースを構築する必要があります。
David Richerby

あなたが間違っていることをお詫び申し上げます!@DagOskarMadsenしかし、「不十分な」応答に異議を唱える方法がわからない場合、本当にゲームを解決したと主張できますか?
デビッド

1

1980年代の初めに大学に戻ったとき、コンピュータがゲームの開始からナノ秒の1/3ごとに考えられるすべての結論に至るまで、1回の移動を計画、評価、実行できる場合、ゲームのテキストを読みました。これは約30億回/秒です。考えられるすべての結果に対してこれを行うには、完了するまでに10〜120世紀かかります。そして、誰がそんなに長く待つのですか?

別の驚異的な統計?あなたはグーゴルを聞いたことは明らかですか?THE Googleではなく、その数は?10の100乗です。10の後に100個のゼロが続きます。今グーグルプレックスを想像してください。それはグーゴルの10乗です。

私は、既知の宇宙には原子を含め、グーグルプレックスの使用を必要とするものが十分にないことを読みました。実際、グーゴルでさえ、何も説明するには大きすぎます。あなたはこれらの数字について驚くべき雑学のいくつかをチェックするべきです。


-2

はい、可能だと思います。しかし、データベースがニューラルネットワークのようなものである場合にのみ、データベースを失う原因となる動きをして、それらを削除しました。その計算は、100か何かを動かすために、1番手でチェスゲームのすべての可能なアクションを累乗(私と一緒に)することに基づいています。一方、繰り返しを取り除くと、((Ke3 Ke4 Ke3 Ke4)ループ)10 ^ 120はおそらく10 ^ 70のようになるでしょう。それはとんでもないほど巨大ですが、どういうわけかそれを4D平面にエンコードすることができた場合(私は可能だと信じています)、それは子供の遊びです。


2
チェスへようこそ!てくださいツアーをあなたはそれでいる間。私たちがここで期待しているように、あなたの投稿は意見ではあり、回答ではないため、反対票が投じられる可能性があります。ヘルプセンターの回答方法をご覧ください。
グロルフィンデル

私はチェスの男ではありません、そして、記録のために、私もあなたに反対票を投じた人々の一人ではありませんが、私は10 ^ 43の異なるポジションがあることを読みました。一部のデータをフィルターで除外できるメソッドがあるからといって、なぜそれが可能になると自動的に想定するのですか?私は、あなたがこのデータベースがどれほど大規模になる必要があるかを正確に過小評価していると思います。これは、今日のコンピューティングテクノロジーの範囲をはるかに超えているため、これから1世紀経ってもこの軌道に乗る軌道に乗っているとは思えません。しかし、SEチェスへようこそ。(そして私も歓迎します、私は:Pと思います)
Joe Majewski
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.