SUDOKUDOCS
문서 목차
9. 최상급 공식

9-1. 포싱 체인 종류


니시오 포싱 체인 (Nishio Forcing Chain)

forcing-chain-types 니시오 포싱 체인(Nishio Forcing Chain)은 모순(contradiction) 체인입니다. 이 체인은:

  • 어떤 후보 숫자가 참(정답)이라는 가정으로 시작해서
  • 모순, 즉 유효하지 않은 상태로 끝납니다.

[주황색]은 후보 숫자가 거짓임을 의미합니다.

[초록색]은 후보 숫자가 참임을 의미합니다.

forcing-chain-types 이러한 유효하지 않은 상태(모순)는 다음과 같을 수 있습니다:

  • 하나의 후보 숫자가 동시에 참이면서 거짓인 경우
  • 셀에 들어갈 후보 숫자가 하나도 남지 않은 경우
  • 어떤 영역에서 특정 숫자가 완전히 지워진 경우
  • 한 셀에서 여러 개의 후보 숫자가 참이 되는 경우
  • 한 영역에 같은 숫자가 두 번 이상 들어가는 경우 만약 여러분이 유일성(uniqueness) 기술을 좋아하신다면, 이 목록에 다음을 추가할 수도 있습니다:
  • 치명적인 패턴(deadly pattern)이 존재하는 경우

forcing-chain-types 이 체인은 [빨간색 9]가 참이라는 가정으로 시작해서 6번째 행에서 끝납니다. 만약 [빨간색 9]가 참이라면, 해당 행의 두 [초록색 7]이 모두 참이 되어야 한다는 것을 눈치채셨나요? 이것이 바로 우리가 찾던 유효하지 않은 상태입니다. 이는 우리의 초기 가정이 틀렸음을 보여주며, 따라서 [빨간색 9]는 참이 아닙니다. 우리는 [빨간색 9]를 제거할 수 있습니다.

forcing-chain-types 여기 동일한 체인이 있지만, 이번에는 모순이 하나의 후보 숫자에서 발생합니다. 우리의 체인은 [빨간색 9]가 참이라는 가정에서 시작하여, [파란색 7]이 동시에 참이면서 거짓이 되는 상황으로 이어집니다. 다시 한번 말씀드리지만, 이는 유효하지 않은 상태이므로 우리는 [빨간색 9]를 제거할 수 있습니다. 모순의 종류들은 서로 매우 밀접하게 관련되어 있습니다. 유효하지 않은 빈 영역이나 빈 셀로 끝나는 체인은, 화살표나 단계를 하나만 더 추가하면 하나의 후보 숫자에서 발생하는 모순으로 쉽게 연결될 수 있습니다.

forcing-chain-types 이 예시에서 [빨간색 3]은 [베이지색] 셀에 들어갈 수 있는 후보 숫자가 하나도 남지 않게 되는 결과로 이어집니다.

베리티 포싱 체인 (Verity Forcing Chain)

forcing-chain-types 베리티 포싱 체인(Verity Forcing Chain, 참거짓 검증 체인)은 여러 개의 체인을 사용하여 어떤 후보 숫자가 참인지 거짓인지 증명합니다. 주요 세 가지 유형은 다음과 같습니다...

숫자 포싱 체인 (Digit Forcing Chain)

forcing-chain-types 숫자 포싱 체인은 한 셀 안에 있는 단일 후보 숫자의 모든 가능한 상태(참/거짓)에서 시작합니다. 따라서 하나의 체인은 [파란색 6]이 참이라는 가정에서 시작하고, 다른 체인은 [파란색 6]이 거짓이라는 가정에서 시작합니다. 만약 두 체인이 모두 어떤 특정 후보 숫자를 참으로 만든다면, 그 후보 숫자는 전체적으로 무조건 참이 되며 정답으로 확정할 수 있습니다. 여기서는 [초록색 1]이 해당 셀의 정답이 됩니다. (만약 모든 체인이 특정 후보 숫자를 거짓으로 만든다면, 그 후보 숫자는 제거할 수 있습니다.)

셀 포싱 체인 (Cell Forcing Chain)

forcing-chain-types 셀 포싱 체인은 하나의 단일 [베이지색] 셀 안에 있는 모든 가능한 후보 숫자들([초록색 2], [초록색 5], [초록색 8]) 각각에서 출발합니다. 만약 이 체인들이 특정 후보 숫자에서 만나고, 모든 체인이 그 숫자를 참으로 만든다면, 이 후보 숫자는 해당 셀의 정답이 됩니다. 여기서 [초록색 1]은 모든 경우에 참이 되므로 정답으로 확정할 수 있습니다. (만약 어떤 후보 숫자가 모든 체인에 의해 거짓이 된다면, 그것은 제거할 수 있습니다.)

영역 포싱 체인 (Region Forcing Chain)

forcing-chain-types 영역 포싱 체인(또는 유닛 포싱 체인)은 어떤 [베이지색] 영역 내에 들어갈 수 있는 특정 숫자([초록색 4])의 모든 가능한 위치에서 출발합니다. 모든 체인이 [빨간색 4]가 거짓이라는 결과에서 만나게 되므로, [빨간색 4]를 확실하게 제거할 수 있습니다.

포싱 넷 (Forcing Nets)

forcing-chain-types 포싱 체인이 여러 갈래로 나뉘었다가 특정 셀이나 영역에서 다시 하나로 합쳐질 때, 이를 포싱 넷(Forcing Net, 포싱 그물망)이라고 부릅니다. 여기서 체인은 [베이지색] 셀에서 시작하여 [빨간색] 셀에서 끝납니다. 두 개의 하위 체인(subchain)이 하나로 합쳐지는 과정은 [보라색] 셀에서 일어납니다. 체인이 갈라지는 것은 시작하자마자 바로 일어납니다.

forcing-chain-types [초록색 7]에서 체인 하나는 오른쪽으로 가고, 다른 하나는 아래로 내려갑니다. 아래로 내려간 체인은 즉시 4행 2열(r4c2)의 [주황색 7]을 거짓으로 만듭니다. 오른쪽으로 갔던 다른 체인은 오른쪽에서 다시 돌아와 4행 2열(r4c2)의 [주황색 4]를 거짓으로 만듭니다. 따라서 4행 2열(r4c2)에서 두 하위 체인이 다시 만납니다. 이제 3개의 후보 숫자 중 2개([주황색 4], [주황색 7])가 거짓이 되었으므로, 체인은 세 번째 후보 숫자인 [초록색 9]에서 다시 계속 이어질 수 있습니다. 만약 두 하위 체인이 [주황색 4]와 [주황색 7]을 모두 거짓으로 만들지 못했다면, 우리의 체인은 계속 이어질 수 없었을 것입니다.

forcing-chain-types 따라서 하나로 합쳐지는 체인들이 체인을 계속 이어나가기 위해 모두 필요할 때만 그것을 '넷(net)'이라고 부릅니다. 이것은 넷(net)이 아닙니다. 왜냐하면 2행 5열(r2c5)에서 체인이 만나는 것이 그 지점부터 체인을 이어나가기 위해 필수적인 요소가 아니기 때문입니다 (두 체인이 해당 셀 내의 정확히 똑같은 후보 숫자에 도달하여 논리가 중복되기 때문입니다).