상위 문서: 스도쿠
1. 개요
스도쿠의 공략법에 대해 정리한 문서.기본 스도쿠의 공략법 위주로 서술되어 있지만 다른 변형 스도쿠도 대부분 유닛의 종류가 변한 것 뿐이기에 마찬가지의 기법을 적용할 수 있다.
다만 킬러 스도쿠의 경우 가쿠로의 특징을 지닌 만큼 특별한 공략이 따로 존재하는데 이는 스도쿠/공략법/킬러 스도쿠를 참조하자.
이 문서는 이해와 설명의 용이성, 각 기법의 적용 범위와 난이도를 모두 고려하여 순서를 배치하였다. 따라서 일부 항목의 경우 그 위치에 비해 적용의 난이도가 높은 경우가 존재한다. 대부분 발상이 동일하되 범위의 확장에 의한 것으로 넘어가도 좋다.
2. 도입
2.1. 용어
이 문서에서는 다음과 같은 용어를 사용한다.편집자는 굵게 표시된 용어로 통일하는 것을, 영어를 사용할 때는 한글을 병기하는 것을 권장한다.
- 행(Row) : 가로줄. 예를 들어 3행은 위에서부터 3번째 가로줄을 말한다.
- 열(Column) : 세로줄. 예를 들어 7열은 왼쪽부터 7번째 세로줄을 말한다.
- 칸(Cell) : 스도쿠를 구성하는 81개의 숫자를 넣는 공간.
- 상자(Box, Block, House, Subgrid, Region) : 3 × 3의 칸으로 이루어져 아래와 같이 배치된다. (정)사각형(Square)이라는 용어는 혼란을 가중시키니 이 표현은 절대 금한다.
- 유닛(Unit, House) : 행, 열, 상자를 통틀어 이르는 말. 다시 말해 1부터 9까지의 숫자가 들어가야 하는 하나의 공간을 일컫는다.
- 바라보다 : 하나의 유닛 위에 있다, '연관이 있다', '영향력이 있다'로 표기될 수도 있다.
- 후보 숫자(Candidate, Pencilmark): 스도쿠에서 칸에 들어갈 수 있는 숫자를 정리한 것.
1 | 2 | 3 |
4 | 5 | 6 |
7 | 8 | 9 |
2.2. 후보 숫자
스도쿠 관련 책자들을 보면 풀다가 막힐 때 후보 숫자를 적어 다른 기술을 쓰는 것을 흔히 볼 수 있다. 거의 대부분의 스도쿠 어플들은 후보 숫자 기능을 지원하지만,[2] 오프라인에서 종이로 푸는 스도쿠 문제들은 후보 숫자를 적을 칸의 넓이가 부족한 경우가 대다수이다.이때는 공책 등 다른 곳에다 대충 모양을 크게 그려놓고 거기에 후보 숫자를 대신 적거나, 정말 중요한 부분에만 적어두거나, 아니면 그냥 머릿속으로 다 해결하거나 하는 방법밖에는 없다.
막히는 부분이 있다면 대충 보다가 일을 그르치지 말고 의심되는 부분의 후보 숫자들을 적어나가며 돌파구를 찾는 것이 바람직하다.
2.3. 알고리즘
난이도가 낮은 스도쿠를 제외한다면 스도쿠를 해결할 때는 자신만의 알고리즘을 가지고 있는 편이 좋다. 아래 예시를 참조하여 자신만의 풀이 방법을 만들어 보자.- 후보 숫자를 사용하지 않는 경우[3]
이 이후의 기법은 후보 숫자를 사용하지 않고는 사용하기 힘들다. 후보 숫자를 처음부터 적지 않고 위 알고리즘을 따르다 밑으로 넘어가는 것도 괜찮은 방법이다.
- 후보 숫자를 사용하는 경우
가득찬 유닛(Full House)>숨겨진 하나(Hidden Single)>드러난 하나(Naked Single)>교차로(Intersection)>X-윙(X-Wing): 여기까진 후보 숫자 하나에만 집중하면 된다.
드러난 둘/셋(Naked Pair/Triple)>숨겨진 둘/셋(Hidden Pair/Triple)>심플 컬러링(Simple Coloring)>XY-윙(XY-Wing)>X-사슬(X-chain)>드러난/숨겨진 넷(Naked/Hidden Quad)>스워드피쉬(Swordfish)>핀드/사시미 X-윙(Finned/Sashimi X-wing)>XY-사슬(XY-Chain)>젤리피쉬(Jellyfish)>기타 피쉬 변형들>기타 고급 기술
스도쿠 아래에 나와 있는 기술들을 여기에 써먹어보도록 하자.
3. 기초
후보 숫자를 이용하지 않고도 사용할 수 있는 기법들. 어떤 난이도의 스도쿠를 풀든 이 기법들은 반드시 마스터하고 넘어가야 한다.3.1. 가득찬 유닛
Full House[5]어떤 유닛에 8개의 숫자가 채워져 있어서 나머지 하나를 바로 채울 수 있는 경우이다. 가장 기본적인 방법이지만 등잔 밑이 어둡다고 다른 풀이법만 보다가 정작 이걸 깜빡하고 넘어가는 경우가 종종 있다.
1 | A | 6 | 9 | 8 | 4 | 5 | 3 | 7 |
1 | 6 | 8 | ||||||
2 | 4 | B |
위와 같은 형태에서, A와 B에 들어갈 수 있는 수는 각각의 행과 상자에서 없는 수를 채우면 된다. A에는 2가 들어가고 B에는 9가 들어간다.
3.2. 숨겨진 하나
Hidden Single, Pinned Digit스도쿠의 규칙 상 한 유닛에는 1~9까지의 숫자가 존재해야한다. 이때 한 유닛 안의 특정 칸 C를 제외한 모든 나머지 칸에 특정한 후보 숫자가 들어가지 못할 때, 특정 칸 C에 그 후보 숫자가 들어가야함을 알 수 있다.
숨겨진 부분집합으로의 확장을 고려한다면 한 유닛 안에 특정 후보 숫자를 가질 수 있는 칸이 하나이기에 그 칸의 다른 후보 숫자를 모두 지울 수 있다고 이해해도 괜찮다.
말로만 들으면 어렵게 보이지만 아래 예시를 보면 스도쿠 전략 중 가장 쉽다는 것을 알 수 있다.
3.2.1. 숨겨진 하나(상자)
Hidden Single(Box)5 | 3 | 4 | ||||||
9 | 2 | 7 | ||||||
4 | 8 | |||||||
8 | 1 | 3 | 9 | 4 | ||||
7 | 9 | 8 | ||||||
5 | 8 | 7 | 2 | |||||
5 | 7 | |||||||
2 | 8 | 5 | ||||||
1 | 7 | 4 |
- [ 정답 보기 ]
- ||<tablebordercolor=#000000,#FFFFFF><table bgcolor=#FFFFFF,#444444><table width=306px><width=34px><:>8||<width=34px><:>6||<width=34px><:>2||<width=34px><bgcolor=#EEEEEE,#555555><:>9||<width=34px><bgcolor=#EEEEEE,#555555><:>5||<width=34px><bgcolor=#EEEEEE,#555555><:>7||<width=34px><:>3||<width=34px><:>4||<width=34px><:>1||
1 4 9 8 6 3 2 7 5 3 7 5 1 2 4 9 8 6 2 8 1 3 7 5 6 9 4 7 3 4 2 9 6 1 5 8 5 9 6 4 1 8 7 2 3 9 5 3 7 8 1 4 6 2 4 2 8 6 3 9 5 1 7 6 1 7 5 4 2 8 3 9
6번 상자에서 주어진 숫자는 2, 4, 7, 8, 9이며, 채워넣어야 할 숫자는 1, 3, 5, 6이다. 이 중에서 숫자 5에 주목하면,
5 | 3 | 4 | ||||||
9 | 2 | 7 | ||||||
4 | 8 | |||||||
8 | 1 | 3 | 9 | 4 | ||||
7 | 9 | 8 | ||||||
5 | 8 | 7 | 2 | |||||
5 | 7 | |||||||
2 | 8 | 5 | ||||||
1 | 7 | 4 |
3.2.2. 숨겨진 하나(행/열)
Hidden Single(Row/Column)2 | 3 | 4 | ||||||
9 | 4 | 6 | 8 | 7 | 5 | |||
4 | 8 | 1 | ||||||
9 | 8 | 4 | 5 | |||||
4 | 5 | 1 | 2 | 8 | ||||
7 | 6 | 5 | 4 | |||||
9 | 8 | 2 | 6 | 4 | ||||
3 | 4 | 8 | 7 | 9 | ||||
6 | 5 | 4 | 8 |
- [ 정답 보기 ]
- ||<tablebordercolor=#000000,#FFFFFF><table bgcolor=#FFFFFF,#444444><table width=306px><width=34px><:>5||<width=34px><:>8||<width=34px><:>1||<width=34px><bgcolor=#EEEEEE,#555555><:>7||<width=34px><bgcolor=#EEEEEE,#555555><:>2||<width=34px><bgcolor=#EEEEEE,#555555><:>9||<width=34px><:>3||<width=34px><:>4||<width=34px><:>6||
2 3 9 4 6 1 8 7 5 6 7 4 3 5 8 1 2 9 9 2 6 8 3 4 5 1 7 4 5 3 1 7 2 6 9 8 8 1 7 6 9 5 2 3 4 7 9 8 2 1 6 4 5 3 3 4 2 5 8 7 9 6 1 1 6 5 9 4 3 7 8 2
7열에서 주어진 숫자는 1, 3, 4, 5, 8, 9이며, 채워넣어야 할 숫자는 2, 6, 7이다. 이 중에서 숫자 6에 주목하면,
2 | 3 | 4 | ||||||
9 | 4 | 6 | 8 | 7 | 5 | |||
4 | 8 | 1 | ||||||
9 | 8 | 4 | 5 | |||||
4 | 5 | 1 | 2 | 8 | ||||
7 | 6 | 5 | 4 | |||||
9 | 8 | 2 | 6 | 4 | ||||
3 | 4 | 8 | 7 | 9 | ||||
6 | 5 | 4 | 8 |
3.3. 드러난 하나
Naked Single, Forced Digit, Sole Candidate후보 숫자가 하나인 칸을 채워넣는 것. 후보 숫자가 하나면 들어갈 수 있는 것이 그것밖에 없으므로 쉽게 채워넣을 수 있다. 가득찬 유닛(Full House)의 연장선이자 가장 기본적인 방법이지만 후보 숫자를 적어놓지 않는다면 찾는 것이 어려울 수 있다.
1 | 7 | 2 | 8 | 6 | 3 | 9 | ||
4 | ||||||||
2 | ||||||||
2 | 6 | |||||||
4 | 6 | 1 | 2 | 3 | 7 | |||
4 | 8 | |||||||
5 | ||||||||
9 | ||||||||
8 | 6 | 3 | 2 | 5 | 1 | 9 |
- [ 정답 보기 ]
- ||<tablebordercolor=#000000,#FFFFFF><table bgcolor=#FFFFFF,#444444><table width=306px><width=34px><:>4||<width=34px><:>5||<width=34px><:>1||<width=34px><bgcolor=#EEEEEE,#555555><:>7||<width=34px><bgcolor=#EEEEEE,#555555><:>2||<width=34px><bgcolor=#EEEEEE,#555555><:>8||<width=34px><:>6||<width=34px><:>3||<width=34px><:>9||
2 3 9 5 4 6 7 1 8 6 7 8 3 1 9 2 5 4 3 8 2 6 7 5 4 9 1 9 4 6 1 8 2 3 7 5 5 1 7 9 3 4 8 2 6 7 9 5 4 6 3 1 8 2 1 2 4 8 9 7 5 6 3 8 6 3 2 5 1 9 4 7
정중앙에 있는 셀 E5를 보면, 5행에는 1, 2, 3, 4, 6, 7이 있고, 5열에는 2, 4, 5, 9이 있으며, 5번 상자에는 1, 2, 4, 6이 있다.
1 | 7 | 2 | 8 | 6 | 3 | 9 | ||
4 | ||||||||
2 | ||||||||
2 | 6 | |||||||
4 | 6 | 1 | 2 | 3 | 7 | |||
4 | 8 | |||||||
5 | ||||||||
9 | ||||||||
8 | 6 | 3 | 2 | 5 | 1 | 9 |
4. 초급
후보 숫자를 적거나 머리 속에 상상하며 적용할 수 있다.이 이후의 기법들은 모두 후보 숫자를 특정하기보다는 그 가짓수를 줄이는 것에 초점을 맞춘다.
4.1. 교차로
Intersection, 상호작용이라고도 한다.한 유닛에서 특정 숫자가 들어갈 수 있는 곳이 한정적임을 이용해 나머지 영역에서 후보 숫자를 제거하는 방법이다.
4.1.1. 교차로(포인팅)
Intersetion(Pointing)상자 속에 특정 후보 숫자가 들어갈 수 있는 칸들이 모두 한 행(또는 열)에 나열되어 있을 때, 그 행(또는 열)에서 상자에 속하지 않는 나머지 칸들에서 그 후보 숫자를 제거할 수 있다.
9 | 8 | 6 | ||||||
6 | 4 | 3 | ||||||
2 | 1 | |||||||
3 | 2 | 9 | ||||||
6 | 4 | 8 | 1 | |||||
1 | 7 | 3 | ||||||
6 | 3 | |||||||
1 | 8 | 9 | ||||||
5 | 4 | 1 |
- [ 정답 보기 ]
- ||<tablebordercolor=#000000,#FFFFFF><table bgcolor=#FFFFFF,#444444><table width=306px><width=34px><:>9||<width=34px><:>4||<width=34px><:>2||<width=34px><bgcolor=#EEEEEE,#555555><:>3||<width=34px><bgcolor=#EEEEEE,#555555><:>7||<width=34px><bgcolor=#EEEEEE,#555555><:>1||<width=34px><:>8||<width=34px><:>6||<width=34px><:>5||
1 8 7 5 9 6 4 3 2 6 3 5 2 8 4 1 7 9 8 7 3 6 1 2 9 5 4 5 6 9 4 3 8 2 1 7 4 2 1 7 5 9 3 8 6 7 9 6 1 4 3 5 2 8 2 1 8 9 6 5 7 4 3 3 5 4 8 2 7 6 9 1
드러난 하나(Naked Single)와 숨겨진 하나(Hidden Single)를 반복하면 다음과 같이 23개의 칸이 남는다.
9 | 4 | 3 | 7 | 1 | 8 | 6 | A | |
1 | 8 | 5 | 9 | 6 | 4 | 3 | B | |
6 | 3 | 2 | 8 | 4 | 1 | C | 9 | |
7 | 3 | 6 | 1 | 2 | 9 | |||
5 | 6 | 9 | 4 | 3 | 8 | D | 1 | E |
2 | 1 | 7 | 5 | 9 | 3 | 6 | ||
9 | 6 | 1 | 3 | 5 | F | |||
1 | 8 | 9 | 5 | 3 | ||||
3 | 5 | 4 | 8 | 7 | 9 | 1 |
이제 9열을 확인해보면, A, B, E, F 중에서 A와 B에 2가 반드시 들어간다고 했으므로 E와 F에는 2가 들어갈 수 없다.
여기까지가 교차로(포인팅)의 개념이다. 이후 숨겨진 하나(Hidden Single)를 이용하면 D에는 2가, E에는 7이 들어감을 알 수 있다.
4.1.2. 교차로(클레이밍)
Intersetion(Claiming), Box Reduction원리는 포인팅과 완전히 같으며 순서만 반대일 뿐이다. 한 행(또는 열)에 특정 후보 숫자가 들어갈 수 있는 칸들이 모두 한 상자에만 존재할 때, 상자에서 그 행(또는 열)에 속하지 않는 나머지 칸들에서 그 후보 숫자를 제거할 수 있다.
1 | 7 | 5 | 4 | 2 | 3 | 8 | ||
3 | 5 | 1 | 2 | |||||
2 | 8 | 6 | 1 | |||||
8 | 9 | 7 | 3 | 4 | 5 | 6 | 2 | 1 |
5 | 2 | 6 | 8 | |||||
2 | 7 | 5 | 4 | |||||
7 | 8 | 9 | 2 | 1 | ||||
6 | 1 | 2 | 8 | 4 | 7 | |||
5 | 1 | 6 | 7 | 2 | 8 |
- [ 정답 보기 ]
- ||<tablebordercolor=#000000><table bgcolor=#FFFFFF,#444444><table width=306px><width=34px><:>1||<width=34px><:>7||<width=34px><:>5||<width=34px><bgcolor=#EEEEEE,#555555><:>4||<width=34px><bgcolor=#EEEEEE,#555555><:>2||<width=34px><bgcolor=#EEEEEE,#555555><:>3||<width=34px><:>8||<width=34px><:>9||<width=34px><:>6||
3 6 4 5 8 9 7 1 2 9 2 8 6 7 1 4 3 5 8 9 7 3 4 5 6 2 1 5 4 1 2 9 6 3 7 8 2 3 6 7 1 8 5 4 9 7 8 3 9 5 2 1 6 4 6 1 2 8 3 4 9 5 7 4 5 9 1 6 7 2 8 3
1행에 후보 숫자 9가 들어갈 수 있는 칸을 찾아보자.
1 | 7 | 5 | 4 | 2 | 3 | 8 | ||
3 | 5 | 1 | 2 | |||||
2 | 8 | 6 | 1 | |||||
8 | 9 | 7 | 3 | 4 | 5 | 6 | 2 | 1 |
5 | 2 | 6 | 8 | |||||
2 | 7 | 5 | 4 | |||||
7 | 8 | 9 | 2 | 1 | ||||
6 | 1 | 2 | 8 | 4 | 7 | |||
5 | 1 | 6 | 7 | 2 | 8 |
이 스도쿠는 앞선 공략법만으로는 어떠한 칸의 숫자도 알 수 없다. 그러나 이 스도쿠에는 아직 교차로(포인팅)를 이용하여 후보 숫자를 줄일 수 있는데 복습 겸 한 번 찾아보자.(3개가 존재한다.)
- [ 해설 보기 ]
- 1. 7번 상자에서 후보 숫자 3을 가지는 칸은 모두 3열 위에 존재한다. 7번 상자에 속하지 않는 3열 위의 칸(B3, E3, F3)은 후보 숫자 3을 가질 수 없다.
2. 7번 상자에서 후보 숫자 9를 가지는 칸은 모두 9행 위에 존재한다. 7번 상자에 속하지 않는 9행 위의 칸(I9)은 후보 숫자 9를 가질 수 없다.
3. 9번 상자에서 후보 숫자 4를 가지는 칸은 모두 9열 위에 존재한다. 9번 상자에 속하지 않는 9열 위의 칸(A9, C9, F9)은 후보 숫자 4를 가질 수 없다.
4.2. 부분집합
Subsets스도쿠의 81개의 칸을 동시에 모두 생각하는 것은 불가능하므로 우리는 몇 개의 작은 부분으로 나눌 것이다.
이때, 한 유닛에서 n개의 칸과 n개의 후보 숫자가 다른 칸 또는 후보 숫자와 분리될 수 있으면 그것을 부분집합이라 한다.
후보 숫자를 모두 적었을 때 직접 드러나는 경우를 드러난(Naked) 부분집합, 유닛 내 다른 칸과의 관계를 통해 간접적으로 알 수 있는 경우를 숨겨진(Hidden) 부분집합이라 하며, 칸의 개수에 따라 둘(Pair)/셋(Triple)/넷(Quad)으로 구분한다.
한 유닛에서 n개의 칸이 드러난 부분집합을 이룬다면, 그 유닛의 나머지 칸은 숨겨진 부분집합을 이룬다.
반대로 n개의 칸이 숨겨진 부분집합을 이룬다면, 그 유닛의 나머지 칸은 드러난 부분집합을 이룬다.
이러한 관계를 상보적 관계라 하며, 자세한 내용은 '부분집합 간의 상보적 관계' 문단에 설명되어 있다.
이 문서에서는 부분집합이 다섯(Quint) 이상인 경우는 다루지 않는다. 유닛의 총 칸 개수가 9개이기 때문에, 드러난/숨겨진 넷을 찾을 수 있다면 그와 상보적인 숨겨진/드러난 다섯을 찾을 수 있기 때문이다. 숨겨진 넷을 찾기 어렵거나, 칸의 개수가 10개 이상인 확장된 스도쿠라면 이러한 다섯(Quint)이 유용할 수 있다.
4.2.1. 드러난 부분집합
Naked Subsets이름에서 알 수 있듯이 드러난 하나(Naked Single)의 연장선이다.
한 유닛의 n개의 칸이 총 n개의 후보 숫자만을 가지는 경우(중복되는 숫자는 한 번만 센다), n개의 후보 숫자는 그 n개의 칸들에만 들어갈 수 있음을 이용하여 다른 칸의 후보 숫자들을 제거한다.
같은 유닛에 속하는 n개의 칸을 자신이 마음대로 골랐을 때, 그 n개의 칸에 있는 후보 숫자가 합쳐서 n개라면 드러난 부분집합을 이 유닛에 적용할 수 있다.
드러난 하나는 한 유닛의 1개의 칸이 총 1개의 후보 숫자만을 가지므로, 같은 유닛의 나머지 칸은 그 1개의 후보 숫자를 가지지 못한다.
그렇다면 드러난 둘은 한 유닛의 2개의 칸이 총 2개의 후보 숫자만을 가지므로, 같은 유닛의 나머지 칸은 그 2개의 후보 숫자를 가지지 못한다고 이해할 수 있다.
드러난 셋, 넷 역시 마찬가지로 이해할 수 있다.
기초 기법을 모두 적용시켰다는 가정하에 드러난 부분집합을 적용하려는 유닛에 최소 2개의 칸이 더 비어 있어야 한다. 예를 들어, 드러난 둘/셋/넷은 각각 4, 5, 6칸이 유닛에 비어있어야 한다.[6]
4.2.1.1. 드러난 둘
Naked Pair한 유닛의 2개의 칸이 2개의 후보 숫자만을 가지는 경우, 다른 칸들에서 그 후보 숫자를 제거할 수 있다.
즉, 어떤 유닛에 포함되는 두 칸에 들어갈 수 있는 후보 숫자가 X, Y로 같다면 그 두 칸이 포함된 유닛의 다른 칸들은 후보 숫자 X, Y를 가질 수 없다.
먼저 아래의 스도쿠를 드러난 하나(Naked Single)와 숨겨진 하나(Hidden Single), 교차로만으로 최대한 풀어보자.
5 | 4 | 9 | ||||||
8 | 1 | 5 | ||||||
7 | 6 | |||||||
7 | 6 | |||||||
4 | 3 | |||||||
2 | 9 | 3 | ||||||
1 | 6 | |||||||
2 | 5 | 9 | 3 | |||||
8 | 4 | 5 |
- [ 정답 보기 ]
- ||<tablebordercolor=#000000><table bgcolor=#FFFFFF,#444444><table width=306px><width=34px><:>1||<width=34px><:>7||<width=34px><:>6||<width=34px><bgcolor=#EEEEEE,#555555><:>5||<width=34px><bgcolor=#EEEEEE,#555555><:>3||<width=34px><bgcolor=#EEEEEE,#555555><:>2||<width=34px><:>8||<width=34px><:>4||<width=34px><:>9||
9 3 8 1 6 4 7 2 5 4 5 2 7 9 8 6 1 3 3 8 7 9 5 1 4 6 2 6 1 9 4 2 3 5 8 7 5 2 4 6 8 7 9 3 1 7 9 1 3 4 6 2 5 8 2 6 5 8 1 9 3 7 4 8 4 3 2 7 5 1 9 6
그러면 다음과 같이 빈칸 57개 중 48개가 남을 것이다.
A | B | C | 5 | D | E | F | 4 | 9 |
8 | 1 | 5 | ||||||
2 | 7 | 9 | 6 | 3 | ||||
7 | 9 | 1 | 6 | |||||
4 | 3 | |||||||
2 | 4 | 6 | 7 | 9 | 3 | |||
1 | 6 | |||||||
2 | 5 | 8 | 9 | 3 | ||||
8 | 4 | 5 |
A : 1, 3, 6, 7
B : 1, 3, 6, 7
C : 3, 6
D : 3, 6
E : 2, 8
F : 1, 2, 7, 8
여기서 C에 3을 넣으면 D는 무조건 6이 되고, C에 6을 넣으면 D는 무조건 3이 된다. 즉, 1행에서 3과 6은 C와 D에만 들어갈 수 있으며, A, B, E, F에는 들어갈 수 없다. 따라서 A와 B에서 후보 숫자 3, 6을 제거할 수 있다.
A : 1, 7
B : 1, 7
C : 3, 6
D : 3, 6
E : 2, 8
F : 1, 2, 7, 8
같은 방법으로 F에서 후보 숫자 1, 7을 제거할 수 있다.
4.2.1.2. 드러난 셋
Naked Triple한 유닛의 3개의 칸이 3개의 후보 숫자만을 가지는 경우, 다른 칸들에서 그 후보 숫자를 제거할 수 있다.
즉, 한 유닛에 존재하는 어떤 세 칸에 들어갈 수 있는 후보 숫자가 오직 X, Y, Z뿐이라면 유닛에 포함된 그 칸을 제외한 나머지 칸은 후보 숫자 X, Y, Z를 가질 수 없다.
혼동하기 쉬운 것은 세 칸이 X, Y, Z 모두를 후보 숫자로 가져야한다고 생각하는 것이다. 드러난 셋은 꼭 그럴 필요가 없으며 다음과 같은 네 개의 경우로 나뉘어질 수 있다.
1. (X, Y, Z), (X, Y, Z), (X, Y, Z)
2. (X, Y, Z), (X, Y, Z), (X, Y)
3. (X, Y, Z), (X, Y), (X, Z)
4. (X, Y), (X, Z), (Y, Z)
6 | 2 | 7 | 1 | 3 | 5 | |||
2 | 3 | 4 | ||||||
3 | 5 | 2 | ||||||
7 | 3 | 2 | ||||||
3 | 1 | 2 | 8 | 7 | ||||
4 | 2 | 7 | 3 | |||||
3 | 7 | 2 | 1 | |||||
3 | 8 | 2 | ||||||
2 | 9 | 1 | 8 | 7 | 3 |
- [ 정답 보기 ]
- ||<tablebordercolor=#000000><table bgcolor=#FFFFFF,#444444><table width=306px><width=34px><:>6||<width=34px><:>4||<width=34px><:>2||<width=34px><bgcolor=#EEEEEE,#555555><:>7||<width=34px><bgcolor=#EEEEEE,#555555><:>1||<width=34px><bgcolor=#EEEEEE,#555555><:>8||<width=34px><:>9||<width=34px><:>3||<width=34px><:>5||
9 5 1 2 3 4 7 6 8 7 8 3 9 5 6 4 2 1 8 6 7 1 9 3 5 4 2 3 1 9 4 2 5 6 8 7 4 2 5 8 6 7 3 1 9 5 3 8 6 7 2 1 9 4 1 7 4 3 8 9 2 5 6 2 9 6 5 4 1 8 7 3
6 | 2 | 7 | 1 | 3 | 5 | |||
2 | 3 | 4 | ||||||
3 | 5 | 2 | ||||||
7 | 3 | 2 | ||||||
3 | 1 | 2 | 8 | 7 | ||||
4 | 2 | A | B | C | 7 | 3 | D | E |
3 | 7 | 2 | 1 | |||||
3 | 8 | 2 | ||||||
2 | 9 | 1 | 8 | 7 | 3 |
6행의 후보 숫자를 적절히 나열하면 다음과 같다.
A: 5, 6, 8, 9
B: 1, 8(5번 상자에서 D4와 숨겨진 둘을 통해 후보 숫자를 추릴 수 있다. 이는 아래에 소개되므로 지금은 넘어가도 좋다.)
C: 6, 9
D: 1, 6, 9(5는 교차로를 통해 제거할 수 있다. 9번 상자에서 G8, H8만 5를 가질 수 있기에 F8은 5가 될 수 없다.)
E: 1, 6, 9
C, D, E는 후보 숫자로 1, 6, 9만 가지며[7] 6행의 다른 칸에 이 숫자를 가지면 모순이 발생함을 알 수 있다.
따라서 A, B의 후보숫자에 1, 6, 9를 다음과 같이 지울 수 있다.
A: 5, 8
B: 8
C: 6, 9
D: 1, 6, 9
E: 1, 6, 9
가득찬 유닛(Full House)를 이용하면 A는 5, B는 8이다.
4.2.1.3. 드러난 넷
Naked Quad드러난 부분집합의 최종 보스.
한 유닛의 4개의 칸이 4개의 후보 숫자만을 가지는 경우, 다른 칸들에서 그 후보 숫자를 제거할 수 있다.
3 | 6 | 8 | 2 | 5 | ||||
5 | 8 | 3 | 4 | |||||
1 | 9 | |||||||
2 | 9 | |||||||
9 | 3 | 6 | 2 | |||||
2 | 5 | |||||||
4 | 6 | |||||||
6 | 8 | 9 | 3 | |||||
6 | 9 | 5 | 2 |
- [ 정답 보기 ]
- ||<tablebordercolor=#000000><table bgcolor=#FFFFFF,#444444><table width=306px><width=34px><:>7||<width=34px><:>3||<width=34px><:>6||<width=34px><bgcolor=#EEEEEE,#555555><:>8||<width=34px><bgcolor=#EEEEEE,#555555><:>2||<width=34px><bgcolor=#EEEEEE,#555555><:>9||<width=34px><:>4||<width=34px><:>1||<width=34px><:>5||
5 8 2 1 3 4 6 7 9 1 9 4 5 6 7 2 3 8 4 2 1 9 5 8 3 6 7 9 5 7 3 4 6 1 8 2 8 6 3 7 1 2 9 5 4 3 1 9 2 7 5 8 4 6 2 4 5 6 8 1 7 9 3 6 7 8 4 9 3 5 2 1
이 스도쿠를 기초 기법만으로 풀어보면 다음과 같이 39칸이 남는다.
3 | 6 | 8 | 2 | 9 | A | 5 | ||
5 | 8 | 1 | 3 | 4 | B | |||
1 | 9 | 5 | 6 | 7 | C | |||
2 | 9 | 8 | D | |||||
9 | 3 | 6 | E | 2 | ||||
6 | 7 | 2 | F | 5 | ||||
9 | 2 | 7 | G | 4 | 6 | |||
2 | 6 | 8 | H | 9 | 3 | |||
6 | 4 | 9 | 5 | 2 |
A: 1, 4, 7
B: 2, 6, 7, 9
C: 2, 3, 4, 8
D: 1, 3, 4, 6, 7
E: 1, 4, 7, 8
F: 1, 3, 4, 8, 9
G: 1, 8
H: 1, 7
셀 A7, E7, G7, H7이 가지고 있는 후보 숫자는 다 합해봐야 1, 4, 7, 8 등 4개뿐이다. 따라서 같은 열의 다른 칸은 이 후보 숫자를 가질 수 없다.
A: 1, 4, 7
B: 2, 6, 9
C: 2, 3
D: 3, 6
E: 1, 4, 7, 8
F: 3, 9
G: 1, 8
H: 1, 7
4.2.2. 숨겨진 부분집합
Hidden Subset드러난 부분집합은 하나의 유닛에서 n개의 칸이 도합 n개의 후보 숫자를 가지는 경우를 찾았다.
숨겨진 부분집합은 그 반대로, 하나의 유닛에서 n개의 후보 숫자가 n개의 칸에만 존재하는 경우를 찾고, 나머지 후보 숫자를 그 n개의 칸에서 지운다.
드러난 부분집합에서와 같은 이유로, n개의 후보 숫자가 총 n개의 칸에만 존재한다면 해당 칸들은 그 n개의 후보 숫자만을 가질 수 있기 때문이다.
이때 숨겨진 둘은 한 유닛에 4개 이상, 숨겨진 셋은 6개 이상, 숨겨진 넷은 8개 이상 칸이 비어 있어야 하위 공식[8]을 이용하지 않고 찾을 수 있다. 즉, 숨겨진 넷은 정말로 희귀한 기법이다.
4.2.2.1. 숨겨진 둘
Hidden Pair하나의 유닛에서 2개의 후보 숫자가 2개의 칸에만 존재할 때, 나머지 후보 숫자를 그 2개의 칸에서 지울 수 있다.
A | B | C | D | E | F | G | H | I |
9 | 4 | 6 | 7 | |||||
7 | 6 | 8 | 4 | 1 | ||||
3 | 9 | 7 | 1 | 8 | ||||
7 | 8 | 3 | 1 | |||||
5 | 1 | 3 | 8 | 7 | 2 | |||
7 | 5 | 2 | 6 | 1 | ||||
5 | 4 | 3 | 2 | 8 | ||||
7 |
- [ 정답 보기 ]
- ||<tablebordercolor=#000000><table bgcolor=#FFFFFF,#444444><table width=306px><width=34px><:>5||<width=34px><:>8||<width=34px><:>3||<width=34px><bgcolor=#EEEEEE,#555555><:>2||<width=34px><bgcolor=#EEEEEE,#555555><:>1||<width=34px><bgcolor=#EEEEEE,#555555><:>9||<width=34px><:>4||<width=34px><:>6||<width=34px><:>7||
9 1 4 6 3 7 8 2 5 2 7 6 8 5 4 1 3 9 3 4 9 7 2 1 5 8 6 7 2 8 9 6 5 3 4 1 6 5 1 3 4 8 7 9 2 4 9 7 5 8 2 6 1 3 1 6 5 4 9 3 2 7 8 8 3 2 1 7 6 9 5 4
A | B | C | D | E | F | G | H | I |
9 | 4 | 6 | 7 | |||||
7 | 6 | 8 | 4 | 1 | ||||
3 | 9 | 7 | 1 | 8 | ||||
7 | 8 | 3 | 1 | |||||
5 | 1 | 3 | 8 | 7 | 2 | |||
7 | 5 | 2 | 6 | 1 | ||||
5 | 4 | 3 | 2 | 8 | ||||
7 |
A~I까지 후보 숫자를 나열하면 다음과 같다.
A: 1, 2, 5, 8
B: 1, 2, 3, 8
C: 2, 3
D: 1, 2, 9
E: 1, 2, 3, 5, 9
F: 5, 9
G: 4, 5, 8, 9
H: 2, 3, 4, 5, 6, 7, 9
I: 3, 4, 5, 6, 7, 9
시각적으로 보면 한 눈에 알 수 있듯이 1행에서 6, 7을 가질 수 있는 칸은 H와 I뿐이다.
이는 H와 I가 6,7이 아닌 다른 숫자를 가질 수 없음을 의미하며 6,7을 제외한 다른 숫자를 후보 숫자에서 제거할 수 있다. 즉, 아래와 같이 후보 숫자를 추릴 수 있다.
H: 6, 7
I: 6, 7
4.2.2.2. 숨겨진 셋
Hidden Triple하나의 유닛에서 3개의 후보 숫자가 3개의 칸에만 존재할 때, 나머지 후보 숫자를 그 3개의 칸에서 지울 수 있다.
2 | 7 | 6 | 5 | 9 | 3 | |||
2 | ||||||||
3 | 2 | 8 | 5 | |||||
7 | 5 | 8 | 1 | 3 | 6 | 2 | 9 | 4 |
3 | 8 | 4 | ||||||
1 | 4 | 5 | 2 | 8 | 3 | |||
1 | 2 | 6 | ||||||
3 | 8 | 6 | 1 | 2 | ||||
6 | 7 | 5 | 8 | 3 | 1 | 9 |
- [정답 보기]
- ||<tablebordercolor=#000000><table bgcolor=#FFFFFF,#444444><table width=306px><width=34px><:>8||<width=34px><:>2||<width=34px><:>7||<width=34px><bgcolor=#EEEEEE,#555555><:>6||<width=34px><bgcolor=#EEEEEE,#555555><:>4||<width=34px><bgcolor=#EEEEEE,#555555><:>5||<width=34px><:>9||<width=34px><:>3||<width=34px><:>1||
6 9 5 3 1 7 4 8 2 4 1 3 2 8 9 5 6 7 7 5 8 1 3 6 2 9 4 9 3 2 8 7 4 1 5 6 1 4 6 5 9 2 8 7 3 5 7 1 9 2 3 6 4 8 3 8 9 4 6 1 7 2 5 2 6 4 7 5 8 3 1 9
숨겨진 셋을 설명하기 전에 1번 상자와 5열에 드러난 둘이 존재한다. 복습을 겸해서 한 번 찾아보도록 하자.
- [드러난 둘 보기]
- 1번 상자의 후보 숫자를 모두 나열하면 다음과 같다.
A1: 4, 8
B1: 4, 5, 6, 8, 9
B2: 1, 9
B3: 4, 5, 6, 9
C1: 4, 6, 9
C2: 1, 9
B2와 C2의 후보 숫자가 1, 9만을 가지므로 1번 상자의 다른 칸에서 후보 숫자 1, 9를 제거할 수 있다.
5열의 후보 숫자를 모두 나열하면 다음과 같다.
A5: 1, 4
B5: 1, 4, 7, 9
E5: 7, 9
F5: 7, 9
E5와 F5의 후보 숫자가 7, 9만을 가지므로 5열의 다른 칸에서 후보 숫자 7, 9를 제거할 수 있다.
2 | 7 | 6 | 5 | 9 | 3 | |||
2 | ||||||||
3 | 2 | 8 | 5 | |||||
7 | 5 | 8 | 1 | 3 | 6 | 2 | 9 | 4 |
3 | 8 | 4 | ||||||
1 | 4 | 5 | 2 | 8 | 3 | |||
1 | 2 | 6 | ||||||
3 | 8 | 6 | 1 | 2 | ||||
6 | 7 | 5 | 8 | 3 | 1 | 9 |
B1: 4, 5, 6, 8
B2: 1, 9
B3: 4, 5, 6
B4: 3, 4, 9
B5: 1, 4
B6: 3, 7, 9
B7: 1, 4, 7
B8: 4, 6, 7, 8
여기서 B1, B3, B8에 집중하면 후보 숫자 5, 6, 8은 이 세 개의 칸에만 나타난다. 이 칸에서 나머지 후보 숫자를 지울 수 있다.
B1: 5, 6, 8
B3: 5, 6
B7: 6, 8
위의 예시에서 알 수 있듯이 드러난 셋과 유사하게 3개의 칸이 후보 숫자 3개를 모두 가질 필요는 없다. 그저 3개의 후보 숫자가 3개의 칸에서만 존재하기만 하면 된다.
4.2.2.3. 숨겨진 넷
Hidden Quad하나의 유닛에서 4개의 후보 숫자가 4개의 칸에만 존재할 때, 나머지 후보 숫자를 그 4개의 칸에서 지울 수 있다.
앞서 언급되었듯이 난이도가 숨겨진 둘/셋보다 높으며 저들 없이 독자적으로 나타날 확률이 매우 낮기에 다른 방법을 모두 써봐도 안되며 한 유닛의 8개 이상의 모든 칸이 비어있는 특징적인 경우에 잠깐 떠올리는 정도로도 충분하다.
3 | 4 | 6 | 8 | 2 | 7 | |||
8 | 1 | 7 | 4 | 2 | 3 | 6 | 5 | 9 |
9 | 2 | 5 | 7 | 8 | 6 | 1 | 3 | 4 |
2 | 9 | 7 | 1 | |||||
6 | 8 | 5 | 2 | |||||
4 | 1 | 3 | 8 | |||||
5 | 9 | 2 | 6 | 1 | 7 | 4 | 8 | 3 |
7 | 8 | 4 | 5 | 3 | 9 | 2 | 1 | 6 |
1 | 6 | 3 | 4 | 9 | 7 | 5 |
- [정답 보기]
- ||<tablebordercolor=#000000><table bgcolor=#FFFFFF,#444444><table width=306px><width=34px><:>3||<width=34px><:>4||<width=34px><:>6||<width=34px><bgcolor=#EEEEEE,#555555><:>9||<width=34px><bgcolor=#EEEEEE,#555555><:>5||<width=34px><bgcolor=#EEEEEE,#555555><:>1||<width=34px><:>8||<width=34px><:>2||<width=34px><:>7||
8 1 7 4 2 3 6 5 9 9 2 5 7 8 6 1 3 4 2 5 9 3 6 8 7 4 1 6 3 8 1 7 4 5 9 2 4 7 1 2 9 5 3 6 8 5 9 2 6 1 7 4 8 3 7 8 4 5 3 9 2 1 6 1 6 3 8 4 2 9 7 5
5번 상자가 모두 빈 희귀한 경우이다. 5번 상자의 후보 숫자를 모두 나열하면 아래와 같다.
D4: 3, 8
D5: 5, 6
D6: 4, 5, 8
E4: 1, 3, 9
E5: 7, 9
E6: 1, 4
F4: 2, 9
F5: 5, 6, 7, 9
F6: 2, 5
후보 숫자 1, 3, 4, 8은 D4, D6, E4, E6의 4개의 칸에서만 나타난다. 그러므로 이 칸들에서 다른 후보 숫자들을 제거할 수 있다.
D4: 3, 8
D6: 4, 8
E4: 1, 3
E6: 1, 4
4.2.3. 부분집합 간의 상보적 관계
드러난 부분집합과 숨겨진 부분집합은 상보적이라는 것을 앞서 언급하였다. 많은 이들이 드러난 부분집합보다 숨겨진 부분집합을 찾는 것을 어려워하기에 숨겨진 부분집합의 상보적인 드러난 부분집합을 찾아보는 것도 괜찮은 방법이다.- [드러난 부분집합과 숨겨진 부분집합의 상보적 관계 증명]
- 먼저, 하나의 유닛에 남아 있는 칸 수와 그 유닛 안에 남은 후보 숫자 가짓수는 같다. 이는 직관적으로 이해해도 충분하며 정확한 증명의 경우 스도쿠/공략법/유일성 논법의 1.2.1. 증명의 보조 정리 1을 보고 오면 된다.
우리는 이제 유닛에 n개의 칸이 비어있을 때, [math(a+b=n)]을 만족하는 드러난 a와 숨겨진 b 둘 중 하나가 존재한다면 다른 하나도 존재함을 보일 것이다.(단, a, b는 자연수)
1. 드러난 a가 존재한다면 숨겨진 b가 존재한다.
유닛의 비어 있는 칸이 n개 이므로 남은 후보 숫자 가짓수도 n개이다.
드러난 a가 존재하므로 a개의 칸에 a개의 후보 숫자만이 들어가야 한다.
이 때, a개의 후보 숫자를 X1, X2, ..., Xa라 하면 a개의 칸에는 이 a개의 후보 숫자를 제외한 [math(n-a=b)]개의 후보 숫자를 가질 수 없다.
즉, [math(n-a=b)]개의 후보 숫자는 [math(n-a=b)]개의 칸에만 들어갈 수 있으므로 숨겨진 b가 존재한다.
2. 숨겨진 b가 존재한다면 드러난 a가 존재한다.
유닛의 비어 있는 칸이 n개 이므로 남은 후보 숫자 가짓수도 n개이다.
숨겨진 b가 존재하므로 b개의 후보 숫자는 b개의 칸에만 들어갈 수 있다.
이 때, b개의 후보 숫자를 Y1, Y2, ..., Yb라 하면 [math(n-b=a)]개의 칸에는 이 b개의 후보 숫자를 가질 수 없다.
즉, [math(n-b=a)]개의 칸에 [math(n-b=a)]개의 후보 숫자만이 들어가므로 드러난 a가 존재한다.
1, 2에 의하여 드러난 부분집합과 숨겨진 부분집합은 상보적이라는 것을 알 수 있다.
예를 들어, 다음의 예제의 6열에 집중해보자.
숨겨진 부분집합을 열심히 연습했다면 셀 A6, E6, G6에만 후보 숫자 2, 4, 5가 나타나므로(숨겨진 셋) 셀 E6에서 후보 숫자 1을, 셀 G6에서 후보 숫자 6, 9를 제거할 수 있음을 알 수 있을 것이다.
그러나 6열의 다른 칸에도 집중을 해보면 나머지 셀 B6, C6, D6, F6, J6의 총 5개의 칸이 후보 숫자 1, 6, 7, 8, 9의 5개만을 가지므로 드러난 다섯을 발견할 수 있으며 마찬가지로 셀 E6에서 후보 숫자 1을, 셀 G6에서 후보 숫자 6, 9를 제거할 수 있다.
지금 같은 경우는 8개의 칸이 비어있기에 숨겨진 셋과 드러난 다섯이 상보적이여서 드러난 다섯을 찾기가 더 힘들 것이다.
그러나 6개의 칸이 비어있는 경우라면 숨겨진 둘과 드러난 넷, 또는 숨겨진 셋과 드러난 셋이 존재할 수 있으며 대부분의 경우 숨겨진 부분집합보다 드러난 부분집합을 더욱 쉽게 찾기에 이를 이용한다면 부분집합들을 금방 찾을 수 있을 것이다.[9]
4.3. 물고기(피쉬)
Fish, Seafood, Sealife.하나의 후보 숫자에 대하여 행과 열을 비교하여 그 후보 숫자를 지우는 방법을 통칭하여 물고기 또는 피쉬라고 한다.
어떤 n개의 행(또는 열)에 특정 후보 숫자가 들어갈 수 있는 칸의 개수가 n개 이하이며 그런 칸들이 바라보는 열(또는 행)들의 개수가 n개 일 때 그 열(또는 행)의 나머지 모든 칸에서 후보 숫자를 제거할 수 있다. [10]
글로만 본다면 이해하기 어려울 수 있으나 아래 예시를 본다면 원리 자체는 쉬우므로 X-윙 문단을 먼저 보고 오는 것도 괜찮다.
- [기본 물고기의 증명]
- ----
논의의 편의성을 위해 어떤 n개의 행에 특정 후보 숫자가 들어갈 수 있는 칸의 개수가 n개 이하이며 그런 칸들이 바라보는 열들의 개수가 n개라고 가정하자. 그 반대의 경우 역시 동일하게 증명이 가능하다.
n개의 행을, 특정 후보 숫자가 들어갈 수 있는 칸의 개수가 적은대로 R1, R2, ..., Rn이라 이름 붙이자.
R1에서 임의의 칸 C1에 후보 숫자가 들어간다고 가정하면 (하나의 유닛에 1~9까지의 숫자가 한 번씩만 들어간다는 규칙에 따라) R2~Rn에서 특정 후보 숫자가 들어갈 수 있는 칸이 바라보는 열의 수는 n-1이 되며 여기에는 C1의 열이 배제된다.
마찬가지로 R2에서 C1이 바라보는 열에 포함된 칸을 제외한 임의의 칸 C2에 후보 숫자가 들어간다고 가정하면 L3~Ln에서 특정 후보 숫자가 들어갈 수 있는 칸이 바라보는 열의 수는 n-2가 되며 여기에는 C1, C2의 열이 배제된다.
그러므로, 이와 같은 과정을 반복하면 처음 특정 후보 숫자가 들어갈 수 있었던 칸이 바라보는 n개의 열에 빠짐없이 후보 숫자가 들어가며 들어가는 칸은 주어진 행에 국한된다는 것을 알 수 있다.
따라서, 어떤 n개의 행에 특정 후보 숫자가 들어갈 수 있는 칸의 개수가 n개 이하이며 그런 칸들이 바라보는 열들의 개수가 n개이면 그 열의 나머지 모든 칸에서 후보 숫자를 제거할 수 있다.
기법의 이름은 모두 물고기의 이름에서 따왔다. 예외적으로 X-윙은 n이 2인 물고기의 일종으로 볼 수 있으므로 여기에 서술한다.
문단 제목은 Fish를 한국어로 번역한 물고기로 썼지만, 실제로는 음차한 '피쉬'가 훨씬 자주 쓰인다. 황새치와 해파리도 각각 '스워드피쉬(소드피쉬)'와 '젤리피쉬'가 더 자주 쓰인다. 이 문서에서는 물고기와 피쉬가 혼용되고 있으니 유의.
물고기는 잠긴 집합[11]과 상보적이다. 물고기 모양을 보는 것이 어렵다면 이를 참고해 보는 것이 좋다. 이는 아래 문단에 서술되어 있으니 필요할 때 잠깐 보자.
혹시 물고기가 여러 번 변형된 후 도대체 물고기가 무엇인지 헷갈리기 시작한다면 아래쪽의 '피쉬 변형' 문단에 엄밀한 정의가 서술되어 있다. 고급 사용자들을 위한 것이니 처음 물고기를 접하는 사람은 굳이 이해할 필요가 없다.
4.3.1. X-윙
X-Wing두 행(또는 열)에서 각 행마다 특정 숫자가 들어갈 수 있는 칸 개수가 2개이며 총 4개의 칸이 바라보는 열 역시 2개 일 때 사용할 수 있는 방법. 말로만 들으면 역시 어려워보이지만 아래 예제와 함께 X 모양을 기억한다면 쉽게 발견할 수 있을 것이다.
7 | 1 | 3 | ||||||
2 | 4 | 5 | 7 | |||||
3 | 8 | |||||||
5 | 2 | |||||||
1 | 3 | 5 | ||||||
1 | 4 | |||||||
9 | 7 | |||||||
6 | 2 | 4 | 5 | 8 | ||||
1 | 3 | 2 |
- [ 정답 보기 ]
- ||<tablebordercolor=#000000><table bgcolor=#FFFFFF,#444444><table width=306px><width=34px><:>7||<width=34px><:>5||<width=34px><:>1||<width=34px><bgcolor=#EEEEEE,#555555><:>3||<width=34px><bgcolor=#EEEEEE,#555555><:>2||<width=34px><bgcolor=#EEEEEE,#555555><:>6||<width=34px><:>4||<width=34px><:>8||<width=34px><:>9||
2 4 8 9 1 5 7 6 3 3 6 9 4 8 7 1 2 5 5 8 4 7 6 2 9 3 1 9 1 3 8 5 4 2 7 6 6 2 7 1 3 9 5 8 4 4 3 2 5 9 8 6 1 7 1 9 6 2 7 3 4 5 8 8 7 5 6 4 1 3 9 2
이 스도쿠를 숨겨진 하나(Hidden Single)만으로 풀어보면 다음과 같이 45칸이 남는다. 그 다음, 4가 후보 숫자로 들어 있거나 4가 들어 있는 칸을 모두 표시해보자.
7 | 1 | 3 | 2 | |||||
2 | 4 | 1 | 5 | 7 | ||||
3 | 8 | |||||||
5 | A | B | 2 | |||||
1 | 3 | 5 | ||||||
2 | 1 | 5 | 4 | |||||
3 | 2 | 5 | 9 | 7 | ||||
1 | 9 | 6 | 2 | 4 | 5 | 8 | ||
C | D | 1 | 3 | 9 | 2 |
따라서 A에 4가 들어가면 B에 4가 안 들어가므로 D에 4가 들어가며, C에 4가 들어가면 B에 4가 들어간다.
즉, A와 D에 4가 들어가든지 B와 C에 4가 들어가야 한다.
이제 4행과 9행의 다른 칸을 보자.
7 | 1 | 3 | 2 | |||||
2 | 4 | 1 | 5 | 7 | ||||
3 | 8 | |||||||
5 | A | B | 2 | |||||
1 | 3 | 5 | ||||||
2 | 1 | 5 | 4 | |||||
3 | 2 | 5 | 9 | 7 | ||||
1 | 9 | 6 | 2 | 4 | 5 | 8 | ||
C | D | 1 | 3 | 9 | 2 |
A, B, C, D가 X자의 형태로 서로 교차하는 듯한 형태를 띄고 있기에 이름과 함께 외우기 편하다. 다만, 이름의 유래는 아래 XY-윙에서 알 수 있듯이 숫자 하나(X)를 사용하는 윙이기 때문이다.
4.3.2. 황새치(스워드피쉬)
Swordfish이하로 언급될 스워드피쉬, 젤리피쉬는 위에 언급했던 기본적인 X-윙에서 범위가 더 넓어져 세 개의 행이나 열에서 후보 숫자들을 비교하게 된다.
3 | 8 | |||||||
4 | 5 | 3 | ||||||
2 | 9 | |||||||
6 | 3 | 7 | 4 | 2 | ||||
3 | ||||||||
9 | 5 | 6 | 2 | 7 | ||||
7 | 8 | |||||||
8 | 2 | 3 | 5 | |||||
1 | 6 |
- [ 정답 보기 ]
- ||<tablebordercolor=#000000><table bgcolor=#FFFFFF,#444444><table width=306px><width=34px><:>7||<width=34px><:>9||<width=34px><:>3||<width=34px><bgcolor=#EEEEEE,#555555><:>2||<width=34px><bgcolor=#EEEEEE,#555555><:>4||<width=34px><bgcolor=#EEEEEE,#555555><:>6||<width=34px><:>8||<width=34px><:>1||<width=34px><:>5||
6 4 5 3 8 1 2 9 7 2 8 1 5 7 9 4 3 6 1 6 8 9 3 7 5 4 2 3 2 7 1 5 4 6 8 9 9 5 4 6 2 8 1 7 3 4 3 2 7 1 5 9 6 8 8 7 9 4 6 2 3 5 1 5 1 6 8 9 3 7 2 4
이 스도쿠를 기초 기법만으로 풀어보면 다음과 같이 34칸이 남는다. 그 다음, 후보 숫자 6이 들어갈 수 있는 칸을 모두 노란색으로 표시해보자.
9 | 3 | 2 | 8 | |||||
4 | 5 | 3 | 8 | |||||
2 | 8 | 1 | 9 | 3 | ||||
1 | 6 | 8 | 3 | 7 | 4 | 2 | ||
3 | 2 | 7 | 8 | |||||
9 | 5 | 4 | 6 | 2 | 8 | 1 | 7 | 3 |
3 | 2 | 7 | 8 | |||||
8 | 7 | 9 | 2 | 3 | 5 | |||
1 | 6 | 8 | 3 |
9 | 3 | 2 | 8 | |||||
4 | 5 | 3 | 8 | |||||
2 | 8 | 1 | 9 | 3 | ||||
1 | 6 | 8 | 3 | 7 | 4 | 2 | ||
3 | 2 | 7 | 8 | |||||
9 | 5 | 4 | 6 | 2 | 8 | 1 | 7 | 3 |
3 | 2 | 7 | 8 | |||||
8 | 7 | 9 | 2 | 3 | 5 | |||
1 | 6 | 8 | 3 |
9 | 3 | 2 | 8 | |||||
4 | 5 | 3 | 8 | |||||
2 | 8 | 1 | 9 | 3 | ||||
1 | 6 | 8 | 3 | 7 | 4 | 2 | ||
3 | 2 | 7 | 8 | |||||
9 | 5 | 4 | 6 | 2 | 8 | 1 | 7 | 3 |
3 | 2 | 7 | 8 | |||||
8 | 7 | 9 | 2 | 3 | 5 | |||
1 | 6 | 8 | 3 |
4.3.3. 해파리(젤리피쉬)
Jellyfish젤리피쉬는 4개의 가로줄과 세로줄에서 후보숫자들을 비교한다.
여기서부터는 상당히 복잡해져서 찾지 못하는 경우도 자주 나오며 초급 기술 사용자는 건너뛰어도 무방하다.
1 | 4 | 8 | 7 | 9 | 3 | 6 | ||
9 | 6 | 3 | 8 | 4 | ||||
8 | 3 | 9 | 6 | 4 | 2 | |||
8 | 4 | 9 | 3 | 6 | ||||
3 | 6 | 8 | 4 | 9 | ||||
4 | 9 | 3 | 6 | 2 | 8 | |||
8 | 5 | 4 | 3 | 6 | 9 | |||
6 | 3 | 8 | 9 | 4 | 2 | |||
4 | 9 | 6 | 8 | 3 |
- [정답 보기]
- ||<tablebordercolor=#000000><table bgcolor=#FFFFFF,#444444><table width=306px><width=34px><:>2||<width=34px><:>1||<width=34px><:>4||<width=34px><bgcolor=#EEEEEE,#555555><:>8||<width=34px><bgcolor=#EEEEEE,#555555><:>5||<width=34px><bgcolor=#EEEEEE,#555555><:>7||<width=34px><:>9||<width=34px><:>3||<width=34px><:>6||
9 5 6 2 3 1 8 7 4 8 3 7 9 6 4 2 1 5 7 8 2 4 9 5 3 6 1 3 6 1 7 2 8 5 4 9 5 4 9 3 1 6 7 2 8 1 2 8 5 4 3 6 9 7 6 7 3 1 8 9 4 5 2 4 9 5 6 7 2 1 8 3
후보 숫자 5에 집중하여 보자.
1 | 4 | 8 | 7 | 9 | 3 | 6 | ||
9 | 6 | 3 | 8 | 4 | ||||
8 | 3 | 9 | 6 | 4 | 2 | |||
8 | 4 | 9 | 3 | 6 | ||||
3 | 6 | 8 | 4 | 9 | ||||
4 | 9 | 3 | 6 | 2 | 8 | |||
8 | 5 | 4 | 3 | 6 | 9 | |||
6 | 3 | 8 | 9 | 4 | 2 | |||
4 | 9 | 6 | 8 | 3 |
1 | 4 | 8 | 7 | 9 | 3 | 6 | ||
9 | 6 | 3 | 8 | 4 | ||||
8 | 3 | 9 | 6 | 4 | 2 | |||
8 | 4 | 9 | 3 | 6 | ||||
3 | 6 | 8 | 4 | 9 | ||||
4 | 9 | 3 | 6 | 2 | 8 | |||
8 | 5 | 4 | 3 | 6 | 9 | |||
6 | 3 | 8 | 9 | 4 | 2 | |||
4 | 9 | 6 | 8 | 3 |
1 | 4 | 8 | 7 | 9 | 3 | 6 | ||
9 | 6 | 3 | 8 | 4 | ||||
8 | 3 | 9 | 6 | 4 | 2 | |||
8 | 4 | 9 | 3 | 6 | ||||
3 | 6 | 8 | 4 | 9 | ||||
4 | 9 | 3 | 6 | 2 | 8 | |||
8 | 5 | 4 | 3 | 6 | 9 | |||
6 | 3 | 8 | 9 | 4 | 2 | |||
4 | 9 | 6 | 8 | 3 |
실제 푸는 상황에서는 위 문제처럼 일부가 빠져 있어 생각해내기 까다로울 뿐더러 지우는 후보 수가 적어 보인다. 그럼에도 여러 열의 후보 숫자를 지울 수 있는 강력한 기술임으로 익혀둔다면 도움이 될 것이다.[12]
4.3.4. 물고기와 부분집합의 상보적 관계
물고기와 부분집합은 상호 보완적인 관계이다. 물고기를 찾는 문제는 부분집합을 찾는 문제로, 부분집합을 찾는 문제는 물고기를 찾는 문제로 변형될 수 있다.- 드러난 부분집합을 통하여 물고기를 찾는 방법
9 | 3 | 2 | 8 | |||||
4 | 5 | 3 | 8 | |||||
2 | 8 | 1 | 9 | 3 | ||||
1 | 6 | 8 | 3 | 7 | 4 | 2 | ||
3 | 2 | 7 | 8 | |||||
9 | 5 | 4 | 6 | 2 | 8 | 1 | 7 | 3 |
3 | 2 | 7 | 8 | |||||
8 | 7 | 9 | 2 | 3 | 5 | |||
1 | 6 | 8 | 3 |
행을 기준으로 찾는 방법을 보여줄 것이며 열은 그 반대로 하면 된다.
후보 숫자 6이 들어갈 수 있는 곳이 예쁘게 칠해져 있다.
이를 각 행당 후보 숫자가 나타나는 열을 원소로 하는 집합을 만들면 다음과 같다.
1: {1, 5, 6, 8, 9}, 2: {1, 6, 7, 8, 9}, 3: {5, 7, 9}, 4: {}, 5: {7, 9}, 6: {}, 7: {5, 6, 7, 8}, 8: {5, 9}, 9: {}
여기서 우리는 3행, 5행, 8행의 원소에 드러난 셋(후보 숫자 5, 7, 9)을 발견할 수 있다.
그러면 드러난 셋을 적용시키는 것처럼 이 세 행을 제외한 다른 행의 원소에 5, 7, 9를 제거할 수 있다.
1: {1, 6, 8}, 2: {1, 6, 8}, 3: {5, 7, 9}, 4: {}, 5: {7, 9}, 6: {}, 7: {6, 7, 8}, 8: {5, 9}, 9: {}
황새치를 이용한 것과 같은 결과를 얻을 수 있는 것을 볼 수 있다!
만약 드러난 둘이면 X-윙, 넷이면 해파리 등이 적용된다.
- 물고기를 통하여 숨겨진 부분집합을 찾는 방법
A | B | C | D | E | F | G | H | I |
9 | 4 | 6 | 7 | |||||
7 | 6 | 8 | 4 | 1 | ||||
3 | 9 | 7 | 1 | 8 | ||||
7 | 8 | 3 | 1 | |||||
5 | 1 | 3 | 8 | 7 | 2 | |||
7 | 5 | 2 | 6 | 1 | ||||
5 | 4 | 3 | 2 | 8 | ||||
7 |
1행에 집중했을 때 후보 숫자도 그대로 가지고 왔다.
A: 1, 2, 5, 8
B: 1, 2, 3, 8
C: 2, 3
D: 1, 2, 9
E: 1, 2, 3, 5, 9
F: 5, 9
G: 4, 5, 8, 9
H: 2, 3, 4, 5, 6, 7, 9
I: 3, 4, 5, 6, 7, 9
칸과 후보 숫자를 각각 Y축, X축으로 하겠다. 반대로 해도 상관이 없다.
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | |
A | ○ | ○ | ○ | ○ | |||||
B | ○ | ○ | ○ | ○ | |||||
C | ○ | ○ | |||||||
D | ○ | ○ | ○ | ||||||
E | ○ | ○ | ○ | ○ | ○ | ||||
F | ○ | ○ | |||||||
G | ○ | ○ | ○ | ○ | |||||
H | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ||
I | ○ | ○ | ○ | ○ | ○ | ○ |
이 전에 드러난 부분집합과 숨겨진 부분집합이 상보적임을 보인 적이 있다. 그러므로 기본 물고기는 부분집합과 상보적이다.
4.4. 유일성 논법
Uniqueness초급에 있긴 하지만, 이 공략은 초급부터 고급까지 두루두루 쓰이는 공략이다. 유일성 논법 참고.
단, 이 스도쿠의 해가 유일하다는 가정을 하기 싫거나 할 수 없는 상황이라면 건너뛰자.
5. 중급
여기서부터는 문제를 풀다가 막힐 때 후보 숫자를 돌파구로 사용하는 것이 아니라, 일단 후보 숫자부터 적고 시작해야 한다.대부분의 인쇄물의 경우 초급 기법만으로 풀리는 경우가 많으며 어렵다 하더라도 중급 기법만 잘 적용하면 거의 모든 문제를 풀 수 있다. 앱의 경우 상향평준화가 많이 되었지만 그럼에도 중급 기법을 사용하면 대부분 풀 수 있을 것이다.
5.1. 윙
Wing어떠한 셀(피봇 셀)로부터 이름의 유래와 같이 날개(Wing)처럼 이어진 셀(윙 셀)들이 존재하여 이 셀들의 관계에 의하여 특정 셀의 특정 후보 숫자를 제거할 수 있다.
5.1.1. XY-윙
XY-Wing, Y-Wing두 개의 연결을 가진 XY-사슬의 일종으로 볼 수 있다. 하나의 후보 숫자(X)를 사용하는 X-윙과 달리 두 개의 후보 숫자(X, Y)를 이용하기에 XY-윙이며 XYZ, WXYZ 모두 후보 숫자가 하나씩 늘어난 것이다.
어려운 스도쿠에 사용될 수 있는 방법이며 발견하기도 쉽고 꽤나 자주 쓰인다. 일단 아래의 형태를 보자.
B | C | |||||||
. | ||||||||
A |
B의 후보 숫자는 2, 3
C의 후보 숫자는 1, 3이라고 생각해보자.
그러면 B에는 2나 3 중에는 무조건 하나가 들어가야 한다. 각각의 경우를 상정하면 아래와 같다.
2 | C | |||||||
. | ||||||||
1 |
3 | 1 | |||||||
. | ||||||||
A |
B | C | |||||||
. | ||||||||
A |
그래서 A와 C를 동시에 바라보는 영역에서 후보숫자 1을 제거할 수 있다. 이것을 XY윙이라 한다.
XY윙이 성립하려면 XY, XZ, YZ의 관계가 성립되는 세 개의 칸이 필요한데, 이때 XY칸(피봇 셀, 위 예에서는 B칸)은 XZ, YZ칸(윙 셀, 위 예에서는 A, C칸)을 바라보면서 XZ칸과 YZ칸은 서로를 바라보지 않아야 한다.[13]
B | ||||||||
C | ||||||||
A |
따라서 위와 같은 형태는 XY윙이 성립되지 않는다.
1 | 8 | |||||||
7 | 3 | 6 | 8 | |||||
9 | 6 | 7 | ||||||
5 | 3 | 7 | ||||||
4 | 1 | 7 | ||||||
8 | 9 | 2 | ||||||
5 | 6 | 1 | ||||||
7 | 4 | 3 | ||||||
9 |
- [ 정답 보기 ]
- ||<tablebordercolor=#000000><table bgcolor=#FFFFFF,#444444><table width=306px><width=34px><:>5||<width=34px><:>1||<width=34px><:>4||<width=34px><bgcolor=#EEEEEE,#555555><:>9||<width=34px><bgcolor=#EEEEEE,#555555><:>2||<width=34px><bgcolor=#EEEEEE,#555555><:>8||<width=34px><:>7||<width=34px><:>3||<width=34px><:>6||
7 3 2 5 6 4 8 1 9 9 8 6 1 7 3 2 4 5 2 5 3 4 9 7 1 6 8 4 9 8 2 1 6 3 5 7 6 7 1 8 3 5 9 2 4 8 4 9 3 5 2 6 7 1 1 2 7 6 4 9 5 8 3 3 6 5 7 8 1 4 9 2
숨겨진 하나(Hidden Single)를 반복하면 다음과 같이 35개의 칸이 남는다.
5 | 1 | 4 | 9 | 2 | 8 | 6 | ||
7 | 3 | 2 | 6 | 8 | 9 | |||
9 | 8 | 6 | 7 | |||||
2 | 5 | 3 | 9 | 7 | 8 | |||
4 | 9 | 8 | 1 | A | 7 | |||
6 | 7 | 1 | 8 | 3 | 9 | 2 | B | |
9 | 5 | 6 | 1 | |||||
7 | 4 | 9 | C | 3 | ||||
5 | 8 | 9 | D |
A : 3, 5
B : 4, 5
C : 2, 5
D : 2, 4
이 경우, D가 피봇 셀, B와 C가 윙 셀이 됨을 확인할 수 있다. 따라서 B와 C가 동시에 바라보는 영역 A에서 후보 숫자 5를 제거할 수 있다.
5.1.2. XYZ-윙
XYZ-WingXY윙의 확장으로, 이번 후보숫자는 XY-YZ-ZX의 관계가 아닌 XYZ-XY-YZ의 관계를 갖는다. 성립되는 조건은 XYZ후보숫자를 갖는 칸이 XY윙의 조건 중 '같은 상자에 있는 두 칸'에 속해야 한다는 것.
1 | 3 | B | 4 | 5 | 6 | |||
2 | ||||||||
A | 3 | 9 | ||||||
4 | ||||||||
5 | ||||||||
6 | C | 7 | 1 | 2 | 3 |
B의 후보숫자는 7, 8, 9이고 A는 7, 8, C는 8, 9이다. B에 7이 들어가면 A에는 8이 들어가고 B에 9가 들어가면 C에 8이 들어가야 한다.
1 | 3 | B | 4 | 5 | 6 | |||
2 | ○ | |||||||
A | ○ | 3 | 9 | |||||
4 | ||||||||
5 | ||||||||
6 | C | 7 | 1 | 2 | 3 |
따라서 B가 7이건 8이건 9이건 상관없이 ○의 자리에는 8이 들어갈 수 없다. 쉽게말해 A, B, C가 모두 바라보는 칸에 있는 후보숫자 XYZ 중 겹치는 Y를 제거할 수 있다.
XYZ윙의 조건은 기본적으로 XY윙과 동일하고 XYZ를 후보숫자로 갖는 칸은 무조건 XY나 YZ를 후보숫자로 갖는 칸 중 하나와 같은 상자 안에 있어야 하고 둘 모두를 바라보아야 한다. 따라서 위의 형태에서 A나 C의 후보숫자가 7, 8, 9라면 XY윙이 성립되지 않는다.
5.1.3. WXYZ-윙
WXYZ-WingXYZ-윙의 확장으로 앞에서 언급했듯이 후보 숫자 4개를 사용하기에 WXYZ-윙으로 불린다. 따라서 아래 W-윙과는 관련이 없다.
후보 숫자 5개 이상을 사용하는 윙도 얼마든지 만들 수 있으나 WXYZ-윙도 사용빈도가 떨어지기 때문에 따로 언급하지는 않는다.
WZ | ||||||||
WXYZ | XZ | YZ | ||||||
. |
WXYZ가 후보 숫자로 Z를 가진다면 빨간 칸은 후보 숫자로 Z를 갖지 못하고
WXYZ가 후보 숫자로 Z를 가지지 않는(X, Y, Z이면)다해도 빨간 칸은 후보 숫자로 Z를 갖지 못한다.
위의 경우 조금만 더 생각하면 알 수 있겠지만 XZ와 YZ가 상자 안에 존재하며 WZ가 상자 밖에 존재하는 경우에도 적용할 수 있다.
또한, WXYZ-WZ-XZ-YZ의 형태뿐만 아니라 WXYZ-WZ-XYZ-XYZ도 상관 없다는 것을 깨달을 것이다.
여기서 조금 더 생각하면 WXYZ에서 Z가 빠진 WXY-WZ-XZ-YZ 역시 성립함을 알 수 있지만 이와 같은 변형과 확장은 아래 고급의 '거의 잠긴 집합'을 참고하자.
5.2. 연결
Link연결이란 눈으로 가정법 쓸 때 했던 "여기 이게 들어가면 이게 안 들어가고 그러면 이게 들어가고..."를 공식화한 것이다.
한 유닛 위에 특정 후보 숫자가 들어갈 수 있는 칸이 단 두 개만 존재한다면 두 칸의 관계를 특정 후보 숫자에 대한 강한 연결(Strong link)이라 하며 두 칸은 강하게 연결되어 있다, 또는 강하게 이어져 있다고 한다.
1 | ||||||||
2 | ||||||||
3 | ||||||||
4 | ||||||||
5 | ||||||||
6 | ||||||||
5 | ||||||||
2 | ||||||||
7 |
위의 예시를 보면 잘 알겠지만 강한 연결은 다음의 특징을 가진다.
1. 특정 칸에 해당 후보 숫자가 들어간다면, 다른 칸에는 이 후보 숫자가 들어가지 않아야 한다.(약한 연결도 만족)
2. 특정 칸에 해당 후보 숫자가 들어가지 않는다면, 다른 칸에는 이 후보 숫자가 들어가야 한다.
한 유닛 위에 특정 후보 숫자가 들어갈 수 있는 칸이 두 개 이상 존재한다면 두 칸의 관계를 특정 후보 숫자에 대한 약한 연결(Weak link)이라하며 두 칸은 약하게 연결되어 있다, 또는 약하게 이어져있다고 한다.
1 | 6 | |
3 | 5 | |
4 | 2 |
이해를 위해 만약 셀 A1이 모종의 이유로 후보 숫자 7을 가지지 못한다 가정하자. 그러면 셀 B3와 C2는 후보 숫자 7에 대하여 강한 연결을, 나머지 노란 칸들은 후보 숫자 8, 9에 대하여 약한 연결을 가진다고 말할 수 있다.
약한 연결은 당연하게도 특정 칸에 해당 후보 숫자가 들어간다면, 다른 칸에는 이 후보 숫자가 들어가지 않아야 한다.
즉, 강한 연결이면 약한 연결을 만족하지만 그 역은 성립하지 않는다.[14]
사슬(Chain)은 이러한 연결의 연속된 모임이다.
5.2.1. 심플 컬러링
Simple Coloring, Single's Chains, Skyscraper연결을 사용하는 기법들 중 가장 간단한 기법.
하나의 후보 숫자만을 고려하며 강한 연결들로 이루어져 있을 때 사용할 수 있다.
하나의 후보 숫자만을 고려하며 약한 연결이 있을 경우 X-사슬을 사용할 수 있다.
두 개의 강한 연결이 공통 칸을 공유한다면, 공통 칸을 가운데 두고 세 개의 칸 사슬을 형성할 수 있다.
사슬의 한쪽 끝에 있는 칸에 특정 후보 숫자 X가 들어갈 수 없다고 가정할 경우, 강한 연결의 정의 때문에 다음 사슬의 칸에는 후보 숫자 X가 들어가야만 한다. 이것은 차례로, 후보 숫자 X는 사슬의 세 번째 칸에 들어갈 수 없다.
반대로, 사슬의 한쪽 끝에 있는 칸에 후보 숫자 X가 들어간다고 가정한다면, 후보 숫자 X는 중간 칸에 들어갈 수 없고 후보 숫자 X는 사슬의 세번째 칸에 들어가야만 한다.
강한 연결들만으로 구성된 더 긴 사슬[15]을 고려한다면, 후보 숫자는 연속적으로 번갈아가면서 나올 것이다.
아래의 3D 메두사와 달리 후보 숫자 하나(Simple)만을 고려하며 후보 숫자가 번갈아 나와 아래의 예시처럼 두 색깔(Coloring)로 분석할 수 있기에 심플 컬러링(Simple Coloring)이라는 이름을 가진다.
먼저 다음의 스도쿠를 기초 기법만으로 풀어보자.
2 | 8 | 5 | ||||||
3 | 9 | 7 | ||||||
6 | 3 | |||||||
4 | 7 | |||||||
8 | 5 | 6 | 7 | |||||
2 | 5 | 3 | ||||||
4 | ||||||||
8 | 9 | 5 | ||||||
3 | 6 | 9 | 8 |
- [ 정답 보기 ]
- ||<tablebordercolor=#000000><table bgcolor=#FFFFFF,#444444><table width=306px><width=34px><:>9||<width=34px><:>7||<width=34px><:>2||<width=34px><bgcolor=#EEEEEE,#555555><:>6||<width=34px><bgcolor=#EEEEEE,#555555><:>8||<width=34px><bgcolor=#EEEEEE,#555555><:>4||<width=34px><:>5||<width=34px><:>3||<width=34px><:>1||
8 3 1 9 2 5 7 4 6 6 5 4 1 7 3 8 9 2 3 9 6 8 4 7 1 2 5 4 8 5 2 9 1 6 7 3 1 2 7 5 3 6 4 8 9 7 1 9 3 5 8 2 6 4 2 6 8 4 1 9 3 5 7 5 4 3 7 6 2 9 1 8
그러면 다음과 같이 빈칸이 33개 남는다.
2 | 6 | 8 | 4 | 5 | 3 | |||
8 | 3 | 9 | 7 | 6 | ||||
6 | 5 | 3 | 2 | |||||
3 | 6 | 8 | 4 | 7 | 5 | |||
4 | 8 | 5 | 9 | 6 | 7 | 3 | ||
2 | 5 | 3 | 6 | |||||
3 | 8 | 6 | 4 | |||||
6 | 8 | 4 | 9 | 3 | 5 | 7 | ||
4 | 3 | 6 | 9 | 8 |
2 | 6 | 8 | 4 | 5 | 3 | |||
8 | 3 | 9 | 7 | 6 | ||||
6 | 5 | 3 | 2 | |||||
3 | 6 | 8 | 4 | 7 | 5 | |||
4 | 8 | 5 | 9 | 6 | 7 | 3 | ||
2 | 5 | 3 | 6 | |||||
3 | 8 | 6 | 4 | |||||
6 | 8 | 4 | 9 | 3 | 5 | 7 | ||
4 | 3 | 6 | 9 | 8 |
3행에 후보 숫자 9가 들어 있는 칸이 C3, C8 등 두 개뿐이므로, 셀 C8은 파란색으로 표시한다.
3번 상자에 후보 숫자 9가 들어 있는 칸이 A9, C8 등 두 개뿐이므로, 셀 A9는 초록색으로 표시한다.
9열에 후보 숫자 9가 들어 있는 칸이 A9, F9 등 두 개뿐이므로, 셀 F9는 파란색으로 표시한다.
2 | 6 | 8 | 4 | 5 | 3 | |||
8 | 3 | 9 | 7 | 6 | ||||
6 | 5 | 3 | 2 | |||||
3 | 6 | 8 | 4 | 7 | 5 | |||
4 | 8 | 5 | 9 | 6 | 7 | 3 | ||
2 | 5 | 3 | 6 | |||||
3 | 8 | 6 | 4 | |||||
6 | 8 | 4 | 9 | 3 | 5 | 7 | ||
4 | 3 | 6 | 9 | 8 |
모든 초록색 칸에 9가 들어가거나, 모든 파란색 칸에 9가 들어간다.
이제 셀 F3를 보자. 셀 F3는 초록색 셀 C3와 파란색 셀 F9를 동시에 바라보고 있다. C3과 F9 중 하나는 무조건 9가 들어가므로, F3에는 9가 들어갈 수 없다.
2 | 6 | 8 | 4 | 5 | 3 | |||
8 | 3 | 9 | 7 | 6 | ||||
6 | 5 | 3 | 2 | |||||
3 | 6 | 8 | 4 | 7 | 5 | |||
4 | 8 | 5 | 9 | 6 | 7 | 3 | ||
2 | 5 | 3 | 6 | |||||
3 | 8 | 6 | 4 | |||||
6 | 8 | 4 | 9 | 3 | 5 | 7 | ||
4 | 3 | 6 | 9 | 8 |
참고로, 위 예제는 연결이 3개이며 연결이 하나만 있는 심플 컬러링은 일반적인 스도쿠에서는 등장하지 않는다. 스도쿠 문서에서 볼 수 있는 Extra Regions(남아있는 영역이 따로 존재하는 스도쿠. 스도쿠 X와 창문 스도쿠도 포함이다.)나 서브그리드의 모양이 정사각형이 아닌 스도쿠에서만 등장한다.
5.2.2. X-사슬
X-Chain문서가 너무 길어 분리되었다. X-사슬(X-Chain), X-순환(X-Cycle), 그룹 X-순환(Grouped X-Cycle) 모두 포함된다.
앞서 후보 숫자 1개에 집중하여 강하게 연결된 심플 컬러링(Simple Coloring)을 알아보았다.
X-사슬은 그와 유사하게 하나의 후보 숫자에 집중하되, 약한 연결로 이어저 있을 때도 쓸 수 있는 방법이다.
아래 언급되는 모든 사슬과 순환에 기초가 되는 내용이니 X-사슬만은 반드시 확인하고 넘어가자.
5.2.3. XY-사슬
XY-Chain앞의 X-사슬과 발상이 유사하지만 하나의 후보 숫자에만 집중했던 X-사슬과는 달리 XY-사슬의 경우 여러 후보 숫자에 집중해야 한다는 차이가 존재한다.
두 개의 후보 숫자만을 가진 칸들이 강한 연결로 이어진 경우만 다루며 여러 후보 숫자를 다루는 방법으로는 3D 메두사가 존재한다.
6 | 9 | 3 | 4 | 1 | 5 | |||
1 | 8 | 6 | 7 | 9 | ||||
3 | 1 | 5 | 2 | |||||
7 | 3 | 4 | 8 | 6 | 5 | 2 | ||
6 | 8 | 2 | 1 | 3 | 4 | |||
4 | 2 | 9 | 3 | 8 | ||||
4 | 5 | 1 | 2 | 7 | ||||
2 | 6 | 3 | 4 | 1 | 5 | |||
3 | 9 | 6 | 1 | 5 | 2 | 4 |
- [정답 보기]
- ||<tablebordercolor=#000000><table bgcolor=#FFFFFF,#444444><table width=306px><width=34px><:>8||<width=34px><:>6||<width=34px><:>7||<width=34px><bgcolor=#EEEEEE,#555555><:>9||<width=34px><bgcolor=#EEEEEE,#555555><:>3||<width=34px><bgcolor=#EEEEEE,#555555><:>4||<width=34px><:>1||<width=34px><:>5||<width=34px><:>2||
2 1 5 8 6 7 4 9 3 9 3 4 1 5 2 6 7 8 1 7 3 4 8 6 5 2 9 6 8 9 5 2 1 7 3 4 5 4 2 7 9 3 8 6 1 4 5 1 2 7 9 3 8 6 7 2 6 3 4 8 9 1 5 3 9 8 6 1 5 2 4 7
후보 수를 적절히 적으면 아래 사진과 같다.[16]
C7에서 시작한다.
만약 C7에 후보 숫자 6이 들어가지 않는다면(4가 들어가고) C3에 후보 숫자 4가 들어가지 않고(9가 들어가고) E3에 9가 들어가지 않고(5가 들어가고) F1에 5가 들어가지 않고(1이 들어가고) F9에 1이 들어가지 않고 6이 들어간다.
따라서 후보 숫자 6은 C7이나 F9 적어도 하나에 반드시 존재하므로 이 두 칸이 동시에 바라보는 C9은 후보 숫자 6을 가질 수 없다.
위 예시에서는 연결이 4개인 XY-사슬을 보여주고 있지만 처음 이 방법을 접한다면 연결 수가 더 적은 방법부터 시도하는 것이 좋다.
또한, 아래의 방법을 따르면 모양 찾는데 수월할 것이다.
1. 두 개의 후보 숫자(X, Y1)만를 포함하는 시작점 C1과 기준이 되는 후보 숫자(X)를 정한다.
2. C1과 Y1에 대하여 강한 연결 로 이어진 두 개의 후보 숫자(Y1, Y2)만을 포함하는 셀 C2를 정한다.[17]
3. C2과 Y2에 대하여 강한 연결 로 이어진 두 개의 후보 숫자(Y2, Y3)만을 포함하는 셀 C3를 정한다.
4. 이를 반복한 후 C(n-1)과 Y(n-1)에 대하여 강한 연결 로 이어진 두 개의 후보 숫자(Y(n-1), Yn=X)만을 포함하는 셀 Cn를 정한다.[18]
5. C1과 Cn이 공통으로 바라보는 칸에서 후보 숫자 X를 제거한다.
5.2.3.1. W-윙
W-Wing동일한 두 후보 숫자를 가지는 두 칸을 통해서 후보 숫자를 제거하는 방법, XY-사슬의 특수한 경우이며 XY-사슬을 처음 접할 때 적용하기 쉽게 해준다.
2 | ||||||||
6 | 3 | 8 | 7 | |||||
1 | 9 | 6 | 2 | |||||
1 | 5 | 3 | 4 | 9 | ||||
4 | 3 | 2 | 7 | 9 | 1 | 8 | 5 | 6 |
9 | 5 | 4 | 1 | 7 | 2 | |||
4 | 1 | 9 | 7 | 5 | ||||
3 | 5 | 7 | 2 | 4 | ||||
9 | 6 |
- [ 정답 보기 ]
- ||<tablebordercolor=#000000><table bgcolor=#FFFFFF,#444444><table width=306px><width=34px><:>8||<width=34px><:>2||<width=34px><:>7||<width=34px><bgcolor=#EEEEEE,#555555><:>4||<width=34px><bgcolor=#EEEEEE,#555555><:>1||<width=34px><bgcolor=#EEEEEE,#555555><:>6||<width=34px><:>5||<width=34px><:>9||<width=34px><:>3||
6 9 3 2 8 5 4 1 7 1 5 4 9 7 3 6 2 8 7 1 6 5 2 8 3 4 9 4 3 2 7 9 1 8 5 6 9 8 5 6 3 4 1 7 2 2 4 1 8 6 9 7 3 5 3 6 9 1 5 7 2 8 4 5 7 8 3 4 2 9 6 1
가능한 모든 후보 숫자를 표기하면 다음과 같다.
우리가 주목할 칸은 D1과 J3로 후보 숫자가 7, 8로 같은 두 칸이다. W-윙은 이 두 칸을 후보 숫자가 두 개인 칸들을 이용하여 어떻게든 연결시키면 된다.
만약 D1에 후보 숫자 7이 들어가지 않는다고 가정하자. 자연스럽게 D1은 8이 들어가야 하며 약한 연결로 인해 D6는 8이 들어갈 수 없다. 6열을 자세히 보면 강한 연결로 인해 J6는 8이 들어가야함을 알 수 있다. 마지막으로 약한 연결로 인하여 J3 칸에 8이 들어가지 않아 7이 들어가야 함을 알 수 있다.
즉, 7은 D1과 J3에 적어도 하나 존재하여야 한다.[19] 따라서 D1과 J3가 동시에 바라보는 D3, J1에서 후보 숫자 7을 제거할 수 있다.
5.3. 핀드 피쉬
Finned fish앞서 초급 기법에서 다루었던 X-윙, 스워드피쉬, 젤리피쉬의 경우 n개의 행 또는 열에서 정확히 n개의 열 또는 행에만 특정 후보 숫자가 나타나는 것을 조건으로 했다. 그러나 현실은 후보 숫자가 정확히 n개의 줄에만 나타나는 것이 아니라, 자잘하게 칸 몇 개가 끼어 있는 경우가 많다. 핀드 피쉬는 끼어 있는 칸이 충분히 적을 때, 후보 숫자를 조금 제거할 수 있는 방법이다.
해당 모양을 이루고 있는 (불완전한) 후보수들을 피쉬, 남아있는 후보수를 핀이라고 한다.
사시미 피쉬(Sashimi Fish)의 경우 핀드 피쉬의 일반화된 방법으로 칸이 더해지는 것이 아닌 빠진 것에도 적용할 수 있다. 다만 틀에서 완전히 벗어난 만큼 사시미 X-윙을 제외하면 잘 보이지도 않는다.
자세한 정의의 경우 아래 고급 문단을 참조하자. 다 읽을 필요는 없고 필요한 것만 읽고 넘기면 된다.
예를 들어, 핀드 스워드피쉬를 판단하는 방법은 다음과 같다.
1. 임의로 3개의 행을 고른다.
2. 3개 행에서 특정 후보 숫자를 가지는 대부분의 칸이 3개의 열에 들어갈 수 있는지 확인한다.
3. 3개 열에 들어가지 못한 칸(핀이라 한다.)이 하나의 상자 안에 있는지 확인한다. 이때 2번에서 고른 3개의 열 중에서 적어도 하나는 이 상자를 지나야 한다.
4. 3번에서 고른 상자에서 3개의 행 위에 있지 않고 3개의 열 위에 있는 칸은 2번에서 고른 후보 숫자를 가질 수 없다.
5.3.1. 핀드 X-윙
Finned X-Wing5 | ||||||||
8 | ||||||||
9 | ||||||||
3 | 4 | 5 | 5 | 5 | ||||
7 | 8 | 9 | 5 | 1 | ||||
5 | 6 | |||||||
1 | 2 | 4 | 7 | 5 | 5 | 3 | ||
4 | ||||||||
6 |
4행과 7행에서 X-윙이 나타나는 것처럼 보이지만 셀 D9에 후보 숫자가 하나 더 있다.
1. D9에 5가 들어간다면 7열에는 5가 들어갈 수 없다.
2. D9에 5가 들어가지 않으면 일반적인 X윙이 나타나며 7열에는 5가 들어갈 수 없다.
즉 X-윙과 D9가 영향력을 공유하는 칸(E7)의 후보 숫자는 5가 될 수 없다.
5.3.1.1. 사시미 X-윙
Sashimi X-Wing5 | ||||||||
8 | ||||||||
9 | ||||||||
3 | 4 | 5 | 9 | 5 | ||||
7 | 8 | 9 | 5 | 1 | ||||
5 | 6 | |||||||
1 | 2 | 4 | 7 | 5 | 5 | 3 | ||
4 | ||||||||
6 |
바로 위의 핀드 X-윙에서 하나의 5를 9로 바꿨을 뿐이지만 이제는 X-윙이 불완전하다. 하지만 이 경우도 D9에 5가 들어가지 않는다면 D6, G7에 5가 들어가야만 하기 때문에 핀드 X-윙과 동일한 효과를 지닌다. 즉, 이 경우도 E7의 후보 숫자를 지울 수 있다.
5.3.2. 핀드 스워드피쉬
Finned Swordfish스워드피쉬에 핀을 결합한 기법.
다음 예제를 보자.
8 | 4 | 7 | ||||||
5 | 8 | |||||||
4 | 7 | 2 | ||||||
6 | 3 | 5 | 2 | |||||
2 | 5 | |||||||
8 | 2 | 7 | 6 | |||||
1 | 7 | 3 | ||||||
9 | 3 | |||||||
5 | 8 | 1 |
- [ 정답 보기 ]
- ||<tablebordercolor=#000000><table bgcolor=#FFFFFF,#444444><table width=306px><width=34px><:>9||<width=34px><:>8||<width=34px><:>2||<width=34px><bgcolor=#EEEEEE,#555555><:>1||<width=34px><bgcolor=#EEEEEE,#555555><:>4||<width=34px><bgcolor=#EEEEEE,#555555><:>3||<width=34px><:>5||<width=34px><:>7||<width=34px><:>6||
1 3 7 6 2 5 8 9 4 5 4 6 7 9 8 1 2 3 4 6 3 5 7 1 9 8 2 2 7 1 8 6 9 3 4 5 8 9 5 4 3 2 7 6 1 6 1 8 2 5 7 4 3 9 7 2 9 3 1 4 6 5 8 3 5 4 9 8 6 2 1 7
기초 기법만으로 풀어보면 다음과 같이 36개의 칸이 남는다. 설명을 위해 후보 숫자 4가 들어갈 수 있는 칸을 모두 표시했다.
8 | 2 | 4 | 7 | |||||
3 | 7 | 2 | 5 | 8 | ||||
4 | 7 | 8 | 2 | |||||
6 | 3 | 5 | 7 | 8 | 2 | |||
2 | 7 | 8 | 5 | |||||
8 | 9 | 5 | 2 | 7 | 6 | |||
1 | 8 | 5 | 7 | 3 | ||||
7 | 2 | 9 | 3 | 5 | 8 | |||
3 | 5 | 8 | 1 | 7 |
8 | 2 | 4 | 7 | |||||
3 | 7 | 2 | 5 | 8 | ||||
4 | 7 | 8 | 2 | |||||
6 | 3 | 5 | 7 | 8 | 2 | |||
2 | 7 | 8 | 5 | |||||
8 | 9 | 5 | 2 | 7 | 6 | |||
1 | 8 | 5 | 7 | 3 | ||||
7 | 2 | 9 | 3 | 5 | 8 | |||
3 | 5 | 8 | 1 | 7 |
핀 셀이 거짓일 경우 셀 B8이 자동으로 참이 되므로, 드러나지 않은 피쉬는 불완전하다. 즉, 이는 사시미 스워드피쉬이다.
5.3.3. 핀드 젤리피쉬
Finned Jellyfish젤리피쉬에 핀을 결합한 기법. 발견하기 상당히 어렵지만 발견했다고 해도 지울 수 있는 후보 숫자가 몇 개 없다.
9 | 2 | 1 | ||||||
6 | 1 | 5 | ||||||
8 | 6 | |||||||
4 | 9 | 3 | ||||||
5 | ||||||||
7 | 8 | 2 | ||||||
6 | 4 | |||||||
9 | 7 | 6 | ||||||
1 | 5 | 2 | 7 |
- [ 정답 보기 ]
- ||<tablebordercolor=#000000><table bgcolor=#FFFFFF,#444444><table width=306px><width=34px><:>3||<width=34px><:>5||<width=34px><:>9||<width=34px><bgcolor=#EEEEEE,#555555><:>4||<width=34px><bgcolor=#EEEEEE,#555555><:>8||<width=34px><bgcolor=#EEEEEE,#555555><:>2||<width=34px><:>1||<width=34px><:>6||<width=34px><:>7||
6 4 7 9 3 1 8 5 2 2 8 1 6 7 5 4 9 3 5 6 2 1 4 7 9 3 8 9 1 3 8 5 6 2 7 4 4 7 8 3 2 9 6 1 5 7 2 6 5 9 8 3 4 1 8 9 4 7 1 3 5 2 6 1 3 5 2 6 4 7 8 9
기초 기법을 통해 빈칸을 38개까지 줄인 후, 교대 추론 사슬을 이용하여 셀 A9에서 후보 숫자 3을 지우면[20] 후보 숫자 3이 들어갈 수 있는 칸은 다음과 같다.
이제 1열, 5열, 6열, 8열을 보면, 젤리피쉬가 나타나는 것처럼 보이지만 셀 A5가 추가적으로 붙어 있다. 이때 셀 A5를 핀, 1열, 5열, 6열, 8열의 나머지 칸들을 피쉬라 하고 이들을 각각 초록색과 파란색으로 구분한다.
5 | 9 | 2 | 1 | 6 | ||||
6 | 7 | 1 | 5 | |||||
2 | 8 | 1 | 6 | 5 | ||||
5 | 2 | 4 | 9 | 3 | ||||
5 | ||||||||
7 | 8 | 2 | 1 | 5 | ||||
7 | 2 | 6 | 5 | 4 | 1 | |||
8 | 9 | 7 | 1 | 5 | 2 | 6 | ||
1 | 5 | 2 | 6 | 7 |
5 | 9 | 2 | 1 | 6 | ||||
6 | 7 | 1 | 5 | |||||
2 | 8 | 1 | 6 | 5 | ||||
5 | 2 | 4 | 9 | 3 | ||||
5 | ||||||||
7 | 8 | 2 | 1 | 5 | ||||
7 | 2 | 6 | 5 | 4 | 1 | |||
8 | 9 | 7 | 1 | 5 | 2 | 6 | ||
1 | 5 | 2 | 6 | 7 |
5.4. 버그
BUG(Bi-Value Universal Grave)유일성 논법의 응용으로 남은 모든 칸들이 후보 숫자를 2개씩만 가지면 해답이 없거나 2개임을 이용한다. 자세한 내용은 문서 참조
만약 해답이 유일하다면 XY-사슬로도 풀릴 수 있다고 여겨진다. 그러므로 역시 건너뛰어도 무방하나 모양이 매우 특이하므로 한 번쯤은 보고 가는 것도 나쁘지 않을 것이다.
5.5. 형태 겹침
Pattern Overlay, Templating하나의 후보 숫자를 배치할 수 있는 모든 형태를 고려했을 때 모두 겹치는 칸은 그 후보 숫자가 넣어야하고 모두 겹치지 않는 칸은 그 후보 숫자를 배제해야 함을 사용하는 기법. 그룹 X-순환이나 피쉬 변형으로 모두 해결될 수 있다.
빈 스도쿠에는 [math(9\times6^2\times4\times3^2\times2^2\times1=46,656)]의 가짓수로 특정 후보 숫자를 배치할 수 있다. 당연히 사람이 이 모든 경우의 수를 고려할 수는 없지만 하나의 후보 숫자가 정해진 경우에는 5,184가지, 둘의 후보 숫자가 정해진 경우는 576나, 864가지로 뚝뚝 떨어지며 부분집합이나 교차로 등을 통해 제거되는 후보 숫자 또한 존재하기에 후보 숫자가 3~4개 정도 정해지면 유용하게 사용될 수도 있다. 다만 이럴 경우 그룹 X-순환이나피쉬 변형이 더 유용하게 적용될 것이다...
3 | ||||||||
3 | 3 | |||||||
3 | ||||||||
3 | 3 | 3 | ||||||
3 | 3 | |||||||
3 | ||||||||
3 | ||||||||
3 | 3 | 3 | ||||||
3 | 3 | 3 |
3 | ||||||||
3 | 3 | |||||||
3 | ||||||||
3 | 3 | 3 | ||||||
3 | 3 | |||||||
3 | ||||||||
3 | ||||||||
3 | 3 | 3 | ||||||
3 | 3 | 3 |
3 | ||||||||
3 | 3 | |||||||
3 | ||||||||
3 | 3 | 3 | ||||||
3 | 3 | |||||||
3 | ||||||||
3 | ||||||||
3 | 3 | 3 | ||||||
3 | 3 | 3 |
위 예시의 경우 가능한 가짓수가 2가지로 적어 별도의 필기가 필요없지만 일반적인 경우에 각 경우의 수에 후보 숫자를 가질 수 있는 셀을 a, b, c, ... 따위로 표기하여 모든 알파벳이 나타나면 후보 숫자를 가져야하며, 모든 알파벳이 나타나지 않는 경우 후보 숫자를 가지지 않는 것을 쉽게 파악할 수 있다.
기법을 보면 알겠지만 썩 그리 좋은 취급을 받지는 않으며 최후의 수단으로도 취급된다. 또한, 위 문제의 경우 셀 G2를 숨겨진 하나(Hidden Single)로 확정시키고 사슬이 5개나 7개인 X-순환을 사용하면 풀릴 수 있다.
6. 고급
여기서부터는 해당 공식이 적용되는 경우를 눈으로 발견하기 상당히 어려워질 뿐만 아니라 어렵게 찾아내도 지울 수 있는 후보 숫자가 적다.또한, 중급까지는 대체적으로 난이도가 단계적으로 상승한다는 느낌을 받을 수 있으나 고급 이후의 기법들은 사람마다 느끼는 난이도가 모두 다르다. 그러므로 특정 기법들의 이해나 적용이 어렵다 느껴지면 다른 기법들을 먼저 살펴보는 것도 나쁘지 않다.
적용은 힘들지라도 중급 이하의 기법들을 모두 이해했다는 가정 하에 설명을 시작한다. 실제 스도쿠를 풀이할 때도 중급 이하의 기법들을 모두 사용한 이후에 고급 기법들을 떠올리는 것이 낫다.
6.1. 거의 잠긴 집합
Almost Locked Set(ALS)드러난 부분집합(Naked Subsets)에서 한 유닛의 n개의 칸에 n개의 후보 숫자를 가지는 경우 다른 칸의 후보 숫자를 지울 수 있었다.
여기서 한 유닛의 n개의 칸에 n개의 후보 숫자가 들어 있는 경우 그 n개의 칸을 잠긴 집합(Locked Set, LS)이라 한다.[21]
이와 달리 한 유닛의 n개의 칸에 n+1개의 후보 숫자가 들어 있는 경우 그 n개의 칸을 거의 잠긴 집합(Almost Locked Set, ALS)라 한다.
일반적으로 잘 쓰지는 않지만
한 유닛의 n개의 칸에 n+2개의 후보 숫자가 들어 있는 경우 그 n개의 칸을 Almost Almost Locked Set(AALS),
한 유닛의 n개의 칸에 n+3개의 후보 숫자가 들어 있는 경우 그 n개의 칸을 Almost Almost Almost Locked Set(AAALS)라고 말할 수 있다.
n=1일 때도 성립해서 1개의 칸에 2개의 후보 숫자가 들어 있는 경우(Bi-Value) 역시 거의 잠긴 집합(Almost Locked Set)이라 한다.
거의 잠긴 집합은 매우 일반적이고 흔하기에 아래 방법을 사용할 수 있는 모양을 찾는 것은 꽤나 어려울 것이다.
6.1.1. 거의 잠긴 집합-XZ
Almost Locked Set-XZ(ALS-XZ)XY-윙, XYZ-윙, WXYZ-윙 모두 여기에 속한다.
최소 2개의 거의 잠긴 집합(ALS)이 필요하며 그 거의 잠긴 집합들에서 공통으로 나타나는 후보 숫자(Common candidate) 역시 둘 이상 필요하다. ALS가 둘 이상인 경우는 아래 문단의 거의 잠긴 집합-사슬에서 다룰 것이고 여기에서는 둘인 경우만 언급한다.
거의 잠긴 집합들에서 공통으로 나타나는 후보 숫자들 중
하나의 유닛 위에 존재하여 두 ALS가 동시에 가질 수 없는 후보 숫자를 제한된 공통(Restricted Common)이라 하며 X에 대응된다.
하나의 유닛 위에 존재하지 않아 두 ALS에 동시에 가질 수 있는 후보 숫자를 Z에 대응한다.[22]
- X가 하나인 경우
만약 그 칸이 Z를 가진다면 Z를 바라보는 모든 거의 잠긴 집합(ALS)는 잠긴 집합(LS)으로 바뀌게 된다. 그러나 우리는 X가 존재하며 그 정의상 ALS가 동시에 가질 수 없다. 이는 모순을 발생시키며 그 칸에서 Z를 제거할 수 있다.
구체적 예시 추가 필요
- X가 둘 이상인 경우[23]
만약 그 칸이 X1을 가진다면 X1을 바라보는 모든 거의 잠긴 집합(ALS)는 잠긴 집합(LS)으로 바뀌게 된다. 그러나 우리는 X2가 존재하며 그 정의상 ALS가 동시에 가질 수 없다. 이는 모순을 발생시키며 그 칸에서 Z를 제거할 수 있다.
또한, 한 ALS에서 X를 제외한 후보 숫자를 그 ALS가 포함된 유닛의 모든 칸에서 제거할 수 있다. 이 기법을 Doubly linked ALS-XZ라고도 부르나 논리는 사실 동일하다.
만약 그 칸이 ALS에 포함된 후보 숫자를 가진다면 그 ALS는 잠긴 집합(LS)으로 바뀌게 된다. 그러나 우리는 X1, X2가 존재하며 그 정의상 두 ALS가 동시에 가질 수 없다. 이는 다른 ALS에서 모순을 발생시키며 그 칸에서 ALS에 포함된 후보 숫자를 제거할 수 있다.
구체적 예시 추가 필요
6.1.1.1. 거의 잠긴 집합-사슬
Almost Locked Set-Chain(ALS-Chain)거의 잠긴 집합-XZ는 사실 사슬이 2인 거의 잠긴 집합-사슬(ALS-Chain)이며 사슬이 3인 ALS-Chain을 ALS-XY-Wing이라고도 부른다.
ALS-XY-Wing부터 설명하자면
3개의 ALS 가 존재하며 각각을 P, Q, R이라 하자.
1. P와 Q에 제한된 공통인 X가 존재하며
2. Q와 R에 제한된 공통인 Y가 존재하며
3. R과 P에 제한된 공통이 아닌 공통으로 나타나는 후보 숫자 Z가 존재하면
R과 P에서 Z를 포함하는 모든 칸들이 동시에 바라보는 칸의 후보 숫자에서 Z를 제거할 수 있다.
논리야 ALS-XZ와 동일하니 생략하고 이름은 이러한 ALS가 사슬처럼 연결되어 있기에 거의 잠긴 집합-사슬(Almost Locked Set-Chain, ALS-Chain)이라 부른다.
만약 여기에 '추론'까지 추가하게 되면 아래 문단의 거의 잠긴 집합을 포함한 교대 추론 사슬(Alternating Inference Chains with Almost Locked Sets, AIC with ALS)이 완성된다.
구체적 예시 추가 필요
6.1.2. 부분집합 제거
Subset Exclusion앞서 언급된 XY-윙, XYZ-윙, WXYZ-윙 모두 여기에 속한다 볼 수 있으나 논리가 약간 다르다.
잠긴 집합의 경우 n개의 칸에 n개의 후보 숫자가 들어 있는 경우로, 우리는 이 집합을 포함한 유닛의 다른 칸에 그 후보 숫자가 하나 이상 있으면 n개의 칸에 n개의 후보 숫자가 들어가지 못함을 이용하여 드러난 부분집합을 사용할 수 있었다.
이와 유사하게 거의 잠긴 집합(ALS)의 경우 n개의 칸에 n+1개의 후보 숫자가 들어 있는 경우로 이 집합을 포함한 유닛의 다른 칸에 그 후보 숫자가 둘 이상 있으면 모순임을 이용한다.
AALS를 포함하는 유닛의 다른 칸에 AALS의 후보 숫자 중 셋 이상을 포함하는 칸이 있는 경우에도 쓸 수 있지만 일반적으로 잘 쓰지도 않고 찾기도 힘들 것이다.
노란 색으로 보이는 두 칸이 우리가 관심 있는 칸들인 기본 쌍(Base Pair)이며 나머지 초록색, 파란색, 보라색 칸들은 모두 거의 잠긴 집합이다.
셀 C2와 C3가 가질 수 있는 모든 후보 숫자의 조합을 나열하면 아래와 같다.
1 & 3 - 초록색 ALS에 의하여 제거된다.
1 & 4 - 파란색 ALS에 의하여 제거된다.
1 & 9
3 & 3 - 한 유닛은 하나의 숫자만 가져야 한다.
3 & 4
3 & 9
8 & 3 - 보라색 ALS에 의하여 제거된다.
8 & 4
8 & 9
즉, 셀 C3이 후보 숫자 3을 가지는 모든 조합은 허용되지 않기 때문에 셀 C3의 후보 숫자에서 3을 지울 수 있다.
이 예제에서 파란색 ALS는 크게 쓸모가 없다. 또한, 이 예제는 WXYZ-윙으로도 풀릴 수 있다. 시도해보자.
이렇게 두 칸의 관계가 정렬되어 있는 경우만 생각했기에 정렬된 짝 제거(Aligned Pair/Triple Exclusion)라고 불리기도 했으나 아래 예시와 같이 꼭 서로 마주 볼 필요가 없다.
5 | 1 | 4 | 9 | 2 | 8 | 6 | ||
7 | 3 | 2 | 6 | 8 | 9 | |||
9 | 8 | 6 | 7 | |||||
2 | 5 | 3 | 9 | 7 | 8 | |||
4 | 9 | 8 | 1 | A | 7 | |||
6 | 7 | 1 | 8 | 3 | 9 | 4 | B | |
9 | 5 | 6 | 1 | |||||
7 | 4 | 9 | C | 3 | ||||
5 | 8 | 9 | D |
A : 3, 5
B : 4, 5
C : 2, 5
D : 2, 4
XY-윙의 논리와 약간 다르게, 우리는 셀 A, D를 기본 쌍으로 한다.
셀 A, D가 가질 수 있는 모든 후보 숫자의 조합을 나열하면 아래와 같다.
3 & 2
3 & 4
5 & 2 - 셀 C에 의하여 제거된다.
5 & 4 - 셀 B에 의하여 제거된다.
즉, 셀 A의 후보 숫자 5를 가지는 모든 조합은 허용되지 않기 때문에 셀 A의 후보 숫자에서 5를 지울 수 있다.
이렇게 본다면 실제 스도쿠에서 이 기법을 사용하기는 매우 까다로워 보인다. 그러므로 우리는 논리를 반대로 적용하여 제거하고 싶은 후보 숫자와 그를 포함하는 거의 잠긴 집합을 미리 정하고 그 후보 숫자를 제거할 칸을 정할 것이다.
먼저 후보 숫자 6을 선택했다고 하자.
이제 후보 숫자 6을 포함하는 거의 잠긴 집합을 찾자. 칸이 한 개인 이중값이 가장 찾기 쉽기 때문에 빨간색, 초록색, 파란색, 보란색으로 표시하고 그를 포함하는 거의 잠긴 집합을 보시하면 위와 같다.[24]
이제 이 ALS들이 바라보는 칸 중에 6이 포함된 칸을 선택한다. 당연히 저 모든 ALS가 바라보는 칸은 존재하지 않으며 여기서는 셀 D1이다.
셀 D1을 바라보는 ALS 따라서 다음의 조합은 가질 수 없다.
노란색: (1, 6), (3, 6), (4, 6)
파란색: (2, 6)
초록색: (7, 6)
따라서 후보 숫자로 1, 2, 3, 4, 7을 가지면서 위 ALS를 적절히 바라보는 칸을 찾으며 여기서는 A3가 존재한다.
따라서 셀 D1은 후보 숫자 6을 가지지 못한다.
위를 이때까지 논리로 다시 설명하면 다음과 같다.
셀 A3와 D1이 가질 수 있는 모든 후보 숫자의 조합을 나열하면 아래와 같다.
4 & 2
4 & 4 - 가능하다!
4 & 6 - 노란색 ALS
7 & 2
7 & 4
7 & 6 - 초록색 ALS가
따라서 셀 D1이 후보 숫자 6을 가지는 모든 조합은 허용되지 않기 때문에 셀 D1의 후보 숫자에서 6을 지울 수 있다.
6.1.2.1. 죽음의 꽃
Death Blossom6.1.3. Sue de Coq
6.1.4. Firework
불꽃놀이6.2. 추론
Inference이때까지 언급한 연결은 한 후보 숫자에 대하여 두 칸 간의 관계에 대한 이야기이다.
이러한 연결을 확장하여 한 칸 내의 두 후보 숫자 간의 관계에 대해서도 같은 정의를 내릴 수 있다.
5 | ||||||||
4 | 8 | 3 | 1 | |||||
2 | 6 | 1 |
노란색 칸과 같이 하나의 칸에 특정 후보 숫자가 단 두 개만 존재한다면 두 후보 숫자에 대한 강한 연결(Strong link)이라 하며 두 후보 숫자는 강하게 연결되어 있다, 또는 강하게 이어져 있다고 한다.
파란색 칸과 같이 하나의 칸에 특정 후보 숫자가 두 개 이상 존재한다면 두 후보 숫자에 대한 약한 연결(Weak link)이라 하며 두 후보 숫자는 약하게 연결되어 있다, 또는 약하게 이어져 있다고 한다.
당연하게도 이때까지 다뤄왔던 강한 연결, 약한 연결의 특징을 그대로 가진다.
1. 특정 칸에 해당 후보 숫자가 들어간다면 그 칸에 다른 후보 숫자가 들어갈 수 없다.(강한 연결, 약한 연결)
2. 특정 칸에 해당 후보 숫자가 들어가지 않는다면 칸에 다른 후보 숫자가 들어가 한다.(강한 연결)
역시 강한 연결이면 약한 연결를 만족하지만 그 역은 성립하지 않는다.
이제부터 특별한 설명이 덧붙여지지 않는다면
중급 문단에서 설명한 것을 연결
고급 문단에서 설명한 것을 확장된 연결
둘 모두를 포함하는 것으로 추론(Inference)
이라는 용어를 사용하겠다.
추론(Inference)은 단순히 연결과 확장된 연결을 모두 일컫는 말이기에 그 특징도 당연하게 동일하나 오해의 방지를 위해 간략하게 정리한다.
두 후보 숫자 X, Y에 대하여[25]
X, Y가 강한 추론(Strong Inference)의 관계를 가지면 둘 모두 거짓이 될 수 없다.
X, Y가 약한 추론(Weak Inference)의 관계를 가지면 둘 모두 참이 될 수 없다.
지겹지만 중요하다. 강한 추론은 약한 추론을 만족하지만 그 역은 성립하지 않는다.
6.2.1. 3D 메두사
3D Medusa, Advanced Coloring, Ultracoloring심플 컬러링에서 언급하였듯이 3D 메두사는 하나의 후보 숫자만을 고려하던 심플 컬러링과 달리 여러 후보 숫자를 고려한다.
강한 추론들로만 이루어진 사슬을 이용[26]하기에 심플 컬러링과 같이 두 색상으로 분석할 수 있다.
여기서 강한 추론는 위의 확장된 연결의 의미를 포함하기에 여러 후보 숫자를 고려할 수 있다.
1. 두 색상 중 하나가 참이라 가정할 경우, 모순이 생김을 이용하여 색상을 선택하는 경우
실제 스도쿠에서 사용한다는 가정 하에 셀 A6의 후보 숫자 6에 대하여 강한 추론을 가지는 것을 모두 빨간 실선으로 표기하였다.
후보 숫자에 대한 차원을 넓히고 이러한 선들이 메두사의 머리와 같다고 하여 3D 메두사와 같은 이름이 붙었다.
강한 추론의 경우 더 설명하지 않아도 잘 알 것이고 심플 컬러링처럼 두 색 중 하나는 참이며 하나는 거짓이다.
이제 셀 A9에 집중하여 보자. 만약 초록색이 참이라 가정하면 셀 A9에 들어갈 수 있는 후보 숫자가 존재하지 않는다. 따라서 모든 초록색으로 칠해진 칸은 그 후보 숫자를 가질 수 없으며 모든 파란색으로 칠해진 칸은 그 후보 숫자를 가져야만 한다.
2. 두 색상 중 적어도 하나가 참이기 때문에, 특정 후보 숫자를 제거하는 경우
필요 없는 강한 추론은 표기하지 않았으며 두 색상만 나타내었다. 혹시 추론이 이어지는 것을 잘 모르겠다면 XY-사슬에 더 익숙해지고 오자.
꽤나 복잡해 보이지만 이는 이 예제에서 4개의 후보 숫자를 한 번에 지우는 것을 보여주기 위함이고 실제에서는 이보단 덜 복잡할 것이다.
먼저, 셀 C5의 후보 숫자 8 집중해서 보자. 초록색이 참이라 가정하면 당연히 셀 C5에는 8이 들어갈 수 없다. 그러나 파란색이 참이라 가정하더라도 셀 C9의 후보 숫자 8 때문에 셀 C5에는 8이 들어갈 수 없다. 즉, 어느 경우에도 셀 C5는 후보 숫자 8을 가질 수 없으므로 셀 C5의 후보 숫자에서 8을 지울 수 있다.
마찬가지로 셀 C7의 후보 숫자 6[27], 셀 E4의 후보 숫자 6[28], 셀 E5의 후보 숫자 1[29]에도 동일한 논리를 적용할 수 있다.
이 이외에도
한 칸에 같은 색상이 둘 존재한다면 그 색상은 해답이 될 수 없다.(경우 1)
한 칸에 두 색상이 존재한다면 그 칸에서 다른 후보 숫자를 제거할 수 있다.(경우 2)
한 유닛에 같은 색상을 가진 후보 숫자가 존재한다면 그 색상은 해답이 될 수 없다.(경우 1)
한 칸에 색상이 존재하며 같은 유닛을 공유하는 곳에 다른 색상의 후보 숫자가 있으면 그 칸에서 후보 숫자를 제거할 수 있다.(경우 2)
등등 여러 경우로 세분할 수 있지만 결국 다 위의 두 경우로 귀결되는 것으로 이해할 수 있을 것이다.
6.2.2. 교대 추론 사슬
Alternating Inference ChainsX-순환의 원리와 똑같으며 단지 연결의 개념이 확장되었을 뿐이라는 차이점만 존재한다.
연결의 개념이 확장되었기에 여러 개의 후보 숫자를 동시에 고려할 수 있다.
이름에 사슬이 들어가있지만 X-사슬이 X-순환에 포함된다는 것을 이해하면 X-순환의 개념으로 이해하는 것이 편하다.
빨간 실선은 강한 추론을, 빨간 점선은 약한 추론을 의미한다.
설명의 편의를 위해
한 후보 숫자의 두 칸 간의 이어진 관계를 연결, 한 칸 내의 두 후보 숫자 간의 이어진 관계를 확장된 연결이라고 언급하겠다.
순환이기에 어느 곳에서부터 시작하든지 상관없으며 여기서는 셀 B5부터 시작하겠다.
셀 B5는 셀 E5와 후보 숫자 5에 대해 강한 연결을 가진다.
셀 E5에서 후보 숫자 5와 7은 확장된 약한 연결을 가진다.
셀 E5는 셀 E2와 후보 숫자 7에 대해 강한 연결을 가진다.
셀 E2는 셀 G2와 후보 숫자 7에 대해 약한 연결을 가진다.[30]
셀 G2는 셀 G3와 후보 숫자 7에 대해 강한 연결을 가진다.
셀 G3에서 후보 숫자 5와 7은 확장된 약한 연결를 가진다.
셀 G3는 셀 C3와 후보 숫자 5에 대해 강한 연결을 가진다.
셀 C3는 셀 C4와 후보 숫자 5에 대해 약한 연결을 가진다.
셀 C4는 셀 B5와 후보 숫자 5에 대해 강한 연결을 가진다.
보면 알겠지만 확장되든 말든 상관없이 강한 추론와 약한 추론이 반복해서 나타나기만 하면 되며 지금 이경우는 X-순환에서 연결 개수가 홀수이며 연속된 강한 연결을 가질 때를 그대로 적용할 수 있다.
즉, 셀 B5의 경우 후보 숫자 5만을 가질 수 있다.
똑같은 스도쿠에서 발견할 수 있는 다른 교대 추론 사슬이다.
원리 자체야 어렵지 않으니 따라가다 보면 맞다는 것을 알 수 있을 것이며 이번에는 약한 추론이 연속해서 나타났으므로(X-사슬과 동일) 셀 D3는 7을 후보 숫자로 가질 수 없다는 것을 알 수 있다.
예제들을 보면 알겠지만 발견하기 상당히 힘들다. 문서의 위에 설명된 여러 기법을 모두 사용하고 나서 풀리지 않을 때 시도해 보자.
6.2.2.1. 그룹 교대 추론 사슬
Grouped Alternating Inference Chains그룹 X-순환의 원리와 똑같으며 단지 연결의 개념이 확장되었을 뿐이라는 차이점만 존재한다.
예제를 만들기 위하여 억지로 교대 추론 사슬 그림에서 숫자를 변경했다. 해답은 2개 이상이므로 예제로만 받아들이자.
추론의 개수가 홀수인 순환이 형성되었으며 강한 추론이 연속되므로 셀 E2의 후보 숫자를 7로 확정할 수 있다.[31]
그룹 교대 추론 사슬을 사용하지 않고, 이 스도쿠는 후보 숫자 5, 7만 사용하여 셀 C3의 후보 숫자를 하나로 고정할 수 있다. 복습 겸 찾아보자.
6.2.2.2. 거의 잠긴 집합을 포함한 교대 추론 사슬
Alternating Inference Chains with Almost Locked Sets(AIC with ALS)단일 사슬 확장의 끝[32]으로 위에 언급된 모든 사슬은 이것으로 풀이될 수 있다.
거의 잠긴 집합을 활용하여 하나의 그룹을 만들어 이를 이을 수 있기에 그룹 교대 추론 사슬과 ALS-XZ의 확장으로 여길 수 있다. 즉, 거의 잠긴 집합의 개념에 대한 이해가 필요하므로 아래 ALS-XZ까지는 보고 돌아오자.
주의해야 할 점은 추론할 때 거의 잠긴 집합을 활용해 만든 그룹의 후보 숫자와 그룹 밖의 다른 후보 숫자끼리 바로 추론하지 않도록 주의해야 한다. 추론은 셀(또는 그룹)내의 후보 숫자 간이나 같은 후보 숫자에 대하여 서로 다른 셀(또는 그룹)끼리 추론하는 것이다.
예제 추가 필요
6.3. 피쉬 변형
미뤄 놓았던 피쉬들을 다룰 때가 되었다. 쉬운 이해를 위해 위에서 쓴 핀드 X-윙을 다시 가져오겠다.5 | ||||||||
8 | ||||||||
9 | ||||||||
3 | 4 | 5 | 5 | 5 | ||||
7 | 8 | 9 | 5 | 1 | ||||
5 | 6 | |||||||
1 | 2 | 4 | 7 | 5 | 5 | 3 | ||
4 | ||||||||
6 |
물고기: 하나의 후보 숫자에 대하여 A개의 서로 다른 유닛[33]들과 B개의 (A개의 유닛과 다른) 서로 다른 유닛들이 대응되면서 A=B일 때 사용하는 기법.
이 때 A개의 유닛들을 기본 유닛(Base Unit), B개의 유닛들을 덮개 유닛(Cover Unit)이라 한다. 위에서는 4열과 7열이 기본 유닛이고, 6행과 7행이 덮개 유닛이다.
지느러미(Fin): 기본 유닛에 포함되며 덮개 유닛에는 포함되지 않는 칸. 위의 초록색 칸에 해당한다.
잠재적 제거(Potential Elimination): 덮개 유닛에는 포함되며 기본 유닛에는 포함되지 않는 칸. 위의 빨간색 칸에 해당한다.
정점(Vertex): 기본 유닛과 덮개 유닛 모두에는 포함되는 칸, 이러한 모든 정점을 모은 것을 물고기 몸통(Body)이라 한다. 위의 노란색 칸에 해당한다.
물고기의 명명: 물고기는 '물고기 특성 + 물고기 모양 + 물고기 크기'라는 규칙에 따라 이름 지어진다.
물고기 특성
지느러미가 없는(Unfinned): 지느러미(fin)가 없는 물고기, 생략 가능
지느러미를 가진(Finned): 적어도 하나의 지느러미(fin)를 가지는 물고기
사시미(Sashimi): 모든 지느러미(fin)를 제거할 경우 기초 기법이나 더 작은 물고기로 분해될 수 있는 물고기
물고기 모양
- 기본(Basic): n개 행 x n개 열 모양 또는 그 역, 생략 가능하다.
- 프랑켄(Franken): n개 (행 또는 상자) x n개 (열 또는 상자) 모양 또는 그 역
- 돌연변이(Mutant): n개 유닛 x n개 유닛 모양(기본과 프랑켄을 포함할 수도 아닐 수도 있다.)
- 크라켄(Kraken): 1~3 모양이면서 패턴 밖의 정보를 필요로 하는 모양
물고기 크기
- Cyclopsfish(1-Fish): 피쉬를 이루는 모든 칸들이 1개 유닛 × 1개 유닛에 속함, 숨겨진 하나(Hidden Single), 상자까지 고려하면 교차점(Intersection)이다.
- X-wing(2-Fish): 피쉬를 이루는 모든 칸들이 2개 유닛 × 2개 유닛에 속함
- Swordfish(3-Fish): 피쉬를 이루는 모든 칸들이 3개 유닛 × 3개 유닛에 속함
- Jellyfish(4-Fish): 피쉬를 이루는 모든 칸들이 4개 유닛 × 4개 유닛에 속함
- Starfish(5-Fish): 피쉬를 이루는 모든 칸들이 5개 유닛 × 5개 유닛에 속함, squirmbag이라고도 불린다.
- Whale(6-Fish): 피쉬를 이루는 모든 칸들이 6개 유닛 × 6개 유닛에 속함
- Leviathan(7-Fish): 피쉬를 이루는 모든 칸들이 7개 유닛 × 7개 유닛에 속함
논리
1. 만약 적어도 하나의 지느러미(fin)가 후보 숫자를 가진다면,
이 경우 지느러미(fin)의 영향 아래에 있는 잠재적 제거(Potential Elimination)는 후보 숫자를 가질 수 없다.
2. 만약 모든 지느러미(fin)가 후보 숫자를 가지지 않으면 지느러미(fin)가 없는 물고기의 형태로 귀결되므로, 어떤 정점(Vetex)은 후보 숫자를 가져야 한다. 이를 만족하는 정점으로는 모든 기본 유닛(Base Unit)당 정점(Vertex) 하나가 존재하여 모든 덮개 유닛(Cover Unit)이 정점을 덮을 수 있어야 한다.[34]이 경우[35] 모든 지느러미(fin)와 잠재적 제거(Potential Elimination)는 후보 숫자를 가질 수 없다.
예시를 통해 알아보자.. | ||||||||
. | ||||||||
. | ||||||||
3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
. | ||||||||
3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
. | ||||||||
3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
. |
1열, 8열, 5번 박스가 기본 유닛(Base Unit)이고 4행, 6행, 8행이 덮개 유닛(Cover Unit)이다.
따라서 정점(Vertex)를 노란색으로, 지느러미(fin)를 초록색으로[36], 잠재적 제거(PE)를 빨간색으로 칠할 수 있다.
지느러미가 없는 물고기이므로 모든 잠재적 제거(PE)는 후보 숫자를 가질 수 없다.
7 | 7 | |||||||
7 | 7 | |||||||
7 | 7 | |||||||
7 | 7 | 7 | 7 | |||||
7 | 7 | 7 | 7 | 7 | ||||
7 | 7 | 7 | 7 | |||||
7 | 7 | 7 | 7 | 7 | ||||
7 | 7 | 7 | 7 | |||||
7 | 7 | 7 | 7 | 7 |
4행, 6행, 8행, 5열이 기본 유닛(Base Unit)이고 2열, 8열, 5번 상자, 8번 상자가 덮개 유닛(Cover Unit)이다.
따라서 정점(Vertex)를 노란색으로, 지느러미(fin)를 초록색으로[37], 잠재적 제거(PE)를 빨간색으로 칠할 수 있다.
지느러미가 없는 물고기이므로 모든 잠재적 제거(PE)는 후보 숫자를 가질 수 없다.
8 | 8 | 8 | ||||||
8 | 8 | 8 | 8 | |||||
8 | 8 | 8 | ||||||
. | ||||||||
. | ||||||||
. | ||||||||
. | ||||||||
8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 |
. |
2열 9열이 기본 유닛(Base Unit)이고 8행, 1번 상자가 덮개 유닛(Cover Unit)이다.
따라서 정점(Vertex)를 노란색으로, 지느러미(fin)를 초록색으로, 잠재적 제거(PE)를 빨간색으로 칠할 수 있다.
지느러미가 있는 물고기이므로 잠재적 제거(PE) 중 지느러미(fin)의 영향을 받는 칸(B1, B3)은 후보 숫자를 가질 수 없다.
6.3.1. 수호자
Guardians, Broken Wings, Turbot-Fish7. 최후의 수단
Last Resort사람이 사용하기에는 너무 복잡하거나, 많은 작업이 필요하거나, 논리가 없는 것들이다.
7.1. 강제 사슬
Focing Chains특정 후보 숫자가 들어가든 들어가지 않든, 특정 셀의 어떤 후보 숫자가 되든, 각각의 사슬을 따라 가본 결과 특정 결과가 강제(force)될 때 사용할 수 있다. 따라서 두 개 이상의 사슬을 사용하는 다중 사슬 기법이다.여기까지는 기법으로 인정하나 아래 강제 그물(Forcing Net)부터 최후의 수단으로 취급하기도 한다.
원리 자체는 간단하지만 실제로 시도해보는 데에는 많은 시간이 걸릴 것이다. 문제의 사본을 준비하거나 어플의 경우 덮어 씌우(overlay)는 기능을 이용하는 것이 좋다.
7.1.1. Digit Forcing Chains
7.1.2. Cell Forcing Chains
7.1.3. Unit Forcing Chains
7.1.4. 강제 그물
Forcing Net일반화된 강제 사슬
7.2. 보우만의 빙고
Bowman's Bingo일종의 귀류법으로 특정 후보 숫자가 특정 칸에 대한 해답이라고 가정하고 결과를 살펴본다. 만약 이것이 모순으로 이어지면 초기 가정이 잘못되었다고 판단하여 그 후보 숫자를 해당 칸에서 제거한다. 쉽게 말해 찍기.
7.3. 무차별 대입법
Brute Force사람이 사용하는 것이 아니다. 깊이 우선 탐색을 적용하여 칸에 숫자를 넣은 다음 결과를 계산하고 프로그램이 모순에 도달하거나 해답을 찾을 때까지 다른 숫자를 배치하여 스도쿠를 해결한다. 모순에 도달하면 알고리즘은 배치된 숫자를 제거하고 대안을 시도한다. 이 작업을 모든 대안이 시도될 때까지 계속한다.
유명한 알고리즘으로 Dancing Links(DLX)와 Ariadne's Thread 등이 존재한다.
8. 문서 양식
||<tablebordercolor=#000000><table bgcolor=#FFFFFF,#444444><table width=306px><width=34px><:>||<width=34px><:>||<width=34px><:>||<width=34px><bgcolor=#EEEEEE,#555555><:>||<width=34px><bgcolor=#EEEEEE,#555555><:>||<width=34px><bgcolor=#EEEEEE,#555555><:>||<width=34px><:>||<width=34px><:>||<width=34px><:>||
||<:>||<:>||<:>||<bgcolor=#EEEEEE,#555555><:>||<bgcolor=#EEEEEE,#555555><:>||<bgcolor=#EEEEEE,#555555><:>||<:>||<:>||<:>||
||<:>||<:>||<:>||<bgcolor=#EEEEEE,#555555><:>||<bgcolor=#EEEEEE,#555555><:>||<bgcolor=#EEEEEE,#555555><:>||<:>||<:>||<:>||
||<bgcolor=#EEEEEE,#555555><:>||<bgcolor=#EEEEEE,#555555><:>||<bgcolor=#EEEEEE,#555555><:>||<:>||<:>||<:>||<bgcolor=#EEEEEE,#555555><:>||<bgcolor=#EEEEEE,#555555><:>||<bgcolor=#EEEEEE,#555555><:>||
||<bgcolor=#EEEEEE,#555555><:>||<bgcolor=#EEEEEE,#555555><:>||<bgcolor=#EEEEEE,#555555><:>||<:>||<:>||<:>||<bgcolor=#EEEEEE,#555555><:>||<bgcolor=#EEEEEE,#555555><:>||<bgcolor=#EEEEEE,#555555><:>||
||<bgcolor=#EEEEEE,#555555><:>||<bgcolor=#EEEEEE,#555555><:>||<bgcolor=#EEEEEE,#555555><:>||<:>||<:>||<:>||<bgcolor=#EEEEEE,#555555><:>||<bgcolor=#EEEEEE,#555555><:>||<bgcolor=#EEEEEE,#555555><:>||
||<:>||<:>||<:>||<bgcolor=#EEEEEE,#555555><:>||<bgcolor=#EEEEEE,#555555><:>||<bgcolor=#EEEEEE,#555555><:>||<:>||<:>||<:>||
||<:>||<:>||<:>||<bgcolor=#EEEEEE,#555555><:>||<bgcolor=#EEEEEE,#555555><:>||<bgcolor=#EEEEEE,#555555><:>||<:>||<:>||<:>||
||<:>||<:>||<:>||<bgcolor=#EEEEEE,#555555><:>||<bgcolor=#EEEEEE,#555555><:>||<bgcolor=#EEEEEE,#555555><:>||<:>||<:>||<:>||
문서 작성용 임시 템플릿.
<bgcolor=#FFFFFF,#444444>: 짙은 회색
<bgcolor=#EEEEEE,#555555>: 옅은 회색
<bgcolor=#FFFF00,#AAAA00>: 노란색
<bgcolor=#FFAAAA,#AA5555>: 빨간색
<bgcolor=#00CC00,#007700>: 초록색
<bgcolor=#AAAAFF,#5555AA>: 파란색
X: 글자 색 배경색(짙은 회색)으로
X: 글자 크기 작게
[1] r3c7과 같은 표기는 다른 곳에서 볼 수 있으니 알아두면 좋다.[2] 특히 대부분의 어플리케이션들의 경우, 한 칸을 맞히고 나면 같은 가로줄/세로줄/박스에 있는 다른 칸들의 후보숫자가 자동적으로 제거되는 기능이 있어 편리하다.[3] 난이도가 낮다고 판단될 때, 논리적이기 보다 빠르게 풀고 싶을 때, 어플이 아닌 종이에 직접 써야할 때 등[4] 후보 숫자를 사용하지 않는 경우 발견하기 어려워 후순위로 밀렸다. 원한다면 먼저 시행해도 좋다.[5] 여기서 house는 unit의 의미이다. 용어 통일을 위해 유닛으로 번역한다.[6] 생각해보면 당연한 것이 0개의 칸이 더 비어 있는 경우는 아무 소용이 없고 1개의 칸이 더 비어 있는 경우는 그 전에 숨겨진 하나(Hidden Single)로 이미 제거될 것이다.[7] (X, Y, Z), (X, Y, Z), (X, Y)의 형태이다.[8] 숨겨진 둘은 숨겨진/드러난 하나, 숨겨진 셋은 숨겨진/드러난 하나/둘, 숨겨진 넷은 숨겨진/드러난 하나/둘/셋이 각 유닛에 없는 경우[9] 앞서 기초 기법들을 모두 적용할 경우 부분집합 기법을 적용하기 위해서는 빈칸이 최소 2칸 더 필요할 것이라 언급한 것도 기억하자. 상보성을 배운 지금이라면 이 예시에서 드러난 다섯이 존재한다면 상보적으로 숨겨진 하나가 존재할 것이라는 사실은 당연할 것이다.[10] 참고로, 드러난/숨겨진 부분집합처럼 n이 5인 경우(Squirmbag)와 그 이상은 일반적인 스도쿠에서 다루지 않으며 확장된 스도쿠에서는 유용할 수 있다.[11] n개의 칸에 n개의 후보 숫자가 있는 것. 드러난 부분집합은 모두 잠긴 집합에 속한다.[12] 위 예제의 경우 심플 컬러링과 X-윙의 반복으로 젤리피쉬 사용없이 후보 숫자를 더 지울 수 있다. 한 번 도전해 보자.[13] XZ칸과 YZ칸은 서로를 바라본다면 즉, XY, XZ, YZ 칸들이 하나의 유닛에 존재한다면 XY-윙이 아닌 드러난 셋이 된다.[14] 즉, 위 예시에서 셀 A1이 후보 숫자 7을 가지지 않는다 하더라도 노란색 칸들이 서로 후보 숫자 7, 8, 9에 대한 약한 연결을 가진다는 말은 틀린 말이 아니다.[15] 일반적으로 연결이 3, 5개인 사슬을 사용하며 더 길어져도 상관은 없다.[16] A3와 J3의 드러난 둘로 인해 C3의 후보 숫자에서 7, 8을 제거할 수 있다. E7과 H7의 드러난 둘로 인해 C7과 G7의 후보 숫자에서 7, 9를 제거할 수 있다.G8을 피봇으로 하고 F8, J9을 윙으로 하는 XY-윙으로 인해 F9의 후보 숫자에서 7을 제거할 수 있다.[17] Y(m+1)은 Ym과만 다르면 충분하다. 즉, X여도 괜찮으며 Y1=Y3여도 괜찮다.[18] 사슬의 길이는 상관없다.[19] W-Wing만 사용한다면 유일성은 알 수 없다. 두 칸 모두에 7이 존재할 수도 있다.[20] A1이 3이 아닐 경우, A1은 4가 맞고, F1은 4가 아니며, F7은 4가 맞고, C7은 4가 아니므로 C7은 3이 맞다. 셀 A9은 셀 A1과 C7을 동시에 바라보고 있으므로, 셀 A9에서 후보 숫자 3을 지울 수 있다.[21] 모든 드러난 부분집합은 잠긴 집합에서 나타나며 아래 기법들은 이러한 드러난 부분집합의 응용으로 볼 수 있다.[22] 특별한 명칭은 존재하지 않는다.[23] Z는 존재하지 않아도 상관없다.[24] 거의 잠긴 집합은 한 유닛에 있어야한다. 예를 들어, 셀 B1과 셀 B2도 거의 잠긴 집합이며 셀 B1과 셀 F1도 거의 잠긴 집합이지만 셀 B1, B2, F1은 한 유닛에 없기에 거의 잠긴 집합이 아니다.[25] 같아도 상관 없다.[26] 심플 컬러링과 X-사슬과의 관계처럼 3D 메두사에서 약한 추론까지 고려하면 교대 추론 사슬이다.[27] 셀 C7의 파란색과 셀 C6의 초록색[28] 셀 E4의 초록색과 셀 D4의 파란색[29] 셀 E5의 파란색과 셀 E6의 초록색[30] 강한 연결은 약한 연결이 될 수 있다. 많이 반복한 말이기에 이 이하의 사슬에서는 이 문구를 생략할 것이다.[31] 셀 E2와 이어진 모든 추론이 강한 추론이므로 셀 G2의 후보 숫자를 6으로 확정할 수 있게도 그릴 수 있다.[32] 이를 이해한다면 거의 잠긴 집합뿐만 아니라 사슬이 아닌 다른 기법이 있으면 그것을 사슬에 포함시켜 이해할 수 있을 것이다.[33] 이때 그 유닛이 꼭 행과 열일 필요는 없다. 즉, 이제까지는 행과 열에서 피쉬가 생기는 경우들만 다뤄왔지만, 피쉬가 생길 때 상자가 끼어 있어도 피쉬가 성립할 수 있다는 것이다.[34] 모든 덮개 유닛들이 모든 정점을 포함해야 한다. 이에 어긋나는 것은 정의에 어긋난다.[35] 위 기본 물고기 증명과 동일하게 해서[36] 존재하지 않는다.[37] 존재하지 않는다.