SUDOKUDOCS
문서 목차
7. 고급 공식

7-5. WXYZ-윙 및 확장


wxyz-wing 만약 Y-윙(Y-Wing)을 더 많은 셀과 더 많은 숫자를 사용하도록 확장한다면, 다음과 같은 기술들을 얻게 될 것입니다:

  • WXYZ-윙 (WXYZ-Wings)
  • VWXYZ-윙 (VWXYZ-Wings)
  • UVWXYZ-윙 (UVWXYZ-Wings) 등등. 이번 레슨은 바로 이것들에 관한 내용입니다, 적어도 거의 비슷하게요... 이 레슨을 진행하기 전에 알아두셔야 할 두 가지가 있습니다:

일러두기: ALS-XZ (Disclaimer: ALS-XZ)

wxyz-wing WXYZ-윙, VWXYZ-윙 등의 용어는 요즘엔 그 상위 개념의 이름인 ALS-XZ 로 단순하게 불리기 때문에 더 이상 많이 사용되지 않습니다. 더 일반적인 ALS(Almost Locked Set, 거의 확정된 세트) 기술들은 향후 sudoku.coach에 통합될 예정입니다. 당분간은 이 윙(wing) 기술들로 만족하셔야 할 것 같습니다.

일러두기: 정의의 차이 (Disclaimer: Differences in Definitions)

wxyz-wing 이 윙 기술들에 대한 저의 정의는 더 널리 퍼진 일반적인 정의와 약간 다릅니다. 그래서 저는 WXYZ-윙이나 VWXYZ-윙 대신에 4-Y-윙(4-Y-Wing) , 5-Y-윙(5-Y-Wing) 이라고 부릅니다. 두 정의 모두 장점이 있습니다: 널리 퍼진 정의는 ALS-XZ 기술 체계에 딱 들어맞는 반면, 저의 정의는 '피벗(pivot, 중심)'이라는 개념에 충실합니다. Y-윙, XYZ-윙, WXYZ-윙의 경우 두 정의가 도출해 내는 결과는 완전히 똑같습니다. 오직 더 많은 후보 숫자/셀을 가진 윙에서만 그 결과가 갈라집니다.

설명 (Description)

wxyz-wing 우리는 이미 Y-윙과 XYZ-윙에 대해 이야기했습니다. 이 레슨에서는 WXYZ-윙 기술을 설명할 뿐만 아니라, 이 모든 다양한 Y-윙 기술들이 기본적으로 어떻게 똑같은 원리인지 보여드릴 것입니다. 모든 Y-윙 기술들은 단 두 가지 면에서만 다릅니다:

  • 관련된 후보 숫자의 개수
  • 제한됨(restricted) 또는 제한되지 않음(unrestricted) 여부 (제거 대상 후보 숫자가 피벗 셀에도 존재하는가?)

후보 숫자의 개수 (Number of Candidates)

당연히 관련된 후보 숫자가 많을수록 Y-윙 형태를 찾기가 더 어려워집니다.

후보 숫자 개수 (Candidates)이름 (Name)공식 명칭 (Official Name)
33-Y-윙 (3-Y-Wing)Y-윙 / XYZ-윙 (Y-Wing / XYZ-Wing)
44-Y-윙 (4-Y-Wing)WXYZ-윙 (WXYZ-Wing)
55-Y-윙 (5-Y-Wing)VWXYZ-윙과 유사함 (similar to VWXYZ-Wing)
.........
99-Y-윙 (9-Y-Wing)RSTUVWXYZ-윙과 유사함 (similar to RSTUVWXYZ-Wing)

제한됨 vs 제한되지 않음 (Restricted vs. Unrestricted)

4-Y-윙 이상부터는 제한된 버전(restricted version)과 제한되지 않은 버전(unrestricted version)을 모두 포함합니다. 3-Y-윙의 경우 Y-윙을 찾기가 더 쉽기 때문에 굳이 별도의 이름(Y-윙 / XYZ-윙)을 붙여주었습니다. 4-Y-윙은 그 자체로 모두 찾기 매우 어렵기 때문에 굳이 이름을 나누지 않습니다.

