베이직 피시
베이직 피시
수드쿠의 피시 패턴이란?
피시 패턴은 어떤 숫자의 후보가 행과 열에 걸쳐 어떻게 정렬되는지를 활용하는 단일 숫자 기법군입니다. 모든 피시 패턴은 같은 방식으로 작동합니다. 특정 숫자의 후보가 제한된 수의 열(또는 행)에 국한된 행(또는 열)의 집합을 찾은 다음, 다른 곳의 후보를 제거합니다.
각 피시 패턴은 한 번에 정확히 하나의 숫자에 집중합니다. 전체 그리드에서 단일 숫자의 분포를 살펴봅니다. 네 가지 기본 피시는 모두 하나의 기반 알고리즘을 공유하며, 크기만 다릅니다.
핵심 원리: 행과 열에서의 비둘기집 논리
어떤 숫자에 대해 그 숫자의 후보가 N개 이하의 열에 국한된 N개의 행을 찾을 수 있다면, 그 열들은 선택된 행에서만 그 숫자를 받을 수 있습니다. 합집합이 N개 열보다 적으면 그 행들은 이미 모순을 포함하므로, 유효한 피시는 실질적으로 정확히 N개의 커버 열을 사용합니다.
N개의 행 각각은 그 숫자를 정확히 한 번 배치해야 합니다. 각 행의 숫자는 커버 열 중 하나에 들어가야 합니다. N개의 행과 N개의 사용 가능한 커버 열이 있으므로, 커버 열은 베이스 행에 의해 완전히 채워집니다. 베이스 행 밖이지만 커버 열 안에 있는 그 숫자의 후보는 모두 제거할 수 있습니다.
같은 논리는 열을 베이스로, 행을 커버로 하여 반대로도 성립합니다. 스캔할 때 양방향을 모두 확인해야 합니다.
X-윙: 2x2 피시 패턴
X-윙는 N=2를 사용합니다. 즉 두 행이 두 열에 대응합니다. 어떤 숫자의 X-윙는 정확히 두 행이 각각 그 숫자를 같은 두 열의 후보로 포함할 때 발생합니다. 네 칸이 직사각형을 이룹니다. 그 숫자는 이 두 열의 다른 모든 칸에서 제거할 수 있습니다.
같은 패턴은 열 기반으로도 작동합니다. X-윙는 난이도 레벨 4(보통)로 분류됩니다.
선풍어: 3x3 피시 패턴
선풍어는 피시 논리를 N=3으로 확장합니다. 즉 세 행이 세 열에 대응합니다. 모든 행이 세 열 모두에 후보를 가질 필요는 없습니다. 요구 사항은 모든 후보 열의 합집합이 정확히 3이 되는 것뿐입니다.
선풍어는 X-윙와 같은 레벨 4(보통)로 평가됩니다. 기반 논리는 동일합니다.
해파리: 4x4 피시 패턴
해파리는 N=4를 사용합니다. 즉, 4개의 행이 4개의 열에 대응합니다. 개별 행은 4개의 열 중 2개, 3개 또는 4개에만 후보를 가질 수 있습니다.
해파리는 레벨 7(Very Hard)로 분류됩니다. 4개의 행이 정확히 4개의 열에 정렬되는 특정 배치는 흔하지 않기 때문에 드물게 나타납니다. 9개 중 4개의 행을 선택하는 방법은 126가지이므로 체계적인 수동 탐색에는 인내가 필요합니다.
스퀴머백: 5x5 피시 패턴
스퀴머백는 N=5를 사용합니다. 즉, 5개의 행이 5개의 열에 대응합니다. 레벨 9(Master)로 평가되며 실제로는 극히 드뭅니다.
스퀴머백에는 5-피시가 사용하지 않는 행과 열에 보완적인 해파리가 있습니다. 보완적인 해파리가 더 작기 때문에, 대부분의 풀이자와 많은 풀이 엔진은 두 설명이 모두 가능할 때 해파리를 먼저 보고합니다. 따라서 스퀴머백는 실용적인 수동 풀이 대상이라기보다 이론적 확장으로 더 유용합니다.
이 보완성 원리는 더 확장됩니다. 6-피시는 선풍어를 보완하고, 7-피시는 X-윙를 보완하며, 8-피시는 숨겨진 싱글를 보완합니다. N=5는 이름이 붙은 기본 피시의 실용적인 최대치입니다.
퍼즐에서 피시 패턴을 찾는 방법
1단계: 아직 풀리지 않은 위치가 여러 개 있는 숫자를 선택합니다.
2단계: 행별로 후보 위치를 매핑합니다. 선택한 숫자에 대해 각 행에서 어느 열에 그 숫자가 포함되는지 나열합니다. 위치가 2개 또는 3개뿐인 행이 가장 유망합니다.
3단계: 열 중복을 찾습니다. N개 행의 조합 중 후보가 정확히 N개 열에 걸쳐 있는지 확인합니다.
4단계: 커버 열에 제거가 존재하는지 검증합니다.
5단계: 열 기반 피시에 대해서도 반복합니다.
여러 행이 정확히 두 개의 후보 위치를 가지는 숫자에 집중하세요. 후보가 두 개인 행은 피시 패턴의 구성 요소입니다.
피시 패턴의 난이도 진행
X-윙: N=2, 레벨 4, Moderate
선풍어: N=3, 레벨 4, Moderate
해파리: N=4, 레벨 7, Very Hard
스퀴머백: N=5, 레벨 9, Master
선풍어(레벨 4)에서 해파리(레벨 7)로의 도약은 사람 풀이자에게 난이도가 크게 증가했음을 반영합니다.
고급 피시 변형과의 관계
기본 피시는 "핀 없는" 또는 "표준" 피시입니다. 고급 변형에는 다음이 포함됩니다.
핀 피시: 예상 열 밖에 추가 후보("핀")가 존재합니다. 핀 변형은 모든 크기에서 레벨 7-9에 존재합니다.
사시미 피시: 핀을 제거하면 피시가 아니라 숨겨진 싱글가 남는 핀 피시. 레벨 7-9.
프랑켄 피시: 블록이 행과 열과 함께 정의 하우스 역할을 합니다. 레벨 10-11.
뮤턴트 피시: 어떤 하우스 조합이든 베이스 세트와 커버 세트로 기능할 수 있습니다. 가장 일반적인 형태입니다.
핵심 원리 -- N개의 하우스가 숫자를 N개의 교차 하우스에 가두는 것 -- 는 모든 변형에서 동일합니다.
요약
기본 피시 계열 -- X-윙, 선풍어, 해파리, 스퀴머백 -- 은 하나의 원리에 기반합니다. N개의 행이 어떤 숫자를 N개의 열로 제한하면, 그 열에서 후보를 제거할 수 있다는 것입니다. 이 네 가지 기법은 비교적 찾기 쉬운 X-윙부터 거의 보기 힘든 스퀴머백까지 폭넓게 적용되며, 핀드 피시, 사시미 피시, 프랑켄 피시의 기초가 됩니다.
모든 피시 패턴은 규모만 다를 뿐 같은 기법입니다. X-윙이 왜 성립하는지 이해하면 스퀴머백이 왜 성립하는지도 이해할 수 있습니다.