200MHz 펜티엄 프로에 Stockfish를 돌리니 Elo 3300, 1996년 딥블루 없이도 카스파로프를 이길 수 있었다
- 저자는 1995년 11월 1일 출시된 200MHz 펜티엄 프로와 64MB 램에 Stockfish를 포팅해 클래식 시간 통제에서 Elo 3300 ± 87을 추정했고, 이는 카스파로프의 2800 미만을 크게 넘는 수치임
- 1996년 딥블루는 30개의 120MHz P2SC 프로세서와 480개의 전용 VLSI 체스 코프로세서로 초당 2억 개 이상의 포지션을 분석했고, 당시 세계 259위 슈퍼컴퓨터였음
- 엔진 Elo 상승분 +1335 가운데 +720은 하드웨어가 아니라 프로그래밍 개선에서 나왔음
- 1996년 엔진 Crafty 11.13은 펜티엄 프로에서 1초당 1수에 Elo 1999 ± 90, 10초에 2383 ± 77을 기록했고, 같은 1초 조건에서 라이젠 7에서는 2614 ± 97로 올라감
- Realtek RTL8139C 이더넷 카드로 펜티엄 프로를 인터넷에 연결해 누구나 웹에서 대국할 수 있고, 수당 2.3초로 둘 때 추정 Elo는 2930임
Hacker News 의견들
체스는 안 두지만 유튜브에서 남들 두는 거 보는 건 좋아함. 요즘 체스 사이트는 엔진 치팅 탐지 알고리즘을 돌리는데, 70~80년대 구형 엔진을 최신 하드웨어에 돌리면 그 탐지를 속일 수 있지 않을까? 우승은 못 해도 그럴듯한 성적은 나올 텐데.
내 생각엔 오히려 더 쉽게 걸릴 듯.
내가 직접 엔진을 만들어봤는데 그건 전혀 안 통함. 엔진을 사람처럼 느껴지게 만드는 게 완전 별개의 난제임. 자기 최선수를 찾고도 일부러 다른 수를 둬야 하고, 인간이 자기 실력대별로 어떤 실수를 얼마나 크게 얼마나 자주 하는지 통계적 패턴이 있음. 탐지는 엔진을 아는 게 아니라 통계를 보는 거라, 트리 탐색 없는 순수 신경망이 더 나을지도 모름. 놀랍게도 그런 것도 IM 수준은 둠.
탐지는 시간 사용량, 웹페이지 상호작용, 시간 압박 속 수의 품질 같은 걸 종합해서 사람 같은 계정인지 판단함. 특정 사이트 탐지를 속이려고 인간처럼 두는 소프트웨어를 만들면 그때부터 공격 대 방어 싸움이고, Title Tuesday 같은 대회는 전용 클라이언트에 카메라 2대까지 요구해서 훨씬 어려움.
메가헤르츠급 기계에 100MB 넘는 램이면 2500 Elo 넘는 게 전혀 놀랍지 않음.
64MB인데... 그리고 2000년대 초 기계들은 이미 딥블루보다 잘 뒀으니 오래 못 갔음.
이건 좀 과소평가임. 당시 IBM 엔지니어들에게 이런 얘기를 했다면 어떻게 그 성능을 냈는지 엄청 궁금해했을 거임.
GM이 아마추어랑 비슷한 수의 수를 분석한다는 대목은 안 믿김. GM들이 트위치에서 생각 과정을 말하면서 두는 걸 봤는데 나보다 훨씬 많은 분기를 보고 어떤 분기는 나보다 훨씬 깊이 들어감. 내 lichess 블리츠가 1900 정도임.
수 공간은 트리니까 말이 됨. 아마추어가 너비 우선으로 훑는다면 GM은 가지치기 휴리스틱으로 깊이 파는 거라, 같은 수를 봐도 더 좋은 수에 먼저 도달하는 것.
GM은 기억해둔 국면 자체가 훨씬 많음. 의식하든 못 하든 이미 분석해본 게 많아서 죽은 가지를 본능적으로 잘라냄.
내가 300점 정도 높은데 대충 맞음. 오프닝은 아마추어가 오히려 더 많이 분석함. GM은 수십 수 깊이 오프닝 라인을 외우고 있으니까. 미들게임이랑 엔드게임은 GM한테 명백한 플랜 1~3개에 첫 수 1~3개뿐임. GM이 확실히 더 많이 보는 건 전술 국면인데 한 판에 1~3번 정도임.
2017년 알파제로 논문을 보면 결정 하나에 약 10,000개 수를 봤는데 당시 Stockfish보다 1000배 적었음. 그래도 상대를 꽤 세게 이겼음.
그 사실의 출처가 궁금함. 루트에서 보는 분기 수가 아마추어와 비슷하다는 뜻이고 각 분기를 훨씬 깊고 정확하게 본다는 뜻 아닌가.
+720을 전부 프로그래밍 덕이라고 하긴 어려움. NNUE나 Fishtest 같은 건 최신 하드웨어 없이는 구현 자체가 불가능했음.
왜 수당 시간을 고정했는지 궁금함. 엔진이 스스로 시간을 배분하면 훨씬 잘 둘 텐데.
최대 시간보다 적게 쓰는 게 왜 더 나은 경우가 있는 거임?
Cray 1이나 386, 68k까지 내려가면 어떨지 궁금함.