게임 복잡도

게임 복잡도 이론게임복잡성을 측정하는 몇 가지 방법을 가지고 있다. 이 문서에서는 그 중 주 공간 복잡성, 게임 트리 크기, 의사결정 복잡성, 게임 트리 복잡성, 계산 복잡성이라는 5가지에 분야에 대해 설명한다.

게임 복잡성 측정편집

주 공간 복잡성편집

게임의 주 공간 복잡성은 게임을 처음 위치에서 시작했을 때 도달할 수 있는 합법적인 게임 위치의 경우이다. 게임을 계산하기 너무 어려울 때 가끔 일부 속임수도 세어서 상한을 계산할 수 있는데, 이는 게임 과정에서 절대 일어날 수 없는 포지션을 의미한다.

게임 트리 크기편집

게임 트리 크기는 게임을 시작할 수 있는 총 게임 수이다. 게임 트리의 리프 노드 수는 게임 초기 위치에 뿌리를 두고 있다.

게임 트리는 많은 게임에서 서로 다른 순서로 움직여서 같은 위치가 발생할 수 있기 때문에 일반적으로 주 공간보다 훨씬 크다.(예를 들어, 보드에 두 개의 X와 한 개의 O가 있는 틱택토 게임에서, 이 위치는 첫 번째 X가 어디에 놓였는지에 따라 두 가지 다른 방법으로 도달할 수 있었다). 게임 나무의 크기에 대한 상한선은 트랙터블이 될 때까지 게임 나무의 크기만을 증가시키는 방식으로(예를 들어 불법적인 움직임을 허용함으로써) 게임을 단순화함으로써 계산될 수 있다.

이동 횟수가 제한되지 않는 게임(예: 보드 크기 또는 위치 반복에 대한 규칙)의 경우 게임 트리는 일반적으로 무한하다.

의사결정 나무편집

다음 두 가지 척도는 "A 선수 승리", "B 선수 승리" 또는 "끌어짐"으로 표시된 각 포지션과 함께 게임 트리의 하위 트리인 의사결정 트리의 아이디어를 사용한다. 만약 그 포지션이 그래프에서 다른 포지션만을 검토하여 (양쪽에 의한 최상의 플레이를 가정) 그 가치를 가질 수 있다면 말이다. (단자 위치는 직접 라벨을 붙일 수 있다. A선수가 이동할 수 있는 자리는 A선수가 승리할 경우 "A선수가 승리한다"고 표시하거나, 모든 후임자가 B선수가 승리할 경우 "B선수가 승리한다"고 표시하거나, 모든 후임자가 추첨되거나 B선수가 승리할 경우 "추첨"이라고 표시할 수 있다. 그리고 그에 상응하여 B가 있는 위치가 이동한다.)

의사 결정 복잡성편집

게임의 결정 복잡성은 초기 위치의 가치를 설정하는 가장 작은 의사결정 나무의 리프 노드 수이다.

게임 트리의 복잡성편집

게임의 게임 트리 복잡성은 초기 위치의 가치를 설정하는 가장 작은 전체 너비 의사결정 트리의 리프 노드 수이다. 전체 너비 트리는 각 깊이에 있는 모든 노드를 포함한다.

이것은 초기 위치의 값을 결정하기 위해 미니맥스 검색에서 평가해야 할 위치의 수에 대한 추정치다.

게임 트리의 복잡성을 추정하기는 어렵지만, 일부 게임의 경우 게임의 평균 분기 요소 b를 평균 게임에서 플라이 d의 힘으로 높여서 근사치를 산출할 수 있다.

 

계산 복잡성편집

게임의 계산적 복잡성은 게임이 임의적으로 커져서 큰 O 표기법이나 복잡성 등급의 멤버십으로 표현될 때 나타나는 점증적 난이도를 설명한다. 이 개념은 특정 게임에 적용되는 것이 아니라, 일반적으로 n-by-n 보드에서 게임을 함으로써 임의적으로 크게 만들 수 있도록 일반화된 게임들에 적용된다.(계산 복잡성의 관점에서, 고정된 크기의 보드 위에서 게임은 O(1)에서 해결할 수 있는 유한한 문제로서, 예를 들어, p의 조회표에 의해 해결된다. 각 포지션에서 가장 잘 움직일 수 있도록 한다.)

