해결 팁
XY체인 기법 상세 설명: 이중값 셀의 체인 추론
XY체인(XY-Chain)은 스도쿠 고급 기법 중 강력한 체인 추론 방법입니다. XY윙의 확장 형태로, 여러 이중값 셀(후보 숫자가 2개뿐인 셀)로 형성된 체인 구조를 통해 후보 숫자를 제거합니다.
핵심 원리:
XY체인은 일련의 이중값 셀로 구성되며, 인접한 셀 간에 하나의 후보 숫자를 공유합니다. 체인의 시작점과 끝점에는 각각 공유되지 않는 후보 숫자가 있으며, 이 두 숫자가 같은 경우(Z로 표기), 체인의 시작점과 끝점을 모두 볼 수 있는 셀에서 후보 숫자 Z를 제거할 수 있습니다. 이유: 체인을 따라 추론하면 Z는 반드시 체인의 시작점이나 끝점에 존재합니다.
XY체인은 일련의 이중값 셀로 구성되며, 인접한 셀 간에 하나의 후보 숫자를 공유합니다. 체인의 시작점과 끝점에는 각각 공유되지 않는 후보 숫자가 있으며, 이 두 숫자가 같은 경우(Z로 표기), 체인의 시작점과 끝점을 모두 볼 수 있는 셀에서 후보 숫자 Z를 제거할 수 있습니다. 이유: 체인을 따라 추론하면 Z는 반드시 체인의 시작점이나 끝점에 존재합니다.
XY체인 원리: 시작{Z,A}과 끝{C,Z}이 후보 숫자 Z를 공유, Z는 시작 또는 끝에 존재, 공통 영역에서 Z 제거
이 글을 읽기 전에 스도쿠 행, 열, 박스 명명 규칙, 네이키드 페어, XY윙의 기본 개념을 이해하는 것이 좋습니다.
XY체인의 구조
XY체인에는 다음 핵심 요소가 포함됩니다:
- 체인 노드: 각 노드는 이중값 셀 {A,B}입니다
- 체인 연결: 인접 노드는 서로 "볼 수" 있어야 하며(같은 행, 열 또는 박스), 하나의 후보 숫자를 공유해야 합니다
- 시작점과 끝점: 각각 인접 노드와 공유하지 않는 후보 숫자가 있습니다
- 제거 조건: 시작점과 끝점의 비공유 후보 숫자가 같을 때 제거가 가능합니다
체인 표기: A(x,y) → B(y,z) → C(z,w) → ... 괄호 안은 후보 숫자, 화살표는 체인 연결 방향을 나타내며, 인접 노드는 하나의 숫자(y, z 등)를 공유합니다.
XY체인이 작동하는 이유
1
체인 전파: 체인이 A{X,Y} → B{Y,Z} → C{Z,W}인 경우, A=X이면 B는 Z(B는 Y가 될 수 없으므로), C는 W(C는 Z가 될 수 없으므로)여야 합니다.
2
두 가지 가능성: 시작점에는 두 개의 후보 숫자 {P,Q}가 있고, Q는 다음 노드와 공유됩니다. 시작점=P이면 추론 종료, 시작점=Q이면 체인을 따라 끝점까지 전파됩니다.
3
핵심 결론: 시작점의 비공유 숫자 P가 끝점의 비공유 숫자와 같으면, P는 반드시 시작점이나 끝점 중 하나에 존재합니다.
4
제거 대상: 시작점과 끝점을 모두 볼 수 있는 셀에는 P가 있을 수 없습니다(P는 반드시 시작점이나 끝점에 있으므로).
예제 1: 4노드 XY체인
간단한 4노드 XY체인 예제를 살펴보겠습니다.
그림 1: XY체인 R2C2{3,7} → R2C6{3,5} → R9C6{2,5} → R9C7{2,7}, R2C7에서 7 제거 가능
분석 과정
1
체인 노드 식별:
- R2C2: 후보 숫자 {3, 7} (시작점)
- R2C6: 후보 숫자 {3, 5}
- R9C6: 후보 숫자 {2, 5}
- R9C7: 후보 숫자 {2, 7} (끝점)
2
체인 연결 확인:
- R2C2와 R2C6은 같은 행(2행)에 있으며, 후보 숫자 3을 공유
- R2C6과 R9C6은 같은 열(6열)에 있으며, 후보 숫자 5를 공유
- R9C6과 R9C7은 같은 행(9행)에 있으며, 후보 숫자 2를 공유
3
제거 숫자 결정:
- 시작점 R2C2{3,7}의 비공유 숫자 = 7 (3은 R2C6과 공유)
- 끝점 R9C7{2,7}의 비공유 숫자 = 7 (2는 R9C6과 공유)
- 둘이 같음! Z = 7
4
추론 과정:
- R2C2=7인 경우 → 7은 시작점에 있음
- R2C2=3인 경우 → R2C6은 3이 될 수 없음 → R2C6=5 → R9C6은 5가 될 수 없음 → R9C6=2 → R9C7은 2가 될 수 없음 → R9C7=7 → 7은 끝점에 있음
- 어느 경우든 7은 반드시 R2C2 또는 R9C7에 있음
5
제거 대상 찾기: R2C7은 시작점 R2C2(같은 행)와 끝점 R9C7(같은 열)을 모두 볼 수 있습니다.
결론:
XY체인: R2C2{3,7} → R2C6{3,5} → R9C6{2,5} → R9C7{2,7}
R2C7에서 후보 숫자 7 제거 가능.
XY체인: R2C2{3,7} → R2C6{3,5} → R9C6{2,5} → R9C7{2,7}
R2C7에서 후보 숫자 7 제거 가능.
예제 2: 10노드 긴 체인
XY체인은 매우 길어질 수 있습니다. 다음은 체인 추론의 강력한 능력을 보여주는 10노드 예제입니다.
그림 2: XY체인 R2C5{1,5} → R2C1{1,5} → R1C1{5,8} → R1C7{7,8} → R3C7{7,8} → R3C2{4,8} → R7C2{4,8} → R8C1{4,8} → R8C7{4,9} → R8C3{5,9}, R8C5에서 5 제거 가능
분석 과정
1
체인 노드 식별 (10개):
- R2C5: {1, 5} (시작점)
- R2C1: {1, 5}
- R1C1: {5, 8}
- R1C7: {7, 8}
- R3C7: {7, 8}
- R3C2: {4, 8}
- R7C2: {4, 8}
- R8C1: {4, 8}
- R8C7: {4, 9}
- R8C3: {5, 9} (끝점)
2
체인 연결 확인:
- R2C5 → R2C1: 같은 행, 1(또는 5) 공유
- R2C1 → R1C1: 같은 열, 5 공유
- R1C1 → R1C7: 같은 행, 8 공유
- R1C7 → R3C7: 같은 열, 7(또는 8) 공유
- R3C7 → R3C2: 같은 행, 8 공유
- R3C2 → R7C2: 같은 열, 4(또는 8) 공유
- R7C2 → R8C1: 같은 박스, 8 공유
- R8C1 → R8C7: 같은 행, 4 공유
- R8C7 → R8C3: 같은 행, 9 공유
3
제거 숫자 결정:
- 시작점 R2C5{1,5}의 비공유 숫자 = 5 (1은 R2C1과 공유)
- 끝점 R8C3{5,9}의 비공유 숫자 = 5 (9는 R8C7과 공유)
- 둘이 같음! Z = 5
4
추론 결론:
시작점 R2C5가 1이든 5이든 관계없이, 후보 숫자 5는 반드시 시작점 R2C5 또는 끝점 R8C3에 존재합니다.
5
제거 대상 찾기: R8C5는 시작점 R2C5(같은 열)와 끝점 R8C3(같은 행)을 모두 볼 수 있습니다.
결론:
XY체인 (10노드): R2C5 → R2C1 → R1C1 → R1C7 → R3C7 → R3C2 → R7C2 → R8C1 → R8C7 → R8C3
R8C5에서 후보 숫자 5 제거 가능.
XY체인 (10노드): R2C5 → R2C1 → R1C1 → R1C7 → R3C7 → R3C2 → R7C2 → R8C1 → R8C7 → R8C3
R8C5에서 후보 숫자 5 제거 가능.
XY체인 찾는 방법
XY체인을 찾으려면 체계적인 접근이 필요합니다:
1
이중값 셀 표시: 먼저 후보 숫자가 2개뿐인 모든 셀을 찾습니다.
2
시작점 선택: 이중값 셀을 체인의 시작점으로 선택하고, 두 개의 후보 숫자 {P,Q}를 기록합니다.
3
체인 확장: 현재 노드를 "볼 수" 있고 하나의 후보 숫자를 공유하는 이중값 셀을 다음 노드로 찾습니다.
4
종료 조건 확인: 확장할 때마다 끝점의 비공유 숫자가 시작점의 비공유 숫자 P와 같은지 확인합니다.
5
제거 대상 찾기: 시작점과 끝점을 모두 볼 수 있고 P를 포함하는 셀을 찾습니다.
주의사항:
- 체인의 각 노드는 이중값 셀이어야 합니다
- 인접 노드는 서로 볼 수 있어야 합니다 (같은 행, 열 또는 박스)
- 인접 노드는 하나의 후보 숫자를 공유해야 합니다
- 제거 조건: 시작점과 끝점의 비공유 후보 숫자가 같음
- XY윙은 XY체인의 특수한 경우입니다 (길이 3의 체인)
XY체인과 XY윙의 관계
XY윙은 길이 3의 XY체인으로 볼 수 있습니다:
- XY윙: 피벗{X,Y} → 윙1{X,Z} → 윙2{Y,Z}... 등, 이것은 실제로 표준 체인 형식이 아닙니다
- 실제 관계: XY윙의 구조는 "Y"자 형태이고, XY체인은 선형입니다
- 공통점: 둘 다 이중값 셀을 사용하여 논리적 제거를 수행합니다
- 차이점: XY체인은 체인 연결이 필요하고, XY윙은 피벗이 두 윙을 모두 볼 수 있어야 합니다
기법 요약
XY체인 적용의 핵심 포인트:
- 노드 요구사항: 모든 노드가 이중값 셀
- 연결 요구사항: 인접 노드가 서로 볼 수 있고 하나의 후보 숫자를 공유
- 제거 조건: 시작점과 끝점의 비공유 후보 숫자가 같음
- 제거 대상: 시작점과 끝점을 모두 볼 수 있는 셀 내의 해당 후보 숫자
- 체인 길이: 이론적으로 무제한, 길수록 찾기 어렵지만 제거 능력이 강함
지금 연습하세요:
스도쿠 게임 시작하고 XY체인을 사용한 제거를 시도해 보세요! 먼저 모든 이중값 셀을 찾은 다음 체인으로 연결해 보세요.
스도쿠 게임 시작하고 XY체인을 사용한 제거를 시도해 보세요! 먼저 모든 이중값 셀을 찾은 다음 체인으로 연결해 보세요.