해결 팁

【체인 추론①】기초편: 강한 링크와 약한 링크

2025-06-06 · 12 분 읽기
지식 베이스 / 기술 목록 / 체인 추론 기초

체인 추론(Chain)은 스도쿠 고급 기법의 핵심 이론 프레임워크입니다. 간단한 X-Wing에서 복잡한 AIC에 이르기까지 거의 모든 고급 제거 기법은 체인 추론으로 통합적으로 이해하고 설명할 수 있습니다. 이 글에서는 체인 추론의 가장 기본적이고 중요한 두 가지 개념인 강한 링크약한 링크를 깊이 탐구합니다.

체인 추론 시리즈 (1/3)
① 기초편 (현재) ② 구축편 → ③ 응용편
순서대로 읽는 것을 권장합니다. 이 시리즈는 총 3개의 글로 구성되어 있습니다
체인 추론 개념도
체인 추론 핵심 개념: 강한 링크는 "정확히 하나가 참, 하나가 거짓"을 보장, 약한 링크는 "최대 하나가 참"을 보장

체인이란?

스도쿠에서 체인(Chain)은 후보 숫자 간의 특정 논리적 관계를 통해 형성된 연결 시퀀스입니다. 상상해 보세요: 후보 숫자 간에 "A가 참이면 B는 참/거짓"이라는 추론 관계를 확립하고 이러한 관계를 연결하면 체인이 형성됩니다.

체인의 본질은 논리적 전파입니다: 한 시작점에서 출발하여 일련의 논리적 추론을 거쳐 결론에 도달합니다. 이 결론은 일반적으로 다음 목적으로 사용됩니다:

  • 특정 후보 숫자가 반드시 참이어야 함을 확정 (배치 확인)
  • 특정 후보 숫자가 반드시 거짓이어야 함을 확정 (후보 제거)

체인을 이해하려면 먼저 체인을 구성하는 기본 단위인 링크(Link)를 이해해야 합니다. 링크는 두 후보 숫자 간의 논리적 관계를 설명하며, 관계의 강도에 따라 강한 링크와 약한 링크로 나뉩니다.

강한 링크 (Strong Link)

강한 링크의 정의:
두 후보 숫자 A와 B 사이에 강한 링크가 존재하는 것은: A와 B 중 정확히 하나가 참이고 다른 하나가 거짓일 때만입니다.
다시 말해, A가 거짓이면 B는 반드시 참이고, A가 참이면 B는 반드시 거짓입니다 (상호 배타적이고 완전함).
표기법: A = B 또는 A ═══ B (이중선)
강한 링크 유형 다이어그램
강한 링크의 세 가지 일반적인 출처: 이중값 셀, 켤레쌍, 그룹 강한 링크

강한 링크의 출처

강한 링크는 다음 상황에서 발생할 수 있습니다:

1. 이중값 셀 내의 강한 링크 (Bi-value Cell)

셀에 두 개의 후보 숫자만 있을 때, 이 두 후보 숫자 사이에 강한 링크가 존재합니다.

셀 R3C5에는 후보 {4, 7}만 있습니다. R3C5의 후보 4와 후보 7 사이에 강한 링크가 존재합니다.
논리: 4가 거짓이면 셀은 반드시 7이어야 하고, 7이 거짓이면 셀은 반드시 4여야 합니다.

이중값 셀은 가장 일반적인 강한 링크의 출처입니다. 직관적이기 때문입니다: 셀에는 이 숫자 아니면 저 숫자가 들어갑니다.

2. 켤레쌍에 의한 강한 링크 (Conjugate Pair)

어떤 숫자가 유닛(행, 열 또는 박스) 내에서 두 위치에만 나타날 때, 이 두 위치의 해당 후보 숫자 사이에 강한 링크가 존재합니다. 이 관계를 켤레쌍이라고 합니다.

5행에서 후보 3은 R5C2와 R5C8 두 위치에만 나타납니다. "R5C2의 3"과 "R5C8의 3" 사이에 강한 링크가 존재합니다.
논리: 5행에는 반드시 3이 있어야 합니다. R5C2가 3이 아니면 R5C8이 반드시 3이어야 하고, 그 반대도 마찬가지입니다.
핵심 이해:
켤레쌍 강한 링크의 양 끝은 다른 위치의 같은 숫자이지, 같은 위치의 다른 숫자가 아닙니다. 이것은 이중값 셀 내의 강한 링크와 근본적으로 다릅니다.

