當前位置: 華文星空 > 體育

如果發明一種機器學習難以戰勝人類的棋類規則,這種規則應該具備什麽樣的特點?

2022-06-09體育

我覺得必須從問題的結構入手,盡可能惡心寫RL的程式設計師。核心不是增大搜尋空間,而是增大「描述搜尋空間」的難度。

  1. 不規則形狀的棋盤,如果強行轉成長方形tensor會浪費很多儲存空間,總之第一步廢掉CNN。
  2. 棋盤的形狀、可部署位置數量隨著遊戲的進行,會發生改變甚至無限增長。
  3. 每個棋子具有不同的部署費用,能部署的棋子數量受到玩家當前的部署點數限制,但也可以存在每類棋子的部署上限。部署點數可以無限制增加。這樣每輪部署的policy就比較難寫成幹凈整潔的tensor形式。
  4. 每個棋子的機制(技能)保持不變,但是數值在每次新遊戲會重新隨機分配,這樣棋子的描述也是需要額外探索的。
  5. 以遞迴的形式,每個棋子能搭載數量不限的其他棋子(這些被搭載的棋子也能搭載其他棋子,以此類推),這個樹的深度可以無限增加。這樣就比較難對某個棋子或者位置做embedding。
  6. 作為對上一條的補充,同一位置可以無限疊加棋子。
  7. 玩家可以在任意兩個位置之間,設立單向/雙向傳送門,傳送門也可以被摧毀,總之進一步破壞local dependency。
  8. 有多個(>=3)玩家,經典multi-agent加難度。
  9. 不完全資訊,尤其是一個玩家因為隨機/玩家使用的道具,看不到其他玩家在過去幾輪內的出招、整個棋盤的特定狀態。這其實已經能模擬類似石頭剪刀布或者囚徒困境的simultaneous game了。
  10. 遊戲總輪數確定,或者用其他方法破壞infinite-horizon/stationary policy的假設。
  11. 連續時間,隨時可以出招,模型的推斷時間也會造成影響。
  12. 把遊戲編譯成二進制釋出,禁止從某個殘局存檔重開,廢掉所有基於backtracking的學習和搜尋策略,例如MCTS,但一些經典的policy gradient演算法確實不受影響。
  13. 棋子的部署不是部署在某個位置,而是一整條完整的移動路徑(按順序存取多個位置)。這樣進一步加大了表示policy的難度,例如把policy寫成長度為n的概率向量(其中n是可能action的數量)就徹底行不通了,因為n會是一個天文數碼,甚至每局都在變。