점증적 복잡성은 게임을 해결하기 위해 가장 효율적인(어떤 계산적 자원에 관해서든)알고리즘에 의해 정의된다. 가장 일반적인 복잡성 측정(컴퓨팅 시간)은 가능한 모든 경우에 솔루션 알고리즘이 작동해야 하기 때문에 점증적 상태-공간 복잡성의 로그에 의해 항상 경계를 낮춘다. 게임의 테이트 그것은 게임 패밀리에 작용하는 어떤 특정한 알고리즘의 복잡성에 의해 상한선이 될 것이다. 유사한 언급이 두 번째로 일반적으로 사용되는 복잡성 측정치, 즉 계산에 사용되는 공간이나 컴퓨터 메모리의 양에도 적용된다. 알고리즘이 게임 상태를 저장할 필요가 없기 때문에 일반적인 게임의 공간 복잡성에 하한선이 있다는 것은 명백하지 않다; 그러나 관심 있는 많은 게임들은 PSPACE-hard로 알려져 있고, 그들의 공간 복잡성은 점증적 상태-공간 복잡성의 로그에 의해 하한선이 될 것이다(기술적으로 더 낮다). 바운드(bound)는 이 수량에서 다항식일 뿐이지만, 일반적으로 선형이라고 알려져 있다.

  • 깊이-최초 미니맥스 전략은 전체 트리를 탐구해야 하기 때문에 게임의 트리-복잡성에 비례하는 계산 시간과 알고리즘이 가능한 각 이동 깊이에 트리의 한 노드를 항상 저장해야 하기 때문에 트리-복잡성의 로그에 메모리 다항식의 양이 사용되며, 그리고 가장 높은 이동 깊이에서 노드 수를 항상 저장해야 하기 때문이다. 바로 그 나무 조각이다.
  • 후진 유도는 각 가능한 위치에 대해 정확한 이동을 계산하고 기록해야 하므로 상태-공간 복잡성에 비례하는 메모리와 시간을 모두 사용한다.

교차점편집

틱택토(tic-tac-toe)의 경우, 주공간의 크기에 대한 단순한 상한은9 3 = 19,683이다. (각 셀마다 3개의 상태와 9개의 셀이 있다.) 이 카운트에는 5개의 크로스를 올리고 무득점 포지션이나 두 선수 모두 3열로 된 포지션 등 많은 불법 포지션이 포함된다. 이런 불법적인 자리를 없애면서 더 세심한 카운트를 하면 5,478개가 나온다. 그리고 회전과 위치의 반사가 동일하다고 여겨질 때, 근본적으로 다른 위치는 765개밖에 없다.

게임 트리를 묶기 위해서는 9개의 초기 동작, 8개의 응답 등이 가능하기 때문에 최대 9개의 게임이나 362,880개의 게임이 있다. 그러나, 게임은 해결하는데 9회 미만이 걸릴 수 있으며, 정확한 집계 결과는 255,168개의 가능한 게임을 제공한다. 로테이션과 포지션 반사가 동일하다고 판단되면 26,830경기만 가능하다.

틱택토(tic-tac-toe)의 계산적 복잡성은 그것이 어떻게 일반화되는지에 따라 달라진다. 자연적인 일반화는 m,n,k게임에 대한 것이다: 승자는 k를 연속해서 얻은 첫 번째 선수인 m by n board에서 경기를 한다. 게임트리 전체를 검색하면 이 게임이 DSPACE(mn)에서 풀릴 수 있다는 것은 바로 알 수 있다. 이것은 그것을 중요한 복잡성 등급인 PSPACE에 둔다. 더 많은 작업을 통해 PSPACE-완전함을 보여줄 수 있다.

게임의 복잡성편집

이 표는 게임 복잡성이 크기 때문에 로그의 밑을 베이스 10으로 한다. 다음 숫자들은 모두 주의해서 고려해야 한다: 겉보기에는 게임의 규칙을 조금만 바꾸면 (어쨌든 대략적인 추정치인) 숫자가 엄청난 요인에 의해 바뀔 수 있는데, 이것은 표시된 숫자보다 훨씬 더 많을 수 있다.

참고: 게임 트리 크기로 정렬

게임 보드

사이즈

(positions)

상태 공간 복잡성

(as log to base 10)

게임트리의 복잡성

(as log to base 10)

평균 게임 길이

(plies)

분기계수 참조
틱택토 9 3 5 9 4
15 3 8 14 3.7
펜토미노스목 64 12 18 10 75 [1][2]
칼라[3] 14 13 18 50 [1]
커넥트포 42 13 21 36 4 [4][5]
도미니어링 (8 × 8) 64 15 27 30 8 [1]
콩카크 14 15 33 [1]
영미식 체커 32 20 or 18 40 70 2.8 [4][6][7]
오와레[8] 12 12 32 60 3.5 [4]
큐빅 64 30 34 20 54.2 [4]
더블 더미 브리지[nb 1] (52) <17 <40 52 5.6
파노로나 45 21 46 44 11 [9]
나인 멘스 모리스 24 10 50 50 10 [4]
타블루트 81 27 [10]
국제식 체커(10x10) 50 30 54 90 4 [4]
차이니즈 체커 (2인용) 121 23 180 [11]
차이니즈 체커 (6인용) 121 78 600 [11]
오델로(리버시) 64 28 58 58 10 [4]
OnTop (2p base game) 72 88 62 31 23.77 [12]
라인스 오브 액션 64 23 64 44 29 [13]
오목 (15x15, 자유형) 225 105 70 30 210 [4]
헥스(11x11) 121 57 98 50 96 [1]
체스 64 44 123 70 35 [14]
비주얼드 (8x8) 64 <50 70 [15]
GIPF 37 25 132 90 29.3 [16]
육목 361 172 140 30 46000 [17]
백개먼 28 20 144 55 250 [18]
샹치 90 40 150 95 38 [4][19][20]
아발론 61 25 154 87 60 [21][22]
하바나 271 127 157 66 240 [1][23]
트윅스트 572 140 159 60 452 [24]
장기 90 44 160 100 40 [20]
쿼리도 81 42 162 91 60 [25]
카카손 72 >40 195 71 55 [26]
아마존(10x10) 100 40 212 84 374 or 299[27] [28][29]
쇼기 81 71 226 115 92 [19][30]
Thurn_and_Taxis (2 player) 33 66 240 56 879 [31]
바둑 (19x19) 361 170 360 150 250 [4][32][33]
아리마 64 43 402 92 17281 [34][35][36]
스트라테고 92 115 535 381 21.739 [37]
무한 체스[nb 2] 무한 무한 무한 무한 무한 [40]
매직 더 개더링 무한 언바운드됨 언바운드됨 무한 무한 [41]

