An Error-Correcting Code
Cypher는 국문이나 영문 등을 다른 모양으로
변화시키는 rule을 위미하여 code는 다른 특별한
단어를 대신하는 단어나 기호의 list임을 앞에
학습하였다.
예를 들어 영어로 쓰여진 한글은 encypher 또는
encode되었고 그것을 다시 한글로 번역하는 것은
decypher라고 하며, 한영사전은 code book이 되는
것이다.

그런데 위 그림에서와 같이 encode된 message를
전송하는 과정 등에서 noise등의 불량 요소가
있으므로 수신자가 받은 code는 원래의 것과는 다를
수 있다. 예를 들어 SHIP을 송출했는데 SHOP을
수신하였다면 송수신자간의 오해가 있을 수 있다.
따라서 송수신된 단어들 간의 closeness에 관하여
알아보기로 합시다.
일반적으로 인공위성이나 컴퓨터 등 사이의
의사전송은 digital 방식의 communication이므로
이진수를 사용하며, message 또는 word는 binary인
n-tuple의 수를 의미한다. 즉 n bit인 정보최소단위를
의미하며 이를 binary string of length n이라고
말하며 단순히 n word라고 부른다.
예제 1. ordered 4-tuple ( 0 , 1 , 0 , 1 ) 은 4 bit
word이다.
|
예제 2. 십진수 39는 2진법으로는 100111.... ....
6-tuple ( 1 , 0 , 0 , 1 , 1 , 1 )이다.
|
예제 3. ASC Ⅱ code로 Z는 8-tuple 수
( 1 , 0 , 0 , 1 , 1 , 0 , 1 , 0 )이다.
|
x , y 가 두 개의 n-word일 때, 두 단어 사이의 거리
d( x , y ) 를 다음과 같이 약속한다.
d( x , y) : = the number of spots where the two
words and differ
예를 들면,
x = (0,1,0,1)
y = (0,1,1,1)
이면, d( x , y) = 1 이고 또,
x = (0,1,1,1,0)
y = (0,1,0,1,1)
이면 d( x , y) = 2 이다.
우리는 d( x , y) 가 거리함수가 됨을 쉽게 증명할 수
있다.
문제 1. d( x , y) 가 단어들의 집합에서 거리함수가
됨을 증명 하시오.
|
일반적으로 단어의 길이가 짧으면 전송이 편하고
noise도 적음은 당연하다. 그렇지만 많고 다양한
message를 보내기는 어렵다. 따라서 전송시 오차도
적고 다양한 message를 보낼 수 있는 optimal
code에 관하여 많은 연구가 이루어지고 있다.
정리 1. 만일 단어들이 최소거리가 2t+1이라면
code는
t-error correcting이다. 역으로, 어떤 code가
t-error correcting이면 그 단어들의 거리는
2t+1보다
작을 수는 없다.
|
증명. 생략 (암호이론 참고도서 참고)
일반적으로 다음과 같은 조건을 갖는 code에
관하여 생각하여 봅시다.
그러면 다음의 관계식을 얻을 수 있다.
정리 2. N.s≤qn
이 때,

|
증명. 생략 (암호이론 참고도서 참고)
이 때,N.s=qn 인 code를 perfect code(완전
암호)라고 부른다.
이제 S를 영벡터 ( 0, 0, …, 0 ) 이 아닌 binary
r-vector들의 집합이라고 하자. 그러면
|S|= 2k - 1
이다. 이 때, H를 열벡터가 S의 모든 원소들로
이루어진 matrix라고 하자. 예를 들면, r = 3 이면

문제 2. r = 4 일 때의 matrix H 를 구하시오.
|
x는 n차원의 열벡터라고 할 때, x' 은 x의
전치행렬(transpose of x)을 나타내기로 합시다.
이제 n-word x' = (x1 , x2 ,..., xn) 에 대하여,
Hamming code C는 다음과 같이 정의된 code이다.
C = {x' |x' : n-word 이고
x' = (x1 ,x2 ,..., xn)
x' .H' = O 또는 H .x = O }
또, H는 Hamming code code C의 parity check
matrix(기우검사행렬) 이라고 한다.
rank H = r 이므로 위의 Hamming code 의 원소는
K = n - r = 2k-1-r
개의 일차독립인 해로부터 생기는 2k 개의 n-word를
갖는다.
그리고 Hamming code C의 임의의 수 n-words
사이의 거리는 최소 3이다. 따라서, code C는
one-error correcting code가 된다.
문제 3. r = 5 일 때의 Hamming code C와
parity check matrix H 를 구하시오.
|
|