바둑/인공지능
1. 개요
지금까지 사용되었던 바둑프로그램의 인공지능을 요약하면 다음과 같다. 출처는 기사를 참고, 요약했다.
- 1940 ~ 1950년대: 컴퓨터 개발 및 인공지능 연구의 시작.
- 1960 ~ 1970년대: 바둑을 연구하는 과학자 등장, 1969년 알버트 린지(Albert L. Zobrist) 박사는 "A model of visual organization for the game of GO" 논문을 통해 세계 최초로 컴퓨터 바둑 프로그램을 발표했다. 초기 인공지능 바둑은 패턴인식 방식으로 제작되었다.
- 1990 ~ 2000년대: 이전의 인공지능 프로그램은 데이터베이스(DB)를 축적한 후 그 DB를 기반으로 다음 착수점을 찾는 방식이다.
- 1997년: IBM의 딥 블루가 체스 챔피언 가리 카스파로프를 상대로 승리를 거두었다. 이후 장기, 바둑 같은 다른 종목에 대한 연구도 활발히 진행되는 계기가 되었다.
- 2006년 이후: 아마추어 수준에도 미치지 못했던 컴퓨터 바둑은 실반 젤리(Sylvain Gelly), 이자오 왕(Yizao Wang), 아자 황(Aja Huang)에 의해 도입된 몬테 카를로 트리 탐색(MCTS) 방식 "Modification of UCT with Patterns in Monte-Carlo Go"을 통해 비약적 발전을 한다. 최초로 몬테카를로 방식(Monte Carlo method)을 사용한 'MOGO' 라는 프로그램이 2008년 알려졌고, 이전까지 있었던 모든 인공지능바둑 프로그램을 몬테 카를로 방식으로 전환하는 선구적 역할을 했다.
- 2015년 ~ 현재: 하지만 알파고가 등장하면서 다시 한 번 세대교체를 이루었다. 구글 딥마인드 알파고(AlphaGo)의 인공지능 알고리즘은 기존 몬테 카를로 트리 탐색(MCTS) 방식에 컨볼루션 신경망(CNN)과 강화학습을 통한 딥러닝 방식이 적용됐다. 또한, 프로 바둑기사를 상대로 최초로 승리를 따낸 프로그램이라는 타이틀도 획득하였다. 알파고의 등장과 은퇴 이후 다른 AI들도 엄청나게 발전하기 시작해서 2018년 즈음부턴 어느 정도 이름있는 프로그램들은 모두 초일류 프로기사의 수준에 도달했으며, 2019년부턴 어지간한 AI를 상대로 프로바둑기사가 정선으로 이기는게 사실상 거의 불가능 + 최상위권 AI의 경우 세계랭커 프로기사를 3점[1] 접고 이길 정도의 수준이다.
2. 상세
체스에서 인공지능이 이미 오래 전에 인간 플레이어들을 압도하기 시작한 것과는 대조적으로 바둑에서의 인공지능은 2010년대 이전까지만 해도 초보적인 단계에 머물러 있었다. 몰판 항목의 스샷에도 나온 것처럼 1980년대 패미컴으로 개발된 인공지능 바둑 엔진에서 괴이한 수를 연발하는 경우가 많았다.
의외로 북한이 이 분야에서 주요 선진국 중 하나였다. '은별' 바둑이 인공지능 대회에서 우승 전력도 다수 가지고 있을 정도이다. 1990년대 말에는 몇몇 탈북 프로그래머들이 개발해서 화제가 되었다는 '메듀사' 바둑 프로그램도 한동안 인기를 끌었었다. 하지만 대규모 병렬 서버자원을 요구하는 신경망 인공지능 시대가 와서 이제 북한이 바둑 인공지능에 강하다는 이야기도 옛 이야기가 되었다.
바둑의 인공지능이 체스와는 달리 발전이 느린 것에 대해 여러 의견이 있었다. 체스에 비해 경우의 수가 많기 때문이라는 주장[2] 에서부터, 바둑은 동아시아 철학의 결정체기 때문이라는 국뽕스러운 주장, 수치화하기 힘든 부분들(형세판단, 맥)이 존재하기 때문에 힘들다고 보는 견해[3] , 단순히 체스에 비해 바둑 인공지능 개발에 대한 관심과 투자가 부족했기 때문이라는 주장도 있다. 위에서도 말했지만 '''그''' 북한이 한동안 바둑 연구 최첨단을 달리고 있었을 정도로 바둑 인공지능에 대한 투자는 전 세계적으로 주목받지 못하고 있었다. 실제로 2010년대 중반 구글, 페이스북 등 거대 IT 기업들이 바둑 인공지능 연구에 뛰어든 이후부터 급속도로 기력이 증가하게 된다.
그러나 2010년대 중반부터 돈을 쳐바르기 시작했던 이유가 그 전까지는 돈을 쳐발라도 성능이 올라갈 것 같지 않았기 때문이라고 보는 관점도 있다. 이에 따르면 이런 바둑 인공지능의 발전의 열쇠는 신기술이라 할 수 있는 딥러닝이다. 2014년 중후반부터 딥러닝을 이용한 알고리즘으로 이미지 인식/ 음성 인식 등이 비약적으로 정확도가 향상된 것처럼 바둑에서도 딥러닝을 이용해 갑자기 비약적으로 기력이 향상되게 되었다는 것.
이에 페이스북, 구글등의 딥러닝 과학자들이 바둑에 뛰어들었다는 사실을 발표했다. 해당 연구가 계속되고 있는 토론토 대학과 구글 딥마인드의 논문에는 프로 기사들의 착수를 55%까지 예측하여 인간 기준으로 아마 6단 정도 수준까지 가능했고, 기존의 GnuGo 같은 프로그램과 대결했을 때 97%의 승률을 보인다고 한다. 해당 논문. 2016년 1월 26일, 주커버그의 페이스북에 그동안의 연구 진행 결과가 올라왔다. 주커버그 페북 하지만 '''다음 날''' 구글이 알파고가 유럽 바둑 챔피언에 3회 오른 중국 출신 프로기사 판후이 2단을 5:0으로 이긴 사실을 공개해서 페이스북은 묻혔다.(...) 해당 내용은 네이처지에 논문 형태로 게재됐다. 상세한 내용은 알파고, 구글 딥마인드 챌린지 매치 참조.
알파고의 등장 이후 다른 인공지능들도 신경망을 장착함으로써 기력이 급격히 상향되었다. 중국 텐센트의 절예, 일본의 딥젠고 등이 알파고 이후 최상급 프로기사 수준에 도달했다. 대만의 CGI도 굉장히 성장했다. 한국의 돌바람도 약간 뒤쳐졌었으나 2017년 연말 기준으로는 프로기사 수준을 뛰어넘었다.
또한 한큐바둑에서는 절예, 딥젠고, CGI 셋이 18:00부터 나타나서 한국, 중국, 일본의 프로 바둑기사들한테 무한한 좌절감을 안겨주고 있으며, 자기네들끼리도 엄청나게 둔다. 약속이나 한 듯이 다음날 새벽 1시가 되면 절예, 딥젠고, CGI, 그리고 돌바람까지 한꺼번에 접속을 종료한다. 그리고 딥젠고는 특이하게 사이버오로에서 일본 기사와 바둑을 둔다. 사이버오로에서 일본 기사와 두는 시간은 12:00 ~ 16:00. 딥젠고는 사이버오로와 타이젬바둑, 한큐바둑 셋에 다 접속하며, 절예, CGI와 돌바람은 타이젬바둑과 한큐바둑에만 접속한다.
2017년 알파고 제로의 논문이 알려지면서 다시한번 충격을 주었다. 2017년 12월에는 알파고 제로 교육툴이 공개되었다. 이에 더해 2018년에는 여러 오픈 소스 바둑 인공지능들이 등장하면서 프로기사들이 인공지능을 적극적으로 활용해 바둑을 배우는 시대가 되었다. 동시에 2018년부터 한국기원 및 바둑TV와 협약을 맺고 바둑TV 중계에 돌바람이 사용되어 바둑 방송에도 인공지능이 등장했다.
2.1. 바둑의 경우의 수
바둑 경기 진행의 경우의 수는 무한할 수 있지만, 이론적으로 인공지능이 고려해야 되는 바둑의 경우의 수는 '''유한'''하다. 컴퓨터 용어를 사용하여 한 줄로 설명하자면, 인공지능이 고려해야 되는 바둑의 경우의 수는 Finite State Machine(FSM; 유한 상태 기계)의 state 수(319*19) 이지, FSM의 가능한 transition의 수( 192 ! 그리고 바둑알을 잡음으로써 그것을 넘어서 반복)가 아니기 때문이다. 쉽게 말해서 바둑을 둘 때 봐야 하는 것은 지금 바둑판위에 돌이 어찌 놓여있느냐지 그동안 바둑의 진행이 어찌되었냐가 아니라는 것이다. 패때문에 바로 직전의 돌은 어디 둔지가 중요할 수도 있지만 그걸 고려해봐야 (19*19+1)*3(19*19)이 될뿐이다. 조합과 순열의 차이라고 생각하면 쉽다.
이렇게 계산되는 이유는 인공지능은 바둑판의 현재 상태(state) 하나하나를 경우의 수로 계산할 수 있기 때문이다. 바둑판의 격자의 수는 361(=19*19)개이고, 각각의 격자가 가질 수 있는 값은 총 3개이므로 (검정돌, 흰돌, 공백), 바둑의 가능한 경우의 수는 3(19*19)[4] 로 '''유한'''한 것. (패 같은 것을 통하여) 각자의 플레이어가 잡아먹은 돌의 갯수가 변할 수 있지만, 이것은 state에 포함되는 하나의 정수로 처리해버리기 때문에 별도의 경우의 수로 판단되지 않는다. 마치 자연수가 무한하지만 하나의 변수로 표현되고 인식되며, 컴퓨터가 무한한 경우의 수의 자연수의 덧셈을 무한한 방식으로 풀지는 않는 것과 비슷하다고 보면 된다. 실질적으로 인공지능이 고려해야 되는 상태(state)의 수는 더 줄어들 수 있는데, 319*19는 가능한 상태(state)의 상한값이고, 바둑판은 좌우상하 및 점대칭이며, 대칭적으로 동일한 상태들은 제외할 수 있기 때문.
이론적으로 보자면, 인공지능은 이 319*19 (≈10172)가지[5] 의 서로 다른 state에 대해서만 전략을 마련하면 된다. 즉, 총 319*19의 유한한 경우에 대한 알파고의 추천값만 거대한 하드디스크에 저장하고 있으면 알파고와 똑같은 바둑을 둘 수 있다는 이야기.
하지만, 319*19 (≈10172)은 매우 큰 수이고[6] , 이 많은 수를 다 하드디스크에 캐싱할 수는 없으며, 실제 바둑 인공지능은 각 바둑 경기의 상태(state)마다 최적값을 저장하고 있는 방식이 아닌, 현재 상태(state)로부터의 가능한 바둑 경기 진행(transition sequence 또는 next space의 tree)을 검색 공간(search space)로 설정하고 검색 및 계산하는 것으로 알려져 있다. 위키백과의 바둑 항목에서 언급하는 경우의 수는 이 검색 공간의 경우의 수이다. 다시 말하지만 바둑의 경우의 수는 일단 무한대로 근사해도 된다.
패는 바둑 진행의 경우의 수를 많이 늘려주지만, 이론상 인공지능이 고려해야 되는 경우의 수[7] 를 늘려주지는 못한다. 컴퓨터 용어를 사용하자면, 패는 바둑이 FSM 사이의 state를 무한히 돌아다니게 해 줘서 가능한 transition sequence의 갯수를 늘려줄 뿐, state의 수를 늘리지 않기 때문이다. 하지만, 바둑판의 상태(state)를 미리 저장할 수 없고 바둑 경기 진행(transition)을 실시간으로 검색해야 하는 시간 및 현재의 하드 디스크 용량의 한계[8] 때문에, 패가 인공 지능의 시간을 끊임 없이 소모하게 만들 수는 있다.
덧붙이자면, 패와 비슷하게 체스도 두 선수들이 말을 하나도 먹지 않고 말들을 빙빙 돌리며 무한하게 게임을 할 수 있지만, 컴퓨터 입장에서 이러한 행동은 state 사이를 옮겨다니는 transition일 뿐, 새로운 state가 늘어나는 것은 아니다. 그리고 사실 바둑이 319*19의 경우의 수를 가지고 있다고 하여 컴퓨터가 인간을 이기지 못한다는 주장으로까지 이어지는 경우도 있는데, 그 어떤 인간도 319*19을 다 고려하는 경우는 없기 때문에 이런 논리는 신빙성은 없다.
[image]
좀 더 현실적으로 접근한 바둑의 경우의 수는 다음과 같다. (19*19)! 이니 319*19 모두 무한대의 상상할 수 없는 숫자들인데, 실제 바둑에서는 대세점, 절대점 등의 바둑 내용에 따라 두는 꼭 두어야만 하는 착점들이 있기 때문에 이 정도의 경우의 수가 다 나올 수가 없다. 예를 들면 처음 포석 과정에서 화점 주변이나 천원점 근처도 아니고 세력 형성에도 관계없는 전혀 생뚱맞는 곳에 착수를 하는 경우[9] 는 거의 없다고 봐도 되고, 상대방의 특정 돌을 견제하며 공격이나 방어를 할 때도 붙이기, 걸치기, 들여다보기 등 의외로 합리적으로 둘 수 있는 경우의 수[10] 는 그때그때 한정돼있다.
보통 프로 레벨의 바둑에서는 첫수에 10여개의 선택 가능한 착점지가 있으며, 그 후 포석이 마무리되는 단계까지 매 수마다 약 10~30여개의 착점지가 존재한다. 이 착점지의 수가 바둑 초중반을 지나면서 점차 줄어드는데 서로가 최선을 바둑을 두었다고 가정하면 보통 200여 수 까지 진행된다. 프로 수준의 바둑이므로 중반 이후에는 매 수마다 평균적으로 3개의 선택지가 있다고 가정하자. 그러면 프로 레벨에서 나올 수 있는 바둑의 경우의 수는 2400 ≈ 10120 정도가 된다. 그러나 이 정도 경우의 수만 해도 우주 전체의 원자수보다 1040배 만큼이나 많다! 즉, 바둑은 그냥 인간 두뇌 (그리고 현재 컴퓨터의 컴퓨팅 파워 수준에서도) 에서 보면 무한한 경우의 수를 가진다고 보면 된다. (전 70억 인류가 죽을 때까지 100년 동안 하루에 바둑 100판씩 두어도 판수는 대략 2.5X1016, 즉 이렇게 해도 똑같은 바둑은 확률적으로 나올 수가 없다)
3. 주요 바둑 인공지능 프로그램
딥러닝을 탑재한 인공지능은 ☆ 표시.
3.1. 대한민국
- 돌바람☆ - 국내 돌바람네트웍스 대표인 임재범씨가 개발한 프로그램. 제작자가 Zen에 자극을 받아서 만들었다고 밝혔다. 중국에서 열린 세계컴퓨터바둑대회에서 Zen을 꺾고 우승을 차지한 적이 있다. 딥러닝 적용 전까진 추정기력은 아마 5단 수준이었고, 알파고 이후 신경망을 탑재하면서 프로기사 수준까지 올라왔다. 한국 규칙에 적합하게 덤6.5집으로 조정이 가능하다. 2018년에는 여러 바둑 AI 세계대회에 참석하여 오지고에게 1승, 바둑이에게 3패하였다.
- 한돌☆ - NHN엔터테인먼트의 바둑프로그램. 한게임에서 서비스되고 있으며, 2019년 국내 프로기사 5인과 호선으로 대국하여 모두 이겼으나 이는 놀라운 일이 아니다. 그래서 2019년 기준으로 국산 프로그램 중 가장 기력이 높다는 평가도 있으나, 이는 다른 국내 AI와의 대국이 전무하고 바둑 AI 세계대회에 참가한 적이 없기 때문에 객관적인 평가라고 말하기 어렵다. 2019년 8월, 세계 AI 대회에 첫 참가하였다. 4강전에서 중국의 절예에게 패하였으나, 3위 결정전에서 릴라 제로를 상대로 승리함으로서 단숨에 세계적인 바둑 AI의 반열에 올라섰다. 앞으로 한게임 바둑 서비스에 적용될 것으로 발표되었다.
- BaduGI☆ - 고등과학원의 이주영 교수가 만들었으며 2017년 12월 본격적으로 개발에 착수해 2018년 대회에서 돌바람과 비슷한 실력으로 알려진 바둑 프로그램이었으나, 2019년에는 돌바람보다 개선된 모습을 보여주었다. 타이젬에서 LKGO와 접바둑을 할수있다. 참고로 2018년도에 여러 바둑 AI 세계대회에 참석하여 오지고에게 1패 돌바람에게 3승하였다. 2019년 4월에 중국 Fuzhou에서 열린 보소프트컵 세계인공지능바둑대회에서 준우승하였다. 참고로, 2019년 12월18일과 21일에 벌어진 한돌-이세돌 2점 접바둑에서 다른 인공지능은 발견 못한 이세돌9단의 1국 78수와 3국 42수를 이세돌9단이 착점하기 이전에 모두 발견하였으나 크게 주목 받지는 못하였다.
- 오지고☆ - 카카오브레인에서 만든 프로그램. 2018년도 8월에 중국에서 열린 중신증권배에 참가하여 바둑이에게 1승, 돌바람에게 1패하며 6위의 성적을 거두었다. 2018년 10월 프로기사와의 첫 번째 공개 경기에서 완승했으나, 다음달에 두어진 두번째 공개 경기에서 축을 이해못해 불계패하는 바람에 국내에서 개발중인 프로그램 가운데 가장 약한 인공지능이라는 평가도 있지만 바둑이에게 승리해 본 유일한 국내 AI이다. 2019년 현재, 국내 AI 사이의 객관적인 기력 평가는 미지수이다.
- Fungo2000 - 인텔리소프트에서 2000년에 유통한 박용구씨의 바둑 프로그램이다. 1990년대 후반 ~ 2000년대 초 당시 바둑국제대회에 참여한 국내 바둑프로그램이기도 하다.
- 메듀사 - 메두사 항목 참조. 90년대 DB추적방식의 오래된 물건 추정. 이쪽은 정확히 메듀사라고 쓴다. 참고로 메듀사는 정발명으로 원래 해외시장에서는 '햄릿'이라는 제목으로 판매되었다 알려져있음.
- 맥 - 1990년 제1회 한국컴퓨터바둑대회 우승한 지원호씨의 바둑프로그램이다.
3.2. 이외 국가
- AlphaGo☆ - 2016년 첫 등장한 이후로 2020년도까지 최강의 인공지능으로 평가하고 있다. 최초로 프로기사를 맞바둑으로 이긴 인공지능, 최초로 세계랭킹 1등을 이긴 인공지능 등 수많은 최초 기록을 가지고 있다. 자세한 사항은 알파고 및 구글 딥마인드 챌린지 매치, 바둑의 미래 서밋 문서 참조. 2017년 5월, 바둑에서 은퇴해버리고 프로그램 소스가 공개가 안 된 관계로 일반인이 알파고를 바둑 게임으로 접할 일은 요원하다. 또한 알파고는 바둑계를 한바탕 휩쓸고 개발이 이미 오래 전 중단되어 컴퓨터 본체가 해체당했기 때문에 설령 알파고를 뛰어넘는 인공지능이 나온다고 하더라도 그걸 검증할 수단이 없다.(...)
- 은별 시리즈 - 메듀사 다음으로 국내에 가장 잘 알려진 바둑 프로그램으로 북한에서 개발되었다. 인공지능 국제 바둑 대회인 UEC 2009 우승자이기도 하다. 국내에서는 은별 2010을 마지막으로 발매를 하지 않고 있으나 일본에서는 '은성위기'라는 이름으로 2015 버전까지 출시하고 있는 중이다. 참고 북한의 프로그램 개발자는 외화벌이하던중에 제재를 받고있다.#
- ZEN - Zenith Go. 天頂の囲碁 - 2009년, 2011년 컴퓨터 올림피아드 우승자. 2012년에 다케미야 마사키 九단(90년대초 우주류를 유행시킨 다케미야 九단)에게 5점, 4점 접바둑으로 각각 11집, 20집 승을 거둔 바가 있다. 안정적인 실리 위주의 기풍으로 수읽기에 탁월하다는 평가를 받는다. 2013년 3월 제1회 전성전(電聖戦)에서 4점 접바둑으로 이시다 요시오 九단에게 불계패했다. ZEN5의 기력은 타이젬 기준으로 7단 정도이다. 아마 6단이라는 평가도 있다.링크 2016년 6월 기준 ZEN6의 기력은 타이젬 기준으로 강8단 ~ 약9단 정도. 2016년 7월, 19A 버전이 공개되고 조혜연 九단과 속기 대국을 7월 27일에 연다.관련기사 젠이 흑으로 두 점을 놓고 대국했고(백에 덤 0.5집 부여), 조혜연을 1.5집 차이로 이겼다. 참고로 대국에 사용한 버전은 19x 버전이라고 한다. 관련기사 , 이 젠6를 또 개량한 프로그램 딥젠고가 조치훈9단과 대국을 펼첬는데, 11월 19일 1국에서 백을 쥐고 초중반까지 유리한 흐름을 이어가다가 종반에서 어처구니 없는 떡수를 남발하면서 패했다. 다음날 2국에서는 흑으로 공격적인 운영을 하며 대마를 잡아서 완승을 거뒀고, 3국에서는 다시 백을 쥐고 조치훈 9단에게 도전했으나 역시 종반에서 약점을 드러내며 패배를 선언했다. 이 종반 문제가 고질적인 모양인데 2017년 일본에서 열린 바둑월드챔피언십에서 3판 모두 중반까진 우세하다가 종반에서 역전당해 2판을 내주었기 때문. AI가 경우의 수가 줄어드는 후반에 더 강력할 것이라는 선입견을 생각해보면 꽤나 의외인데 딥러닝의 특성상 종반을 학습할 기회자체가 없어서 아무 곳이나 두다가 자멸하는 것일지도 모른다. 이 문제는 알파고의 인터넷 바둑 60연승에서도 제기된 바 있다. 끝내기까지 간 경기는 적지만 알파고가 끝내기에서 손해를 보는 경우가 잦기 때문. 2019년 2월 기준 최신 버전은 ZEN7이다.
- 딥젠고☆: 젠의 개량판으로 CPU만 사용하는 ZEN에 비해 이 쪽은 멀티 GPU를 지원한다. 2017년 월드바둑챔피언십에서는TITAN X GPU를 4개 장착한 하드웨어를 사용했다.#
- 크레이지스톤 Crazystone(최강바둑) - 은별 다음으로 한국에 잘 알려진 상용 바둑 프로그램이다. 2007, 2008 UEC컵 우승자. 제니스, 은성위기와 함께 3대 인공지능으로 평가받고 있다. 특이하게도 실리 위주인 다른 인공지능과는 달리 세력 위주의 힘바둑을 구사한다. ZEN 항목에서 언급한 제1회 전성전에서 같은 조건으로 이시다 九단에게 3집 승리했다. 아마 6단으로 평가된다. 힘바둑 인공지능답게 굉장히 공격적인 바둑을 구사하는 경향이있으며 기력이 약한 사람이 최고레벨 인공지능을 상대로 플레이하면 막기에 급급하다.
- The Many Face of Go - 1980녇대부터 DOS용으로 개발된 이후 지금까지도 명맥을 이어오고 있으며, ZEN 이전의 상용 바둑 인공지능 최강자로 인정받았던 프로그램이다. 2008 컴퓨터 올림피아드 우승자. 김명완 八단에게 7점 접바둑에서 승리한 적이 있다.# 가장 인간에 가까운 바둑을 둔다고 평가받았었다.
- Pachi - 오픈 소스 바둑 인공지능 프로그램. 2015년까지는 Fuego보다 잦은 업데이트를 하며 꾸준한 개선으로 바둑 인공지능계의 신흥 강자로 자리매김하고 있었다. 2015년 4월 Pachi 11 버전이 최근 버전. 특이하게도 매 버전마다 일본의 유명 바둑기사들의 이름을 붙이고 있다. 메이저 프로그램에 비해 떨어지는 기력이지만 개선이 매우 빨라 주목할 만하다. 아마 2단으로 평가된다.
- MoGo - 대만과 프랑스 대학의 협동 연구로 만들어진 몬테 카를로 엔진 기반의 바둑 인공지능 프로그램. 개발자 중 일부가 Crazystone의 개발에 참여한 경력이 있기 때문에 상당히 유사한 기풍을 보인다. 2007 컴퓨터 올림피아드 우승자. 2008년 버전3을 이후로 업데이트가 중단되다시피 했기 때문에 현재는 주류에서 도태되었다. 전형적인 인공지능스러운 수를 두기 때문에 정석으로 두면 상당히 골치 아프다. 최근 바둑 인공지능 개발 추세가 사람에 가까운 수를 두도록 개발되는 거에 비하면 그렇다. 아마 2급으로 평가된다.
- GNU Go - 한때 오픈소스 바둑 인공지능의 최강자였다. 다른 바둑 프로그램의 몬테 카를로 엔진의 도입 이후로는 완전히 비주류로 떨어졌지만. 2003년, 2006년 컴퓨터 올림피아드 우승자. 2009년 3.8 버전이후 업데이트가 이루어지고 있지 않다. 몬테 카를로 엔진이 아니기 때문에 기력은 낮지만 가볍고 연산이 적기 때문에 아직도 낮은 기력의 아마추어에게는 많이 쓰이고 있다. 기풍은 실리 위주의 바둑. 전투에 약한 대신 초반 형세 판단이 좋은 편이다. 아마 5급으로 평가된다.
- Aya - 일본인 프로그래머에 의해 개발되고 있는 프리웨어 바둑 프로그램. 윈도우용으로 개발되었다. 꽤 일찍부터 개발된 바둑 인공지능이였지만 GNU Go에 밀려서 빛을 보지 못했었다. 사실상 업데이트가 정지된 GNU Go와는 달리 아직까지도 꾸준한 업데이트가 이루어지고 있다. 그런데 문제는 지속적인 업데이트에도 불구하고 아직도 GNU Go에게 10~20집 차이로 깨진다. 비교적 균형 잡힌 기풍이지만 세력을 더 추구하는 편이다.
- 릴라(바둑 프로그램)(Leela)☆ - 벨기에의 Gian-Carlo Pascutto가 개발한 무료 바둑 프로그램. 구버전의 경우 형세 판단이 좋지 않았으나, 신경망을 도입한 이후 기력이 급상승했다. 최신 버전인 0.11은 ZEN7에 비해서도 손색 없는 기력을 가지고 있다. 개발자가 0.11 버전 이후 릴라제로 프로젝트에 주력하면서, 개발이 정체 되었다. 기력은 릴라제로에 비하면 많이 약하지만 접바둑용으로는 아직 쓸만하다고 한다.
- 릴라 제로 Leela Zero☆ - 벨기에의 Gian-Carlo Pascutto가 개발한 오픈 소스 바둑 프로그램. 2018년 6월 현재, 개인이 구할 수 있는 바둑 프로그램으로는 최고의 기력을 가지고 있다. 일반인들이 자율적으로 기여하는 분산컴퓨팅 자가대국을 통해 꾸준히 기력을 향상시키고 있는 것이 특징. 최상급 GPU를 갖춘 컴퓨터에서 구동할 경우 딥젠고를 능가하는 기력을 보여주며, 많은 프로 기사들이 스파링용으로 사용한다고 한다.# 2018년 6월 텐센트가 주최한 바둑 인공지능 대회 예선에서 절예 바로 다음 자리를 차지했다. ELF 오픈고나 돌바람, golaxy를 모두 제압했다. 그러나 같은 해 7월에 계속된 8강 Full Tournament에서는 절예, golaxy, ELF 오픈고, AQ에 이어 5위에 그치면서 준결승전 진출에 실패하였다.
- Steenvreter - Erik van der Werf라는 네덜란드 프로그래머가 개발한 몬테 카를로 기반의 바둑 인공지능 프로그램. 비교적 최근에 개발된 프로그램임에도 쟁쟁한 경쟁자들을 물리치고 2011년 컴퓨터 올림피아드 준우승을 차지했다. 사활에 강하다고 한다.
- ELF 오픈고 ☆ - 구글에 대항마인 페이스북에서도 바둑 프로그램을 만들고 있다. 다크 포레스트라는 이름으로, 강한 편이지만 아직 프로기사를 이긴 적은 없다. 2016년 이후 바둑 사이트들에 등장한 바 없다. 알파고가 너무 떠버려서 페이스북 측에서 개발을 포기한 줄 알았지만.....
엘프 오픈고라는 이름으로 갑자기 선보였다.# 사실은 개별의 프로그램을 준비 중이었고 2018년 4월에는 최철한, 박영훈을 비롯한 한국의 탑급 프로 4명과의 테스트 대국에서 20승 무패를 거두었다.
- 절예(绝艺, Jueyi) = 형천(刑天, Xingtian)☆ - 중국의 텐센트 그룹이 개발하는 바둑 AI로 프로기사들 사이에서도 상당한 승률을 보이고 있다. 2016년에는 컴퓨터 프로그램들과 대국하는 UEC 대회에서 결승까지 올라 딥젠고를 격파하고 우승하였다. 영문명은 FineArt. 한큐바둑과 타이젬바둑에서 2017년부터는 거의 전승에 가깝게 프로기사를 발라버린다. 2018년 1월 세계바둑 1인자를 다투는 커제가 절예에게 2점을 접혔음에도 지고 말았다. 가장 강한 버전은 중국 프로기사들에게만 공개되며, 시기가 지난 버전은 한큐바둑을 통해 공개하는데, 현재는 2점 바둑으로도 상당한 연승 행진을 하는 중.
- God moves: 아직 AI라고 확실히 밝혀진바는 없으나 일본의 딥젠고를 상대로 한 수당 약 5초만 쓰고도 3판을 연속으로 이겼기에 AI라고 보는 편이다. 그럼에도 불구하고 전형적인 AI수와는 전혀 다른 패턴을(첫수 천원이라거나) 자주 보여주기에 사람이라는 주장도 가끔 나온다.
- CGI go intelligence☆: 대만의 국립교통대학의 대학생과 대학원생, 교수들이 만드는 인공지능 프로그램. 2017년 갑툭튀해서 각종 인공지능 바둑대회를 쓸어담고 바둑 사이트들에서 인간 프로기사들을 털고 다닌다. 절예처럼 인간 상대 승률이 99%쯤 된다. 그런데 2017년 8월 인공지능 바둑대회에서 딥젠고한테 다 이긴 바둑을 막판에 끝내기에서 손해보면서(?!) 지고말았다.
- golaxy: 중국 청화대에서 개발한 신산자(Abacus)의 업그레이드 판이다. 이후 다른 팀에서 인수해서 개발을 이어가고 있다. 근래의 인공지능 바둑은 승률을 중요시하여 초중반에 유리해지면 물러서는 기풍을 가졌지만 이 인공지능은 집차이를 중요시하기 때문에 유리한 순간에도 계속 강수를 두는 기풍을 가졌다고 한다. 2018년 4월 27일 커제와의 대국에서 149수만에 흑 불계승을 거두는 실력을 선보였다. 2018년 8월 중국 중신증권, 12월 일본 류세이, 2019년 4월 중국 푸저우까지 3연속 대회에서 우승하면서 중국의 절예와 함께 새롭게 강자로 등장한 강인공지능이다.접바둑실력만 따지면 절예보다도 오히려 앞서 현 최고의 실력을 가졌다고 한다.
- AQZ☆ - 2019년 4월 일본에서 프로젝트가 알려졌다.# 일본의 AQ개발자 야마구치 히로시, Raynz을 개발한 기업 트리플아이즈, 도쿄 대학 AI연구소, 일본 최대 규모의 강화학습 규모라는 ABCI, 교육사업기업인 글로비스, 그리고 일본기원 및 일본의 프로 바둑기사까지 공동으로 힘을 합쳤다.[11] 2019년 8월에 열린 중산증권배 인공지능 바둑대회에 첫 출전을 했으나, 8강에서 릴라제로에 패배하면서 기대만큼의 성적을 올리지는 못했다. 결국 단순히 학습량을 늘리는 것만으로는 최고수준의 바둑인공지능이 될수는 없으며, 절예처럼 지속적인 알고리즘의 개선이 포함되어야 한다는 것을 증명해 보였다.
- 카타고☆: 바둑에 특화된 신경망 설계와 개선된 학습 방법을 가지고 있는 인공지능이다. 일본 규칙이나 자유로운 덤 설정 등 많은 이점을 가지고 있다. 뒤늦게 뛰어든 인공지능이라 많이 알려지지 않았지만, 릴라제로나 엘프고를 뛰어넘는 실력으로 인정 받고 있다. 접바둑에 강한 특성으로 바둑유튜버(박정상, 진동규, 조연우 등)들이 컨텐츠로 많이 도전하고 있다.
4. 프로 바둑에 활용
알파고의 논문을 해석하여 2017년 중국의 절예(텐센트), 한국의 돌바람 개량판, 2018년 미국 페이스북의 ELF 오픈고, 벨기에의 릴라 제로등이 쏟아져나오면서, 프로 바둑에서도 인공지능을 활용한 바둑 학습을 하고 있다. 절예는 한큐바둑에서 주요 프로 바둑 대국을 해설하면서 승률 기대치를 표시하는데 아주 정확하다고 평가받고 있다. 그리고 한큐바둑에서 수많은 대국을 소화하는데 프로 바둑기사들이 '''2점'''이나 '''3점'''을 접고도 절예한테 완패하는 상황이 자주 벌어진다.
ELF 오픈고는 한국기원의 프로 바둑기사들이 자주 사용한다. 엘프고도 상당히 정확해진데다 개인용 컴퓨터를 게이밍 컴퓨터 정도의 사양으로 맞춰놓으면 승률 그래프를 아주 잘 알 수 있게 설명하기 때문이다. 기사
돌바람은 한국기원 바둑TV의 중계에 활용되고 있다. 바둑 대국이 활용될 때마다 실시간 승률그래프 변동치로 보여준다.
강한 인공지능이 쏟아져나오면서 프로 바둑기사들의 대국을 전면적으로 재검토하는 데에 활용되고 있다.기사 학습을 하면 할수록 강해지기 때문에 프로들도 실력이 늘어나는 상대와 매일매일 싸움으로써 더 강해진다. 커제는 이에 불만을 표했는데 "다들 ai스타일로 두니 이제는 쉽지 않다"고.
5. 인공지능이랑 대국하기
다수의 주요 인공지능들은 프로기사한테만 공개하거나 일반인이 설치하기 어렵지만, 가정용 컴퓨터로도 인공지능과의 바둑을 둘 수 있는 방법이 있다!
릴라나 카타고, ELF 오픈고, 미니고 같은 오픈소스 인공지능 프로그램들이 그 주인공. 방법을 요약하면 다음과 같다.
- 링크에 들어가서 통합설치팩을 다운받고 실행.
- 안내에 따라 설치한다. 여기서 중저사양 컴퓨터의 경우 cmd창에서 시간이 걸리는 경우가 있는데, cmd창에서 꺼버리면 제대로 설치되지 않으므로 인내를 갖고 기다리자.
- 사용하는 그래픽카드에 따라 번호를 입력하라는 문구가 나오면 맞게 입력하자. 어지간한 구형 그래픽카드가 아니면 CUDA 3.5버전은 넘는 경우가 많다.
- 바탕화면에 바둑프로그램 이라는 폴더가 생성되면 완료된다. 폴더 안에 Sabaki라는 파일을 실행해서 우하단 '≡' 모양을 클릭해서 대국정보로 들어가 양 옆의 'v'를 클릭하면 설치된 인공지능 목록이 나온다. 이때 인공지능이랑 둘 수도 있고, 인공지능끼리 붙여서 팝콘을 먹으며 구경할 수도 있다.
- 그래픽카드의 성능에 따라 영향을 받는다. 과거 채굴기 사건이 이슈가 되었을 때 암호화폐 채굴에 계산 성능이 우수한 그래픽카드를 사용했듯이 여기서도 인공지능에 그래픽카드의 연산 성능을 사용한다. 그래서 같은 인공지능에 같은 상황이어도 그래픽카드의 사양에 따라 다른 수를 두는 것도 보인다.
- 축과 패, 수상전, 사활에 약하다. 특히 축의 경우 제로계열의 인공지능의 고질적인 문제인데, 안되는 축을 나가다가 몰살당하거나, 축머리를 못 보고 바둑이 망하는 경우가 비일비재하게 나온다. 그나마 릴라[12] 의 경우 데이터가 좀 쌓여있어 축이나 사활에 조금 나은 모습을 보이지만, 이쪽도 패를 하다 말고 다른 데를 두거나 이길 수 없는 수상전 싸움을 거는 등의 상황이 가끔 나온다. 이는 대국을 두고난 후 GoReviewPartner로 복기할 때에도 마찬가지.
대체로 엘프고, 미니고, 릴라제로 쪽이 전체적인 판짜기 능력과 계가 능력이 우수하지만, 축과 국소적인 수읽기 등 유동적인 면에서는 릴라가 우수한 모습을 보인다.
그 외에 소소한 단점으로 계가 시스템이 다소 좋지 못하다. 대부분의 인터넷 바둑에서는 나름 괜찮은 계가 알고리즘을 갖고 있지만, 이쪽은 인공지능이 직접 하거나 내장된 알고리즘을 쓰는 방식으로 보여지고, 그 알고리즘이 부정확하다. 옥집을 구분하지 못해 잡았던 돌들이 살아나는 경우는 예사에 경계선이 무조건 확정되어야 집으로 계산하는 것도 꽤 불편하다.
축 오류는 절예 등의 최상위 인공지능도 드물게나마 겪고 있는 현상이라고 하며 수많은 학자들과 프로기사들이 왜 수천만번을 반복해도 인간은 거의 실수하지 않는 축과 수상전, 패에서 오류가 나는 것인지 상당한 의문과 함께 연구하고 있다고 한다.
6. 인공지능 프로그램의 폐해
인공지능을 악용한 치트 플레이에 관한 서술.
6.1. 온라인 바둑
요즘엔 온라인 바둑게임에서 인공지능 프로그램을 이용하여 플레이하는 사람들이 속출하고 있다.
바둑 갤러리를 중심으로 급속히 젠이라는 인공지능 프로그램이 유포 되었으며 컴퓨터에 기본으로 깔려있는 바둑게임을 최고 난도로 맞추고 상대의 놓는 위치를 내가 따라하면 알아서 이겨준다. 통칭 '''젠자황 박사 모드'''(또는 젠충이짓). 이걸로 하루만에 고랭크찍는 유저도 나오는 중이다. 하지만 그래봐야 온라인 바둑 중저단 수준이다. 온라인 바둑 5단 이상이 천지라 과연 고랭크라고 할 수 있을지 의문... 하지만 이건 기존 몬테 카를로 기반의 알고리즘을 사용할 때 그렇다는 거고 상술한 알파고와 같은 인공신경망 기반의 알고리즘이 공개될 경우...더 이상의 자세한 설명은 생략한다. 물론 알파고급은 아직까지 일반 PC로 돌릴 수 있는 수준이 아니기에 먼 이야기이다.[13] 허나, 오픈소스로 알파고와 비슷한 알고리즘을 PC에서 구현해보려는 움직임이 있긴 하다. 알파고 역시 클라우드 컴퓨팅으로 온라인 어플리케이션화 하면 충분히 가능한 레벨이긴 하다.
이미 AI가 인간을 뛰어넘은 지 한참 된 체스계에서는 예전부터 쭉 있어왔던 문제로, 세계 체스 챔피언보다 AI의 Elo 레이팅이 몇백점 가량 앞설 정도로 AI가 강해진데다 그런 프로그램을 슈퍼컴퓨터 수준의 하드웨어가 아닌 일반 가정의 PC로도 구현이 가능할 정도까지 온 상황에서 굉장히 골머리를 앓아왔다. 결국 중요한 건 이러한 변칙적 플레이를 배제할 수 있는 플레이어의 양심이다. 체스같은 경우는 이미 스마트폰으로 보고 대리대국을 하다가 부정행위로 적발되어 영구제명을 먹은 체스 프로들이 여럿 있다.
오토를 사용하는 고랩들로 MMORPG들이 몸살을 앓고 있는 것처럼, 봇 프로그램이 바둑까지 번져 버린다면, 사람들이 바둑에 급격히 흥미를 잃게 될 수도 있다. 이 때문에 일부는 기원들이 수혜를 볼 것이라 이야기하기도 하지만 글쎄...?
그러다보니 한술 더떠서 누구의 인공지능이 더 쎈지[14] 테스트 차원에서 온라인 대국을 하는 경우도 생겨나고 잇다.
6.2. 공식 대회
오래 전 부터 오프라인에서 실시하는 바둑 대회에서 휴대폰 소지를 금지했었는데, 당시에는 대국중 전화벨 (또는 알람)이 울려서 경기에 방해하는 것을 방지하는 것이 목적이었다. 한국의 규정은 소지 자체를 금지하진 않지만, 대국장에서 벨이나 진동이 1회 울리면 경고, 2회 울리거나 통화를 하면 반칙패로 처리한다고 한다.
그런데, 시대가 바뀌면서 다른 이유로 휴대폰 이용을 금지하게 된다. 스마트폰의 성능이 향상되고, 이를 이용하여 부정을 저지르는 사례가 계속 나타났기 때문이다. 휴식시간 (식사시간, 화장실, 담배 등)에 잠시 나가서 스마트폰 프로그램으로 확인하고 돌아와서 대국을 이어하는 경우가 발생했다. 관련기사
체스와 쇼기에서 먼저 이슈가 되었고, 바둑에서도 의심 사례가 등장하였다. 2015년에는 그루지아 출신 체스 챔피언인 가이오즈 니갈리제가 화장실에서 스마트폰을 이용하다가 적발되는 사례가 발생했다. 혐의가 인정되어, 세계체스연맹(FIDE) 에서는 3년간 출전 금지 및 그랜드마스터 타이틀 박탈이란 징계를 내렸다. 관련기사 FIDE 공식 발표. 2016년에는 10월에는 일본의 장기(쇼기) 의 정상급 기사인 미우라 히로유키(三浦弘行) 9단이 휴식시간에 스마트폰 앱을 사용한 것으로 추정되는 의혹이 발생했다. 이에 대해서, 연맹은 정해진 날짜까지 출전하지 않겠다는 서류를 제출하라고 요구했고, 이에 응하지 않자 미우라 9단에게 2016년 12월31일까지 출장정지 처분을 내렸다. 미우라 9단은 변호사와 상담하여 대응을 결정하겠다고 밝혔다. 관련기사 결과적으로는 무죄가 확정되었지만 이 기간 동안 일본쇼기협회의 무능한 대응이 일을 키운 꼴이 되어 여러 프로 기사들도 덩달아 화를 입었다. 결국 당시 쇼기협회 회장이던 타니가와 코지(谷川浩司) 이하 운영진 다수가 사퇴하는 결말에 이르러 한동안 쇼기계의 분위기는 뒤숭숭해졌다. 결국 이듬해 순위전 A급은 당시 제명당했던 미우라를 복귀시키는 것과 동시에 B급 1조에서 원래 올라오는 1,2위가 포함된 11명으로 운영되었다.
[image]
2018년 4월 중국의 한 바둑 대회에서, 어느 기사가 가슴 주머니에 스마트폰을 넣고, 헤드폰을 낀 상태로 대국을 하였다. 스마트폰 프로그램 (또는 제3자의 도움)이 의심되는 상황이었는데, 심판이 이를 발견하여 경고를 준 후, 스마트폰을 치우게 했다. 그랬더니 당연하게도 기력이 급락했다고 한다. 관련게시물
2020년 1월 14일 한국기원 주최로 열린 제145회 입단대회에서 바둑 인공지능을 사용한 부정행위자가 적발되었다. 한국바둑 역사상 최초로 바둑 인공지능에 의한 불미스러운 일이 발생한 케이스. 외투 단추에 카메라를 달아 외부에 있는 조력자에게 대국상황을 알리고, 붕대로 감은 귀에 낀 무선 이어폰을 통해 인공지능으로 돌린 착점을 전달받는 형식으로 부정행위를 저질렀다고 한다. 당시 입단대회 심판을 맡고있던 프로기사겸 인터넷 방송인 프로연우(조연우)에게 어느 입단대회 참가자가 제보를 했고 유심히 모니터링을 해보니 수상한 부분이 너무나도 많아 본선 64강 두 번째 대국을 중단시키고 철저히 살펴보는 과정에서 전자기기들이 나왔다고. 조연우 프로가 본인 유튜브에 당시 상황에 대한 자세한 상황을 설명하는 영상을 올리기도 했으니 참고하자.
부정행위로 걸린 참가자는 실격처리 되었고 한국기원 주최의 바둑관련 대회나 행사에 무조건 참가할 수 없는 영구제명 확정이나 마찬가지인 상황이며, 한국기원 명의로 경찰에 입단대회 업부방해 혐의로 고발까지 된 상태다. 그리고 이 사건을 계기로 한국에서 열리는 프로 및 아마추어 대회에서 바둑 인공지능으로 부정행위를 사전에 차단하기 위한 새로운 규칙의 신설이나 감시활동이 강화되었다. 우선적으로 대국이 중단된 다음날 기원 측에서 금속 탐지기를 급히 공수해 참가 기사들 모두의 전자기기 소지여부를 검사했다.
결국 이 부정행위자는 재판에 넘겨진 끝에 2020년 7월 15일 서울동부지방법원 형사11단독 박정길 판사에 의해 위계에 의한 업무방해(형법 제314조)죄로 징역 1년을 선고받고 감옥에 들어갔다. 인공지능 프로그램을 돌려준 조력자는 징역 1년에 집행유예 2년 + 120시간의 사회봉사를 명령받았다. 사실상 바둑 인공지능을 이용하다 법적 처벌을 받은 세계 최초의 사례라도 봐도 무방하다. 기사
이후 온라인으로 진행된 ORO 국수전 2020에서 김은지(2007)의 치팅이 확인되자 한국기원 에선 이제 와서야 부랴부랴 자격 정지 3년 또는 제명 징계란 조항을 신설했다. 그러나 이 사태를 일으킨 원흉은 위 조항이 소급적용되지 않아 종전에 구식으로 남아있던 조항인 조언 및 대리금지 위반으로 1년 정지만 받았다. 사례가 있었음에도 관련제도를 정비하지 않은 한국기원의 안일함이 드러난 셈이고 인공지능 치팅에 대한 심각성이 수면 위로 드러난 예시이다.
[1] 정확히는 흑이 돌을 깔고 백이 덤 6.5집을 가져가는 방식이므로, 정식 접바둑은 아니다. 알파고 제로를 모방한 프로그램에게 변화된 덤을 인식하게 하는 것이 어렵기 때문에 이런 방식으로 둔다. 석점 접고 6.5집 덤을 내는 것은 실제 치수로는 2.2점 정도로 보는 듯.[2] 이는 어느 정도는 사실이다. 이미 9x9 바둑에서는 2009년 FUZZ IEEE 2009에서 Fuego가 대만의 저우쥔쉰(Zhou JunXun, 周俊勳) 九단에게 이긴 바가 있다.[3] 이런 주장은 '그럼 인간은 어떻게 그 부분을 처리하는가?', '실제로 수치화가 불가능한가?' 등의 질문에 답을 하지 못하는 맹점이 있다.[4] 좀 더 정확하게 정의하자면, 바둑에서 패는 연속으로 따먹지 못한다는 규칙으로 인하여 경우의 수가 (19*19+1)*3(19*19)까지 늘어날 수 있다.[5] 사실은 이 중에 약 99%는 착수금지에 걸리므로 실제론 2.08*10^170 가지만 고려하면 된다.[6] 사실상 무한대의 수이다. 참고로 10^80이 관측 가능한 전 우주의 원자수라고 추정하고 있다.[7] state의 수[8] 인공 지능의 한계가 아니다.[9] 예를 들어 느닷없이 사망선(1선) 위에 착수한다든지...[10] 다만 이 '합리적'이라는 표현은 현대 바둑에서 기사들에 의해 가장 효율적이라고 생각되는 수를 지칭하므로, 실제로 확률상 가장 좋은 수인지는 알 수 없다. 수 천년간 경험적으로 체득해온 수들일 뿐... 알파고도 이세돌과의 대국 때 (몇수, 몇십수 앞을 본 의도한 수인지 떡수인지는 알 수 없지만) 일반적인 바둑 통념으로는 악수로 보이는 뜬금없는 수들을 많이 보여줬다.[11] 최근 일본 AI바둑은 협업으로 움직이는 것을 보아서 한국기원에서도 변화를 주거나 각성 해야될 시사점을 주었다. 예를들어 국내 개발자의 협업과 교류를 늘리거나 대회를 개최해야 할듯. 국내 AI개발자들도 자주 어울려 함께 발전하고 싶다고 한다.[12] 릴라 제로나 릴라마스터가 아닌 그냥 릴라[13] 사실 그렇게까지 먼 이야기도 아니다. 딥러닝특성상 학습과정에는 고성능 컴퓨터가 필요하지만 실행에는 훨씬 낮은수준의 컴퓨터로도 잘 작동한다. 또한 알파고문서를 보면 알겠지만 최신버전의 알파고는 알고리즘이 점점 개선되면서 초창기 알파고와는 비교할수 없을정도로 컴퓨팅자원을 적게 소모한다.[14] 릴라제로의 경우 오픈소스이고 기보학습을 통해 가치망을 커스터마이징할수가 있고 거기에 컴퓨터사양도 제각각 이기때문에 여러가지 테스트가 가능하다.