題:
是否存在根本不同但同樣有效的遊戲風格?
Nico A
2020-05-06 01:14:12 UTC
view on stackexchange narkive permalink

似乎有一個既定的“國際象棋大典”,據此,遊戲中的長期戰略存在通用原則。這裡有一組特徵鮮明的開口,甚至可以玩一小部分,甚至在中端遊戲中也可以識別已命名的結構,進攻/防守得分,得分值等。高級玩家和國際象棋引擎有時會崩潰“規則”-但要以移動為基礎,而不是在整個遊戲中始終保持一致。換句話說,即使象棋有很多創造力的餘地,創造力似乎也存在於人們可能認為“基本技術”的公認理論之內。

我正在考慮一個項目,該項目涉及訓練AI來下棋,但是具有損失功能,該功能會阻止該位置的常見移動-即,執行效果非常好但與人類不同的象棋引擎。但是在我接受培訓之前,我想知道是否有可能這樣做。國際象棋理論非常適合教人類如何下棋,但是否有可能是最高級人類下棋的唯一方法?是否存在完全不同的遊戲風格(可能一貫打破書中的每條規則,但仍然擊敗頂級玩家)的障礙?還是現代位置分析嚴格地排除了其他策略?

我是國際象棋的業餘愛好者,只是一個對遊戲感興趣的機器學習工程師-因此,對於這個問題不重要,我深表歉意。

