체스 컴퓨터(엔진)와 체스 인공지능(A.I.) - 3편
안녕하세요 체스인사이드입니다
지난 시간에는 체스 컴퓨터의 작동 방법과 그것이 사람이 체스를 두는 것과 어떤 차이가 있는지에 대해 알아보았습니다. 오늘은 컴퓨터 체스의 작동 원리 통해 컴퓨터가 어떤 약점을 가지는지 알아보겠습니다. 새롭게 등장한 괴물인 체스 인공지능(Artificial Intelligence, A.I.)은 그다음 시간에 다루도록 하겠습니다. 원래는 3편에서 다루려고 했으나 글이 길어졌네요!
체스 컴퓨터는 인간이 더 이상 이길 수 없을 만큼 강력한 실력을 자랑하지만 약점이 없는 것은 아닙니다. 지난 시간에 알려드린 컴퓨터를 상대하는 최고의 전략을 기억하시나요? 그 전략은 다음과 같습니다.
1) 최대한 포지션을 닫아라. 즉, 폰을 교환하지 말아라.
2) 엔드게임(종반전)에서 승부를 봐라.
오늘은 좀 더 자세히 다뤄보도록 하겠습니다. 아래 포지션을 볼까요?
백이 폰을 2개나 앞서고 있는 상황입니다. 컴퓨터는 이 포지션을 어떻게 평가할까요? 아래는 수 읽기=20에서 컴퓨터의 평가입니다. 백이 약 3점 이상 앞서는 것으로 표시되고 있습니다.
하지만, 숙련된 체스 선수라면 지금 포지션은 무승부라는 것을 쉽게 알 수 있습니다. 백이 폰이 2개나 더 가지고 있고 그것도 통과한 폰이지만 흑은 매우 간단하게 수비할 수 있기 때문입니다. 여기에는 어떠한 수 읽기도 필요하지 않습니다. 사람은 체스 경기를 거듭하여 얻은 경험을 하나의 '지식'으로 만들어 기억합니다. 이 지식이라는 것은 경험의 집합체라고 할 수 있습니다. 그럼 사람인 체스 선수가 위 포지션을 평가하기 위해 어떤 지식을 활용할까요? 어떻게 간단하게 포지션을 평가할 수 있는 것일까요?
1. 백의 킹은 흑의 폰들에 막혀서 상대 진영으로 침투할 수 없다.
2. 킹의 지원을 받지 못한 폰 2개는 킹으로 수비할 수 있다.
만약, 백이 통과한 폰 두 개 중 하나를 전진하면 흑은 킹을 이용해서 그 앞을 차지합니다. 다른 폰이 전진해도 결과는 마찬가지입니다. 킹은 두 칸을 왔다 갔다 하면서 백의 폰들을 저지할 수 있습니다. 여기까지 생각이 이르렀다면 사람인 체스 선수는 "비겼다."라는 결론에 도달합니다.
그렇다면, 컴퓨터는 왜 이 포지션이 백이 유리하다고 잘못 평가하는 것일까요? 컴퓨터가 포지션을 평가하는 방법 때문입니다. 앞서 체스 컴퓨터는 일정한 알고리즘을 기반으로 수읽기를 통해 포지션을 평가한다고 말씀드렸습니다. 체스 컴퓨터는 통과한 폰이 2개를 나란히 가지고 있으면 큰 이점으로 판정합니다. (실제로 위 예시처럼 예외적인 상황을 제외하고는 나란히 배치된 통과한 폰 2개는 매우 큰 이점입니다.) 그렇기 때문에 3점에 가까운 점수를 백에게 주는 것입니다.
그런데, 수 읽기 깊이가 20까지 내려가는 동안, 백이 폰을 어느 폰 하나도 전진하지 않는다면 어떻게 될까요? 바꿔 말해서, 백이 폰을 그대로 둔 채로 배치한 채로 킹만 여기저기 움직여 다니면 어떻게 될까요? 흑은 움직일 수 있는 기물이 킹밖에 없으니 당연히 킹을 같이 여기저기 움직여 다닐 것입니다. 그러면 백이 가진 3점이라는 우위가 사라지지 않습니다. 그대로 영원히 지속되는 것입니다. 하지만 체스는 영원히 두는 것을 방지하기 위하여 50수 규칙이라는 것을 가지고 있습니다. 체스 컴퓨터를 만든 사람들도 이것을 모를 리 없습니다. 체스 컴퓨터도 50수 규칙을 알고리즘에 적용해서 포지션 평가를 바꿉니다.
※ 50수 규칙(50 moves rule): 포지션에 유의미한 변화 없이 50수가 진행된 경우에 해당 경기를 무승부로 판정하는 체스 규칙. 유의미한 변화란 기물의 포획(잡힌 기물은 다시 체스보드에 돌아올 수 없기 때문에), 폰의 전진(폰은 한 번 전진하면 후퇴할 수 없기 때문에)을 뜻한다. 유의미한 변화가 발생하면 그다음부터 다시 50수 규칙이 적용된다. 이전까지는 100수 규칙이었으나 50수 규칙으로 변경되었다.
체스닷컴에서 컴퓨터 분석 설정을 수 읽기 깊이=99(무한대)로 바꿔보았습니다.
컴퓨터도 나란히 배치된 2개의 통과한 폰을 유지할 수 없다는 것(50수 규칙에 의해서 폰을 움직이지 않으면 무승부가 되기 때문에)을 수읽기를 통해 파악합니다.
그리고 결국 폰이 앞으로 전진해야 하기 때문에 수읽기 깊이가 50이 된 순간 포지션의 평가 점수가 하락합니다.
같은 방식으로, 백은 1.8점에 가까운 우위를 계속 유지할 수 있지만 50수가 지난 후에는 폰 하나를 내줄 수밖에 없습니다. 그다음 50수가 지나면 다른 폰 하나를 내어주어야 하고, 마지막 50수가 지나면 경기는 50수 규칙에 의하여 무승부로 끝납니다.
따라서, 컴퓨터 엔진의 수 읽기 깊이=200에 도달하면 맨 처음 포지션을 0.00(무승부)으로 평가합니다. 그런데 수읽기 깊이 200이 어느 정도인지 가늠이 되시나요? 지금은 움직일 수 있는 기물이 킹밖에 없으므로 킹이 갈 수 있는 칸을 4개라고 단정해보겠습니다. 수읽기 깊이가 200이라는 말은, 그 가능한 모든 경우를 판단하기 위해 4를 200번 곱해야 합니다. 4는 2의 2승이기 때문에 2를 400번 곱한 것과도 같습니다.
한 장의 종이를 103번 반으로 접으면 930억 광년까지 갈 수 있는 두께가 된다고 합니다. 물론 현실적으로는 불가능한 이야기지만 수학 이론상으로 그렇답니다. (출처: https://zdnet.co.kr/view/?no=20140724183157) 그런데, 그것을 97번 더 반복해야 하니 얼마나 많은 경우의 수가 존재하는지는 사람의 머리로 상상하기 힘듭니다.
그런데 우습지 않나요? 사람인 체스 선수라면 10초면 판단할 수 있는 포지션을 컴퓨터는 왜 그 복잡하고 귀찮은 과정을 다 거쳐야 하는 걸까요? 흔히 사람에게는 '직관'과 '감정'이 존재하기 때문에 '예술' 분야에서 컴퓨터는 인간을 따라잡을 수 없다고 말합니다. 체스에서도 이것이 적용되어서 사람이 컴퓨터와 경쟁할 수 있는 영역이 존재하는 것이 아닐까요?
하지만, 안타깝게도 그 믿음이 하나씩 무너지기 시작합니다. 비단 체스의 영역뿐만이 아닙니다. "컴퓨터가 체스는 이겼을지 몰라도 바둑은 절대 못 이기지!"라고 호언장담했던 바둑이 2016년 무너졌고, 사람의 전유물이라고만 생각했던 예술계도 흔들리기 시작합니다. 바로 인공지능(Artificial Intelligence, A.I.)의 등장입니다.
체스 세계챔피언이 컴퓨터에게 진 후 꼭 20년이 지난 2017년, 구글 딥마인드(Deep Mind)사의 알파제로(AlphaZero)가 등장합니다.
-다음 편에 계속