游戏复杂度

游戏复杂度(英语:game complexity)可以用许多方法加以衡量。本条目讲述其中的5种方法:状态空间复杂度(state-space complexity)、游戏树的大小(game tree size)、策略复杂度(decision complexity)、博弈树复杂度(game-tree complexity)与计算复杂度computational complexity)。

游戏复杂度的衡量

状态空间复杂度

游戏的状态空间复杂度指的是从游戏最开始的状态可以变化出的符合规则的状态的数量。[1]

当这太难以计算时,常常通过包含一些不符合规则的状态或不可能在游戏中出现的状态, 从而计算出一个上界限

游戏树的大小

游戏树的大小指的是游戏可以被玩弄的总次数:从游戏树最初的根节点开始延伸出的叶子节点的数量.

游戏树通常比状态空间要大得多,因为同一个状态可以由不同的行为顺序形成。(例如,在一回合井字棋游戏中,面板上有两个X和一个O,这个状态可能由两个不同的方式形成,具体的形成过程由第一个X的下子位置所决定)。一个游戏树的大小的最大值有时可以这么计算:通过仅增大游戏树的方式,简化游戏的过程(例如,允许一些本来不符合规则的行为),直到游戏树的大小变得易于计算。

不过,对于一些没有行为上限的游戏(比如说没棋盘大小的界限,或者有一个可以重复游戏状态的规则),游戏树的大小将会是无限的。

决策树

之后的两种方案用到了决策树的方法。一个决策树是游戏树的子树。决策树的状态会被标记上“玩家A获胜”、“玩家B获胜”或者“平手”;如果有那个状态可以被证明具有一个标记(假设双方都作出了最好的决策),并且光从其它状态就可以得出结论.。(终端的状态可以直接标记;如果现在该A行动:如果下一个状态标志着A的胜利,那么现在的状态可以被标记为“玩家A获胜”;如果下一个状态标志着B的胜利,那么现在的状态可以被标记为“玩家B获胜”;或者可以被标记为“平手”,如果下一个状态是平局或者B胜利。相应的对于现在该B行动也是一样。)

决策复杂度

一个游戏的决策复杂度指的是在构成初始状态取值的最小的决策树中,叶子节点的数量。

博弈树复杂度

一个游戏的“博弈树复杂度”指的是在构成初始状态取值的最小“整个”决策树中,叶子节点的数量。[1] 整个决策树包含树中所有深度的节点。

这是一个为了尝试决定初始状态取值,所做出的对于需要考虑的节点数量的一个极小化极大算法Minimax)。

就算是去估量博弈树复杂度,那也十分困难。不过对于一些游戏,一个合理的下界限可以由底数为游戏的平均分支因子,指数为游戏的平均步数英语Ply (game theory)的幂得出,即可以表示为:

 

计算复杂度

一个游戏的计算复杂性理论描述对游戏进行渐近分析的难度,随着它变得过于巨大,用大O符号表示,或者用复杂性类的成员关系表示。这个概念并不应用于特定的游戏,而是用于广义的游戏英语Generalized game,它们会变得非常大,通常在一个n宽n高的面板上玩弄它们。(从计算复杂度的角度来看,一个在有限面板上进行的游戏是一个有限问题,可以通过计算O(1)解决。例如遍历从方案到最佳的移动方案的所有方案。)

例子: 井字棋

以井字棋而言,一个简单的状态空间大小的上界限是39 = 19,683。( 每一个格子中有3种状态,,有9个格子)这样计算包含了许多不合规则的状态,比如有5个X却没有0的状态,或者两方玩家都有形成一字的状态。一个更精细的计算,除去了这些不合规则的状态之后,留下5,478个状态。然后,如果把旋转或翻转后会得到相同结果的状态算作同一个的状态话,那么就可以得出765个真正本质上不同的状态。

一个简单的游戏树大小的上界限是9! = 362,880。(一开始有9个格子可以下子,,第二回合变为8个,以此类推)这包括了一方玩家获胜后继续下子的不符合规则的情况。一个更精细的计算得出的是255,168种游戏过程。如果把旋转或翻转后会得到相同结果的状态当作相同的话,那么就仅有26,830种游戏过程。

井字棋的计算复杂度取决与它如何广义化。一种自然的广义化是将其变为m,n,k型游戏:在一个宽"m"高"n"的棋盘上,第一个将"k"个子连成一线的玩家获胜。很容易就可以发现,这个游戏可以通过查找整个游戏树,解DSPACE(mn),得出结果。这将它归类到了重要的复杂性类PSPACE里面。稍微再花点功夫,可以将它变换为PSPACE完整英语PSPACE-complete[2]

