척척박사 연구소

척척박사 연구소과학이야기제목별로 보기모두의 수학

모두의 수학

우리 생활 속 수학 원리를 알아 봅시다.

슈퍼컴퓨터는 바둑을 두는 모든 경우의 수를 다 계산할 수 있을까?

이세돌

 

이세돌 by Cyberoro ORO CC BY 3.0 (Wikimedia)


많은 사람들이 2016년 「인간 이세돌」과 「인공지능 알파고」와의 대국을 기억할 것이다. 알파고는 고성능 CPU 1,202개와 GPU 176개로 이루어진 슈퍼컴퓨터에 바둑의 기보를 기계 학습(Machine Learning)한 인공지능을 탑재하여, 인간 이세돌에게 4승 1패를 거두었다. 어떤 사람들은 사용된 CPU가 1202대였다는 사실에 ‘슈퍼컴퓨터가 바둑을 두는 모든 경우의 수를 다 계산하고 있는 것 아닌가?’라는 생각까지 하며, ‘1대 1202’로 고군분투한 「인간 이세돌」을 열렬히 응원하였다.   

 

 

 


알파고에 사용된 슈퍼컴퓨터, 그 성능은 어느 정도?

 

정확하게 알려진 바는 없지만, 전문가들은 CPU와 GPU의 개수로 미루어 짐작컨대 2016년 당시, 100억 원 규모의 슈퍼컴퓨터 세계 순위 500위권 수준으로 보고 있다. 이는 1초에 약 300조 만큼의 연산을 처리할 수 있는 속도다. 2020년 현재, 세계 최고의 슈퍼컴퓨터인 ‘서밋’의 연산속도는 1초에 약 14경 8600조 만큼의 연산을 수행한다. 따라서 알파고에 사용된 슈퍼컴퓨터는 현존 최고의 슈퍼컴퓨터 대비 1/500 수준에 불과하다.  
 

 

 

 

 

현존 최고의 슈퍼컴퓨터는 바둑을 두는 모든 경우를 다 계산할 수 있을까?

 

 

바둑을 두는 모든 경우의 수

 

먼저, 바둑을 두는 모든 경우의 수가 얼마나 많은지 계산해보자. 바둑판은 19개의 가로줄과 세로줄로 만들어진 격자선이며 바둑돌은 줄이 교차하는 점(교차점)에 놓는다. 따라서 최초의 바둑돌 ①을 놓을 수 있는 교차점의 개수는 19×19=361개 이다. 이후, ②를 놓을 수 있는 위치의 개수는 360개이고, ③은 359개, ④는 358개, … 등과 같이 계속하여 놓을 수 있는 위치의 개수가 하나씩 줄어든다. 그리고 마지막 바둑돌을 놓을 수 있는 위치는 딱 한 곳만(1개)이 남는다.   

 

바둑

 

이 모든 과정이 순차적으로 이루어지므로, 바둑을 두는 모든 경우의 수는 이것들을 모두 곱하여 얻을 수 있다. (☞ 본 경우의 수는 대칭·회전으로 같은 형태가 나오는 경우와 사석을 이용한 패싸움 등의 다른 요소들은 고려하지 않았다.) 

 

361! = 361×360×359×358×…×3×2×1

 

이 값을 계산해보면 다음과 같다.

 

 슈퍼컴퓨터 계산1


이 값이 얼마나 큰 자릿수일까?

 

슈퍼컴퓨터 계산2

 

이를 과학적 표기법으로 나타내면 1.4×10768 이며, 769자릿수임을 쉽게 알 수 있다. 

 

 

 


❙슈퍼컴퓨터로 계산하는데 걸리는 시간

 

바둑을 두는 모든 경우의 수 1.4×10768 을 현존 최고의 슈퍼컴퓨터 ‘서밋’으로 계산하는데 얼마만큼의 시간이 필요한지 계산해보자. 조건을 간단하게 설정하기 위해서 바둑을 두는 1회 경우의 수를 1번의 연산이라고 가정하면,

 

슈퍼컴퓨터 계산3

 

 

정확하게 써보면,

 

 슈퍼컴퓨터 계산4

 


❙양자컴퓨터로 계산하는데 걸리는 시간

 

 

 

양자컴퓨터

 

D-Wave 양자컴퓨터 @D-Wave 보도자료

 

최근 슈퍼컴퓨터의 물리적인 한계를 뛰어넘는 미래형 컴퓨터로 각광받고 있는 양자컴퓨터를 이용하면 그 시간이 얼마나 단축될지 계산해보자. 현재 NASA에 설치되어 있는 양자컴퓨터(D-Wave 2000Q)는 슈퍼컴퓨터 ‘서밋’으로 1만 년 걸리는 연산을 단 200초 만에 해결한다고 한다. 이는 ‘서밋’과 비교하면,  10억 5천만(1,576,800,000)배 이상 빠른 속도다.

 

따라서 바둑을 두는 모든 경우의 수 1.4×10768을 현존의 양자컴퓨터로 계산할 때 소요되는 시간은 아래와 같다.

 

 슈퍼컴퓨터 계산5

 

정확하게 써보면,

 

 슈퍼컴퓨터 계산6


결론적으로 현존 최고의 슈퍼컴퓨터나 미래의 양자컴퓨터를 이용하여 바둑을 두는 모든 경우의 수를 구하는 것은 현재 불가능하다. 바로 이 물리적인 성능의 한계로 인한 엄청난 처리시간의 간극을 좁혀준 것이 인공지능 시스템이고 그중 하나가 알파고(AlphaGo)다. 그리고 이 어마무시한 인공지능 시스템과의 대결에서 1승을 한 사람이 이세돌이다!!  ■

 

 

 

 

 

 

 

 

 

[더 알아보기]

이 글에서 소개한 내용은 세계적으로 유명한 Mathematica 소프트웨어로 구현한 것이며, 이는 작가의 홈페이지 수학생각(http://www.mathought.com)의 수학실험실에서 Dynamic한 실험과 조작을 통하여 더욱 즐겁게 관찰할 수 있다. 단, 공개프로그램인 Wolfram CDF Player를 설치하고 데스크탑PC(혹은 노트북)의 Microsoft Internet Explore 환경에서 작동이 가능하다.  


[바로가기]
내 컴퓨터는 1초에 몇 번의 연산이 가능할까?
슈퍼컴퓨터의 작동원리를 일반PC로 구현해보자.
슈퍼컴퓨터도 힘 못 쓰는 계산이 있다?
수학실험실 : 바둑게임(Auto Scoring System)

 

 

 

관련주제가 없습니다.
내과학상자담기  E-MAIL 프린트 RSS
관련 콘텐츠가 없습니다.

나도 한마디 1개의 댓글이 있습니다.

등록하기

목록


내 당근 보러가기

내 뱃지 보러가기

TOP