Baduk

          

바둑 (Baduk) 은 동양의 전략 보드게임이다. 그것은 4000 년전에 중국에서 발명되었으며 단순한 규칙에도 불구하고 아마도 가장 복잡한 보드 게임 (Game) 일 것이다. ..... 인간 전문가 (Expert) 수준의 바둑 프로그램을 개발하려는 많은 노력에도 불구하고 지금까지 실패해 왔다. 많은 사람들은 바둑 프로그래밍이 인공지능 (Artificial Intelligence) 에 있어서 새로운 도전이라고 믿고 있다.  .....

컴퓨터바둑 프로그래머들에게는 어떻게 해서, 무슨 이유로 컴퓨터바둑 프로그래밍이 이토록 어려운지를 이해하는 일이 그들의 전산학, 인공지능학, 기타 관련된 여러 과학들의 수준을 테스트하는 하나의 도전으로 부각되고 있는 것이다. ......... 오랫동안 필자에게 미스터리였던 점은 우리에게도 뛰어난 컴퓨터 과학자들이 많고, 또 그들 중 상당수가 서양인 컴퓨터바둑 프로그래머들과는 비교할 수 없을 정도로 바둑이 세다는 것은 불문가지인데 우리의 컴퓨터바둑 프로그램이 전혀 힘을 쓰지 못하고 있다는 도저히 이해할 수 없는 사실이다. 더구나 바둑 TV 가 하루 종일 방영되고, 하루 종일 컴퓨터 (Computer) 로 바둑을 즐길 수 있는 웹사이트가 10여 군데가 넘고, 또 각 웹사이트마다 동시 접속자 수가 1만 명을 넘기는 마당 아닌가! 컴퓨터와 바둑을 연결짓는 것은 이제 정말 새삼스러운 일이 되고 말았다. 그렇다면, 정말 우째 이런 일이 일어났을까? ......... 바둑이 학문적으로 연구되지 못했다는 점이 결국 정답이리라 믿는다. ...... (박우석 KAIST 철학과 2002)

term   site   paper   english   lab   book  company   demo

체스와 바둑은 명확한 해결 알고리즘 (Algorithm) 을 가지지 않는 "정밀하지 않은 문제 (inexact problems)" 의 좋은 예이다. 인간들은 그 과정을 명확히 설명하지 못하면서도 이러한 문제들을 아주 능숙하게 해결할 수 있다 ...... 바둑은 인간의 사고 (Thinking) 와 새로운 프로그램 기술에 대한 통찰력을 요구하는 아주 새로운 도전대상이다. 바둑에 대한 세계적인 관심이 서서히 대두되는데, 그 이유는 복잡한 정보관리와 의사결정을 연구하는데 체스 (Chess) 보다도 훨씬 더 적당한 게임이기 때문이다.....Bruce Wilcox. 만일 지능 (Intelligence) 을 이해하고자 한다면 바둑은 깊은 탐색 (Search) 를 훨씬 더 필요로 하므로 적당하다. 체스는 깊은 탐색 (deep search) 의 효용성을 다소 잃어 버렸다. 체스는 우리가 생각했던 것 보다 쉽다는 것이 판명되었다..... (Jonathan Schaeffer)

카스파로프와 다른 인간 선수들이 병렬 기법을 이용해 체스를 두는 것은 그럴 만한 이유가 있다. 인간의 뇌 (Brain) 는 1초에 1,000 번 작동할 수 있는 약 1,000 억 개의 뉴런으로 구성되어 있는 병렬 기계이다. 인간 뇌의 바깥층을 구성하는 회백질 ('사고' 뉴런들) 인 여섯 층의 피질에는 약 300 억 개의 뉴런이 놓여 있다. 나머지 700 억 개는 백질 ('연결' 뉴런) 을 이룬다. 이런 대규모의 병렬 배치는 패턴인식 (Pattern Recognition) 하는 데는 뛰어나지만, 탐색 (Search) 같은 순차적 계산은 힘이 부친다. ........ 반면 딥블루는 1초에 약 200 만 수를 조사할 수 있는 480 개의 체스용 프로세서로 이루어져 있다. 이런 구성은 아주 짧은 시간 안에 많은 수를 탐색할 수 있게 한다. 비록 이런 탐색위주의 접근 방식이 이점을 제공하긴 하지만, 그것도 한계가 있다. 상상할 수 있는 가장 강력한 컴퓨터, 말하자면 1 초당 1017 번 처리를 할 수 있는 (이것은 빛이 수소 원자 내부를 가로지르는데 걸리는 시간이다) 컴퓨터가 있다고 해도, 바둑 같은 게임을 하기는 여전히 어렵다. 바둑은 10170 가지의 가능한 수가 있기 때문이다. ....... (Matthew Ginsberg 1998)

Computer Baduk Program : 돌바람   AlphaGo    Go++   GNU Go   Smart Go   The Many Faces of Go