私たちはチェスの古くからのゲームに最先端の近代的な技術を適用するとどうなりますか? そして、計算能力の余剰と退屈オタクがゲーム上で彼自身の奇妙な家庭の実験を行ったときに何が起こりますか?
今年、Tom Murphy VIIと名乗るペンシルベニアのソフトウェアエンジニアは、機械学習やニューラルネットワークから無償のCPUサイクルまで、あらゆるものを使用して、ばかばかしいほど悪いチェスをするアルゴリズムを作成することに決めました。”
“それは楽しいの私のアイデアです…”マーフィーは実験を説明するユーモラスなビデオで言います。
最初の動き
マーフィーはそれをやってのけるための頭脳を持っています。 彼は2007年に彼は彼のコンピュータサイエンスの博士号を擁護したことを教えてくれます。 同じ年のカーネギーメロン大学では、学生たちはエイプリルフールの日に毎年恒例のSIGBOVIK会議を開催し始めました。 “計算異端のための協会”が主催し、”ハリー-クイズマスター-ボヴィク”という架空の研究者に捧げられた一種の風刺的な特別利益団体であり、”人工的な愚かさ”のような話題に関する間抜けな論文の呼びかけを含んでいた。”
過去11年間、MurphyはGoogleの上級スタッフのソフトウェアエンジニアでした(ピッツバーグのオフィスで)。 しかし、今年、彼はエイプリルフールの日の会議のために再び戻ることにしました—そして再び、彼自身のいくつかのユーモラスな研究を貢献しました。
マーフィーは、過去のプレゼンテーションのいくつかは、”本当の”研究と区別できないばかげた調査を含んでいることを誇らしげに自慢しています(例えば、スーパーマリオブラザーズの最初のレベルは辞書式順序で簡単で、タイムトラベルは”本当の”学術研究で20回の引用を持っています)。
しかし、これはマーフィーがチェスに注意を向けた年でした。
ゲームを始めましょう
マーフィーの最初のゲームでは、人間のプレイヤーは目隠しされ、ピースがどこにあるかを覚えておくように強制されます。 しかし、コンピュータの同等のものは何ですか? ピースがどこにあるのかを伝えるが、どのピースがあるのか(またはどの色でも)を伝えることはできません)…
もちろん、コンピュータにはポジションに至るまでの動きも提供されません。 それは誰の番だったのかさえ知らないだろう。 はい、コンピュータの王がチェックされている可能性があります—その時点で、あなたの王を安全に導く動きを除いて、ほとんどすべての動きが違法です。 しかし、それを回避するために、トムは可能な動きのリストを生成するプログラムを作成し、優先順にランク付けし、最初の法的動きが選択されます。
“私はそれと対戦するのが好きです。 “しかし、自然な質問は、それがどのように非常に良いではありませんか?”チェスをするプログラムに対してそれをテストすることは、はい、それは偉大な規則性で失うことを証明しています-のように、”すべての単一の時間。”
その後、彼は他の悪いチェスのアルゴリズムを構築するために着手したので、彼はそれらの相対的なパフォーマンスを比較することができました…
(相手は? 反対色の正方形の上にその作品を配置することを好むアルゴリズム。)最終的には、彼らは両方ともかなりひどく演奏しました。 “彼らは好みを持っていますが、それは本当に勝つこととは関係ありません。”実際には、彼らは両方ともランダムにその動きを選択するアルゴリズムよりも少し悪いです。
あなたは私の複雑な42分のビデオを見つけた場合約30作品が退屈であることがボード上にあるものを知らずにチェスを果たしている私のプログラ:https://t.co/DkaEBGrwAf
— トム7(@tom7)July15, 2019
彼は”ハドル”と”群れ”という名前の二つのアルゴリズムもありました—一方の自動化されたプレイヤーは、その駒を自分の王の近くに置く動きを検索し、もう一方のプレイヤーは相手の王の近くにその駒を置く動きを検索します。 これは時には、ハドルの王が軒並み独自のポーンに従うことを余儀なくされることにつながり、少なくともいくつかのケースでは、そのポーンは誤ってより強力な部分に昇格し、誤って反対の王をチェックした。
しかし、より多くの場合、それは他の方法で動作します。 “相手を攻撃する好みがある場合は、誤ってそれをチェックメイトすることがあります。「ビデオでは、Murphyは悪いチェスアルゴリズムの中で、これは驚くほど悪くないことを明らかにしています。 “‘Swarm’は実際には’Random Move’よりもはるかに優れています。'”
そして、もう一つの成功した戦略は、(この順序で)移動の四つの特定の種類を優先するアルゴリズムです:チェックメイト、チェック、ピースをキャプチャ、または
しかし、他にも恐ろしいアイデアがあります—相手の駒をミラーリングしようとするアルゴリズムや、その駒をすべてボードの反対側に移動するアルゴリズ 一つのアルゴリズムは、単にアルファベット順に最初に来る方の動きを選択します。
そして、それぞれの動きが可能な動きのリストから選択される別のアルゴリズムがあります—選択肢はpiの数字で任意に決定されます…
チェスランドの生存
しかし、最終的に彼の最も精巧なアルゴリズムは質問から始まりました: どの単一のチェスの駒は、ほとんどが”生き残る”可能性が高い—ゲームの終わりまでボード上に残り、その仲間のチェスの駒のすべてで勝利を新興? 丁寧に答えを調査し、マーフィーは無料に訪問を支払いました/リブレチェスサイトLiChess.org (これは今、百万以上のゲームの日を見ています)。 それはまた、ダウンロードのためのゲームを提供しています—ので、マーフィーはそれらのすべての506,000,416をダウンロードしました。
彼はその結果を”Survival in Chessland”と呼ばれる論文にまとめ、彼の方法論を説明した。 Murphyは2018の11月までに持っていたすべての完全なゲームをダウンロードしました—別の2億は明らかにそれ以来8ヶ月で利用可能になっています。 彼の11月の運搬量でさえ、なんと875GBのチェスゲームを表していたので、これらを処理することは効率性と並列性のためにいくらかの注意を払った」とmurphy氏はビデオで述べています。
“幸いなことに、私は卑猥な数のコアと本当に過剰なRAMを持つコンピュータを持っているので、あなたは何かのためにそれを使用しなければなりません。”
ええと、どのようにわいせつ? 電子メールでは、彼は彼の”無償の”ホームシステム、32コアAMD ThreadRipper2990WXについて説明しています。 マルチスレッドのC++プログラムを数時間実行するだけで、データセット全体をクランチするのに十分でした。 “私は人々があなたが単一のマシンで効率的に何ができるかを過小評価すると思います!”
“関係する仕事は非常に簡単です: 私はPGN(ゲームを説明する)を解析し、ゲーム内の動きを実行し、各ピースの運命を追跡し、各運命のカウントを合計します…”
“私は基本的にすべてのコードを一から書 :)”
マーフィーの”生存可能性”分析は、データのいくつかの本当に美しい視覚化を作成し、64の正方形のすべてのチェスの駒の生存確率を示しています(色は、ゲーム)
そして、これはより悪いチェス再生アルゴリズムにつながりました。 まず、統計的に生き残る可能性が高い正方形に駒を移動させるだけのものがあります。 または、単に彼らがゲームの終わりにある可能性が最も高い正方形に。 そして、他のアルゴリズムは正反対のことをします—彼らが生き残る(または終わる)可能性が最も低い正方形に駒を移動させます。 二つのアルゴリズムは、各正方形のピースの生存率が最も高い(捕獲率に対する)正方形を計算し、一つのアルゴリズムは生存率を好む最高の比率を求め、”致命的な”アルゴリズムはそのような比率が最も低いことを求める。
“奇妙なことに、それはこれらの戦略の中で最高の勝利チャンスを持っています。”
そして最後に、彼はいくつかのレベルでStockfishチェスエンジンと’emすべてを比較することに決めました(それはその最も有望な動きをプレイすることを “結果を見ると、当然のことながら、これは全体的に最悪の戦略であり、ほとんどの人に失うことになります。”
しかし、トムのオリジナルの”目隠し”アルゴリズムを覚えています。 彼は、LiChessのゲームで利用可能な数十億の位置を使用して、機械学習を実行するニューラルネットワークでそれを強化することに決めました。org。 それは今正しく100%の精度で各位置で実際の部分を予測することができました…時間の約五分の一。 そして、それが間違っていても、それは各位置の平均3.22個を誤って推測しただけです。
そして、これはさらに野生の計算のためのジャンピングオフポイントになります。 ある時点で、彼は彼らのデータベース内のすべてのゲームが最終的に21,553,382,902のユニークな位置を通過すると推測します。 204GBを使用すると、次の動きと一緒にそれらをすべて保存することができますが、別の興味深い統計があります。 ポジションのなんと76%が正確に一度発生しました。 “だから、これらは多くのスペースを占有し、私は今まで再びそれらを見ることは非常に低いので、彼らは、再生するために非常に有用ではありません。”これらの一回限りの位置を捨てると、他のすべての可能なゲームの位置は約500MBのメモリで保存することができます。 これは、遭遇する任意の位置で最も人気のある動きを再生するアルゴリズムに簡単に変換できます(ただし、一意の位置に閉じ込められた場合はランダムな動きで交換します)。
しかし、それを打つための簡単なトリックが一つあります。 “とすぐに私は奇妙な動きの少しを作るように、それはちょうどランダムに再生を開始します。 そして、それは打つのは非常に簡単です。”
最終的な実験には、Stockfishエンジンの様々な”希釈”が含まれています—その好ましい動きは、ランダムに選択された動きに置き換えられます時間のxパーセント。”
“我々は実際にStockfishの特定の希釈と直接比較することによって、プレイヤーが今どのように良いかを評価することができます…”
マーフィーの精巧なチェス
「今度は、この犬にチェスの遊び方を教えている次のプロジェクトに進んでいます。”
- 機械学習が人類を私たちが理解していない答えに導くとどうなりますか?
- ソフィー、製麺ロボットを満たしています。
- 15年後、研究者は感じることができる人工の腕を発表します。