一些知名游戏的复杂度

由于游戏复杂度非常巨大,下面表中一些数据只显示了以10为底数的指数部分。下面的表中的数值都需要小心对待:在游戏中,一个看起来很微小的规则变换会引起结果的巨大变化(通常依然会被粗略地估计),可能实际情况会比数值估计的结果要大得多。

游戏 棋盘大小

(格数)

状态空间复杂度

(以10为底数的指数部分)

博弈树复杂度

(以10为底数的指数部分)

平均游戏长度

(步数英语Ply (game theory))

分枝因素 引用 对应广义化游戏英语generalized game复杂性类
井字棋 9 3 5 9 4 PSPACE-complete[2]
Sim 15 3 8 14 3.7 PSPACE-complete[3]
五格骨牌 64 12 18 10 75 [4] [5] ?, but in PSPACE
美国播棋[6] 14 13 18 [4] Generalization is unclear
屏风式四子棋 42 13 21 36 4 [7] [1] ?, but in PSPACE
Domineering (8 × 8) 64 15 27 30 8 [4] ?, but in PSPACE; in P for certain dimensions[8]
马来播棋 14 15 33 [4]
英国跳棋 32 20 or 18 31 70 2.8 [9] or [1] EXPTIME-complete[10]
西非播棋[11] 12 12 32 60 3.5 [1] Generalization is unclear
多层式四子棋 64 30 34 20 54.2 [1] PSPACE-complete[2]
迂棋 45 21 46 44 11 [12] ?, but in EXPTIME
直棋 24 10 50 50 10 [1] ?, but in EXPTIME
西洋跳棋 50 30 54 90 4 [1] EXPTIME-complete[10]
中国跳棋(2人) 121 23 [13] EXPTIME-complete [14]
中国跳棋(6人) 121 78 [13] EXPTIME-complete [14]
集结棋 64 23 64 44 29 [15] ?, but in EXPTIME
黑白棋 64 28 58 58 10 [1] PSPACE-complete[16]
OnTop (2人局) 72 88 62 31 23.77 [17]
六贯棋 121 57 98 40 280 [4] PSPACE-complete[18]
五子棋(15x15, 无禁手) 225 105 70 30 210 [1] PSPACE-complete[2]
围棋(9x9) 81 38 45 [19] [1] EXPTIME-complete[20]
国际象棋 64 47 123 80 35 [21] EXPTIME-complete (without 50-move drawing rule) [22]
连六棋 361 172 140 30 46000 [23] PSPACE-complete[24]
双陆棋 28 20 144 50-60 250 [25] Generalization is unclear
象棋 90 40 150 95 38 [1] [26][27] ?, believed to be EXPTIME-complete
角力棋 61 25 154 87 60 [28] ?, but in EXPTIME
三宝棋 271 127 157 66 240 [4] [29] ?, but in PSPACE
韩国将棋 90 44 160 100 40 [27] ?, believed to be EXPTIME-complete
墙棋 81 42 162 91 60 [30] ?, but in PSPACE
卡卡颂(2p base game) 72 >40 195 71 55 [31] Generalization is unclear
亚马逊棋 100 40 212 84 374 or 299[32] [33] [34] PSPACE-complete[35]
围棋(13x13) 169 79 90 [1] [19] EXPTIME-complete[20]
日本将棋 81 71 226 115 92 [26] [36] EXPTIME-complete[37]
印度斗兽棋 64 43 402 92 17281 [38] [39] [40] ?, but in EXPTIME
围棋(19x19) 361 171 360 150 250 [19] [1] EXPTIME-complete[20]
西洋陆军棋 92 115 535 381 21.739 [41]
Double dummy bridge[注 1] (52) <17 <40 52 5.6

注释

  1. ^ Double dummy bridge (i.e. double dummy problems in the context of contract bridge) is not a proper board game but has a similar game tree, and is studied in computer bridge, which motivates including it in the list. The bridge table can be regarded as having one slot for each player and trick to play a card in, which corresponds to board size 52. Game-tree complexity is a very weak upper bound: 13! to the power of 4 players regardless of legality. State-space complexity is for one given deal; likewise regardless of legality but with many transpositions eliminated. Note that the last 4 plies are always forced moves with branching factor 1.

