아서 사무엘 (사진=IBM)
아서 사무엘 (사진=IBM)

1956년 초 어느 날, IBM 설립자이자 회장인 토마스 왓슨은 체커 프로그램이 공개되면 IBM의 주가가 15포인트 상승할 것이라고 예견했는데, 실제 그렇게 됐다. 이후에도 IBM은 몇차례에 걸쳐 인간과 게임하는 프로그램을 선보였고, 그때마다 주가가 상승했다. 그 첫번째 사례가 아서 사무엘이 만든 체커를 둘 수 있는 컴퓨터 프로그램이었고, 1956년 2월24일 TV를 통해 공개됐다.

체커(Checkers)는 체스와 같은 보드게임의 일종이다. 다양한 경기 규칙이 있지만 미국식 규칙은 8x8의 말판에 각각 12개인 흑과 백의 말로 경기를 시작한다. 말들은 대각선 방향으로 전진하는데, 그 방향에 상대의 말이 있으면 그 말을 쓰러뜨리는 방식으로 진행된다. 상대 말판 끝까지 전진한 말은 전전과 후진이 모두 가능하며, 상대의 말을 모두 없애면 이긴다. 이러한 체커 게임을 컴퓨터로 구현하려 한 사람들은 여럿 있었으며, 아서 사무엘(Arthur Samuel)도 그중 하나였다.

아서 사무엘은 MIT 대학에서 전기공학 석사학위를 받은 후, 1928년 벨 연구소에 합류해 제2차 세계대전 기간에는 레이더 성능 향상을 포함한 진공관 연구에 몰두했다. 전쟁 후인 1946년에 일리노이 대학에서 교수직을 맡으며, 폰 노이만의 IAS 기반 컴퓨터를 개발하는 프로젝트 ‘일리악(ILLIAC)’의 토대를 마련했다. 당시 컴퓨터 개발 자금이 턱없이 모자라, 사무엘은 자금 확보를 위해 사람들의 주목을 끌려는 방편으로 체커 게임 컴퓨터 아이디어를 내게 됐다. 체스가 아닌 체커를 선택한 이유는 상대적으로 단순한 게임이라 프로그램을 구현하기 쉬웠기 때문일 것이다. 그 과정에서 사무엘은 제대로 된 컴퓨터를 접할 수 있는 환경이었던 IBM에서 일하기 원했고, IBM은 컴퓨터에서 문제를 많이 일으키는 부속품인 진공관에 대한 전문가를 원하는 등 입장이 맞아떨어지며 1949년 IBM에 입사하게 됐다.

인간 체스 챔피언을 이긴 딥블루와 퀴즈쇼 제퍼디에서 인간 챔피언을 이긴 왓슨 등 AI 중요 역사마다 등장하는 기업 IBM은 천공카드 시스템을 이용해 통계 처리하는 기계를 개발한 허먼 홀러리스의 태뷸레이팅 머신 컴퍼니로 시작했다. 7~8년 걸리던 미국 인구조사 작업을 3년 이내로 단축한 천공카드 시스템 회사를 기반으로 상업용 저울과 산업용 시간 기록기 기업을 합병했다. 경영 부진에 빠진 1914년, 토마스 왓슨이 합류하고 사장이 되며 회사 사정이 빠르게 나아지고 국제적 선두 기업으로 발전하게 됐다. 1924년 회사 이름이 IBM으로 바뀌고 사무용 기기 위주로 사업을 해오다가, 1940년대부터 컴퓨터 사업에 뛰어들었다.

특히 자금과 개발 및 제작을 지원한 하버드 마크 1의 에이킨에게 분노한 왓슨이 본격적으로 컴퓨터 개발에 뛰어든 이야기는 앞서 소개했다. 1940년대부터 계산기계를 개발한 IBM은 1952년에 진공관 기반의 최초 상업용 컴퓨터인 ‘IBM 701’을 출시하고 1956년에는 하드디스크를 장착한 모델을 발표하는 등 상업용 컴퓨터 시장을 주도해 나갔다.

당시 IBM의 분위기는 컴퓨터 개발 업무를 원하던 사무엘의 기대에 잘 맞았다. IBM에서 사무엘은 연구팀을 관리하기도 하고, 컴퓨터 개발에 진공관 대신 트랜지스터를 사용하는 초기 연구에도 기여했다. 또 비엔나와 취리히에서 IBM 유럽 연구소 설립 업무를 맡으며, 유럽의 컴퓨터 개발 상황을 미국 IBM팀에게 조언하는 업무를 했는데, 개인적으로 체커 프로그램 개발도 진행했다. IBM의 직원으로 미국과 유럽의 컴퓨터 관련 연구소의 과학자들과 만날 때 그의 체커 프로그램은 대화를 끌어내기 좋은 주제였고, 어느새 사무엘과 체커 프로그램은 과학자들 사이에 꽤 유명해졌다.