國際象棋已經存在截然不同但同樣有效的遊戲風格。在許多位置,您可以選擇像Mikhail Tal這樣的進攻型狂熱者,還是像Anatoly Karpov這樣冷靜而集結的位置型球員。某些玩家喜歡某些選擇。但是,在某些位置上別無選擇-該位置可能會準確指示您的比賽方式。
或者,您已經可以說國際象棋比賽有完全不同但同樣有效的遊戲風格。具體而言,比較並對比Hypermodern開口(https://en.wikipedia.org/wiki/Hypermodernism_(chess))如何從機翼攻擊中心,而古典派國際象棋則要求您控制中心。
實際上,現代引擎的遊戲風格已經與“人類將做什麼”截然不同,頂級玩家能夠識別出是否有人只是在非常高精度的在線遊戲中讓引擎與他們對抗。
優秀的玩家不是基於“原理”來進行遊戲,而是基於準確的計算和評估
我記得在以前的遊戲中,AlphaZero犧牲了三隻棋子和一個騎士,但沒有明顯的位置優勢,然後繼續獲勝。現在找不到。
AlphaZero和Leela經過從零開始的培訓,在策略上完全沒有人類的投入,最終打入了絕對是當前人類最高水平的開場白,這似乎表明我們發明的東西可能接近最優。
看一下這個遊戲:https://m.youtube.com/watch?v=nPexHaFL1uo
@NoseKnowsAll:,但這是一個世紀前的辯論,我認為這與我們當前對象棋的想法沒有太大關係。
五 答案:
Inertial Ignorance
2020-05-06 06:18:02 UTC
view on stackexchange narkive permalink

肯定有一些我們不知道的策略。但是,訓練您的引擎專門針對我們所知的相反並不是達到目標的方法。例如,如果您的一件武器受到威脅,您將怎麼辦?我們目前的知識是說不要無緣無故地放棄它,所以您的AI會因此決定放棄它(因為從技術上講在數學上可能會有30至40條隱藏的想法走下去嗎?)。您可以通過隨機移動來做得更好。

解鎖隱藏策略的更好方法是採用更自下而上的方法。例如,AlphaZero僅使用遊戲規則進行指導即可自主學習(而無需人的知識)。由此,我們看到了一種基本上未知的新型演奏方式。但是,嘗試獲得這種新的遊戲風格並不是主要目標。

基本上,無視人類知識是可以的,但是積極地訓練AI來與這種知識相反地學習是不好的。在這裡,您只是在交易一個已建立的知識庫,而在這個知識庫中卻要窮得多。

我認為OP並不想讓AI僅僅將其舉動建立在與人類行為相反的基礎上。據我了解,他們希望AI做出近乎最佳的動作,但會偏向於非人為的動作(在許多動作盡可能接近的情況下,盡可能地確定)。
AlphaZero開發了什麼樣的遊戲風格?
@BruceWayne: Anna Rudolf在她的YT頻道上分析了許多AlphaZero遊戲。多數情況下,它放棄獲得有利位置的碎片,而將對手的碎片阻擋在一個毫無用處的角落。
agadmator還檢查了很多AlphaZero的遊戲:https://www.youtube.com/user/AGADMATOR/search?query=alphazero
Oscar Smith
2020-05-06 06:48:18 UTC
view on stackexchange narkive permalink

原則上,這很容易。獲取一個擁有1000萬場人類游戲的數據庫,使用國際象棋程序(Lc0或Stockfish)對位置進行重新評分,然後訓練一個神經網絡以優先考慮得分的組合,而不選擇人類選擇的動作。一旦獲得了數據,就可以在GPU的幾週內完成此操作,並且應該可以產生出動作相對怪異的計算機,並且可能具有超人的力量。

Brian Towers
2020-05-06 02:26:14 UTC
view on stackexchange narkive permalink

我正在考慮一個項目,該項目涉及訓練AI來下棋,但是具有損失功能,該功能會阻止該位置的常見移動-即,執行效果非常好但與人類盡可能不同的棋引擎。 / p>

當然,可以對AI(甚至沒有智能的普通計算機)進行編程,以針對每個位置播放最不受歡迎的動作。但是,它也是世界上性能最差的發動機。完全的初學者會喜歡與之對抗,因為他們會贏得很多比賽。提供最佳效果的動作。這些舉動越廣為人知。導致快速損失的真正不好的舉動往往最少。

這個結論需要人性的知識,而很少或沒有國際象棋知識。

“人們嘗試並發揮出最佳效果的舉動”-是的,但是人們並不完美。人們可以看到〜20步前進,最大,通常更少。那麼,如果有一些只能在長距離比賽中發揮作用的策略,即以後有30多個動作,該怎麼辦?這樣的事情是否存在,有人可以從中建立一種完整的遊戲風格嗎?
@NicoA人類不會*計算*向前的20個動作(即精確的動作),但是他們可以*更遠地看到*(即位置特徵的長期影響,尤其是要塞識別)。實際上,這是人類仍然比傳統引擎具有的最後一個優勢,傳統引擎嚴格地限制了它們的搜索深度(但是在該窗口內要好得多,以至於在人類對引擎匹配中,它遠遠超過了他們的相對弱點) 。
“不過,它也是世界上性能最差的發動機。”這是不正確的。訓練機器學習算法以考慮多個條件是完全可能且普遍的。假設,假設它偏愛最不常見的舉動,則會使它的性能降低10%。如果它比最佳人類的性能高出1000%,那就沒關係。
Lawnmower Man
2020-05-07 01:25:31 UTC
view on stackexchange narkive permalink

但是只有實際的實驗才能告訴我們AlphaZero是否留下了未開發的有意義的棋空間。與所有遊戲一樣,國際象棋可以歸結為兩個基本組成部分:

  1. 探索可能動作的空間
  2. 評估每個此類動作的“優點”
  3. AlphaZero使用一種名為“蒙特卡羅樹搜索”的技術執行1,並使用深度卷積神經網絡執行2。鮑勃是你的叔叔!好的,這是一個過分的簡化,但是讓我簡要地解釋一下每個遊戲的工作原理。

    搜索

    遊戲具有一組狀態和一組在狀態之間轉換的動作。由於它們通常只有一個開始狀態,並且為了簡單起見,我們通常將此狀態集建模為樹(而不是圖)。 “向前看”只是意味著遍歷“遊戲樹”。對於像國際象棋這樣的具有高分支因子的遊戲,您只能在少數幾個層中得到大量的狀態,所以要花盡可能多的工作來避免盡可能多的狀態節點(通過嘗試識別明顯的失敗者並以此為依據)路徑或優先遵循強路徑)。 MCTS通過“深入”遊戲中的特定動作來擴大深度。由於可以執行此計算上昂貴的操作的移動次數有限,因此僅對可能移動的隨機子集執行此操作。但是,選擇的子集沒有均勻分佈。您可以通過任何喜歡的啟發式方法來權衡所探索的動作。

    評估

    如果您正在查看獲胜狀態,則可以輕鬆進行評估。如果您不考慮獲胜狀態,則必須確定它是“好”還是“壞”。這就是神經網絡的用武之地。在您做出舉動之後,很難判斷舉動會對您的獲勝潛力產生正面還是負面的影響。但是在遊戲結束後確定要容易得多。因此,當遊戲結束時,您現在將獲得該遊戲中所有棋盤狀態的贏/輸信號。現在,這是微不足道的訓練輸入,用於確定每個板狀態對您來說是“好”還是“壞”,並且您可以通過神經網絡向後傳播該信號,從而為每個板狀態提供“好/壞”信號。這是AlphaZero的“深度學習”部分。

    因為這是AlphaZero的有狀態部分,所以您也可以說這是“知識”所在的位置,儘管它是相當抽象的形式,但並不是

    Bias

    如果我們假設AlphaZero通過在MCTS期間做出統一的隨機選擇開始,那麼可以說它探索國際象棋空間而沒有任何特別的偏見。 DCNN可能會通知MCTS層,從而使其遵循“好”路徑而不是“壞”路徑,但是從我的讀物來看,它更喜歡遵循“未知”路徑而不是“已知”路徑。基本上,AlphaZero會使用每個遊戲來增加對國際象棋的了解,而不僅僅是試圖贏得當前的遊戲。因為它著重於覆蓋空間而不是僅僅貪婪地遵循最有希望的道路,所以它比具有無狀態搜索算法的象棋引擎學習得要廣泛得多,後者必須盡可能經濟地使用其搜索週期。

    出於這個原因,應該懷疑AlphaZero不會在其曲目中留下很多有希望的途徑。而且,正如其他人所指出的那樣,它的風格已經與大多數大師級作品完全不同,並且繼續向我們傳授新事物。即便如此,AlphaZero設計中仍然有自由參數,您可以對其進行調整以提取不同的結果。

    策略

    如果要創建“最陌生的AlphaZero”,則可以接受基本架構,然後在人類游戲中進行訓練。但是,此培訓將建立一個稱為“人類預測器”的輔助網絡。惠普網絡的目標只是為了預測某個人在特定的董事會狀態下最有可能做出的動作。

    現在,當您執行MCTS階段時,而不是喜歡“我的避風港” ”,您更喜歡“人類不會做的動作”,其餘的與“ AlphaZero”相同。這基本上應該實現您想要的。我的猜測是,在AZ已經以外星人風格打球的地區,該遊戲最終看起來與AlphaZero十分相似,而在AZ與“人類風格”重疊更多的遊戲中,該遊戲將不如AZ。

    原因應該很明顯:AZ對它進行的動作沒有限制。當它與人類的遊戲方式有所不同時,不是因為要嘗試。這是因為通過詳盡的試驗和錯誤發現,這些舉動好得多。而且不僅對人類更好,甚至對自身也更好!通過使用上述HP模塊對對手在MCTS階段可能做出的反向移動進行建模,可以訓練AZ更有效地擊敗人類。這種經過修改的可用區可能會發現“純”可用區過於保守,因為它給人類對手帶來了太多榮譽。

    也可以通過在MCTS階段簡單地使用Stockfish本身提供反動來訓練“ Stockfish killer”變種。您將需要在學習階段嚴格執行此操作,因為在現場比賽中您將沒有計算能力來執行此操作,但是有效地,DCNN會學習專門與Stockfish而不是AZ對抗,並且跳過任何反擊。發揮不同引擎可能提供的功能。然後,在錦標賽中,由於DCNN已經捕獲了Stockfish的本質並將其塞入瓶中,因此MCTS可以恢復為標準算法。

    無論如何,這聽起來像是一個有趣的實驗。祝你好運!

wavemode
2020-05-06 20:34:41 UTC
view on stackexchange narkive permalink

問題是,對誰同樣有效?您是正確的,當引擎與引擎對戰時,往往會出現“最佳”或“接近最佳”的移動。而且,當大師參加長時間的控制遊戲時,他們的動作通常類似於引擎的動作。但是,當與低級人類比賽時,甚至與通用汽車在快速時間控制方面的比賽中,比賽都有更大的靈活性。人腦不可能計算出所有可能的變化,因此您可以“擺脫”並不一定總是發揮技術上的最佳動作。

因此,通常不必假設您的對手是3500級國際象棋引擎。與人類對抗時,您可以採用多種風格進行遊戲,假設他們可能錯過某些東西,從而使您獲得優勢。這可以採取許多不同的形式:

  • 非常規的開口:避免他們的開口準備,不要在舒適區域內玩東西。

  • 玩“陷阱”:讓對手有機會抓住最終導致虧損或頭寸下降的材料。

  • 時間壓力:拒絕交易並保持頭寸非常複雜迫使他們計算並消耗其時鐘。如果他們滑倒,遊戲就結束了。



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 4.0許可。
Loading...