체스
한국어

체스 › 체스 알아보기 ›

컴퓨터 체스: 딥 블루에서 Stockfish, 그리고 AI까지

컴퓨터는 어떻게 체스를 둘까, 딥 블루는 어떻게 카스파로프를 이겼을까, 그리고 지금의 엔진은 왜 사람이 이길 수 없을 만큼 셀까.

다른 이름:Computer chess、Chess engine、체스 엔진、딥 블루、Deep Blue、Stockfish、AlphaZero

이제는 휴대폰으로 세계 챔피언보다 센 컴퓨터와 체스를 둘 수 있어요. 하지만 몇십 년 전만 해도 이건 과학자들의 꿈이었어요. 이 글에서는 최초의 종이 위 프로그램부터 딥 블루, Stockfish, AI까지 따라가 보고, 이 사이트의 컴퓨터 상대가 어디서 왔는지도 설명해요. 먼저 컴퓨터와 겨뤄 보고 싶다면 바로 온라인 체스 무료 플레이를 해 보세요.

종이 위의 프로그램에서 시작

1950년, 미국의 수학자 섀넌이 '컴퓨터에게 체스를 두게 하려면 어떻게 해야 할까'를 처음으로 진지하게 다룬 논문을 발표했어요. 그의 아이디어는 가능한 모든 수를 몇 수 앞까지 읽고, 각 국면에 점수를 매긴 다음, 점수가 가장 좋은 수를 고르는 거였어요. 이 생각은 지금도 컴퓨터 체스의 기초예요.

비슷한 시기에 영국의 수학자 튜링도 체스 프로그램을 다 써 두었어요. 그런데 당시 컴퓨터로는 돌릴 수가 없어서, 직접 종이와 연필로 프로그램대로 한 수씩 계산했어요. 한 수에 30분 가까이 걸리는 일도 흔했대요.

딥 블루, 세계 챔피언을 이기다

IBM의 딥 블루(Deep Blue)는 체스만을 위해 만든 컴퓨터예요. 1996년 처음으로 세계 챔피언 카스파로프에게 도전해 한 판은 이겼지만, 전체 경기는 2 대 4로 졌어요. 1997년 업그레이드한 딥 블루는 재대결에서 3.5 대 2.5로 이겼어요. 정식 대국 시리즈에서 컴퓨터가 현역 세계 챔피언을 꺾은 건 이때가 처음이에요.

승부를 가른 6국에서 흑을 잡은 카스파로프는 카로-칸 디펜스를 뒀는데, 7수째에서 수순을 잘못 뒀어요.

흑은 h6으로 나이트를 쫓아내려 했지만, 딥 블루는 나이트를 e6으로 그냥 던졌어요. 흑 킹은 중앙에 갇혀서 다시는 캐슬링할 기회가 없어요.

이 나이트 희생은 오프닝 이론에서 이미 연구된 수였어요. 흑이 수순을 틀리면 백은 나이트 하나를 주고 오래 이어지는 공격을 얻을 수 있어요. 흑은 나이트 하나를 더 가졌지만 킹이 계속 시달렸고, 겨우 19수 만에 기권했어요.

카스파로프는 여기서 기권했어요. 백의 퀸, 룩, 비숍이 모두 흑 킹을 노리고, 흑 나이트는 언제든 잡힐 처지예요.

컴퓨터는 어떻게 체스를 둘까

앞을 읽기: 탐색

컴퓨터는 '내가 이 수를 두고, 상대가 저 수로 받고, 내가 다시 두고……'를 전부 늘어놓아요. 점점 가지를 뻗어 가는 나무 같아요. 좋은 엔진은 뻔히 나쁜 가지를 먼저 쳐내고 가능성 있는 수에 시간을 써서, 1초에 수천만 개의 국면을 살펴볼 수 있어요.

점수 매기기: 평가

