チェスエンジンプログラミングの代替アプローチ


14

私が理解している限りでは、大まかに言って、チェスエンジンは次のように機能します。

  1. ある程度までのすべての可能なバリエーション(ゲームツリー)の計算
  2. いくつかの基準に基づいて最終的な位置を評価します(材料、個の活動...)
  3. この評価に基づいて、最適な動きを決定します

効率的なエンジンを使用するには、特定の行を整理したり、深さを制限したりする方法などがあることを完全に理解しています。しかし、これは私の質問ではありません。

質問:チェスエンジン(必ずしも強力ではないが、ランダムではない)をプログラムする別の試みはありますか?


ボットビンニクは、コンピューターに最良の候補者の移動のみを検索させることにより、ルートの移動を整理しようとしました。これの成功した試みはありませんでした、そしてチェスはそれのためにより良いです。
フレッドナイト

回答:


13

コンピュータチェスの最初の数年間、人々は実際に人間と同じようにコンピュータチェスを教えようとして、健全なポーン構造やイニシアチブなどの戦略的概念を説明しました。これらの試みは、説明した方法の方がはるかに成功したため、すぐに中止されました。

最近、ディープラーニング(おそらくGoogleのGo AIの成功によって促進された)を介してエンジンにチェスを教える別の試みがありました。私がリンクした記事によると、彼らは非常に成功し、IMの強さを達成することができました。


1
私の理解によると、Alpha Goは前述のOPとまったく同じように機能し、(2。)のeval関数のみがディープラーニングに基づいて作成されます。他の答えは少し同意するようです。
ヘルマン・デッペス

According to the article I linked to, they were quite successful and managed to reach IM strengthしかし、元の論文を読むと、その記事が成功を非常に誇張していることがわかります。
サルバドールダリ

1
@HermannDöppesいいえ、AlphaGoはモンテカルロツリー検索に基づいています。
HelloWorldの

3

@Glorfindelは間違っていませんが、チェスへのディープラーニングアプローチは、実際にはチェスプログラミングのパラメーターチューニングのための空想用語です。

ディープラーニングを使用すると、チェスエンジンは評価関数を習得できます。評価関数は、通常プログラマーが手書きで作成したものです。ゲーム中、通常のチェスエンジンのように機能します。

その他の可能性:

  • GPUチェスプログラミング
  • モンテカルロ木探索

あなたの答えのほとんどは、[Glorfindel's answer](chess.stackexchange.com/a/16293/2789の下にあるコメントでなければなりません。実際に質問に対処する部分は、7語で構成されていますが、答えとしては十分ではありません。 、「GPUチェスプログラミング」は、他の方法で使用しているアルゴリズムを並列化する方法に過ぎないため、質問が探しているという意味では実際には「アプローチ」ではないと思います。むしろ、単なる実装方法です。
デビッドリチャービー

-2

もちろん!もしあなたが本当にただ意味するなら....「理論上、チェスエンジンをコード化する他の方法がありますか?」...そして、はい!!

たとえば、...チェスのすべての可能な位置のコピー(私は知っている膨大な数)を保存し、それぞれについて評価することができます。それから、与えられた質問への答え(つまり、「X位置にある白のベストムーブ」)は、そのボードを調べるだけですぐにわかります。コンピューターハードウェアの現在の状態は、これが意味をなすようなものですか?いや しかし、あなたはそれを尋ねませんでした。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.