3. 그룹 강한 링크 (Grouped Strong Link)

더 넓게 말하면, 후보 그룹과 다른 그룹 사이에 "정확히 한 그룹이 참" 관계를 만족할 때 강한 링크가 존재합니다. 이것은 고급 기법에서 다루어지며, 이 시리즈의 세 번째 글에서 자세히 논의합니다.

강한 링크의 핵심 속성

중요한 속성:
  • 정확히 하나가 참: 강한 링크의 양 끝 중 정확히 하나가 참이고 다른 하나가 거짓
  • 거짓은 참을 전파: 한쪽이 거짓이면 다른 쪽은 반드시 참
  • 참은 거짓을 전파: 한쪽이 참이면 다른 쪽은 반드시 거짓

약한 링크 (Weak Link)

약한 링크의 정의:
두 후보 숫자 A와 B 사이에 약한 링크가 존재하는 것은: A가 참이면 B는 반드시 거짓일 때만입니다.
다시 말해, A와 B 중 최대 하나가 참입니다 (둘 다 거짓일 수 있지만, 둘 다 참일 수는 없음).
표기법: A - B 또는 A ─── B (단선)
약한 링크 유형 다이어그램
약한 링크의 두 가지 일반적인 출처: 같은 셀의 다른 후보, 같은 유닛의 같은 후보

약한 링크의 출처

약한 링크도 여러 출처가 있습니다:

1. 같은 셀 내 다른 후보 간의 약한 링크

같은 셀 내에서 임의의 두 다른 후보 사이에 약한 링크가 존재합니다.

셀 R2C4에는 후보 {1, 5, 8}이 있습니다. 이 셀의 후보 1과 후보 5 사이에 약한 링크가 존재합니다.
논리: 셀에는 하나의 숫자만 들어갈 수 있습니다. 1을 넣으면 5가 될 수 없습니다.

2. 같은 유닛 내 같은 후보 간의 약한 링크

같은 유닛(행, 열 또는 박스) 내에서 같은 후보의 모든 위치 사이에 쌍별 약한 링크가 존재합니다.

박스 3에서 후보 6이 R1C7, R2C8, R3C9에 나타납니다. 이 세 위치의 후보 6 사이에 쌍별 약한 링크가 존재합니다.
논리: 박스 내에서 같은 숫자는 한 번만 나타날 수 있습니다. R1C7이 6이면 R2C8과 R3C9는 6이 될 수 없습니다.
약한 링크는 어디에나 있습니다:
강한 링크에 비해 약한 링크는 더 보편적입니다. 실제로 스도쿠의 기본 규칙(행, 열, 박스 내 숫자 중복 불가; 셀당 하나의 숫자)은 본질적으로 대량의 약한 링크 관계를 정의합니다.

약한 링크의 핵심 속성

중요한 속성:
  • 최대 하나가 참: 약한 링크의 양 끝 중 최대 하나가 참
  • 참은 거짓을 전파: 한쪽이 참이면 다른 쪽은 반드시 거짓
  • 둘 다 거짓 가능: 양 끝이 동시에 거짓일 수 있음 (강한 링크와 다름!)

강한 링크와 약한 링크 비교

강한 링크와 약한 링크의 차이를 이해하는 것이 체인 추론을 마스터하는 핵심입니다. 비교 표로 정리해 봅시다:

속성 강한 링크 (Strong Link) 약한 링크 (Weak Link)
핵심 속성 정확히 하나가 참, 하나가 거짓 최대 하나가 참
논리 전파 거짓 → 참, 참 → 거짓 참 → 거짓
둘 다 참 가능 ✗ 아니오 ✗ 아니오
둘 다 거짓 가능 ✗ 아니오 ✓ 예
표기법 ═══ (이중선) 또는 = ─── (단선) 또는 -
일반적인 출처 이중값 셀, 켤레쌍 같은 셀 다른 숫자, 같은 유닛 같은 숫자