n-Y-윙의 일반적인 정의 (General definition of n-Y-Wings)

일반적인 n-Y-윙은 다음과 같이 정의할 수 있습니다:

  • 피벗 셀 그룹 [노란색]이 있어야 합니다.
  • 두 개의 윙 셀 그룹 [파란색]과 [베이지색]이 있어야 합니다.
  • 각 윙 셀은 모든 피벗 셀을 바라보아야(영향을 받아야) 합니다.
  • 피벗 셀과 윙 셀은 동일한 풀(pool)에 속한 'n개의 후보 숫자 집합' 이외의 다른 어떤 후보 숫자도 포함할 수 없습니다.
  • 정확히 n개의 셀(피벗 셀 + 윙 셀)이 관여해야 합니다.
  • 제거 대상 후보 숫자는 모든 윙 셀에 존재할 수 있습니다.
  • 윙 셀들의 후보 숫자는 제거 대상 후보 숫자를 제외하고는 서로소(disjoint)여야 합니다. (두 윙은 오직 하나의 후보 숫자만 공유할 수 있으며, 그것이 바로 제거 대상 후보 숫자입니다.)

이러한 n-Y-윙의 결과는 다음과 같습니다:

  • 만약 제거 대상 후보 숫자가 피벗 셀 중 하나에 있다면, 우리는 관련된 모든 셀을 바라보는 모든 셀에서 그 후보 숫자를 제거할 수 있습니다.
  • 만약 제거 대상 후보 숫자가 피벗 셀 중 어디에도 없다면, 우리는 모든 윙 셀을 바라보는 모든 셀에서 그 후보 숫자를 제거할 수 있습니다.

추상적인 예시 (Abstract Examples)

몇 가지 추상적인 예시를 살펴보겠습니다. [노란색] 피벗 셀

[베이지색] 윙 1

[파란색] 윙 2

[빨간색] 제거할 수 있는 후보 숫자

wxyz-wing 기본적인 Y-윙 (제한된 3-Y-윙)부터 시작해 봅시다.

  • 두 윙이 모두 바라보는 피벗 셀이 있습니다.
  • 윙 셀들은 정확히 하나의 후보 숫자(3)만 공유합니다.
  • 정확히 세 개의 셀이 있으며, 이 셀들은 전체적으로 오직 세 가지 다른 후보 숫자(1, 2, 3)만 사용합니다. 3이 피벗 셀 안에 없으므로, 우리는 모든 윙 셀을 바라보는 모든 셀에서 3을 제거할 수 있습니다. ([빨간색])

wxyz-wing 이것은 WXYZ-윙 (4-Y-윙)입니다.

  • 두 윙이 모두 바라보는 피벗 셀들이 있습니다.
  • 윙 셀들은 정확히 하나의 후보 숫자(4)만 공유합니다.
  • 총 네 개의 셀과 네 개의 후보 숫자가 있습니다. 이것은 제한되지 않은 형태이므로(4가 피벗 셀 안에 있으므로), 우리는 오직 모든 셀을 다 바라보는 셀에서만 4를 제거할 수 있는데, 여기서는 저 [빨간색] 셀 하나뿐입니다.

wxyz-wing 여기 또 다른 WXYZ-윙 (4-Y-윙)이 있습니다. 이번에는 피벗 셀이 하나뿐이지만, 윙 하나에 셀이 두 개 있습니다. 위의 규칙들만 만족한다면 네 번째 셀이 어디에 있든 상관없습니다. 우리는 모든 [빨간색] 셀에서 후보 숫자를 제거할 수 있습니다. 이것은 제한된 형태이므로, 우리는 더 많은 셀에서 4를 제거할 수 있습니다.

wxyz-wing 여기 하나 더 있습니다. 윙 그룹의 셀들이 해당 그룹의 모든 후보 숫자를 반드시 다 가지고 있어야 하는 것은 아닙니다. (왼쪽의 [파란색] 셀을 보세요.) 심지어 제거 대상 후보 숫자(4)가 없어도 됩니다. (오른쪽의 [파란색] 셀을 보세요.)