그런데 사실, 사무엘은 체커 게임을 거의 즐기지 않아 실력은 신통치 않았다. 프로그램이 좀 더 효율적으로 작동하도록, 즉 승률이 높아지도록 프로그램하기 위해 체커 게임 관련 서적을 보며 참고했는데, 그것으로는 충분하지 않았다. 또 체커 고수들을 초빙해서 체커 프로그램의 로직에 대해 도움을 받고자 했으나, 그 역시 크게 도움이 되지 않았다. 이 과정에서 사무엘은 인간의 뇌와 컴퓨터는 큰 차이점이 있기 때문에 좋은 체커 프로그램을 만들기 위해 꼭 사람이 생각하는 방식을 구현할 필요는 없다는 생각을 갖게 됐다.

그의 체커 프로그램의 구상은 오래 진행됐으나, 본격으로 프로그램 작업을 시작한 것은 'IBM 701'이 출시된 1952년부터였으며 1954년에 일차적으로 완성됐다. 그러나 당시의 IBM 701 컴퓨터는 체커 프로그램에서의 모든 탐색 트리를 평가할 만큼의 충분한 메모리 용량을 갖추지 못했다. 그래서 사무엘은 또 다른 탐색법을 사용해야 했는데 그것이 ‘휴리스틱 탐색(Heuristic Search)’이다. 또 초기 형태의 머신러닝 알고리즘을 도입해 이전에 경기했던 수를 기억하고, 그 수로부터 학습하고, 휴리스틱 탐색을 하는 구조의 프로그램을 1955년에 완성했고, 일반인 상대로 충분히 게임을 진행할 수준이 되자 1956년 TV에서 시연했던 것이다.

앞서, 체스나 바둑 같이 상대가 있는 게임은 기본적으로 미로 찾기와 같은 탐색을 통해 답을 찾지만, 모든 경우를 고려해서 탐색트리를 만들면 천문학적인 숫자의 경우가 나오게 되며 초기 컴퓨터들로는 끝까지 탐색하기가 쉽지 않았다고 말한 바 있다. 이렇게 문제 해결을 위한 탐색 과정에서 가능한 경우가 폭발적으로 증가하는 상황을 ‘조합 폭발(Combinatorial explosion)’이라고 하는데, 체스나 바둑은 현대 컴퓨터로도 전체를 모두 탐색하기 쉽지 않다. 그래서 연구자들은 좀 더 효율적인 탐색 기법을 찾았고, 탐색의 양을 크게 줄이는 방법들을 제시하기도 했다. 

특히 모든 상태를 검토하지 않고도 평가가 목적한 바에 더 가까울 수 있을 가능성을 계산하는 휴리스틱 탐색이 도입되며, 전체 계산의 효율도 높이고 좋은 결과를 얻어낼 수도 있게 됐다. 휴리스틱이란 ‘발견법’ 또는 ‘경험법칙’이라고 번역되는데, 충분하지 않은 시간이나 정보로 인해 합리적인 판단을 하기 어려운 경우나 굳이 체계적이면서 합리적인 판단이 필요하지 않은 상황에서 사용하는 간편 추론의 한 방법이다. 한마디로 '어림짐작' 정도의 의미다.

사무엘의 체커 프로그램의 핵심 중 하나는 말이 놓이는 위치에 대한 평가를 통해 현재 위치로부터 탐색을 예견하는 것이었다. 이는 현재의 휴리스틱 탐색과 비슷한 방법으로, 탐색가지를 확장해서 탐색을 더 할 것인지 아니면 그 가지의 탐색을 중단할 것인지 판단하기 위해 점수를 매기고 평가를 하는 알고리즘을 구현한 것이었다. 휴리스틱 탐색은 최초로 공개된 AI 프로그램인 논리연산 이론가에도 활용됐지만, 최초의 적용 대상은 사무엘의 체커 프로그램이었다.

이렇게 당시의 연구자들은 길 찾기나 게임, 연산 수식의 증명과 같은 사람들이 지능을 활용해서 할 수 있는 문제풀이를 컴퓨터에서 탐색과 평가를 바탕으로 구현하려고 노력했다. 그 과정에서 기본적인 접근으로 트리탐색을 적용했고, 좀 더 복잡한 문제에서 컴퓨터 성능의 제한으로 한계로 부딪히자, 탐색량을 줄일 방법으로 휴리스틱 탐색을 도입했다. 또 탐색 결과의 평가에 '미니맥스(Minimax)'나 '알파-베타 가지치기(Alpha-beta pruning)' 등 알고리즘을 적용해 나가며 전체 연산의 효율도 높이고 좋은 결과를 얻어낼 수 있게 됐다. 

아직 인공지능(AI)이라는 용어가 만들어지기 전이었지만, 연구자들의 이런 노력은 바로 그 시기에 AI가 등장할 토양을 만들어 줬다.

문병성 싸이텍 이사 moonux@gmail.com

관련기사
저작권자 © AI타임스 무단전재 및 재배포, AI학습 및 활용 금지