특별한 경우: 강한 링크는 약한 링크이기도 함

여기서 중요한 개념을 이해해야 합니다: 강한 링크는 종종 약한 링크이기도 합니다.

이중값 셀 R3C5에는 후보 {4, 7}만 있습니다.
강한 링크 관점: 4가 거짓이면 7은 반드시 참 → 강한 링크 존재
약한 링크 관점: 4가 참이면 7은 반드시 거짓 → 약한 링크도 존재
결론: 이 두 후보 사이에는 강한 링크와 약한 링크가 모두 있습니다!
5행의 후보 3은 R5C2와 R5C8 두 위치에만 나타남 (켤레쌍).
강한 링크 관점: R5C2의 3이 거짓이면 R5C8의 3은 반드시 참 → 강한 링크 존재
약한 링크 관점: R5C2의 3이 참이면 R5C8의 3은 반드시 거짓 (같은 행에 두 개의 3 불가) → 약한 링크도 존재
결론: 켤레쌍도 강한 링크와 약한 링크 조건을 모두 만족합니다!
핵심 이해:
두 후보가 "정확히 하나가 참, 하나가 거짓" 관계(둘 다 참 불가능, 둘 다 거짓 불가능)를 만족할 때, 강한 링크와 약한 링크를 모두 갖습니다. 이것은 가장 "강한" 링크 관계이며 체인 구축에서 매우 유용합니다.

기억 팁: 이중값 셀과 켤레쌍은 항상 강한 링크와 약한 링크를 모두 갖습니다.

"보는" 개념

체인 추론에서 "보다"(see)라는 개념이 자주 사용됩니다. "보다"를 이해하는 것은 링크 관계를 식별하는 데 중요합니다.

"보다"의 정의:
후보 A가 후보 B를 "본다"는 것은 A와 B 사이에 약한 링크가 있다는 것을 의미합니다.
A가 참이면 B는 반드시 거짓—즉 A는 B를 "제거"할 수 있습니다.

"보는" 관계는 다음 사이에 존재합니다:

  • 같은 셀 내의 다른 후보 사이
  • 같은 행 내의 같은 후보 사이
  • 같은 열 내의 같은 후보 사이
  • 같은 박스 내의 같은 후보 사이

이 개념은 체인 응용을 논의할 때 자주 사용됩니다. 예를 들어 "양 끝에서 볼 수 있는 후보는 제거될 수 있다" 등.

왜 강한 링크와 약한 링크를 구별하는 것이 중요한가?

강한 링크와 약한 링크의 구별은 체인 추론의 초석입니다. 그 차이는 다음을 결정합니다:

1 전파 방향의 차이:
강한 링크는 "거짓"에서 "참"을 추론할 수 있고, 약한 링크는 "참"에서 "거짓"을 추론할 수 있습니다. 체인 추론은 이 두 가지 다른 전파 방향을 사용하여 복잡한 논리적 추론을 구축합니다.
2 체인 유효성 판정:
체인을 구축할 때 각 단계가 강한 링크인지 약한 링크인지 정확히 식별해야 추론의 정확성을 보장할 수 있습니다. 약한 링크를 강한 링크로 잘못 취급하면 잘못된 결론으로 이어집니다.
3 다른 기법의 통합적 이해:
겉보기에 다른 기법들(X-Wing, Skyscraper, XY-Wing 등)은 본질적으로 특정 패턴의 체인입니다. 강한 링크와 약한 링크를 이해하면 이러한 기법들을 통합된 프레임워크로 이해할 수 있습니다.

다음 단계

이 글에서는 체인 추론의 가장 기본적인 두 개념인 강한 링크와 약한 링크를 소개했습니다. 이 개념들을 이해한 후, 이들을 결합하여 완전한 체인을 구축하는 방법을 배울 수 있습니다.

다음 글에서는 다음을 논의합니다:

  • 강한 링크와 약한 링크를 번갈아 사용하여 체인을 구축하는 방법
  • 체인에서 참/거짓 상태를 전파하는 규칙
  • 체인 추론의 "색칠" 접근 방식
  • 체인 양 끝에서 결론을 도출하는 방법
관련 읽기: