Sudoku 체인은 강한 관계와 약한 관계로 연결된 후보들의 순서로, 한 후보가 참이거나 거짓일 때 다른 후보에 어떤 영향을 주는지 보여 줍니다. 이러한 관계를 따라가면 개별 칸만 볼 때는 분명하지 않은 후보 제거 또는 숫자 배치를 발견할 수 있습니다. Sudoku에서 체인을 만들고 해석하는 방법은 하나의 전략이라기보다, 고급 기법 여러 가지에서 비롯되며, X-cycle부터 강제 체인까지 다양합니다.
대부분의 체인은 후보들을 연결하기 위해 강한 링크와 약한 링크에 의존합니다.
- 강한 링크는 한 후보가 거짓이면 다른 후보가 반드시 참이어야 한다는 뜻입니다. 어떤 후보가 한 행, 열 또는 박스 안에서 가능한 위치가 정확히 두 곳뿐인 켤레쌍이 흔한 예입니다.
- 약한 링크는 한 후보가 참이면 다른 후보는 반드시 거짓이어야 한다는 뜻입니다.
이러한 관계를 연결하면 유닛 또는 전체 그리드를 가로지르는 체인을 만들어 후보를 제거하거나 숫자를 배치하는 데 도움을 받을 수 있습니다. 기본 풀이 전략만으로는 Sudoku 퍼즐을 풀기 충분하지 않을 때, 이 글은 온라인으로 Sudoku를 플레이할 때 체인이 논리적 연결을 어떻게 드러낼 수 있는지 이해하는 데 도움을 줍니다.
Sudoku에서 체인을 찾는 방법
체인을 찾는다는 것은 강한 관계와 약한 관계를 통해 Sudoku 그리드의 한 부분에서 다른 부분으로 논리적 추론을 이어 갈 수 있는 후보들을 따라가는 것을 의미합니다. 체인은 같은 숫자만 포함할 수도 있고 서로 다른 숫자를 포함할 수도 있으며, 링크는 한 칸 안에서 또는 칸과 칸 사이에서 발생할 수 있습니다. 각 체인 유형은 저마다의 방식으로 체인을 만들며, 가장 기본적인 체인인 X-chain은 다음 단계에 따라 만들어집니다.
- 먼저 강한 링크를 찾습니다. 예를 들어 켤레쌍이나 같은 이중 후보 칸에 있는 두 후보가 해당됩니다. 강한 링크는 두 후보 중 적어도 하나가 반드시 참이어야 할 때 두 후보를 연결합니다. 예를 들어 I7과 I8은 후보 5에 대해 강한 링크를 만드는데, I열에서 5를 포함하는 칸이 이 두 칸뿐이기 때문입니다. 따라서 I7이 5가 아니면 I8은 반드시 5이고, I8이 5가 아니면 I7은 반드시 5입니다.
- 강한 링크를 약한 링크에 연결합니다. 약한 링크는 두 후보가 동시에 참일 수 없을 때 두 후보를 연결합니다. 예를 들어 I8과 F8은 같은 행(8)에 후보 5를 모두 포함하므로 둘 다 5일 수 없습니다. 하지만 그 행에 다른 5 후보들이 있기 때문에 이 관계는 강한 관계가 아니라 약한 관계입니다.
- 강한 링크와 약한 링크를 번갈아 가며 계속 찾습니다. 약한 링크에서 추론을 계속 이어 갈 수 있는 또 다른 강한 링크를 찾습니다. 예를 들어 F8과 F3은 둘 다 후보 5를 가지고 있으며, F열에서 그 후보를 가진 칸은 이 두 칸뿐이므로 강한 링크가 만들어집니다. F8이 5가 아니면 F3은 반드시 5이고, F3이 5가 아니면 F8은 반드시 5입니다.
- 가능하다면 숫자를 배치하거나 후보를 제거합니다. 찾은 모든 체인이 숫자 배치나 후보 제거로 이어지는 것은 아니며, 각 체인 유형은 저마다의 논리를 제공합니다. 예를 들어 체인의 모든 노드가 같은 후보에 관한 것이고 링크가 강/약으로 번갈아 이어지므로, 이는 교대 추론 체인(AIC)의 한 종류인 X-chain입니다. 이 체인은 양 끝점인 I7 또는 F3 중 적어도 하나가 반드시 5임을 증명합니다. 그러면 두 끝점을 모두 보는 모든 5를 제거할 수 있습니다. 이 경우 I3은 I7과 F3을 모두 보므로, 그 칸에서 5를 제거할 수 있습니다.

