Connect Four 게임에서 첫 번째 플레이어의 승리 전략은 무엇입니까?


최상의 답변

실제 “전략”은 실제로 다소 복잡하며 처리 할 지점을 철저히 검색해야합니다. 따라서 손으로 사용하는 것은 실용적이지 않습니다.

반면에 전략적 통찰력과 일부 범용 규칙은 인간이 사용하기 쉬우 며 상대적으로 좋은 플레이어입니다.

배경

connect-4를 빠르게 검토하는 것으로 시작하겠습니다. 게임은 6 × 7 보드에서 진행됩니다. 각 행에는 숫자로, 각 열에는 문자로 레이블을 지정할 수 있습니다.

각 플레이어는 번갈아 가며 열을 선택합니다. 그들의 돌은 기둥의 맨 아래 열린 셀에 배치됩니다. 열만 사용하여 게임을 작성할 수 있습니다. 예를 들어 두 플레이어가 중앙 열을 플레이하는 경우 dd를 작성할 수 있습니다. 그러면 다음 보드가 표시됩니다.

(일반적으로 플레이어 1은 파란색이고 플레이어 2는 빨간색입니다.)

색상 4 개를 가로, 세로 또는 대각선으로 연결하여 게임에서 승리 할 수 ​​있습니다.

마지막으로 유용한 개념 중 하나는 위협 으로, 네 번째 사각형이 열린 상태에서 연속으로 3 개만 표시됩니다 (하지만 반드시 액세스 할 수는 없음). 여기에서 파란색은 대각선으로 위협이됩니다.

전략

게임이 해결되었습니다. 첫 번째 플레이어 (파란색)가 항상 승리를 거둘 수 있습니다. 승리 전략의 핵심 아이디어는 매우 간단합니다. zugzwang 제어 및 홀수 / 짝수 제어 행.

Zugzwang

“Zugzwang”이라는 용어는 가 움직여야합니다. 간단한 예는 서로 위에 두 개의 위협이있는 것입니다. 다음은 파란색이 빨간색으로 열 c에서 승리를 유도하는 예입니다.

그러나 이와 같은 이중 위협은 사전에 쉽게 알아볼 수 있고 카운터가 있습니다. 실제로 Zugzwang의 훨씬 더 유용한 형태는 전체 보드가 채워지고 가능한 이동이 하나만 남을 때까지 기다리는 것입니다. 왼쪽에서 빨간색이 승리하는 간단한 예를 고려해보십시오. 실제 힘은 여러 번 이동 한 후에 만 ​​발생합니다.

짝수 / 이상한 위협

완전히 채워질 위협이있는 사람이 결국 승리합니다. 이전 예에서 보았 듯이 빨간색은 짝수 행. 반면에 파란색은 승리하려면 홀수 위협이 필요합니다. 여기에서 게임의 비대칭이 발생합니다.

이상한 위협이 열을 “캡 오프”하고 기본적으로 보아 전체를 채울 때 누가 어떤 행을 얻을 수 있는지 뒤집습니다. rd. 특히 이것은 유효한 홀수 위협이 유효한 짝수 위협보다 “강하다”는 것을 의미합니다. 파란색이 한 열에 홀수 위협이 있고 빨간색이 다른 열에 짝수 위협이 있으면 파란색이 여전히 승리합니다. 여기에 예 (파란색 재생)가 있습니다.

이 위치에서 우리는 빨간색이 c를 플레이해야하는 위치는 g (홀수 조각이 있음)가 파란색으로 이길 수 있기 때문입니다. c 열은 빨간색이 강제로 사라질 때까지 채워집니다.

홀수 수의 위치를 ​​갖도록 단일 열을 캡핑하기 때문에 이상한 위협이 “작동”하므로 보드가 짝수 사각형 (42)을 가지지 않도록 효과적으로 전환합니다. 이는 게임의 역학을 뒤집는 홀수로 변경됩니다. 이는 또한 빨간색과 파란색 둘 다 가 독립적 인 홀수 위협을 가지고 있다면 취소됩니다. 두 개의 홀수 열은 합계를 다시 짝수로 만듭니다.

더 일반적으로 홀수 / 짝수 구분은 control : 빨간색은 일반적으로 게임을 제어하지만 파란색은 이상한 위협을 설정하여 제어 할 수 있습니다. 실제로 제어 란 짝수 스퀘어를 플레이 할 수 있거나 옵션으로 홀수 스퀘어를 플레이하지만 상대가 짝수 스퀘어를 플레이하게하는 것을 의미합니다.

전술

홀수 / 짝수 구분을 통해 “전략적으로”플레이 할 수 있습니다. 실제로 일관되게 승리하려면 장기 전략에 대한 지식과 건전한 전술적 단기 움직임을 결합해야합니다. 다음과 같은 작은 함정을 염두에 두어야합니다.

규칙

게임의 실제 승리 전략은 앞서 다룬 전략적 원칙과 전술을 기반으로 한 9 가지 규칙으로 요약됩니다.규칙은 1988 년 Victor Allis에 의해 개발되었습니다. 저는 그가 게임을 처음으로 해결 한 사람이라고 생각합니다.

규칙은 항상 최적의 솔루션 찾기 : 때로는 가능성을 통해 실제 검색을 수행해야하며, 주로 전술적 문제를 처리해야합니다.

다음은 Allis가 부여한 이름과 함께 가장 중요한 규칙입니다. . 규칙이 몇 가지 더 있지만 특수한 경우이거나 이전 규칙의 조합 일뿐입니다. 실제 논문의 모든 규칙에 대해 읽을 수 있습니다. Connect Four의 지식 기반 접근 방식 .

  • baseinverse : 상대방이 다른 것을 주장 할 때 접근 가능한 두 개의 사각형 중 하나를 항상 주장 할 수 있으므로, 이와 같은 두 개의 사각형이 필요한 네 행을 항상 차단할 수 있습니다. 예를 들어 빨간색은 항상 하나 ther :

  • 세로

span> : 서로 바로 위에있는 두 사각형 중 하나를 재생하여 항상 수직 4 열을 차단할 수 있습니다. 빨간색은 강조 표시된 사각형 중 하나를 재생하여 d에서 항상 세로 네 줄을 차단할 수 있습니다.

  • claimeven : 게임을 제어 할 수있는 사람 (예 : 파란색이 이상한 위협이 아닌 경우 빨간색 ) 짝수 행으로 스퀘어를 플레이 할 수 있습니다 (스퀘어가 즉시 플레이 할 수없는 경우).이 규칙은 기본 홀수 / 짝수 전략을 구현합니다.
  • aftereven : 제어권이 있고 짝수 행에 위협이있는 경우 청구 짝수를 통해 해당 행을 재생할 수 있습니다. 이는 해당 행 위의 동일한 열에있는 모든 위협이 차단됨을 의미합니다. 예를 들면 다음과 같습니다. 파란색은 b3를 재생할 수 없습니다. 빨간색은 b2 :

  • lowinverse : 홀수가 열린 열이 두 개있는 경우 제곱, 결과는 짝수입니다. 두 개의 홀수 제곱이 있으면 직접 플레이 할 수없는 열에있는 경우 게임을 제어하는 ​​사람은 누구든 최소한 그 중 하나를 플레이 할 수 있습니다. 이것은 플레이 할 수있는 것과는 거리가 멀고 서로 옆에 있지 않은 사각형에도 적용될 수 있습니다. 이 두 가지 간단한 예에서 빨간색은 강조 표시된 두 사각형 중 하나 이상을 얻을 수 있습니다.

승리

이 게임은 실제로 이러한 규칙과 일부 철저한 검색의 조합을 통해 해결되었습니다. 규칙 자체만으로는 충분하지 않습니다.

많은 규칙은 게임을 제어하는 ​​데 달려 있습니다. 빨간색은 처음에 제어권을 가지고 있기 때문에 파란색은 이상한 위협을 설정하기 전까지는 많은 규칙을 사용할 수 없습니다. Blue는 통제력에 의존하지 않는 규칙 중 일부를 사용하거나 두 조각의 그룹을 결합하여 미래에 이상한 위협을 보장하는 것과 같은 전술적 사고만으로 이상한 위협을 설정할 수 있습니다.

첫 번째로 밝혀졌습니다. 플레이어는 첫 번째 이동이 d1 인 한 최적의 플레이에 대해이를 수행 할 수 있습니다. 이것은 첫 번째 플레이어가 항상 이길 수 있음을 의미합니다. 실제로 이것을 확립 한 검색은 논문에서도 자세히 설명되어 있습니다.

인간 플레이어에게는 이런 종류의 논리를 다루기 어렵습니다. 다행스럽게도 다른 사람이 일반적으로 사용할 수있는 좋은 오프닝 세트를 찾았습니다. Connect-Four에서 전문가 플레이 .

또한 제쳐두고 저는 Haskell의 멋진 다이어그램 패키지를 사용하여 모든 일러스트레이션을 만들었습니다. 사실, 이 전체 답변은 실제로 라이브러리 사용법을 배우기위한 연습이었습니다. 저는 잠시 동안하려고했습니다. 이 요점에있는 코드를 살펴볼 수 있습니다. 코드는 지저분하지만 대중적인 믿음과는 달리 Haskell이 실제로 훌륭하다는 것을 보여주는 훌륭한 데모입니다. 대화 형 프로토 타이핑 및 일회용 코드 작성을위한 것입니다.

또한 Emacs가 버퍼에서 SVG와 PNG를 미리 볼 수있는 방법을 보는 것이 멋지다고 생각합니다. 본질적으로 다음과 같은 이미지 개발을위한 맞춤형 환경을 제공합니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다