본문으로 건너뛰기
159 / CODING LAB
먼저 알아두면 좋아요 · 연결된 선수 단원의 확률·이진 연산·논리와 부호 표기
단원 목록 (600) · GF(2)와 Hamming 선형 부호
이해하는 속도로 읽으세요.개념도이론실험확인 문제
BUILD YOUR INTUITION

먼저 그림으로 이해하기

한 번에 한 단계씩 살펴보세요.

패리티 검사·syndrome·정정과 두 오류의 잘못된 복원을 비교합니다.

GF(2) Hamming(7,4); parity positions 1,2,4; data 3,5,6,7; H column j is binary(j). Nonzero syndrome triggers one flip.

071.1-0.1
가로: 위치 1~7 · 세로: 비트 값 · 파랑: 전송 · 주황: 수신
positionH column (top to bottom)rolesentreceivedcorrected
1100parity000
2010parity000
3110data101
4001parity111
5101data000
6011data000
7111data111

sent payload = 9

고정 기준 예제의 그림과 수치입니다. 각 단계에서 같은 그림의 의미를 차례로 살펴보세요. 고정된 기준 예제이며 아래 실험의 설정과 독립적입니다.
1 / 4

유한체

GF(2) 덧셈은 XOR입니다. 패리티 검사는 정수 덧셈 뒤 mod 2와 같습니다.

1+1=0 in GF(2)

실험에서 확인하기 →
이 단원 목차

유한체에서 패리티를 계산하기

GF(2)는 0과 1을 원소로 가지며 덧셈은 XOR, 곱셈은 AND와 같습니다. 따라서 1+1=0입니다. 이 산술을 사용하면 “비트 합이 짝수인가?”라는 검사를 행렬 곱으로 표현할 수 있습니다. 실수 위의 최소제곱과 달리 거리나 역행렬을 실수 연산으로 계산해서는 안 됩니다.

Hamming(7,4)는 정보 4비트에 패리티 3비트를 더합니다. H의 열은 위치 1~7의 이진수이며, 아래 행 순서는 낮은 자리부터입니다.

H=(101010101100110001111).H=\begin{pmatrix}1&0&1&0&1&0&1\\0&1&1&0&0&1&1\\0&0&0&1&1&1&1\end{pmatrix}.

정보에서 부호어로

정보 비트를 위치 3,5,6,7에 낮은 비트부터 놓고 패리티 위치 1,2,4를 정합니다. 각 검사 행과 부호어 c의 내적이 GF(2)에서 0이어야 합니다. 유효 부호어 집합은 H의 영공간이며 차원 4입니다. 생성행렬 G를 쓰면 c=Gm, HG=0으로도 표현합니다.

정보 정수 9는 낮은 자리부터 (1,0,0,1)입니다. 이를 넣으면 위치 1부터 부호어는 0011001입니다. 위치 3이 뒤집힌 수신열의 syndrome은 H의 세 번째 열, 즉 (1,1,0)입니다. 낮은 자리부터 해석하면 정수 3이므로 그 위치를 다시 뒤집습니다.

r=c+e,s=Hr=He(mod2).\begin{aligned} r&=c+e,\\s&=Hr=He\pmod 2. \end{aligned}

왜 한 오류를 고칠 수 있는가

H의 모든 열이 서로 다른 비영 벡터입니다. 따라서 가중치 1의 유효 부호어도, 가중치 2의 유효 부호어도 없습니다. 반면 1번 열 XOR 2번 열은 3번 열이므로 위치 1,2,3에 1인 벡터는 영공간에 있습니다. 최소 거리는 정확히 3이고 보장 정정 능력은 1입니다.

dmin⁡=3,t=⌊dmin⁡−12⌋=1.d_{\min}=3,\qquad t=\left\lfloor\frac{d_{\min}-1}{2}\right\rfloor=1.

검사 통과와 올바른 복원의 차이

같은 정보 9에서 위치 1과 2를 뒤집으면 syndrome이 다시 3입니다. 복호기는 한 오류로 가정하고 위치 3을 뒤집어 다른 유효 부호어로 이동합니다. 복원 정보는 8이며, 정정 뒤 syndrome은 0입니다. 패리티 통과는 원래 메시지라는 증명이 아닙니다. 원래 Hamming 부호는 최대 두 오류를 검출할 수 있지만 이 단일 오류 정정기는 비영 syndrome을 모두 정정하려 하므로 두 오류를 잘못 고칠 수 있습니다.

실습의 파랑은 전송, 주황은 수신 비트입니다. 표에서 정정 결과도 비교하세요. 실제 시스템의 SECDED는 전체 패리티 등을 더해 단일 정정과 이중 검출을 구분하지만 현재 7비트 실험에는 포함하지 않습니다.

확인 문제와 해설

  1. 패리티 비트의 오류도 고치나요? 예. H의 모든 위치에 고유 열이 있어 정보와 패리티를 같은 방식으로 검사합니다.
  2. 부호어 두 개의 XOR도 유효한가요? 예. H(c₁+c₂)=0이므로 선형 부분공간에 남습니다.
  3. n=7, 정보 4비트의 전송률은? 4/7입니다. 실수 벡터 차원 대신 GF(2)에서의 정보 비트 수를 셉니다.

추가 읽기: MIT MAS.160, Hamming Codes and Syndromes.

CHECK YOUR UNDERSTANDING

설명할 수 있나요?

실험 설정과 무관한 기준 예제를 묻습니다. 답을 고르고 설명을 확인해보세요.

1. GF(2)의 1+1은?
2. 정정 후 syndrome 0이면 원래 정보인가요?

선택한 답과 학습 표시는 이 브라우저에 저장됩니다. 다시 풀거나 표시를 해제할 수 있습니다.