参考文献

  1. ^ 1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.10 1.11 1.12 1.13 Victor Allis. Searching for Solutions in Games and Artificial Intelligence (PDF) (Ph.D.论文). University of Limburg, Maastricht, The Netherlands. 1994 [2014-02-12]. ISBN 90-900748-8-0. (原始内容存档 (PDF)于2020-09-27). 
  2. ^ 2.0 2.1 2.2 2.3 Stefan Reisch. Gobang ist PSPACE-vollstandig (Gomoku is PSPACE-complete). Acta Informatica. 1980, 13: 5966. 
  3. ^ Wolfgang Slany: The Complexity of Graph Ramsey Games
  4. ^ 4.0 4.1 4.2 4.3 4.4 4.5 H. J. van den Herik; J. W. H. M. Uiterwijk; J. van Rijswijck. Games solved: Now and in the future. Artificial Intelligence. 2002, 134 (1–2): 277–311. doi:10.1016/S0004-3702(01)00152-7. 
  5. ^ Hilarie K. Orman: Pentominoes: A First Player Win in Games of no chance页面存档备份,存于互联网档案馆, MSRI Publications – Volume 29, 1996, pages 339-344. Online: pdf页面存档备份,存于互联网档案馆).
  6. ^ See van den Herik et al for rules.
  7. ^ John Tromp. John's Connect Four Playground. 2010 [2014-02-12]. (原始内容存档于2003-04-08). 
  8. ^ Cristopher Moore; Ivan Rapaport. Who wins domineering on rectangular boards?. MSRI Combinatorial Game Theory Research Workshop. July 2000.  author-name-list parameters只需其一 (帮助); Authors list列表缺少|last1= (帮助)
  9. ^ Jonathan Schaeffer; et al. Checkers is Solved. Science. July 6, 2007, 317 (5844): 1518–1522. PMID 17641166. doi:10.1126/science.1144079. 
  10. ^ 10.0 10.1 J. M. Robson. N by N checkers is Exptime complete. SIAM Journal on Computing,. 1984, 13 (2): 252–267. doi:10.1137/0213018. 
  11. ^ See Allis 1994 for rules
  12. ^ M.P.D. Schadd, M.H.M. Winands, J.W.H.M. Uiterwijk, H.J. van den Herik and M.H.J. Bergsma. Best Play in Fanorona leads to Draw (PDF). New Mathematics and Natural Computation. 2008, 4 (3): 369–387 [2014-02-12]. doi:10.1142/S1793005708001124. (原始内容存档 (PDF)于2020-10-25). 
  13. ^ 13.0 13.1 G.I. Bell. The Shortest Game of Chinese Checkers and Related Problems. Integers. 2009 [2020-03-24]. arXiv:0803.1245 . (原始内容存档于2019-09-02). 
  14. ^ 14.0 14.1 Takumi Kasai, Akeo Adachi, and Shigeki Iwata. Classes of Pebble Games and Complete Problems. SIAM Journal on Computing. 1979, 8 (4): 574–586. doi:10.1137/0208046.  Proves completeness of the generalization to arbitrary graphs.
  15. ^ Mark H.M. Winands. Informed Search in Complex Games (PDF) (Ph.D.论文). Maastricht University, Maastricht, The Netherlands. 2004 [2014-02-12]. ISBN 90-5278-429-9. (原始内容存档 (PDF)于2020-07-31). 
  16. ^ S. Iwata and T. Kasai. The Othello game on an n*n board is PSPACE-complete. Theor. Comp. Sci. 1994, 123 (2): 329–340. doi:10.1016/0304-3975(94)90131-7. 
  17. ^ Robert Briesemeister. Analysis and Implementation of the Game OnTop (PDF) (学位论文). Maastricht University, Dept of Knowledge Engineering. 2009 [2014-02-12]. (原始内容存档 (PDF)于2014-03-06). 
  18. ^ Stefan Reisch. Hex ist PSPACE-vollst?ndig (Hex is PSPACE-complete). Acta Inf. 1981, (15): 167–191. 
  19. ^ 19.0 19.1 19.2 John Tromp and Gunnar Farneb?ck. Combinatorics of Go. 2007. [永久失效链接] This paper derives the bounds 48<log(log(N))<171 on the number of possible games N.
  20. ^ 20.0 20.1 20.2 J. M. Robson. The complexity of Go. Information Processing; Proceedings of IFIP Congress. 1983: 413–417. 
  21. ^ The size of the state space and game tree for chess were first estimated in Claude Shannon. Programming a Computer for Playing Chess (PDF). Philosophical Magazine. 1950, 41 (314) [2014-02-12]. (原始内容 (PDF)存档于2010-03-15).  Shannon gave estimates of 1043 and 10120 respectively, smaller than the upper bound in the table, which is detailed in Shannon number.
  22. ^ Aviezri Fraenkel and D. Lichtenstein. Computing a perfect strategy for n×n chess requires time exponential in n. J. Comb. Th. A. 1981, (31): 199–214. 
  23. ^ Chang-Ming Xu; Ma, Z.M.; Jun-Jie Tao; Xin-He Xu. Enhancements of proof number search in connect6. 2009 Chinese Control and Decision Conference. 2009: 4525. ISBN 978-1-4244-2722-2. doi:10.1109/CCDC.2009.5191963. 
  24. ^ On the fairness and complexity of generalized k-in-a-row games
  25. ^ 存档副本. [2008-04-15]. (原始内容存档于2009-02-26). 
  26. ^ 26.0 26.1 Shi-Jim Yen, Jr-Chang Chen, Tai-Ning Yang, and Shun-Chin Hsu. Computer Chinese Chess (PDF). International Computer Games Association Journal. March 2004, 27 (1): 3–18 [2014-02-12]. (原始内容 (PDF)存档于2007-06-14). 
  27. ^ 27.0 27.1 Donghwi Park. Space-state complexity of Korean chess and Chinese chess. 2015 [2015-08-19]. (原始内容存档于2020-08-01). 
  28. ^ Chorus, Pascal. Implementing a Computer Player for Abalone Using Alpha-Beta and Monte-Carlo Search (PDF). Dept of Knowledge Engineering, Maastricht University. [29 March 2012]. (原始内容存档 (PDF)于2020-09-18). 
  29. ^ Joosten, B. Creating a Havannah Playing Agent (PDF). [29 March 2012]. (原始内容存档 (PDF)于2016-03-03). 
  30. ^ Lisa Glendenning. Mastering Quoridor (PDF). Computer Science (B.Sc.论文). University of New Mexico. May 2005 [2014-02-12]. (原始内容 (PDF)存档于2012-03-15). 
  31. ^ Cathleen Heyden. Implementing a Computer Player for Carcassonne (PDF) (学位论文). Maastricht University, Dept of Knowledge Engineering. 2009 [2014-02-12]. (原始内容存档 (PDF)于2014-03-06). 
  32. ^ The lower branching factor is for the second player.
  33. ^ Julien Kloetzer; Hiroyuki Iida; Bruno Bouzy. The Monte-Carlo Approach in Amazons. 2007 [2014-02-12]. (原始内容存档于2012-10-17). 
  34. ^ P. P. L. M. Hensgens. A Knowledge-Based Approach of the Game of Amazons (PDF). Universiteit Maastricht, Institute for Knowledge and Agent Technology. 2001 [2014-02-12]. (原始内容存档 (PDF)于2016-03-03). 
  35. ^ R. A. Hearn. Amazons is PSPACE-complete. 2005-02-02. arXiv:cs.CC/0502013 . 
  36. ^ Hiroyuki Iida, Makoto Sakuta, Jeff Rollason. Computer shogi. Artificial Intelligence. january 2002, 134 (1–2): 121–144. doi:10.1016/S0004-3702(01)00157-6. 
  37. ^ H. Adachi, H. Kamekawa, and S. Iwata. Shogi on n × n board is complete in exponential time. Trans. IEICE. 1987, J70–D: 1843–1852. 
  38. ^ Christ-Jan Cox. Analysis and Implementation of the Game Arimaa (PDF). 2006 [2014-02-12]. (原始内容存档 (PDF)于2020-10-27). 
  39. ^ David Jian Wu. Move Ranking and Evaluation in the Game of Arimaa (PDF). 2011 [2014-02-12]. (原始内容存档 (PDF)于2017-03-17). 
  40. ^ Brian Haskin. A Look at the Arimaa Branching Factor. 2006 [2014-02-12]. (原始内容存档于2009-11-07). 
  41. ^ A.F.C. Arts. Competitive Play in Stratego (PDF) (学位论文). Maastricht. 2010 [2014-02-12]. (原始内容存档 (PDF)于2016-03-04). 

外部链接

参见