기억하세요: 체인을 사용할 때 항상 후보를 제거하고 숫자를 배치할 수 있는 것은 아닙니다. 때로는 후보 하나(또는 여러 개)를 제거하기만 할 수도 있습니다. 또 어떤 때는 후보를 배치할 수 있거나, 후보 제거와 배치를 둘 다 할 수 있습니다. 하지만 체인이 어떤 제거도 배치도 제공하지 않는 경우도 있습니다. 그래도 괜찮습니다. 체인은 정보를 제공합니다. 따라서 당장 그 정보를 사용할 수 없더라도, 풀이 과정의 후반부에서 필요할 수 있습니다.
Sudoku 체인의 예시
Sudoku 체인은 크게 두 가지 유형으로 나눌 수 있으며, 각각 고유한 논리 구조를 갖습니다. 두 체인 계열의 핵심 차이는 논리를 따라가는 방식입니다. 교대 추론 체인(AIC)은 그리드 전체에서 강한 추론과 약한 추론을 번갈아 추적하는 반면, 강제 체인은 가능한 조건에서 시작해 그 조건이 무엇을 강제하는지 추적합니다. 그리고 서로 다른 체인 방법이 때로는 동일한 근본 추론을 드러내기도 합니다.
교대 추론 체인(AIC)
교대 추론 체인은 강한 추론과 약한 추론을 번갈아 따라갑니다.
X-Chains
X-Chain은 모든 노드가 같은 후보를 나타내는 교대 추론 체인(AIC)의 한 유형입니다. 다른 많은 AIC와 구별되는 점은 체인이 강한 링크와 약한 링크를 번갈아 따라가는 동안 숫자가 바뀌지 않는다는 것입니다.
앞 절의 예시는 X-chain이었습니다. X-chain을 찾으려면:
- 먼저 강한 링크를 찾습니다. 예를 들어 E3과 F3은 후보 4에 대해 강한 링크를 만드는데, 그 행에서 4를 포함하는 칸이 이 두 칸뿐이기 때문입니다. 따라서 E3이 4가 아니면 F3은 반드시 4이고, F3이 4가 아니면 E3은 반드시 4입니다.
- 강한 링크를 약한 링크에 연결합니다. 예를 들어 F3과 F5는 같은 열에 후보 4를 모두 포함하므로 둘 다 4일 수 없습니다. 하지만 그 열에 다른 4 후보들이 있기 때문에 이 관계는 강한 관계가 아니라 약한 관계입니다.
- 강한 링크와 약한 링크를 번갈아 가며 계속 찾습니다. 예를 들어 F5와 I5는 둘 다 후보 4를 가지고 있으며, 5행에서 그 후보를 가진 칸은 이 두 칸뿐입니다. F5가 4가 아니면 I5는 반드시 4이고, I5가 4가 아니면 F5는 반드시 4입니다.
- 가능하다면 숫자를 배치하거나 후보를 제거합니다. 예를 들어 이 체인은 양 끝점인 E3 또는 I5 중 적어도 하나가 반드시 4임을 증명합니다. 그러면 두 끝점 모두와 행, 열 또는 3x3 블록을 공유하는 모든 4를 제거할 수 있습니다. 이 경우에는 제거할 수 있는 후보가 없습니다. 하지만 이 사실을 알고 있으면, 나중에 E3이 4가 아니라고 판명될 경우 체인은 I5가 반드시 4임을 알려 줍니다. 퍼즐이 진행되면서 나중에 이 정보가 필요할 수 있으므로 이 체인을 기억해 두세요.

XY-Chains
XY-chain은 이중 후보 칸들의 체인입니다. 즉, 각 칸에는 정확히 두 개의 후보가 들어 있으며, 그 두 후보는 칸 안에서 강한 링크를 만듭니다. 같은 후보를 끝까지 따라가는 X-chain과 달리, XY-chain은 칸에서 칸으로 이동하면서 후보가 바뀝니다. 각 칸은 다음 칸과 후보 하나를 공유하여 칸 사이에 약한 링크를 만들며, 시작 노드와 끝 노드의 후보가 같아지도록 체인을 구성합니다.
XY-chain을 찾으려면:
- 이중 후보 칸에서 시작해 끝점 후보를 선택합니다. 예를 들어 A2에는 후보 7과 9만 있습니다. 둘 중 어느 후보로든 시작할 수 있으며, A2를 보면서 그 후보 중 하나를 공유하는 또 다른 이중 후보 칸을 찾습니다. 9를 한 끝점으로 사용한다면, 다른 후보인 7이 체인을 확장할 수 있는 가능한 길을 제공합니다.
- 첫 칸을 보면서 그 칸의 다른 후보를 포함하는 또 다른 이중 후보 칸을 찾습니다. A4는 A2를 보고 있으며 후보 7을 포함합니다. 7들은 칸 사이에 약한 링크를 형성하고, 2와 7은 A4 안에서 강한 링크를 형성합니다. 이제 2를 포함하는 또 다른 이중 후보 칸을 찾아 계속 진행할 수 있습니다.
- 칸 사이의 약한 링크와 칸 안의 강한 링크를 번갈아 이어 갑니다. A4(2,7)는 F4(2,4)와 연결되고, F4는 F3(4,5)과 연결되며, F3은 H3(5,9)과 연결됩니다. 다른 후보가 처음의 끝점 후보와 일치하는 이중 후보 칸에 도달하면 멈춥니다. 여기서는 H3에 5와 9가 들어 있어 체인이 후보 9로 돌아옵니다.
- 두 끝점을 모두 보는 제거 대상 후보를 찾습니다. 체인은 후보 9로 시작하고 9로 끝나므로, A2 또는 H3 중 적어도 하나가 반드시 9임을 증명합니다. 따라서 두 끝점을 모두 보는 다른 후보 9는 제거할 수 있습니다. 이 퍼즐에서 H2는 2행을 통해 A2를 보고 H열을 통해 H3을 보므로 H2에서 9를 제거할 수 있습니다. I2도 2행을 통해 A2를 보고, 공유하는 3x3 블록을 통해 H3을 보므로 I2에서 9를 제거할 수 있습니다. 체인이 강한 링크로 시작하고 강한 링크로 끝나기 때문에, 양 끝점인 A2 또는 H3 중 적어도 하나는 반드시 9입니다. 따라서 A2와 H3을 모두 보는 다른 후보 9는 모두 제거할 수 있습니다. 이 퍼즐에서는 H2와 I2에서 9가 제거됩니다.

X-Cycles
X-cycle은 강한 링크와 약한 링크로 이루어진 닫힌 고리를 따라 같은 후보를 추적하는 교대 추론 체인(AIC)의 한 유형입니다. X-chain과 마찬가지로 숫자는 끝까지 동일하지만, 두 끝점을 갖는 대신 X-cycle은 결국 시작했던 지점으로 다시 연결됩니다. 완성된 사이클에서 강한 링크와 약한 링크가 어떻게 배열되어 있는지에 따라 후보 제거 또는 숫자 배치가 가능한지가 결정됩니다.
이 체인에는 제거를 위한 두 가지 규칙이 있습니다. 아래 예시를 사용해 규칙 1을 따르는 X-cycle을 찾아보세요. 규칙 2에 대한 자세한 내용은 저희 X-cycle 글을 참고하세요.
- 강한 링크가 있는 후보로 시작합니다. 예를 들어 5는 I5와 I6에서 강한 링크를 갖는데, I열에서 후보 5를 포함하는 칸이 이 두 칸뿐이기 때문입니다.
- 같은 후보에 대해 강한 링크와 약한 링크를 번갈아 따라갑니다. 후보 5는 I6과 B6 사이에서 약한 링크를 형성하는데, 두 칸이 6행을 공유하며 둘 다 5를 포함할 수 없기 때문입니다. 이어서 5는 B5와 강한 링크를 갖는데, B열에서 5가 들어갈 수 있는 위치가 이 두 곳뿐이기 때문입니다.
- 체인이 고리로 닫힐 때까지 계속합니다. B5는 5행에서 I5를 보며, 체인을 시작점으로 되돌립니다. 이 두 후보는 실제로 5행에서 가능한 유일한 5들이므로, 이 관계는 강한 동시에 약합니다. 여기서는 링크를 약한 방향으로 사용해 교대 사이클을 완성할 수 있습니다.
- 완성된 사이클을 사용해 추론합니다. 이 연속 X-cycle에서 B6과 I6 사이의 5에 대한 약한 링크는 양쪽이 강한 링크로 둘러싸여 있으므로, 이 두 후보 중 하나는 반드시 참이어야 합니다. 따라서 둘 모두를 보는 다른 후보 5는 제거할 수 있습니다. H6은 같은 행에 있어 두 후보를 모두 보므로, H6에서 5를 제거한 다음 H6에 2를 배치할 수 있습니다.

강제 체인
강한 링크와 약한 링크의 정해진 패턴을 따라가는 교대 추론 체인과 달리, 강제 체인은 가능한 값이나 조건에서 시작해 그 뒤에 따라오는 논리적 결과를 추적합니다. 서로 다른 가능성이 같은 결론으로 이어진다면, 어떤 가능성이 맞든 그 결론은 반드시 참입니다. 예를 들어 A2에는 후보 7과 9만 있으므로, 두 가능성을 모두 시험하고 각각이 무엇을 강제하는지 따라갈 수 있습니다.
강제 체인을 찾고 사용하려면:
- 가능한 수가 제한된 후보 또는 칸을 선택합니다. 예를 들어 H1에는 2와 6만 있으므로 두 가지 가능한 시작 조건이 있습니다. H1은 2이거나 6입니다.
- 첫 번째 가능성의 결과를 따라갑니다. H1이 2라면 1행의 다른 어떤 칸도 2가 될 수 없습니다. 이는 E1, F1, G1의 2를 제거할 수 있음을 의미하고, 다음 배치가 강제됩니다.
- H1: 2
- G1: 6
- F1: 8
- E1: 7
- E3: 4
- 시작점으로 돌아가 다른 가능성을 따라갑니다. H1이 6이라면 그 행의 다른 어떤 칸도 6이 될 수 없으며, 다음 배치가 강제됩니다.
- H1: 6
- G1: 2
- F1: 8
- E1: 7
- E3: 4
- 두 경로가 공유하는 결론을 찾습니다. H1에 2가 들어가든 6이 들어가든, F1, E1, E3 칸의 결과는 같습니다. 따라서 F1에 8, E1에 7, E3에 4를 배치할 수 있습니다.

체인은 일반적으로 이전 기법으로 후보가 좁혀진 뒤 어려운 퍼즐과 전문가 수준의 퍼즐에서 사용됩니다. 후보 모드를 사용하면 이러한 강한 링크와 약한 링크 중 일부를 더 쉽게 확인할 수 있어, 다음에 온라인으로 Sudoku를 플레이할 때 체인을 효과적으로 사용할 수 있습니다.