wxyz-wing 이것은 8-Y-윙입니다. 여덟 개의 후보 숫자. 여덟 개의 셀. 모든 규칙이 여전히 어떻게 적용되는지 보이시나요? 여기서 여러분은 또한, 피벗 셀들이 그 안에 모든 후보 숫자를 다 가지고 있을 필요는 없다는 것을 알 수 있습니다.

왜 작동하는 걸까요? (Why it works)

wxyz-wing [빨간색] 셀 중 하나가 7이라고 상상해 봅시다...

wxyz-wing ... 그러면 관련된 모든 7이 제거될 것입니다. 이제 남은 여섯 개의 후보 숫자(1,2,3,4,5,6)를 관련된 일곱 개의 셀(피벗 + 윙들)에 나누어 배치해야 합니다. 이것은 모든 Y-윙 구성에서 불가능한 일입니다. 하지만 왜 그럴까요? 피벗 셀들은 무조건 남은 여섯 개의 후보 숫자 중 하나가 되어야만 합니다.

wxyz-wing 피벗 셀에 어떤 후보 숫자가 정답이 되든 상관없이, 피벗 셀들은 모든 윙 셀을 바라보고 있으므로 우리는 모든 윙 셀에서 그 두 후보 숫자를 제거할 수 있습니다. 이 예시의 경우, 피벗 셀의 정답이 1과 2라고 가정해 봅시다. 그 두 후보 숫자는 피벗 셀에서 제거될 것이고, 이제 우리에게는 다섯 개의 윙 셀에 배치할 네 개의 후보 숫자(3,4,5,6)만 남게 됩니다.

wxyz-wing 윙 셀들은 서로를 바라보지 않는데, 왜 그것이 문제가 될까요? 보통 셀들이 서로를 바라보지 않을 때는 후보 숫자를 단순히 반복해서 쓰면 되므로, 네 개의 후보 숫자를 다섯 개의 셀에 분배하는 것이 문제가 되지 않습니다. 하지만 여기서는 서로 바라보지 않는 셀들이 공통된 후보 숫자를 전혀 가지고 있지 않으며, (우리가 요구했던 대로) 완전히 서로소(disjoint) 상태입니다. 따라서 우리는 어떤 셀 하나는 무조건 정답(후보 숫자)을 갖지 못하게 된다는 것을 알 수 있고, 결과적으로 [빨간색] 셀 어디에도 7이 들어갈 수 없음을 알게 됩니다.

제한되지 않은 버전 (Unrestricted version)

wxyz-wing 만약 하나의 [빨간색] 셀이 7이라는 똑같은 가정을 하되, 피벗 셀 안에도 7이 있다면, 우리는 모순을 이끌어낼 수 없습니다. 제거한 후에도 일곱 개의 셀에 일곱 개의 후보 숫자가 남아있게 되므로, 전혀 문제가 되지 않습니다. 따라서 우리는 이렇게 가정한 7을 제거할 수 없습니다. 모든 관련된 7을 제거하려면, 관련된 모든 셀을 전부 바라보는 셀 중 하나에 7을 넣어야만 모순이 생길 것입니다.

wxyz-wing 따라서 만약 제거 대상 후보 숫자가 피벗 셀 중 하나에 있다면, 우리는 오직 관련된 모든 셀을 다 바라보는 이 [빨간색] 셀에서만 그 후보 숫자를 제거할 수 있습니다.

예시 (Examples)

[노란색] 피벗 셀

[베이지색] 윙

[빨간색] 제거할 수 있는 후보 숫자들

WXYZ-윙 (4-Y-Wing)

wxyz-wing wxyz-wing wxyz-wing wxyz-wing

5-Y-윙 (5-Y-Wing)

wxyz-wing

6-Y-윙 (6-Y-Wing)

wxyz-wing

7-Y-윙 (7-Y-Wing)

wxyz-wing

8-Y-윙 (8-Y-Wing)

wxyz-wing

마무리 (Finished)

wxyz-wing 언제나 그렇듯, 즐겁게 풀어보세요!