%3C/text%3E%3C/svg%3E">
💻
💻 IT·개발

섀넌 엔트로피 계산기 (텍스트)

입력하면 바로 계산됩니다.

입력값

섀넌 엔트로피 계산기 쉽게 이해하기 — 개념과 원리

섀넌 엔트로피는 메시지에 나오는 기호가 얼마나 예측하기 어려운지를 '기호당 비트'로 나타낸 값입니다. 이 계산기는 입력한 글에서 각 문자가 몇 번 나오는지 세고, 그 빈도 분포의 엔트로피를 구합니다. 정보이론 공부, 데이터가 얼마나 압축될지 가늠할 때, 문자열의 무작위성을 비교할 때 쓰입니다.

hello world의 글자 빈도hello world에서 l은 3번, o는 2번, 나머지 6개는 1번 나옵니다. 엔트로피는 기호당 2.845비트, 11글자 합계 약 31.3비트로 8비트 ASCII의 88비트보다 훨씬 작습니다."hello world"의 글자를 세어 봅니다hello␣world기호 11개, 서로 다른 것 8개lll3/110.511oo2/110.447h1/110.314e1/110.314␣1/110.314w1/110.314r1/110.314d1/110.314열마다 −p·log₂p 비트를 더함0.511 + 0.447 + 6 × 0.314 = 2.845글자당 2.85비트 → 최소 31.3비트
자주 나오는 글자일수록 정보량이 적고, 그 가중 평균이 엔트로피입니다.

계산 방법

H = −Σ p(x) × log₂ p(x) (서로 다른 모든 문자 x에 대해 더함)

여기서 p(x) = (문자 x의 개수) ÷ (전체 문자 수)입니다.

원리

섀넌은 확률이 p인 사건의 정보량을 log₂(1/p)비트로 정의했습니다. 반드시 일어나는 일(p = 1)은 새로운 정보가 없고, 드문 일일수록 정보가 많습니다. 엔트로피는 기호 하나당 평균 정보량입니다. 모든 기호가 똑같은 확률일 때 가장 크고(기호 수의 log₂), 한 기호만 나오면 0입니다. 섀넌의 정보원 부호화 정리에 따르면 어떤 무손실 부호도 평균 H비트보다 짧게 만들 수 없으므로, 엔트로피가 곧 압축의 한계가 됩니다. 다만 이 계산기는 문자 하나하나의 빈도만 보는 0차 모델로, 순서와 문맥은 고려하지 않습니다.

예제 풀이

  1. 입력: "hello world"는 공백을 포함해 11글자입니다.
  2. 개수: l = 3, o = 2, h·e·공백·w·r·d는 각 1로 고유 기호는 8개입니다.
  3. 항별 값: l은 0.5112, o는 0.4472, 1번 나온 문자는 각 0.3145이고 여섯 개를 합하면 1.8870입니다.
  4. 합계: 0.5112 + 0.4472 + 1.8870 = 2.845350937 비트/기호
  5. 최소 비트: 2.845350937 × 11 = 31.2988603비트(8비트 ASCII로는 88비트)

결과 해석

최댓값은 log₂(고유 기호 수)이며, 8개라면 3비트이므로 2.85는 거의 고른 분포입니다. 영어 문장은 이 방식으로 보통 문자당 4~4.5비트 정도이고, 무작위 바이트는 8비트에 가까워집니다. 값이 낮을수록 일부 문자가 자주 반복된다는 뜻이며 압축이 잘 됩니다.

흔한 실수

주의: 이 값은 입력한 표본의 빈도로만 계산한 추정치입니다. 비밀번호나 암호 키의 안전성은 문자 분포가 아니라 생성 방식에 달려 있으므로 이 값으로 판단하면 안 됩니다.

자주 묻는 질문

텍스트 엔트로피의 최댓값은 얼마인가요?

알파벳 크기의 log₂입니다. 영문 26자는 약 4.7비트, 임의의 바이트는 8비트입니다.

왜 로그의 밑을 2로 쓰나요?

밑이 2이면 단위가 비트가 됩니다. 자연로그를 쓰면 nat 단위가 되며 값은 일정한 비율로 바뀝니다.

파일을 엔트로피보다 작게 압축할 수 있나요?

정보원의 진짜 엔트로피보다는 불가능하지만, 실제 압축기는 반복 패턴을 활용해 이 0차 값보다 더 작게 줄이기도 합니다.

출처: C. E. Shannon, "A Mathematical Theory of Communication", Bell System Technical Journal, 1948 · T. M. Cover, J. A. Thomas, Elements of Information Theory, Wiley

2026년 11월 8일 확인. 표준 공식과 RFC/IEEE 정의를 사용해 브라우저 안에서만 계산합니다. 입력한 내용은 어디에도 전송되지 않습니다.

💻 IT·개발 계산기 전체 →🏠 홍라이프 계산기 홈 →