각주편집

  1. H. J. van den Herik; J. W. H. M. Uiterwijk; J. van Rijswijck (2002). “Games solved: Now and in the future”. 《Artificial Intelligence》 134 (1–2): 277–311. doi:10.1016/S0004-3702(01)00152-7. 
  2. Hilarie K. Orman: Pentominoes: A First Player Win in Games of no chance, MSRI Publications – Volume 29, 1996, pages 339-344. Online: pdf.
  3. See van den Herik et al for rules.
  4. Victor Allis (1994). 《Searching for Solutions in Games and Artificial Intelligence》 (PDF) (학위논문). University of Limburg, Maastricht, The Netherlands. ISBN 90-900748-8-0. 
  5. John Tromp (2010). “John's Connect Four Playground”. 
  6. Jonathan Schaeffer; 외. (2007년 7월 6일). “Checkers is Solved”. 《Science》 317 (5844): 1518–1522. Bibcode:2007Sci...317.1518S. doi:10.1126/science.1144079. PMID 17641166. 
  7. Schaeffer, Jonathan (2007). "Game over: Black to play and draw in checkers". ICGA Journal. 30 (4): 187–197. CiteSeerX 10.1.1.154.255. doi:10.3233/ICG-2007-30402.
  8. See Allis 1994 for rules
  9. M.P.D. Schadd; M.H.M. Winands; J.W.H.M. Uiterwijk; H.J. van den Herik; M.H.J. Bergsma (2008). “Best Play in Fanorona leads to Draw” (PDF). 《New Mathematics and Natural Computation4 (3): 369–387. doi:10.1142/S1793005708001124. 
  10. Andrea Galassi (2018). “An Upper Bound on the Complexity of Tablut”. 
  11. G.I. Bell (2009). “The Shortest Game of Chinese Checkers and Related Problems”. 《Integers》 9. arXiv:0803.1245. Bibcode:2008arXiv0803.1245B. doi:10.1515/INTEG.2009.003. 2019년 9월 2일에 원본 문서에서 보존된 문서. 2021년 6월 26일에 확인함. 
  12. Robert Briesemeister (2009). 《Analysis and Implementation of the Game OnTop》 (PDF) (학위논문). Maastricht University, Dept of Knowledge Engineering. 
  13. Mark H.M. Winands (2004). 《Informed Search in Complex Games》 (PDF) (학위논문). Maastricht University, Maastricht, The Netherlands. ISBN 90-5278-429-9. 
  14. The size of the state space and game tree for chess were first estimated in Claude Shannon (1950). “Programming a Computer for Playing Chess” (PDF). 《Philosophical Magazine》 41 (314). 2010년 7월 6일에 원본 문서 (PDF)에서 보존된 문서.  Shannon gave estimates of 1043 and 10120 respectively, smaller than the upper bound in the table, which is detailed in Shannon number.
  15. L. Gualà; S. Leucci; E. Natale (2014). “Bejeweled, Candy Crush and other Match-Three Games are (NP-)Hard”. arXiv:1403.5830 [cs.CC]. 
  16. Diederik Wentink (2001). 《Analysis and Implementation of the game Gipf》 (PDF) (학위논문). Maastricht University. 
  17. Chang-Ming Xu; Ma, Z.M.; Jun-Jie Tao; Xin-He Xu (2009). 〈Enhancements of proof number search in connect6〉. 《2009 Chinese Control and Decision Conference》. 4525쪽. doi:10.1109/CCDC.2009.5191963. ISBN 978-1-4244-2722-2. 
  18. Tesauro, Gerald (1992년 5월 1일). “Practical issues in temporal difference learning”. 《Machine Learning》 8 (3–4): 257–277. doi:10.1007/BF00992697. 
  19. Shi-Jim Yen, Jr-Chang Chen; Tai-Ning Yang; Shun-Chin Hsu (March 2004). “Computer Chinese Chess” (PDF). 《International Computer Games Association Journal》 27 (1): 3–18. doi:10.3233/ICG-2004-27102. 2007년 6월 14일에 원본 문서 (PDF)에서 보존된 문서. 
  20. Donghwi Park (2015). “Space-state complexity of Korean chess and Chinese chess”. arXiv:1507.06401 [math.GM]. 
  21. Chorus, Pascal. “Implementing a Computer Player for Abalone Using Alpha-Beta and Monte-Carlo Search” (PDF). Dept of Knowledge Engineering, Maastricht University. 2012년 3월 29일에 확인함. 
  22. Kopczynski, Jacob S (2014). 《Pushy Computing: Complexity Theory and the Game Abalone》 (학위논문). Reed College. 
  23. Joosten, B. “Creating a Havannah Playing Agent” (PDF). 2012년 3월 29일에 확인함. 
  24. Kevin Moesker (2009). 《TWIXT: THEORY, ANALYSIS AND IMPLEMENTATION》 (PDF) (학위논문). Maastricht University, Faculty of Humanities and Sciences of Maastricht University. 
  25. Lisa Glendenning (May 2005). 《Mastering Quoridor》 (PDF). Computer Science (학위논문). University of New Mexico. 2012년 3월 15일에 원본 문서 (PDF)에서 보존된 문서. 
  26. Cathleen Heyden (2009). 《Implementing a Computer Player for Carcassonne》 (PDF) (학위논문). Maastricht University, Dept of Knowledge Engineering. 
  27. The lower branching factor is for the second player.
  28. Julien Kloetzer; Hiroyuki Iida; Bruno Bouzy (2007), 《The Monte-Carlo Approach in Amazons》, CiteSeerX 10.1.1.79.7640 
  29. P. P. L. M. Hensgens (2001). “A Knowledge-Based Approach of the Game of Amazons” (PDF). Universiteit Maastricht, Institute for Knowledge and Agent Technology. 
  30. Hiroyuki Iida; Makoto Sakuta; Jeff Rollason (January 2002). “Computer shogi”. 《Artificial Intelligence》 134 (1–2): 121–144. doi:10.1016/S0004-3702(01)00157-6. 
  31. F.C. Schadd (2009). 《Monte-Carlo Search Techniques in the Modern Board Game Thurn and Taxis》 (PDF) (학위논문). Maastricht University. 2021년 1월 14일에 원본 문서 (PDF)에서 보존된 문서. 
  32. John Tromp; Gunnar Farnebäck (2007). “Combinatorics of Go”.  This paper derives the bounds 48<log(log(N))<171 on the number of possible games N.
  33. John Tromp (2016). “Number of legal Go positions”. 
  34. Christ-Jan Cox (2006). “Analysis and Implementation of the Game Arimaa” (PDF). 
  35. David Jian Wu (2011). “Move Ranking and Evaluation in the Game of Arimaa” (PDF). 
  36. Brian Haskin (2006). “A Look at the Arimaa Branching Factor”. 
  37. A.F.C. Arts (2010). 《Competitive Play in Stratego》 (PDF) (학위논문). Maastricht. 
  38. Chess on an Infinite Plane game rules
  39. Trappist-1 game rules
  40. CDA Evans and Joel David Hamkins (2014). “Transfinite game values in infinite chess”. arXiv:1302.4377 [math.LO]. 
  41. Alex Churchill, Stella Biderman, and Austin Herrick (2020). “Magic: the Gathering is Turing Complete” (PDF). 《Fun with Algorithms》. arXiv:1904.09828. 
내용주
  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. 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.
  2. Infinite chess is a class of games, which includes Chess on an Infinite Plane and Trappist-1 as examples.[38][39]