바둑은 가로세로 19줄로 이루어진 바둑판 위에, 흑과 백돌이 서로 번갈아가며 교차점에 하나씩 착수하여

서로의 집을 만들고 세력다툼을 하는, 어린시절 많이하던 땅따먹기와 비슷한 개념을 갖고 있습니다.


보드게임중에 유일하게 모든 말이 평등한 지위를 갖고 있다는 점에서 바둑은 굉장한 매력이 있는데요,

저도 그런 매력 때문에 몇년 전 입문을 해보려다 외우는데 잼병이라 금방 포기하고 말았습니다.



바둑의 또다른 매력은 경우의 수가 엄청나다는 것인데,


역사 이래 같은 바둑은 없다


라고 말 할 정도로 바둑의 수는 무궁 무진합니다.









숫자로 계산해보면 착수가 가능한 모든 패턴은 약 으로


우주의 모든 원자의 개수인 약 보다도 훨씬 많습니다.




이렇게 큰 수는 컴퓨터에서도 다루기 어려운데요, 때문에 컴퓨터 인공지능 바둑은 아마추어 기사보다도 한참 낮은 수준일 수 밖에 없었습니다.

그러나 구글이 들고 나온 알파고가 이세돌9단을 꺾으며 상황은 반전되었습니다.



아무리 슈퍼컴퓨터라도 저 많은 계산을 시간 안에 해내는 것은 불가능한데요, 알파고에는 무슨 비결이 있던걸까요?






알파고에는 크게 두 가지 알고리즘이 존재합니다.

하나는 스스로와 싸우며 더 좋은 경우의 수를 기록하는 "딥 러닝"


또 하나는 오늘 포스팅에서 설명할 "몬테카를로 트리탐색" 입니다.





몬테카를로 트리탐색이란?


간단히 말해 경우의 수가 너무나도 많을 때, 순차적으로 시도하는 것이 아닌 랜덤하게 시도하는 것



예를들면 자물쇠의 네자리 비밀번호를 까먹었을 때, 꼼꼼하게 1111부터 9999까지 다 해볼 수 있지만, 시간이 너무 오래 걸리지요.

그럴때 무작위의 네자리 숫자를 집어넣는 것이 몬테카를로 방법입니다.






자물쇠의 경우에는 열리고/안열리고 두가지 상황만 존재하지만


바둑의 경우는 착수 후 상대방이 어디에 둘 것인지, 또 그 다음 수는 어디에 둬야할지 계속해서 선택과 경우의 수가 발생하기 때문에,

무작위로 일정횟수 만큼 수를 둔 다음,


그 중 가장 승률이 높은 수를 두게 되는 것입니다.

그것을 그림으로 나타내면 마치 나뭇가지처럼 생겨서 "트리탐색" 이라는 말이 붙었습니다.




다시 정리해서 말하자면,


전체를 계산해서 최고로 좋은 값을 넣는게 아닌, 무작위 방법 중 가장 승률이 높은 값




그래서 이를 "몬테카를로 트리탐색" 이라고 하는 것입니다.


이 방법은 알파고가 검증했듯, 최고의 방법을 도출하진 못하더라도 최선의 방법을 도출한다는 것을 알 수 있었죠.

그리고 한번의 실패는 인간의 존엄성과 바둑의 경우의 수의 현저히 커다람을 나타내는 좋은 지표라고 할 수 있겠습니다.








저는 컴퓨터공학 전공자가 아닙니다.


하지만 현대에는 모든 학문이 컴퓨터를 필요로 합니다. 단순한 워드 작업이 아닌 컴퓨터의 계산 능력을 필요로 하지요.


특히 제 전공인 통계물리학에서는 바둑과 같이 큰 수를 다루고 있기 때문에,

큰 수를 잘 다룰 수 있는 "몬테카를로 트리탐색"을 이용해 연구를 하고 있습니다.





좋은 정보가 되었나요? 현재와 앞으로도 많은 분야에 사용되는 방법이니 상식으로 알아두시면 좋을 것입니다.

'지식과 정보 > 편리한 삶 IT' 카테고리의 다른 글

알파고, 몬테카를로 트리탐색  (2) 2017.01.09

WRITTEN BY
Dr.Bak
닥터박의 블로그. 지식과 정보를 공유하는 공간입니다.

트랙백  0 , 댓글  2개가 달렸습니다.
  1. 비밀댓글입니다
  2. 비밀댓글입니다
secret