열역학에서의 엔트로피
열역학에서 엔트로피는 계의 거시 상태에 대응하는 미시 상태의 수 W와 관련되어 있다. 계의 거시 상태는 계의 온도, 압력, 부피 등의 변수들에 의해 기술되는 반면, 미시 상태란 계를 구성하는 각 입자의 위치와 속도를 나열하여 기술된다. 동일한 거시 상태에 대응되는 미시 상태는 엄청나게 많으며, 거시 상태에 따라 그에 대해 대응되는 미시 상태의 수도 달라진다. 만약 각 미시 상태가 나타날 확률이 동일하다면, 계는 W가 높은 거시 상태, 즉 엔트로피가 높은 거시 상태에 있을 확률이 높다.
이를 동전 던지기로 이해해 보자. 동전 2개를 던질 때 나오는 결과는 앞면의 개수를 통해 거시적으로 기술될 수 있지만, 미시적으로는 각 동전의 상태를 나열하여 기술될 수도 있다. 그러면 앞면의 개수가 1이라는 거시 상태는 ‘앞뒤’, ‘뒤앞’이라는 2개의 미시 상태와 대응되므로 W1은 2이다. 같은 방식으로 계산할 때 W0과 W2는 1이다. 따라서 2개의 동전을 던질 때 우리는 동전이 모두 앞면이거나 모두 뒷면인 경우보다는 1개가 앞면인 경우를 자주 볼 수밖에 없다.
원래 엔트로피 개념은 자연적 과정의 비가역성을 이해하기 위해 도입되었다. 향수병의 뚜껑을 열면 향기가 사방으로 확산되지만, 확산된 향기가 향수병 속으로 되돌아가는 일은 일어나지 않는다. 그 이유는 향수 입자들이 넓게 퍼져 있는 거시 상태는 향수 입자가 향수병 속에 모여 있는 거시 상태보다 훨씬 많은 수의 미시 상태와 대응되기 때문이다.
우리는 거시 상태에 대응되는 미시 상태의 수 W를 계에 대한 불확실성의 척도로 이해할 수도 있다. 예컨대 2개의 동전을 던질 때, 앞면의 개수가 2개라는 정보를 획득하면 각각의 동전이 어떤 상태인지 정확히 특정할 수 있지만, 앞면의 개수가 1개라는 정보만으로는 각 동전의 상태를 완벽하게 알 수 없다. 즉 W=1인 거시 상태에 대해 우리는 그 미시 상태를 확실하게 알 수 있지만, W가 커질수록 그 계의 미시 상태는 불확실해진다.
보통은 W에 로그를 취한 값 log W를 엔트로피의 척도로 사용한다. log W 역시 W가 증가할수록 커지며, log 1=0이라는 특성을 이용하면 W=1일 때 불확실성이 “하나도 없다”, 즉 0이라는 점도 표현할 수 있다.[1]
정보 엔트로피와 정보량
섀넌의 정보 엔트로피는 특정한 정보 하에서 남게 되는 불확실성의 정도를 의미하며, 불확실성이 많을수록 더 높은 정보 엔트로피를 가지고 있다고 말한다. 특정 정보 하에서 남는 경우의 수가 N이고, 모든 경우의 확률이 1/N으로 동일할 때, 그 정보의 엔트로피는 으로 측정되고, 그 단위는 '비트'이다. 예컨대 동전 2개를 던지는 상황 하에서 얻을 수 있는 결과는 ‘앞앞’, ‘앞뒤’, ‘뒤앞’, ‘뒤뒤’ 4가지로, 이 정보 하에서 남게 되는 불확실성을 엔트로피로 표현하면 비트가 된다. 이 상황에서 딱 1개의 동전이 앞면이라는 정보를 얻고 나면 ‘앞앞’과 ‘뒤뒤’의 경우는 제거되고 ‘앞뒤’, ‘뒤앞’이라는 2개의 경우가 남아, 그 엔트로피는 구문 분석 실패 (MathML을 사용하되 미지원 시 SVG나 PNG 사용 (최신 브라우저나 접근성 도구에 권장): "https://en.wikipedia.org/api/rest_v1/" 서버에서 잘못된 응답 ('Math extension cannot connect to Restbase.'):): {\displaystyle 1(=\log_2 2)} 비트가 된다. 특정한 정보의 가치, 즉 정보량은 엔트로피의 감소폭으로 측정될 수 있는데, '딱 1개의 동전이 앞면'이라는 정보의 정보량은 구문 분석 실패 (MathML을 사용하되 미지원 시 SVG나 PNG 사용 (최신 브라우저나 접근성 도구에 권장): "https://en.wikipedia.org/api/rest_v1/" 서버에서 잘못된 응답 ('Math extension cannot connect to Restbase.'):): {\displaystyle 1 (=2-1)} 비트가 된다.
정보량은 배경지식에 상대적이다. 예컨대 어떤 건물에 8명의 사람이 있고 한 살인 사건의 범인이 그 안에 있다고 할 때(즉 엔트로피는 3비트), 만약 범인이 남자라는 새로운 정보는 어느 정도의 정보량을 지닐까? 만약 건물에 사는 사람이 모두 남자였다면, 그 정보의 입수에 의해 남게 되는 경우의 수는 여전히 8이고, 엔트로피를 하나도 줄이지 못하므로, 그것의 정보량은 0(=3-3)이다. 반면 건물에 사는 사람 중 절반이 남자라면, 새 정보에 의해 남는 경우의 수는 4로 줄어들고, 이때 엔트로피는 3비트에서 2비트로 1만큼 줄어든다. 즉 이 경우의 정보량은 1(=3-2)비트이다. 그런데 만약 건물에 남자가 1명뿐이라면, 범인이 남자라는 정보에 의해 남게 되는 불확실성은 완전히 제거되어, 이는 범인을 잡는 확실한 정보가 될 것이다. 이때 그 정보의 정보량은 3(=3-0)비트가 된다.
동일한 상황도 우리의 관심에 따라 다른 불확실성이 남게 된다. 공정한 동전 2개를 던지는 상황의 불확실성, 즉 엔트로피는 앞에서 구문 분석 실패 (MathML을 사용하되 미지원 시 SVG나 PNG 사용 (최신 브라우저나 접근성 도구에 권장): "https://en.wikipedia.org/api/rest_v1/" 서버에서 잘못된 응답 ('Math extension cannot connect to Restbase.'):): {\displaystyle 2(=\log_2 4)} 비트로 간주됐다. 그러나 우리가 동전 2개를 던질 때 나오는 앞면의 개수에만 관심을 가진다면, 그 가능한 결과는 ‘0’, ‘1’, ‘2’의 3가지뿐이다. 그럼에도 1이 나올 가능성은 0이나 2가 나올 가능성보다 높기 때문에, 이 상황을 단지 3가지 결과가 동등하게 가능한 상황만큼 불확실하다고 보긴 어려워 보인다. 그렇다면 그 불확실성의 크기, 즉 엔트로피를 어떻게 정하면 좋을까? 이때의 엔트로피는 개별 결과가 지닌 정보량의 가중치 평균으로 해석될 수 있다. 2개의 동전을 던질 때 앞면의 개수가 0인 결과는 미시적 관점에서 '뒤뒤'만 가능하고, 따라서 이는 비트의 정보량을 가진다. 1의 결과는 '앞뒤'와 '뒤앞' 2가지 경우를 남기므로 구문 분석 실패 (MathML을 사용하되 미지원 시 SVG나 PNG 사용 (최신 브라우저나 접근성 도구에 권장): "https://en.wikipedia.org/api/rest_v1/" 서버에서 잘못된 응답 ('Math extension cannot connect to Restbase.'):): {\displaystyle 1(=\log_2 4 - \log_2 2 = 2-1)} 비트의 정보량을 가지며, 2의 결과는 '앞앞' 1가지 경우마 남기므로 2비트의 정보량을 지닌다. 각 결과는 각각 0.25, 0.5, 0.25의 확률로 나타날 수 있으므로, 각 확률을 가중치 삼아 평균을 구하면, 공정한 동전 2개를 던질 때 나올 앞면의 개수에 대한 불확실성, 즉 정보 엔트로피는 구문 분석 실패 (MathML을 사용하되 미지원 시 SVG나 PNG 사용 (최신 브라우저나 접근성 도구에 권장): "https://en.wikipedia.org/api/rest_v1/" 서버에서 잘못된 응답 ('Math extension cannot connect to Restbase.'):): {\displaystyle 1.5 (= 2 \times 0.25 + 1 \times 0.5 + 2 \times 0.25)} 비트가 된다. 이 값은 구문 분석 실패 (MathML을 사용하되 미지원 시 SVG나 PNG 사용 (최신 브라우저나 접근성 도구에 권장): "https://en.wikipedia.org/api/rest_v1/" 서버에서 잘못된 응답 ('Math extension cannot connect to Restbase.'):): {\displaystyle 1.58 (=\log_2 3)} 보다는 작은 값으로, 즉 이 상황이 3개의 결과가 동등하게 불확실한 상황보다는 확실한 상황임을 말해준다.
메시지의 길이와 정보량
어떤 사건의 정보량은 그 사건을 전달하는 데 필요한 메시지의 길이로 측정될 수 있다. 메시지의 길이 측정을 표준화하기 위해, 메시지는 각 자리마다 0 또는 1만 가능한 이진 숫자열로 제한되며, 그 이진 숫자열의 길이를 메시지의 길이로 간주하고, 그 단위는 ‘비트(bit)’이다. 그러면 A부터 D까지 4가지 경우가 있는 뽑기를 생각해보자. 만약 뽑기 결과 A, B, C, D를 차례로 “00”, “01”, “10”, “11”로 대응시킨다면, 각 결과를 전달하기 위해 정확히 동일한 길이의 메시지를 사용하는 셈이 된다. 만약 각 결과의 확률이 동일하다면, 각 결과의 정보량 역시 2비트로 동일하다. 일반적으로, 경우의 수가 N인 사건 집합에서 각 사건의 확률이 모두 동일하게 1/N인 경우, 각 사건의 정보량은 모두 비트로 모두 동일하다.
이번에는 각 사건의 확률이 동일하지 않은 경우를 생각해보자. A부터 D까지 4가지 경우 중에 하나를 뽑는 것은 위와 동일하지만, 이번에는 A를 뽑을 확률이 1/8, B를 뽑을 확률이 1/8, C는 1/4, D는 1/2로 서로 다르다고 해보자. 이런 상황에서도 각 사건의 정보량을 동일하게 2비트라고 할 수 있을까? 우리는 A나 B가 뽑히는 희귀한 사건이 D가 뽑히는 흔한 사건보다 많은 정보를 가진 것으로 취급하는 경향이 있다. 이러한 직관을 반영한 정보량 개념에 따르면, 한 사건의 정보량은 그 사건이 일어날 확률의 역수에 로그를 취한 값이다. 이에 따르면, A와 B의 정보량은 비트, C의 정보량은 구문 분석 실패 (MathML을 사용하되 미지원 시 SVG나 PNG 사용 (최신 브라우저나 접근성 도구에 권장): "https://en.wikipedia.org/api/rest_v1/" 서버에서 잘못된 응답 ('Math extension cannot connect to Restbase.'):): {\displaystyle 2(=\log_2 4 )} 비트, D의 정보량은 비트로 측정된다. 그러나 이렇게 재정의한 정보량은 메시지의 길이로서의 정보량과 어떤 관계일까?
위와 같은 뽑기 상황에서 뽑기 결과를 이진 메시지로 전달해야 하는 상황을 생각해보자. 각 결과를 똑같이 2비트의 메시지와 대응시키는 것은 쉬운 방법이긴 하지만 비효율적이다. 흔한 결과를 더 짧은 메시지와 대응시키고 희귀한 결과는 더 긴 메시지와 대응시키는 방법을 사용한다면, 사건을 전달하는 데 필요한 메시지의 평균 길이는 더 짧아질 것이기 때문이다. 예컨대 가장 흔한 사건인 D는 “1”과 대응시키고, C는 “01”, B는 “001”, A는 “000”을 대응시켜보자. 그러면 각 사건과 대응되는 메시지의 길이는 앞 문단에서 정의한 각 사건의 정보량과 정확히 일치하게 된다. 그리고 이렇게 대응시킬 경우 1비트 메시지가 필요할 확률은 1/2, 2비트 메시지가 필요할 확률은 1/4, 3비트 메시지가 필요할 확률은 1/4로, 사건을 전달하는 데 필요한 메시지의 평균 길이는 구문 분석 실패 (MathML을 사용하되 미지원 시 SVG나 PNG 사용 (최신 브라우저나 접근성 도구에 권장): "https://en.wikipedia.org/api/rest_v1/" 서버에서 잘못된 응답 ('Math extension cannot connect to Restbase.'):): {\displaystyle 1.75(= \frac{1}{2} \times 1 + \frac{1}{4} \times 2 + \frac{1}{4} \times 3 )} 비트가 되어, 2비트보다 작다.
메시지 길이로서의 정보량 관점에서, 사건 A의 정보량 3비트는 어떤 의미로 해석해야 할까? 이는 사건 A를 전달하는 데 필요한 메시지의 최소 길이는 아니다. 만약 우리가 A를 2비트 메시지 “00”과 대응시키기로 했다면, A를 전달하는 데 2비트만 필요했을 것이기 때문이다. 심지어 우리는 A를 1비트 메시지 “0”과 대응시키기로 결정할 수도 있다. 그러나 그렇게 하면 다른 사건을 더 긴 메시지와 대응시킴으로써, 평균적으로는 더 긴 메시지가 필요하게 될 것이다. 결국 사건 A의 정보량 3비트는 사건 A를 포함한 사건 집합 {A, B, C, D} 중에서 어느 사건이 일어났는지를 전달하는 메시지의 평균 길이를 최소화하기 위해 필요한 A의 메시지 길이로 해석될 수 있다. 그리고 사건 집합에 대해 필요한 메시지의 평균 길이의 이론적 최솟값을 그 사건 집합의 정보 엔트로피라고 부르며, 이 값은 확률적 관점에서 정의된 각 사건의 정보량들의 평균값이기도 하다.
주
- ↑ log 함수는 지수 함수의 역함수로, logax = y 일 때 x=ay가 성립한다. 예를 들어, 8은 23이므로, log28은 3이 된다.