정사각형 달성 게임에서 승리 전략 분석

읽는 시간: 5 분
...

📝 원문 정보

  • Title: Guaranteed successful strategies for a square achievement game on an n by n grid
  • ArXiv ID: 1109.2341
  • 발행일: 2012-05-22
  • 저자: Thomas Jenrich

📝 초록 (Abstract)

이 논문은 n x n 그리드 위에서 'O'와 'X'를 번갈아가며 배치하는 두 플레이어 간의 게임을 분석합니다. 첫 번째 플레이어는 수평 및 수직 변의 모서리에 4개의 셀을 점유하여 승리를 달성해야 합니다. 논문은 SQRGAME2라는 컴퓨터 프로그램을 사용해 n이 3, 4, 5일 때 각 플레이어가 최적의 전략으로 게임에서 어떻게 이길 수 있는지 분석합니다. 특히, n = 3 및 n = 4에서는 두 번째 플레이어가 지지 않도록 하는 전략을 제시하고, n = 5에서는 첫 번째 플레이어가 승리하는 방법을 설명합니다.

💡 논문 핵심 해설 (Deep Analysis)

이 논문은 정사각형 달성 게임에서 최적의 플레이 전략에 대한 심도 있는 분석을 제공한다. 이 게임은 n x n 그리드 위에서 두 플레이어가 'O'와 'X'를 번갈아 배치하며, 첫 번째 플레이어는 수평 및 수직 변의 모서리에 4개의 셀을 점유하여 승리를 달성해야 한다. 논문은 SQRGAME2라는 컴퓨터 프로그램을 사용해 n이 3, 4, 5일 때 각 플레이어가 최적의 전략으로 게임에서 어떻게 이길 수 있는지 분석한다.

게임의 규칙과 진행 방식에 대한 자세한 설명은 다음과 같다. G는 0부터 (적어도) n-1까지의 정수 인덱스 범위를 가진 2차원 배열 변수로, G

📄 논문 본문 발췌 (Excerpt)

**제목: 최적 게임 전략에 대한 연구: OX 게임의 경우**

어떤 장소(참고 문헌 참조)에서 마틴 에릭슨(Martin Erickson)은 두 플레이어가 n x n 그리드의 비어 있는 셀에 번갈아 ‘O’와 ‘X’를 작성하는 게임을 설명합니다. 첫 번째 플레이어가 수평 및 수직 변의 모서리에 4개의 셀을 점유하는 경우 승리합니다. 그는 “최적의 플레이가 주어졌을 때 게임의 결과는 무엇인가?” 또는 “첫 번째 플레이어가 이길 수 있는 가장 작은 n은 무엇인가?“와 같은 질문을 던집니다. n이 3보다 작을 경우 승리는 명백히 불가능합니다. 본 논문과 함께 제공된 컴퓨터 프로그램 SQRGAME2(잘못된 이전 버전 SQRGAME의 수정판)는 n이 3 또는 4일 때 두 번째 플레이어가 지지 않도록 확실한 전략을 제공하고, n이 5일 때 첫 번째 플레이어가 승리하도록 하는 것을 목표로 합니다. 이 논문은 SQRGAME 프로그램의 오류가 밝혀지면서 업데이트되었습니다. 자세한 내용은 ‘제공된 컴퓨터 프로그램 SQRGAME2’ 섹션의 “SQRGAME의 전임자"라는 문단에서 확인할 수 있습니다.

컴퓨터 프로그램을 사용하여 모든 가능한 경우를 확인하기 위해 게임의 설명을 다음과 같이 제공합니다: G는 0부터 (적어도) n-1까지의 정수 인덱스 범위를 가진 2차원 배열 변수입니다. G[r, c]는 행 번호 r과 열 번호 c에 의해 주소 지정된 셀의 현재 값을 나타내며, r과 c는 0부터 n-1 사이의 정수여야 합니다. 게임은 G[r, c] = 0으로 초기화되며, 플레이어 1과 2는 각각 1 또는 2로 셀의 값을 변경하여 번갈아 가며 움직입니다. v = 1 또는 v = 2인 경우, 플레이어가 비어 있는 정사각형(크기 d)을 완성함으로써 게임에서 승리합니다.

이러한 승리 구성은 간략히 ‘정사각형(square)‘이라고 불립니다. G의 내용물을 90도 회전하거나 열, 행, 또는 대각선에 대해 반전시켜도 기존 정사각형은 유지되지만 새로운 정사각형은 생성되지 않습니다.

