$k_i = exp(-\beta(E_i - \mu))$

이 식을 일단 뚫어지게 살펴보도록 한다.

이 식의 의미는, i번째 상태에 $k_i$개의 입자가 들어갈 확률이라는 뜻이다. 라고 지난번 마법의 분배함수 2부에서 설명하였다. 이 식은 1부에서 가정한 n개의 입자를 N개의 방에 채우는 경우의 수를 세면서 나온 식이다.
이것이 어째서
$k_i=n*exp(\betaE_i)/Z$
로 변신하는가에 대해 궁금해 하는 분이 있어서 이 보충 설명을 붙인다.

확률은 전부 더하면 1이 되어야 한다. (100%이상의 확률은 없으니까)
그럼 $k_i$를 전부 더해보자.
$\Sigma k_i = \Sigma $ $
exp( -\beta ( E_i - \mu )) $ $= exp(\beta \mu)\Sigma exp(-\beta E_i  ) $

이렇게 된다. 이걸 $
exp(\beta \mu ) Z$라고 하자.

물론 사람들은 Z를 분배함수(Partition Function)이라고 부른다.

사실 $Z$는 $k_i$로 주어지는 확률분포의 전체 크기이다.

예를들어, 동전을 100번을 던졌는데 30번은 앞, 70번은 뒤가 나왔다고 하자. 우리는 앞면이 나올 확률을 "30번"이라고 하는가? 아니면 "100번 중에서 30번"이라고 하는가? 당연히 "100번 중에서 30번"이라고 한다. 그냥 "30번"이라고만 하면 30번 중에서 30번이 나온건지, 1000000번 중에서 30번이 나온건지 알 수가 없기 때문이다. 그리고 똑같이 30번이 나오더라도 시행 횟수가 다르다면 그건 다른 확률이 되기 때문이다. 따라서 확률은 언제나 확률분포의 전체 크기로 나눠주고, 그 결과 확률을 모두 더하면 크기가 1이 되어야만 한다. (여기서도 그렇듯이 30/100 + 70/100 = 100/100 =1 이다)

따라서 $k_i$를 실제로 "확률" 처럼 쓰기 위해서는 $Z$로 나누어 줘야만 한다는 뜻이다. 그런 의미에서 $k_i$를 다시 쓴다면 다음과 같다.
$h_i = k_j /(
exp(\beta \mu) Z) = exp(-\beta(E_i - \mu)) / exp(\beta \mu)\Sigma exp(-\beta E_i ) = exp(-\beta( E_i) / \Sigma exp(-\beta E_i )$

그런데 굳이 $h_i$로 쓸 이유는 없다. 앞으로 $Z$로 나누지 않은 $k_i$는 절대로 쓸 일이 없으므로, $h$대신에 $k$를 써도 괜찮다. 따라서
$k_i=exp(- \betaE_i)/Z$
처럼 쓸 수 있게 된다.

하지만 이게 끝이 아니다. 이건 어떤 1개의 공이 i번째 방에 들어가 있을 확률이 된다. 만약 공을 여러번 넣게 되면, i번째 방에는 전체 시행의 횟수인 n을 곱한 수 만큼의 공이 들어가 있을 것이다. 가령, 1번째 방에 들어갈 확률이 30/100인데, 여기에 공을 70개를 던져보았다면 1번째 방에 들어가 있을 공의 수는 평균적으로 30*70/100 = 21개가 되는 것이다. 따라서 우리는 n을 곱해줘서 쓸 필요가 있다.

$k_i=n*exp(\betaE_i)/Z$

이 식은 이렇게 유도되었다.

by snowall 2009.07.16 22:48
  • joe812 2009.07.20 16:31 ADDR EDIT/DEL REPLY

    마지막에서 두번째 식에서 익스포넨셜 안에 마이너스는 어떻게 사라지는 건가요? 바로 윗 식에서 따라와 보면 익스포네셜 안에 마이너스가 있어야 할 것 같아서요...

  • joe812 2009.07.20 16:33 ADDR EDIT/DEL REPLY

    그리고 처음에 정의했던 Z값과 마지막 Z 값은 왜 역수가 되는 건지요? 익스포넨셜 안에 마이너스가 첨엔 없고 나중엔 생겨서요...

    • snowall 2009.07.21 10:35 신고 EDIT/DEL

      exp(-beta E_i)를 k_i라고 하면, Z는 k_i를 전부 더한 값입니다. 이제 Z는 어떤 1개의 수가 됩니다.
      그리고 k_i를 실제 확률분포처럼 쓰고 싶다면(i번째 방에 입자가 들어갈 확률처럼) k_i의 전체적인 스케일을 조정해 줄 필요가 있습니다. 즉, k_i를 전부 더하면 1이 되도록 조정해야죠. 이렇게 하는 가장 좋은 방법은 k_i를 전부 더한 값으로 미리 나눠주는 건데, k_i를 전부 더한 값은 우리가 앞에서 Z라고 정의한 값이죠. 따라서 Z로 나눠줍니다.
      Z가 역수가 되는게 아니라, k_i의 전체적인 크기를 맞추기 위해서 Z로 나눠주는 계산을 하는 겁니다. k_i를 전부 더하게 되면 그 값은 Z/Z가 되므로 실제로 1이 되죠.