EPI00 개발일지

"무한 원숭이 정리"에 대한 간단한 실험에 대한 무언가 본문

내 생기부를 위한 무언가

"무한 원숭이 정리"에 대한 간단한 실험에 대한 무언가

EPI00 2021. 5. 20. 19:24

개념 설명

원숭이에게 타자기를 준 뒤, 충분한 시간을 주면 원숭이는 거의 확실하게 셰익스피어의 희곡을 쳐낼 것이다. 

라는 것이 '무한 원숭이 정리'라는 것의 기초 개념이다. 

뭐 보렐-칸텔리 보조정리니 뭐니 하는 것이 있는데, 잘 모르겠고 대충 확률이 0이 아닌 사건에 대해 무한대의 시행을 진행했을 때 그 사건은 반드시 일어난다는 내용인 것 같다. 

이 정리에 대한 증명은....

위키피디아에 잘 나와 있는 것 같다.

 

잘 모르겠으니 난 그냥 프로그램으로 시도해보려 한다. 

 

 

코드

코드는 짧고, 구조는 간단하다. 한글 글자를 넣은 하나의 파이썬 리스트를 만들고, 이 리스트에서 랜덤하게 두 글자를 뽑아 나오는 단어가 말이 되는 단어인지 보고자 한다. 

마음같아서는 모든 한글 글자를 넣고 싶었지만, 힘들다. 무려 9,747자다. 때문에 본 실험에선 가~곖까지의 약 400자가 조금 안되는 수의 글자들만으로 실험을 진행했다. 

 

실행 결과

꽤 의외로, 조금 빠르게 말이 되는 단어가 나왔다.

이 원숭이(프로그램)은 손윗사람을 공경할 줄 아는 원숭이(프로그램)인 것 같다. 

 

 

코드2

이번엔 기존 코드를 조금 수정해서 1글자에서 15글자 사이의 영어 단어를 입력하는 원숭이를 만들어보았다. 

 

 

실행 결과2

"돼지".

28번만에 성공했다. 

"돼지".