패리티
Parity
Parity
패리티는 한국어로 홀짝성, 우기성 정도로 번역될 수 있습니다. 일상에선 흔히 사용되는 말은 아니지만, 수학과 컴퓨터 분야에서 사용되는 용어입니다.
테트리스에서는 테트리스 블록과 필드의 칸수가 모두 짝수라는 특성을 이용한 수학적인 법칙으로 응용됩니다. 실전이나 스프린트의 스태킹에서도 물론 적용 가능하지만 특히 퍼클 이론에서 자주 쓰이는 원리입니다.
퍼클에 적용되는 대표적인 법칙은 체커보드 패리티와 버티컬 패리티가 있으며, 버티컬 패리티에서 확장된 개념인 4색 패리티도 있습니다.
(사진 추가예정)
우선 T미노만이 가진 한 가지 특징을 알아둘 필요가 있습니다. 필드를 체스판처럼 밝은 칸과 어두운 칸이 교차되게 칠했다고 생각해봅시다. 그러면 T미노를 제외한 모든 미노는 모두 밝은 칸과 어두운 칸을 각각 2칸씩 차지합니다. 반면 T미노는 예외적으로 밝은 칸과 어두운 칸을 각각 1칸/3칸 혹은 3칸/1칸씩 차지합니다. 체커보드 패리티는 바로 이 차이에서 도출되는 법칙입니다.
정의
퍼클에 쓰이는 T미노 갯수와 홀수칸 라인클리어* 횟수의 총합은 반드시 짝수이다.
(*홀수칸 라인클리어: 지워지는 줄의 위나 아래의 '빈 칸'이 홀수인 라인클리어)
우리가 다루는 4줄 퍼클 범위 안에서 조금 쉽게 말하면 다음과 같습니다.
T가 홀수(3개는 흔치 않으므로 보통 1개)라면, 밑에 홀수개의 빈칸이 있는 줄을 한 번은 스킴해줘야 퍼클이 가능합니다.
T가 2개거나 없다면 그런 줄을 지우는 횟수가 없거나 두 번이어야 합니다.
세로방향 패리티, 컬럼 패리티(Columnar Parity)라고도 불립니다.
이번에는 필드를 밝은 세로줄과 어두운 세로줄이 번갈아 나타나는 줄무늬 형태로 칠했다고 생각해봅시다.
(사진 추가예정)
정의
퍼클에 쓰이는 L과 J, 그리고 세로 방향 T의 총 갯수는 반드시 짝수이다.
체커보드 패리티보다 직관적이므로 좀 더 고려하기 쉬울 것입니다. 가로방향 T는 영향을 미치지 않습니다.
버티컬 패리티가 필드를 2열 단위로 나눠서 도출된다면, 4색 패리티는 4열 단위로 나눠 생각했을 때 도출되는 법칙입니다. 따라서 앞서 설명한 버티컬 패리티는 논리적으로 4색 패리티 안에 포함되는 개념으로 볼 수 있습니다.
구체적인 원리를 이해하려면 모듈러 계산에 대해 알아야 하지만, 결론 자체는 간단한 덧셈과 뺄셈만 할 수 있으면 충분히 적용 가능합니다.
정의
퍼클에 쓰이는 블록들의 고유값을 모두 더한 결과가 반드시 0 혹은 4의 배수이다.
각 미노에는 다음과 같은 값을 부여합니다.
T/L/J의 꼭지*가 오른쪽에 있으면 +1, 왼쪽에 있으면 -1
(*꼭지: T/L/J에서 일렬로 된 3칸을 제외한 1칸.)
T는 꼭지가 좌우 중 한쪽에 놓이는 세로 방향만 고려합니다. L/J는 블록 자체의 방향과 상관없이 꼭지의 위치만 생각하면 됩니다.
부호는 서로 바뀌어도 무방하나 반드시 좌우 중 한쪽은 +, 한쪽은 -가 되도록 정해야 합니다.
세로 방향 Z/S와 수평 I, O는 ±2
덧셈과 뺄셈은 무관합니다. 1회차 6p 셋업인 그레이스 시스템을 이루는 IOSZ 모양이 모두 ±2라고 생각하시면 편합니다. 편의상 이를 '그레이스 IOSZ'라고 칭하겠습니다.
그 외의 블록(수직 I, 가로 방향 T/S/Z)은 0 (영향 없음)
특히 수직 I가 0이므로 이 법칙은 사실상 필드의 너비와 관계없이 적용 가능합니다.
중요한 것은 T/L/J만 ±1이라는 홀수 값을 가지고, 나머지 블록들이 모두 짝수 값 또는 0이라는 것입니다. 따라서 T/L/J 간의 계산 결과는 반드시 짝수여야 합니다. 이 점을 단순화한 것이 L/J와 세로 방향 T의 총 개수에 대한 법칙인 버티컬 패리티입니다.
L/J와 세로 방향 T의 총 개수가 짝수이므로, 꼭지가 오른쪽에 있는 블록과 왼쪽에 있는 블록의 개수 차이도 필연적으로 짝수일 수밖에 없습니다. 그 차이가 0이나 4배수일 땐 ±2로 계산되는 '그레이스 IOSZ'가 짝수개 있어야 합니다. 반면 그 차이가 2, 6처럼 4의 배수가 아닌 짝수라면 그레이스 IOSZ가 홀수 개 있어야 부족한 2를 보정할 수 있습니다. 다음과 같이 정리할 수 있습니다.
T/L/J의 좌우 꼭지 개수 차이가 0 또는 4의 배수 → 그레이스 IOSZ는 짝수 개
T/L/J의 좌우 꼭지 개수 차이가 4의 배수가 아님 → 그레이스 IOSZ는 홀수 개
이 조건을 만족해야 최종 계산값이 0이나 4배수가 되어 퍼클이 가능합니다.
엄밀히 따지면 이것은 패리티에 속하는 개념은 아닙니다. 하지만 한정된 직사각형 공간을 테트리미노로 채우는 과정에서 필연적으로 나타나는 성질이라는 점에서 패리티와 함께 퍼클을 판단하는 데 유용합니다.
패리티 법칙은 기본적으로 필드의 칸을 짝수 쌍으로 구분할 수 있다는 성질만을 이용합니다. 필드의 '벽'과 '범위'까지 고려하진 않습니다. 때문에 패리티상 문제 없어도 퍼클은 되지 않는 경우가 생길 수 있습니다. 예를 들어 S미노 10개는 패리티 법칙에 위배되지 않게 놓을 수 있지만, 이것으로 한정된 직사각형 공간을 채울 수 있는 것은 아닙니다. 즉, 패리티는 퍼클의 필요조건이지만 충분조건은 아닙니다. 박스 룰은 이 틈을 보충하기 위한 개념입니다.
(사진 추가예정)
정의
한정된 높이의 직사각형 필드 양쪽 벽에는 각각 L/J 혹은 세로 방향 T가 최소 하나씩 있어야 한다. (단 I와 O는 예외)
이 법칙은 중간 스킴을 포함해도 적용됩니다. I와 O만으로 벽 쪽을 쌓았어도 그 다음 안쪽에는 반드시 L/J나 세로 방향 T가 최소 하나 존재할 것입니다.
물론 가방 구조상 11개 미노 중 T/L/J가 2개 미만인 경우를 볼 일은 없고, S/Z만으로 벽을 채울 수 없다는 건 직관적으로도 알 수 있으니 얼핏 보면 큰 의미 없는 규칙으로 보일 수도 있습니다. 하지만 존재하는 T/L/J 중 최소 2개가 벽 혹은 적어도 I나 O 옆에 붙어야 한다는 정보만으로 경우의 수를 좁힐 순 있을 것입니다.
패리티가 미노 간의 홀짝을 검사하는 도구라면, 박스 룰은 그 미노들이 실제로 한정된 공간 안에서 벽을 포함해 배치될 수 있는지를 검사하는 도구라고 생각하면 됩니다.
참고 자료:
Intro to PC Theory https://docs.google.com/document/d/1udtq235q2SdoFYwMZNu-GRYR-4dCYMkp0E8_Hw1XTyg/edit#
Four Color Parity https://docs.google.com/document/d/14RSnAN4tnQ2x37y4rLbicVn1Eim8_repuvHqRpcVJqY/edit?tab=t.0
"Box rule" (PC Gang 디스코드 서버 가입 필요)
https://discord.com/channels/569728778985537585/853373880579522590/1033170253947093132
Mino distance (PC Gang 디스코드 서버 가입 필요) https://discord.com/channels/569728778985537585/569730931544293395/832431747219718164
Domino Parity https://docs.google.com/spreadsheets/d/1bxhx4N0tbOkdWyMIBVjzKorAOSY1yWtxwlRTdQ_Nq1k/edit?gid=1234966416#gid=1234966416