허프만 부호화, 엔트로피

1. 허프만 부호화, 엔트로피.hwp
2. 허프만 부호화, 엔트로피.pdf
허프만 부호화, 엔트로피
허프만 부호화

전산학과 정보 이론에서 허프만 부호화(Huffman coding)는 무손실 압축에 쓰이는 엔트로피 부호화의 일종으로, 데이터 문자의 등장 빈도에 따라서 다른 길이의 부호를 사용하는 알고리즘입니다. 1952년 당시 박사과정 학생이던 데이비드 허프만이 A Method for the Construction of Minimum-Redundancy Codes란 제목의 논문으로 처음 발표했습니다.
허프만 부호화는 문자들의 빈도로부터 접두 부호(어떤 한 문자에 대한 부호가 다른 부호들의 접두어가 되지 않는 부호)를 만들어 내는 알고리즘으로, 적게 나오는 문자일수록 더 긴 부호를 쓰고 많이 나올수록 더 짧은 부호를 씁니다. 허프만 부호화는 주어진 빈도에 대해서 항상 최적의 접두 부호를 만들어 내며, 이 과정은 빈도가 정렬되어 있을 경우 O(n)만에 가능합니다. 각 문자들의 빈도가 2의 거듭제곱 꼴이거나 모두 같을 경우 이 접두 부호는 간단한 이진 블록 부호와 동일합니다.
허프만 부호화가 항상 최적의 접두 부호를 만들어 내기는 하지만, 접두 부호가 아닌 다른 종류의 부호가 더 효율적일 수도 있습니다. 예를 들어 여러 문자를 하나의 부호로 묶어 표현할 수 있는 산술 부호화나 LZW 등이 허프만 부호보다 효율적인 경우가 많으며, 특히 후자 같은 경우 문자들의 빈도를 정확히 알 수 없는 경우에도 적용할 수 있습니다.

엔트로피
자연은 점점 더 무질서해지려는 경향이 있고, 엔트로피는 무질서의 척도이므로 우주의 엔트로피는 자연의 모든 과정 속에서 증가합니다.
....