최적의 플레이만 고려하고 게임 진행을 간소화하기 위해 다음 규칙을 적용합니다: 플레이어가 움직일 때:

  1. 승리할 수 있는 정사각형을 완성할 수 있다면 즉시 승리합니다.
  2. 그렇지 않은 경우, 상대방이 다음 움직임으로 정사각형을 완성할 수 있는 두 개 이상의 다른 위치가 있다면(이 상황은 ‘딜레마’라고 부름) 현재 활동 중인 플레이어가 즉시 패배합니다.
  3. 한 개의 그러한 위치만 있다면 현재 활동 중인 플레이어는 그 위치를 점유해야 합니다.
  4. 상대방의 딜레마를 해결할 수 있다면 즉시 승리합니다.
  5. G가 열에 대해 대칭적(G[r, c] = G[r, n-1-c])인 경우, c > (n-1)/2의 열 번호를 사용하여 움직이는 것은 허용되지 않습니다.
  6. G는 게임 시작 시 대칭적이고, 열 번호 (n-1)/2를 사용하는 움직임으로 인해 대칭을 유지합니다. 이는 n이 홀수일 때만 가능합니다.
  7. 게임의 첫 번째 움직임(그리고 두 번째 움직임의 경우 n이 홀수인 경우)은 r > c는 될 수 없습니다.
  8. v = 1 또는 v = 2인 플레이어는 상대방의 모든 모서리가 점유된 정사각형이 없는 한 게임에서 승리할 수 없습니다. 따라서 플레이어가 승리할 수 있는지, 또는 상대방이 패배를 막을 수 있는지를 즉시 종료할 수 있습니다.

SQRGAME2 프로그램은 n = 3, 4, 5와 같은 특정 n에 대해 첫 번째 플레이어가 승리할 수 있는지, 또는 두 번째 플레이어가 패배를 막을 수 있는지를 확인하는 데 사용됩니다. 이 프로그램은 백트래킹 알고리즘을 사용하여 모든 가능한 게임 진행을 탐색합니다.

제한 사항을 위에서 언급한 대로 적용합니다. 프로그램은 플레이어 2에게 추가적인 제한을 두어 n = 3 및 n = 4의 경우와 플레이어 1에게 추가적인 제한을 두어 n = 5의 경우에 실행됩니다. 프로그램 실행 결과, 플레이어 2는 n = 3 및 n = 4에서 목표를 달성하고, 플레이어 1은 n = 5에서 목표를 달성하며, 성공한 플레이어는 실제 백트래킹을 수행하지 않습니다.

n = 4의 경우, 플레이어 2와 n = 5의 경우 플레이어 1은 현재 또는 나중에 플레이어 1의 가능한 사각형의 꼭짓점이 될 수 있는 자유 위치를 점유해야 합니다. 만약 그러한 위치가 존재하고 선행 위치 선택 규칙이 적용되지 않는다면 말입니다.

n = 5의 경우, 게임의 최대 이동 횟수가 제한됩니다. 자연스러운 한계 대신, n^2 = 25의 셀 수보다 훨씬 작은 값이 사용됩니다. 두 번째 이동에 (0, 2) 위치를 사용할 경우 최대값은 17로 설정되고, (0, 0) 또는 (1, 2) 위치일 경우 13, 그 외의 경우 11로 설정됩니다. 이러한 제한 사항은 명시적인 위치 선택이 n 이동 횟수 = 0을 처리하는 루틴 p1 n5 fix pos에서 다루는 경우 게임 실행 횟수를 크게 줄여줍니다.

사실, p1 n5 fix pos 루틴에 제공된 위치는 n 이동 횟수가 2부터 12까지의 짝수에 대해 관찰된 게임 실행 결과에서 가져온 것입니다. 이러한 명시적인 선택과 제한 사항은 플레이어 1이 이기고 플레이어 2가 지지 않으려고 하는 기본 검색 순서와 결합되어 건설적인 전략을 수립합니다.

제공된 소스 코드는 구조가 비교적 단순합니다. 포함된 주석(괄호 {}로 묶여 있음)은 임의 프로그래밍 언어를 어느 정도 아는 독자들에게 충분할 것입니다.

…(본문이 길어 생략되었습니다. 전체 내용은 원문 PDF를 참고하세요.)…

Reference

이 글은 ArXiv의 공개 자료를 바탕으로 AI가 자동 번역 및 요약한 내용입니다. 저작권은 원저자에게 있으며, 인류 지식 발전에 기여한 연구자분들께 감사드립니다.

검색 시작

검색어를 입력하세요

↑↓
ESC
⌘K 단축키