https://youtu.be/v68zYyaEmEA?si=O

Solving Wordle using information theoryAn excuse to teach a lesson on information theory and entropy.Special thanks to these supporters: https://3b1b.co/lessons/wordle#thanksHelp fund future proje...youtu.be

-글을 쓰는 동기-

수식 [ 평균적 정보량=sum p(x)log(1/p(x)) ]에서 두 확률 p(x)가 의미하는 바를 영상 내용에 따라 정리하는 글입니다.

일반적으로 어떤 확률 변수의 평균을 구할때는 (합(모든 확률 변수) {확률 변수가 나타날 확률*확률 변수의 값})로 구하는데,

정보량의 평균에서는, {정보량이 나타날 확률*정보량}으로 위 수식을 해석했을 때, 영상의 맥락과 괴리가 느껴졌습니다.

제가 느낀 괴리을 해소하는 것이 이 글을 작성한 동기입니다.



-wordle 게임 요약-

상대방이 다섯 글자 영어 단어 하나를 정답으로 설정한다.

나는 그걸 모르는 상태에서 추측해야한다.

내가 추측을 하면, 그 추측에 기반해서 상대방이 정답에 대한 통찰을 준다.

통찰은 추측단어와 정답에 대한 함수이다. (f: 추측단어,정답->통찰)

통찰은 가능한 정답의 범위를 좁힌다.

(통찰1: c! r!! a n e!! (crane| !,!!,_,_,!!) -> 정답은 후보집합_통찰1의 원소이다. 후보집합_통찰1:{단어| _ r _ _ e 이며 첫째 자리가 아닌 곳에 c를 포함하는 단어})



-수학적 요소-

정답의 범위를 크게 좁힐 수록 통찰의 가치는 높다.

후보집합: {가능한 정답들} 이고, 후보집합_통찰: 통찰을 얻은 뒤 가능한 정답들의 집합일때,


[후보집합_통찰1의 원소수< 후보집합_통찰2의 원소수] => [통찰1이 더 가치있다]


같은 말을 다른 표현으로 해보자. 후보집합의 원소들이 확률적으로 대칭이고, 후보집합에서 무작위 추출한 원소 하나가 후보집합_통찰에 속할 확률을 양식장확률_통찰라고 할 때,


[양식장확률_통찰1<양식장확률_통찰2] => [통찰1이 더 가치있다]


굳이 양식장확률이라는 말을 도입한 것은 정답 후보들에 대한 확률이라는 것을 강조하고, 후에 통찰에 대한 확률과 구분하기 위해서이다. 양식장이라는 이름은 집합 후보들을 물고기로, 통찰을 양식장으로 상상하는 것에서 나왔다. 통찰의 가치를 정보라고 한다. 정보를 아래와 같이 수치화할 수 있다.


[정보_통찰=-log(양식장확률_통찰)]


정보의 밑이 2일 때, 비트라고도 한다. 로그를 사용하는 이유는, 정보를 합친 것과 확률을 곱한 것이 대응하는 것이 좋은 성질이기 때문이다.



-게임하는 사람의 목표-

좋은 추측 단어를 알아내는 것이 나의 목표이다.

정답이 모두에게 알려져 있는 상황을 상상하자. (f:추측단어->통찰) 은 함수이고, (g:통찰->정보_통찰) 도 함수이고, 둘의 합성함수도 함수이다.

여기서 제일 좋은 추측단어는 정보를 제일 많이 주는 추측단어이고, 알려진 정답이 제일 좋은 추측단어이다.



그러나 나는 정답을 하나로 고정할 수는 없고, 오히려 추측단어를 하나로 고정해볼 수 있다. 그렇게 되면 f를 정의역이 후보집합인 함수로 생각할 수 있다 (f:후보집합->통찰). 양식장확률은 오직 통찰만의 함수이므로 g는 변함이 없다 (g:통찰->정보_통찰). 여기서 g(f(정답))은 애초에 우리가 고정한 추측단어가 갖는 정보이다. 그러므로 어떤 추측단어의 평균적인 정보량은 아래와 같다.


[ sum(후보집합의 원소 x) {(x가 정답일 확률)*g(f(x))} ]

[ sum(후보집합의 원소 x) {(x가 정답일 확률)*(-log(양식장확률_f(x)))} ]


여기서 [x가 정답일 확률=1/(후보집합의 원소 개수)]이다. 두 후보 x1, x2가 같은 후보집합_통찰안에 있으면 (같은 '양식장' 안에 있으면) 아래 등식이 성립한다.


[양식장확률_f(x1)=양식장확률_f(x2)]


그러므로 아래 등식이 성립한다.


[sum(후보집합_통찰의 원소 x) {(x가 정답일 확률)*(-log(양식장확률_f(x)))}

= -log(양식장확률_f(x))*sum(후보집합_통찰의 원소 x) {1/(후보집합의 원소 개수)}

=양식장확률_f(x)*(-log(양식장확률_f(x))]


이를 이용해 위 합을 서로 다른 통찰에 관한 합으로 바꿀 수 있다.


[어떤 추측 단어의 평균적인 정보량=sum(모든 통찰) {(양식장확률_통찰)*(-log(양식장확률_통찰))}


여기서 어떤 추측 단어의 평균적인 정보량을 "엔트로피"라고 명명한다. 참고로, 어떤 추측 단어에 대해서 가능한 통찰의 개수는 3^5개이다. 다섯 글자이고, 각 글자에 따라 (_, !, !!) 세가지의 통찰이 주어지기 때문이다. 그런데 추측단어가 하나로 고정된 상태에서, 양식장확률_통찰을 해당 통찰이 발생할 확률로 생각할 수도 있다. 양식장확률_통찰은 후보집합에서 정답이 어떤 특정 후보집합_통찰에 속할 확률이지만, 함수 f에 의해 정답이 정해지면 통찰도 정해지기 때문이다. 이는 해당 확률을 바라보는 중요한 이중적인 관점이다. 통찰의 가치는 "통찰이 얼마나 희귀한지"에 달린 것이 아니고, "통찰이 정답을 얼마나 좁힐 수 있는지"에 따르지만, 게임의 구조상 두 관점이 동일한 것이다. 그래서 엔트로피를 아래와 같이 다시 서술할 수 있다.


[엔트로피(추측단어)=sum(모든 통찰) {(통찰이 발생할 확률)*(-log(통찰이 발생할 확률))}]


이처럼 엔트로피는 통찰의 분포에 의해 결정된다. 바로 위 문단에서 엔트로피를 추측단어가 갖는 평균정보량으로 정의했지만, 엔트로피의 의미를 어떤 확률분포와 결부된 값으로 확장할 수 있는 것이다. 엔트로피의 수식구조에 의해 확률분포가 균일할수록 엔트로피가 증가하고, 균일한 확률분포에 대해서는 확률분포가 정의된 영역이 넓을수록 증가한다. 이런 특성상 엔트로피를 '어떤 확률 분포가 불확실한 정도'를 표현한다고도 한다.



-미해결 의문-

[추측단어가 갖는 평균정보량=엔트로피=통찰이 따르는 분포가 불확실한 정도]

좌변과 우변을 의미상 연결시키기 힘들다.