어느 깊이까지 읽으면 멈추고 그 국면에 점수를 매겨요. 누구 기물이 더 많은지, 킹은 안전한지, 폰 구조는 좋은지, 기물이 잘 움직이는지. 점수는 보통 '폰'을 단위로 써서, +1이면 백이 폰 하나쯤 우세하다는 뜻이에요.

답을 외워 두기: 테이블베이스

보드에 기물이 일곱 개 이하로 남으면 컴퓨터는 계산할 필요가 없어요. 모든 국면의 결과를 이미 계산해서 데이터베이스로 저장해 두었거든요. 이걸 테이블베이스라고 해요. 이 사이트의 엔드게임 글에 나오는 승패도 테이블베이스로 확인했어요.

AlphaZero와 신경망

2017년, DeepMind의 AlphaZero는 규칙만 알고 자기 자신과 수백만 판을 둬서, 몇 시간 만에 당시 최강 엔진을 넘어섰어요. 100판 대결에서 28승 72무, 한 판도 지지 않았어요.

AlphaZero의 기풍은 사람과 무척 닮았어요. 멀리 내다보고 기물을 희생하는 걸 망설이지 않고, 기물을 활발한 자리에 두는 걸 좋아해요. 그 뒤 오픈소스인 Leela Chess Zero가 같은 방법으로 다시 만들어져서, 누구나 쓸 수 있게 됐어요.

Stockfish: 지금 가장 강한 엔진

Stockfish는 무료 오픈소스 엔진으로, 전 세계 자원봉사자들이 함께 다듬고 있어요. 2020년부터는 기존 탐색에 더해 작은 신경망으로 국면을 평가하면서 더 강해졌어요. 지금은 컴퓨터끼리 겨루는 대회의 단골 우승자이고, 그 실력은 어떤 사람 플레이어보다도 훨씬 위예요.

사람처럼 두는 AI: Maia

가장 강한 엔진은 초보자에게는 별 도움이 안 돼요. 너무 세기도 하고, 일부러 봐주면 사람이라면 두지 않을 이상한 수를 두거든요. 토론토 대학교 연구팀이 만든 Maia는 사람의 대국을 대량으로 학습했는데, 목표는 이기는 게 아니라 '이 레이팅의 사람이라면 여기서 어떻게 둘까'를 맞히는 거예요. 그래서 사람과 같은 실수를 하고, 두어 보면 자연스럽게 느껴져요.

이 사이트의 컴퓨터 상대

이 사이트의 네 난이도는 이 두 가지 AI를 그대로 써요. 초급, 중급, 고급은 Maia가, 마스터는 Stockfish가 맡아요. 모두 여러분의 브라우저 안에서 돌아가서 서버에 연결할 필요가 없어요. 난이도마다 레이팅으로 대략 몇 점쯤인지는 레이팅과 타이틀에서, 난이도 고르는 법은 컴퓨터 상대와 난이도에서 볼 수 있어요.

자주 묻는 질문

지금도 가장 강한 컴퓨터를 이길 수 있는 사람이 있나요?

보통의 대국에서는 거의 불가능해요. 최상위 엔진은 세계 챔피언보다 훨씬 세서, 그랜드마스터라도 무승부만 거둬도 대단한 일이에요.

프로 선수들은 컴퓨터를 어떻게 쓰나요?

주로 오프닝을 준비하고 자기가 둔 대국을 점검하는 데 써요. 공식 대회에서 대국 중에 컴퓨터를 쓰는 건 심각한 부정행위라서 실격당해요.

딥 블루는 그 뒤에 어떻게 됐나요?

1997년 경기가 끝난 뒤 IBM은 딥 블루를 은퇴시켰고, 다시는 대국하지 않았어요. 딥 블루의 캐비닛 하나는 나중에 박물관에 소장됐어요.

직접 해 보기

엔진에게 짓눌리는 기분을 느껴 보고 싶다면 온라인으로 체스에서 마스터를 골라 보세요. 가볍게 두고 싶다면 초급이나 중급을 골라서, 사람을 흉내 내는 AI가 어떤 실수를 하는지 지켜보세요.

한 판 두며 연습하기