부분집합 규칙과 확률 추론 — 패턴이 안 보일 때
패턴은 부분집합 규칙의 특수한 경우일 뿐입니다. 원리를 알면 처음 보는 형태에서도 확정 칸을 뽑아낼 수 있습니다.
집합으로 보기
열린 숫자 하나는 '이 닫힌 칸들의 집합 안에 지뢰가 n개'라는 방정식입니다. 숫자 A의 후보 집합이 숫자 B의 후보 집합에 통째로 포함되고 두 숫자의 차가 남은 칸 수와 같다면, 그 남은 칸은 전부 지뢰입니다. 차가 0이면 남은 칸은 전부 안전합니다.
예를 들어 B가 '네 칸 중 3개'이고 A가 그중 '세 칸 중 2개'라면, 남은 한 칸은 3−2=1, 즉 지뢰입니다. 눈으로 보면 복잡하지만 집합의 뺄셈으로 보면 한 줄입니다.
그래도 막히면 확률
부분집합 규칙까지 써도 확정 칸이 없다면 남은 것은 확률 비교입니다. 경계에 걸린 칸들의 지뢰 확률을 견주고, 아무 정보도 닿지 않은 '내륙' 칸의 확률(남은 지뢰 수 ÷ 남은 닫힌 칸 수)과 비교해 가장 낮은 쪽을 엽니다.
고급 판 후반에는 내륙이 오히려 안전한 경우가 많습니다. 경계에서 억지로 찍지 말고 판 전체의 남은 지뢰 수를 세는 습관을 들이세요. 참고로 노가드 위클리는 이런 찍기 구간이 아예 없도록 검증된 판만 발행합니다.
남은 지뢰 수라는 마지막 방정식
판 전체에도 방정식이 하나 더 있습니다. '남은 닫힌 칸 전체에 지뢰가 정확히 (총 지뢰 − 꽂은 깃발)개'라는 식입니다. 이 식은 후반으로 갈수록 강력해집니다. 남은 지뢰가 3개인데 경계 후보가 5칸이라면, 내륙 전체가 지뢰일 가능성은 사실상 사라집니다.
경계에서 가능한 배치를 열거할 때 이 전체 방정식을 함께 걸면, 각 배치가 소비하는 지뢰 개수가 달라져 불가능한 배치가 걸러집니다. 그 결과 경계에서 확정 칸이 새로 튀어나오는 일이 자주 있습니다. 노가드 위클리가 요구하는 논리도 대부분 이 단계입니다.
계산을 줄이는 순서
모든 자리에서 집합 연산을 할 필요는 없습니다. 먼저 기본 규칙으로 정리할 수 있는 곳을 전부 정리해 경계를 짧게 만드세요. 경계가 짧아질수록 남는 방정식의 개수가 줄어 부분집합 관계가 눈에 잘 보입니다.
그다음 서로 맞닿은 숫자 쌍만 골라 비교하세요. 떨어져 있는 두 숫자는 후보 집합이 겹치지 않아 부분집합 관계가 생기지 않습니다. 이 두 가지만 지켜도 계산량이 크게 줄어듭니다.
벽에서 바로 써먹는 두 가지 예
판의 왼쪽 벽에 붙은 열린 줄을 생각해 봅시다. 맨 끝 숫자는 벽 때문에 아래 줄 닫힌 칸을 두 개(A·B)만 보고, 그 오른쪽 숫자는 세 개(A·B·C)를 봅니다. 두 숫자가 1-1이라면 '두 칸 중 1개'가 '세 칸 중 1개'에 통째로 들어 있으므로 차는 0, 즉 C는 안전합니다. 흔히 '벽의 1-1'이라 부르는 형태인데, 실제로는 부분집합 규칙을 한 번 적용한 결과입니다.
같은 자리가 1-2라면 결론이 뒤집힙니다. '두 칸 중 1개'와 '세 칸 중 2개'의 차는 1이고 남은 칸은 C 하나뿐이므로 C는 지뢰입니다. 이렇게 숫자 하나만 바뀌어도 결론이 정반대가 되기 때문에, 형태를 외우기보다 매번 '포함되는 집합과 남는 칸'을 확인하는 습관이 더 믿을 만합니다.
이 두 예는 벽이 아니라 이미 열린 칸에 막힌 자리에서도 똑같이 성립합니다. 중요한 것은 벽이 있느냐가 아니라 한 숫자의 후보 칸이 다른 숫자의 후보 칸 안에 완전히 들어가느냐입니다. 열린 영역의 모서리나 안쪽으로 꺾인 자리에서 이런 포함 관계가 자주 생기므로, 아는 패턴 이름이 떠오르지 않는 자리에서도 먼저 포함 관계부터 찾아보세요.
자주 하는 계산 실수
가장 흔한 실수는 이미 꽂은 깃발을 빼지 않고 계산하는 것입니다. 숫자 3 옆에 깃발이 하나 있다면 그 숫자가 닫힌 칸에 요구하는 지뢰는 2개입니다. 부분집합 비교는 항상 '숫자 − 둘레 깃발 수'로 줄인 값으로 해야 합니다.
또 하나는 포함 관계를 잘못 보는 것입니다. A의 후보 중 한 칸이라도 B의 후보 밖에 있으면 부분집합이 아니며, 이때 뺄셈을 하면 틀린 결론이 나옵니다. 두 숫자의 후보 칸을 하나씩 짚어 가며 A 쪽 칸이 전부 B 쪽에도 있는지 확인한 다음에 계산하세요.