체스 엔진
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
체스 엔진은 체스 게임을 수행하는 데 사용되는 컴퓨터 프로그램으로, 체스 기술의 발전에 따라 그 의미가 변화해 왔다. 초창기에는 체스 컴퓨터 하드웨어 자체를 지칭했으나, 딥 블루의 개발을 거치면서 소프트웨어를 의미하는 용어로 자리 잡았다. 1990년대 이후 체스 엔진은 인간 체스 선수들을 능가하는 수준으로 발전했으며, 현재는 분석 도구로 주로 활용된다. 체스 엔진의 성능은 하드웨어의 처리 능력 향상과 프로그래밍 기술 발전, 오프닝 서적, 데이터베이스, 엔드게임 테이블베이스, 분산 컴퓨팅 기술 등을 통해 지속적으로 향상되고 있다. 체스 엔진은 다양한 인터페이스 프로토콜을 지원하며, 토너먼트와 레이팅 목록을 통해 성능을 비교한다. 또한, 체스 변형을 플레이하거나 GUI를 통해 사용자와 상호 작용할 수 있다.
더 읽어볼만한 페이지
- 컴퓨터 체스 - 딥 블루 대 가리 카스파로프
딥 블루 대 가리 카스파로프는 1996년과 1997년에 걸쳐 인공지능 딥 블루와 체스 세계 챔피언 가리 카스파로프가 대결한 사건으로, 1997년 딥 블루가 승리하며 인공지능이 인간을 이긴 최초의 사례로 기록되었다. - 컴퓨터 체스 - NNUE
- 체스 엔진 - 체스 타이탄스
체스 타이탄스는 윈도우 비스타 빌드 5219에서 공개된 3D 체스 게임으로, 다양한 테마와 입력 장치를 지원하며, 컴퓨터 대전과 2인용 대전을 제공하지만 네트워크 대전이나 고급 기능은 지원하지 않는다. - 체스 엔진 - 알파제로
알파제로는 딥마인드가 개발한 인공지능으로, 강화 학습을 통해 체스, 쇼기, 바둑 등에서 인간을 능가하는 실력을 보이며, 자기 대전을 통해 학습하고 딥 러닝을 이용한 강화 학습을 사용하여 인공지능 연구 및 뮤제로 개발에 기여했다.
체스 엔진 | |
---|---|
기본 정보 | |
![]() | |
목적 | 체스 경기 분석, 체스 게임 실행 |
종류 | 체스 소프트웨어 |
라이선스 | 오픈 소스 상용 |
기술 정보 | |
프로그래밍 언어 | C 언어 C++ 자바 파이썬 |
주요 기능 | |
체스 엔진 | 미니맥스 알파-베타 프루닝 평가 함수 |
사용자 인터페이스 | GUI CLI |
프로토콜 | 체스 엔진 통신 프로토콜 (CECP) 유니버설 체스 인터페이스 (UCI) |
데이터베이스 지원 | Polyglot |
예시 | |
오픈 소스 | GNU Chess Stockfish Leela Chess Zero |
상용 | Fritz Komodo Houdini |
2. 역사
"체스 엔진"이라는 용어는 시간이 지남에 따라 그 의미가 변화해왔다. 1980년대부터 2000년대에 이르기까지 체스 엔진의 발전 과정과 그 의미 변화에 대해 서술하고 있다.
1990년대 초, 마티 허쉬는 상업용 체스 프로그램과 '체스 엔진'을 구별했다. 그는 상업용 체스 프로그램은 가격이 저렴하고 화려한 그래픽을 갖추고 있지만, SSDF 평점 목록에서는 높은 순위를 차지하지 못하는 반면, 엔진은 더 비싸고 높은 평점을 가진다고 설명했다.[6]
2000년대 중반, 체스 엔진은 매우 강력해져서 최고의 인간 선수들조차 이기기 어려워졌다. 인간과 엔진 간의 경기는 엔터테인먼트 목적을 제외하고는 드물어졌으며, 엔진은 대결 상대보다는 분석 도구로 더 많이 활용되고 있다.
2. 1. 초기 발전
"체스 엔진"이라는 용어는 시간이 지남에 따라 의미가 변화해 왔다. 1986년, 린다와 토니 셔처는 자신들의 프로그램인 Bebe를 제4회 세계 컴퓨터 체스 선수권 대회에 출전시켰는데, 이는 그들의 회사인 Sys-10, Inc.에서 제조하고 판매한 체스 컴퓨터 하드웨어의 자체 브랜드인 "Chess Engine"에서 실행되었다.[2] 1990년, 딥 블루의 개발자인 쉬펑슝과 머레이 캠벨은 자신들의 프로그램에 '탐색 엔진'을 부여하는 것을 언급했는데, 이는 하드웨어보다는 소프트웨어를 지칭하는 것으로 보인다.[4] 1991년 12월, ''Computer-schach & Spiele''는 체스베이스에서 최근 출시한 프리츠를 'Schach-motor'라고 언급했는데, 이는 '체스 엔진'의 독일어 번역이다.[5] 1993년 초, 마티 허쉬는 상업용 체스 프로그램(예: ''체스마스터 3000'' 또는 ''배틀 체스'')과 '체스 엔진'(예: ''체스지니어스'' 또는 그의 자체 프로그램인 ''MChess Pro'')을 구별했다. 그의 특징에 따르면, 상업용 체스 프로그램은 가격이 저렴하고 화려한 그래픽을 갖추고 있지만, SSDF (스웨덴 체스 컴퓨터 협회) 평점 목록에서는 높은 순위를 차지하지 못하는 반면, 엔진은 더 비싸고 높은 평점을 가지고 있었다.[6]1994년, 셰이 부신스키는 그의 프로그램 ''주니어''의 초기 버전을 개발하고 있었다. 그는 그래픽보다는 체스 게임 부분에 집중하고 싶었고, 그래서 팀 만에게 ''주니어''가 ''윈보드''와 어떻게 통신할 수 있는지 물었다. 팀 만의 답변은 체스 엔진 통신 프로토콜 또는 윈보드 엔진의 기초가 되었으며, 이는 원래 GNU 체스 명령줄 인터페이스의 하위 집합이었다.[7]
같은 해인 1994년에 스티븐 J. 에드워즈는 휴대용 게임 표기법 (PGN) 사양을 발표했다. PGN 읽기 프로그램이 "전체 체스 엔진"을 가질 필요가 없다고 언급했다. 또한 세 개의 "그래픽 사용자 인터페이스" (GUI)인 XBoard, pgnRead 및 Slappy 데이터베이스도 언급했다.[8]
2000년대 중반까지, 엔진은 매우 강력해져서 최고의 인간 선수들조차 이길 수 있었다. 특히 제한된 강도의 엔진을 사용하는 엔터테인먼트 목적을 제외하고, 인간과 엔진 간의 경기는 이제 드물어졌으며, 엔진은 대결 상대라기보다는 분석 도구로 점점 더 여겨지고 있다.
2. 2. 인터페이스 프로토콜의 등장
1995년, 체스베이스는 데이터베이스 프로그램의 한 버전으로 Fritz 4를 별도의 엔진으로 출시했다. 이것이 체스베이스 프로토콜의 첫 등장이었다. 얼마 지나지 않아 Junior와 Shredder 엔진을 제품 라인업에 추가했으며, CB 프로토콜의 엔진을 체스베이스 프로그램 또는 다른 Fritz 스타일 GUI 중 하나에 설치할 수 있는 별도 프로그램으로 포함시켰다. Fritz 1-14는 체스베이스 엔진으로만 출시되었으며, ''Hiarcs'', ''Nimzo'', ''Chess Tiger'' 및 ''Crafty''는 UCI 또는 윈보드 엔진이었음에도 불구하고 체스베이스 형식으로 이식되었다. 최근 체스베이스는 ''Komodo,'' ''Houdini,'' ''Fritz 15–16'' 및 ''Rybka''와 같은 유니버설 체스 인터페이스 (UCI) 엔진을 체스베이스 엔진으로 변환하는 대신 자체 플레이 프로그램에 포함하기 시작했다.2000년, Stefan Meyer-Kahlen과 Franz Huber는 더 많은 기능을 도입한 더 상세한 프로토콜인 유니버설 체스 인터페이스를 출시했다. 체스베이스는 곧 윈보드 엔진에 대한 지원을 중단하고 엔진 GUI 및 체스베이스 프로그램에 UCI에 대한 지원을 추가했다. 오늘날 대부분의 최고 엔진은 UCI이다: ''Stockfish,'' ''Komodo,'' ''Leela Chess Zero,'' ''Houdini,'' ''Fritz 15-16,'' ''Rybka,'' ''Shredder,'' ''Fruit,'' ''Critter,'' ''Ivanhoe'' 및 ''Ruffian.''
1998년부터 독일 회사인 Millenium 2000은 전용 체스 컴퓨터에서 소프트웨어 시장으로 잠시 이동하여 Millennium Chess System (MCS) 프로토콜을 개발하여 ''ChessGenius'' 또는 ''Shredder''가 포함된 일련의 CD를 개발했지만 2001년 이후 새로운 소프트웨어 출시를 중단했다.[9] 네덜란드 회사 Lokasoft[10]는 더 오래 지속되는 엔진 프로토콜을 사용했으며, 결국 Ed Schröder의 ''Rebel''의 마케팅을 인수했다.
2. 3. 성능 향상
체스 엔진의 기량은 지속적으로 향상되고 있다. 이는 처리 능력이 증가하여 주어진 시간 내에 더 깊은 수까지 계산할 수 있게 된 덕분이다. 또한, 프로그래밍 기술이 발전하면서 엔진이 분석하는 수순을 더 선택적으로 만들고, 더 나은 위치적 이해를 얻을 수 있게 되었다. 체스 엔진은 종종 방대한 사전 계산된 오프닝 "서적"을 사용하여 처음 몇 수, 깊이 분석된 수순에서는 20수 이상까지 기량을 향상시킨다.일부 체스 엔진은 체스 포지션 데이터베이스와 함께 사전 계산된 평가 및 최선의 수를 유지한다. 이는 일종의 반복적인 체스 포지션 "사전"과 같다. 이러한 포지션들은 미리 계산되기 때문에, 엔진은 데이터베이스에 표시된 수 중 하나를 단순히 플레이하여 계산 시간을 절약하고, 더 강력하고 빠른 플레이를 할 수 있다.
일부 체스 엔진은 엔드게임 테이블베이스를 사용하여 엔드게임 동안 기량을 향상시킨다. 엔드게임 테이블베이스는 소량의 기물로 가능한 모든 엔드게임 포지션을 포함한다. 각 포지션은 차례가 있는 플레이어에게 승리, 패배 또는 무승부로 결정되며, 양측의 최선의 수에 따른 엔드까지의 수 수를 나타낸다. 테이블베이스는 모든 포지션에 대해 최적의 방어에 대해 가장 빠르게 승리하는 수 또는 최적의 공격에 대해 가장 느리게 패배하는 수를 식별한다. 이러한 테이블베이스는 일곱 개 이하의 기물로 이루어진 모든 체스 엔드게임에 사용할 수 있다(예: 흰색 기물 6개 대 검은색 킹 1개와 같은 사소한 엔드게임 포지션은 제외).[11][12]
엔딩에서 돌이킬 수 없는 개선을 이루기 위한 기동이 체스 엔진의 계산 수평선보다 더 많은 수를 필요로 할 때, 엔진은 엔드게임 테이블베이스를 사용하지 않고는 최선의 수를 찾을 수 있다고 보장할 수 없으며, 많은 경우 그 결과로 50수 규칙에 걸릴 수 있다. 많은 엔진은 기량을 향상시키는 방법으로 영구적인 사고 (상대방의 차례 동안 계속 계산)를 사용한다.
분산 컴퓨팅 또한 체스 엔진의 소프트웨어 코드를 개선하는 데 사용된다. 2013년, 스톡피쉬 체스 프로그램의 개발자들은 소프트웨어 코드 개선을 위해 분산 컴퓨팅을 사용하기 시작했다.[13][14][15]
3. 인터페이스 프로토콜
체스 엔진은 사용자가 체스를 둘 수 있도록 인터페이스를 필요로 한다. 이에 따라 다양한 체스 엔진 인터페이스 프로토콜이 개발되어 사용되고 있다. 주요 프로토콜로는 윈보드, 체스베이스사에서 개발한 체스베이스, Stefan Meyer-Kahlen과 Franz Huber가 개발한 UCI (유니버설 체스 인터페이스)가 있으며, 이 외에도 Millennium Chess System (MCS) 프로토콜, Lokasoft 엔진 프로토콜 등이 있다.
3. 1. 윈보드
일반적인 윈보드 체스 엔진에는 Crafty, ProDeo (Rebel 기반), Chenard, Zarkov 및 Phalanx가 있다.3. 2. 체스베이스
1995년, 체스베이스는 데이터베이스 프로그램의 한 버전으로 Fritz 4를 별도의 엔진으로 출시했다. 이것이 체스베이스 프로토콜의 첫 등장이었다. 얼마 지나지 않아 Junior와 Shredder 엔진을 제품 라인업에 추가했으며, CB 프로토콜의 엔진을 체스베이스 프로그램 또는 다른 Fritz 스타일 GUI 중 하나에 설치할 수 있는 별도 프로그램으로 포함시켰다. Fritz 1-14는 체스베이스 엔진으로만 출시되었으며, ''Hiarcs,'' ''Nimzo,'' ''Chess Tiger'' 및 ''Crafty''는 UCI 또는 윈보드 엔진이었음에도 불구하고 체스베이스 형식으로 이식되었다. 최근 체스베이스는 ''Komodo,'' ''Houdini,'' ''Fritz 15–16'' 및 ''Rybka''와 같은 UCI 엔진을 체스베이스 엔진으로 변환하는 대신 자체 플레이 프로그램에 포함하기 시작했다.[9]3. 3. UCI (유니버설 체스 인터페이스)
Stefan Meyer-Kahlen과 Franz Huber는 2000년에 더 많은 기능을 도입한 더 상세한 프로토콜인 유니버설 체스 인터페이스(UCI)를 출시했다.[9] 체스베이스는 곧 윈보드 엔진에 대한 지원을 중단하고 엔진 GUI 및 체스베이스 프로그램에 UCI에 대한 지원을 추가했다. 오늘날 대부분의 최고 엔진은 UCI이다: ''Stockfish,'' ''Komodo,'' ''Leela Chess Zero,'' ''Houdini,'' ''Fritz 15-16,'' ''Rybka,'' ''Shredder,'' ''Fruit,'' ''Critter,'' ''Ivanhoe'' 및 ''Ruffian.''3. 4. 기타 프로토콜
일반적인 윈보드 체스 엔진에는 Crafty, ProDeo (Rebel 기반), Chenard, Zarkov, Phalanx가 있다.1995년, 체스베이스는 데이터베이스 프로그램의 한 버전으로 Fritz 4를 별도의 엔진으로 출시했다. 이것이 체스베이스 프로토콜의 첫 등장이었다. 얼마 지나지 않아 Junior와 Shredder 엔진을 제품 라인업에 추가했으며, CB 프로토콜의 엔진을 체스베이스 프로그램 또는 다른 Fritz 스타일 GUI 중 하나에 설치할 수 있는 별도 프로그램으로 포함시켰다. Fritz 1-14는 체스베이스 엔진으로만 출시되었으며, Hiarcs, Nimzo, Chess Tiger, Crafty는 UCI 또는 윈보드 엔진이었음에도 불구하고 체스베이스 형식으로 이식되었다. 최근 체스베이스는 Komodo, Houdini, Fritz 15–16 및 Rybka와 같은 유니버설 체스 인터페이스(UCI) 엔진을 체스베이스 엔진으로 변환하는 대신 자체 플레이 프로그램에 포함하기 시작했다.
2000년, Stefan Meyer-Kahlen과 Franz Huber는 더 많은 기능을 도입한 더 상세한 프로토콜인 유니버설 체스 인터페이스를 출시했다. 체스베이스는 곧 윈보드 엔진에 대한 지원을 중단하고 엔진 GUI 및 체스베이스 프로그램에 UCI에 대한 지원을 추가했다. 오늘날 대부분의 최고 엔진은 UCI이다: Stockfish, Komodo, Leela Chess Zero, Houdini, Fritz 15-16, Rybka, Shredder, Fruit, Critter, Ivanhoe, Ruffian.
1998년부터 독일 회사인 Millenium 2000은 전용 체스 컴퓨터에서 소프트웨어 시장으로 잠시 이동하여 Millennium Chess System (MCS) 프로토콜을 개발하여 ChessGenius 또는 Shredder가 포함된 일련의 CD를 개발했지만 2001년 이후 새로운 소프트웨어 출시를 중단했다.[9] 네덜란드 회사 Lokasoft[10]는 더 오래 지속되는 엔진 프로토콜을 사용했으며, 결국 Ed Schröder의 Rebel의 마케팅을 인수했다.
4. 성능 비교
체스 엔진의 성능 비교는 토너먼트와 레이팅 목록, 두 가지 주요 방법으로 이루어진다.
토너먼트여러 체스 엔진이 서로 대결하여 승자를 가리는 방식이다. 실제 경기와 유사한 환경에서 엔진의 실력을 평가할 수 있다는 장점이 있지만, 통계적으로 유의미한 결과를 얻으려면 매우 많은 경기를 치러야 한다는 단점이 있어 현실적으로 어렵다.[21] 대부분 모든 종류의 하드웨어를 허용하므로, 엔진과 하드웨어 조합의 성능을 비교하게 된다. 과거에는 상용 프로그램이 강세를 보였으나, 2010년대 후반부터는 릴라 체스 제로, 스톡피쉬와 같은 자유 및 오픈 소스 프로그램이 강력한 엔진으로 자리 잡았다.
레이팅 목록여러 엔진의 대국 결과를 바탕으로 엘로 레이팅 시스템과 유사한 방식으로 각 엔진의 레이팅을 계산하여 순위를 매기는 방식이다. 엔진 간의 상대적인 실력 차이를 통계적으로 측정할 수 있지만, 엘로 레이팅은 국제체스연맹(FIDE) 등의 공식 레이팅과는 직접적인 관련이 없으므로, 절대적인 수치보다는 순위와 엔진 간의 레이팅 차이가 중요하다.[22] 오프닝, 시간 제한, 컴퓨터 하드웨어 등을 동일하게 설정하여 엔진 자체의 성능 차이만을 측정하기도 한다. IPPOLIT 계열 엔진들은 Rybka 코드 도용 논란으로 인해 많은 레이팅 목록에서 제외되었으며,[22] Rybka 또한 Fruit 코드 도용 의혹을 받아 2011년 국제컴퓨터게임협회(ICGA)는 Rybka의 세계 컴퓨터 체스 선수권 대회 우승 기록을 취소했다.[24]
레이팅 목록 간의 차이점
요소 | 설명 |
---|---|
게임 수 | 더 많은 게임을 통해 테스트할수록 통계적 유의성이 높아진다. |
elo 계산 공식 | 엔진별 elo 계산 공식은 다를 수 있다. |
시간 제한 | 긴 시간 제한은 토너먼트 플레이에 더 적합하지만, 테스트 시간이 오래 걸리거나 통계적 유의성이 낮아질 수 있다. |
엔진 테스트 상대 | 최신 버전의 엔진을 상대로 테스트하는 경우와 elo가 가장 가까운 엔진을 상대로 테스트하는 경우가 있다. |
사용된 하드웨어 | 더 빠른 하드웨어, 64비트 운영 체제, 최신 명령어 집합(AVX2, AVX512 등), 그래픽 처리 장치 사용 여부 등이 성능에 영향을 미친다. |
사색 설정 | 상대가 생각하는 동안의 추측 분석(영구 두뇌) 설정 여부 |
전치 테이블 크기 | 전치 테이블 크기 설정 |
GUI 설정 | GUI 설정 |
오프닝 북 설정 | 오프닝 북 설정 |
이러한 차이점들로 인해 레이팅 목록 간의 직접적인 비교는 어렵다.
테스트 스위트특정 포지션에서 엔진의 성능을 측정하는 방법이다. 각 포지션마다 최선의 수가 정해져 있으며, 포지셔널, 전술적, 엔드게임 플레이 등 특정 유형에 맞춰 구성될 수 있다.
- 예시: Nolot 테스트 스위트 (깊은 희생), BT2450 및 BT2630 (전술 능력), Brilliancy (일반), 전략 테스트 스위트 (STS, 전략적 강점), Nightmare II (30개 체스 퍼즐)
4. 1. 토너먼트
체스 엔진 토너먼트는 체스 엔진의 상대적인 강점을 보여주는 한 가지 방법이다. 하지만 토너먼트는 정확한 강점 측정을 위해 통계적으로 유의미한 수의 경기를 치르지 못한다. 실제로 비슷한 실력의 엔진끼리 유의미한 결과를 얻으려면 수천 경기를 치러야 하는데, 이는 토너먼트 형식으로는 비현실적이다.[21] 대부분의 토너먼트는 모든 종류의 하드웨어를 허용하므로 엔진과 하드웨어 조합을 비교하게 된다.역사적으로 상용 프로그램이 가장 강력한 엔진이었다. 아마추어 엔진이 토너먼트에서 우승하거나 (예: 2005년 자파) 좋은 성적을 거두면 빠르게 상용화되었다. 토너먼트 우승은 프로그램에 명성을 가져다주어 마케팅에 활용되었다. 그러나 2010년대 후반 자원 봉사 분산 컴퓨팅 프로젝트인 릴라 체스 제로(Leela Chess Zero) 및 스톡피쉬(Stockfish)와 FishTest, OpenBench 같은 테스트 프레임워크가 등장하면서 자유 및 오픈 소스 프로그램이 상용 프로그램을 대체하며 강력한 엔진으로 자리 잡았다.
4. 1. 1. 주요 토너먼트
체스 엔진 토너먼트의 결과는 체스 엔진의 상대적인 강점을 보여주는 한 가지 관점이다. 하지만 토너먼트는 정확한 강점 측정을 위해 통계적으로 유의미한 수의 경기를 치르지 않는다. 실제로, 상당히 비슷한 실력의 엔진끼리 유의미한 결과를 얻기 위해 치러야 하는 경기의 수는 수천 경기에 달하며, 따라서 토너먼트의 틀 안에서는 비현실적이다.[21] 대부분의 토너먼트는 모든 종류의 하드웨어를 허용하므로 엔진/하드웨어 조합만 비교된다.역사적으로 상용 프로그램이 가장 강력한 엔진이었다. 아마추어 엔진이 토너먼트에서 우승하거나 (예: 2005년의 자파) 뛰어난 성적을 거두면 빠르게 상용화된다. 이러한 토너먼트에서 얻은 타이틀은 우승 프로그램에 많은 명성을 가져다주며, 따라서 마케팅 목적으로 사용된다. 그러나 2010년대 후반 자원 봉사 분산 컴퓨팅 프로젝트인 릴라 체스 제로(Leela Chess Zero) 및 스톡피쉬(Stockfish)와 FishTest 및 OpenBench와 같은 테스트 프레임워크가 등장한 이후, 자유 및 오픈 소스 프로그램이 토너먼트에서 상용 프로그램을 대체하여 강력한 엔진의 자리를 차지했다.
현재 열리고 있는 토너먼트는 다음과 같다.
- 톱 체스 엔진 챔피언십(TCEC)
- 세계 컴퓨터 체스 챔피언십(WCCC 및 WCSC)
- 세계 컴퓨터 스피드 체스 챔피언십
- Chess.com 컴퓨터 체스 챔피언십(CCC)
과거에 열렸던 토너먼트는 다음과 같다.
- 네덜란드 오픈 컴퓨터 체스 챔피언십
- 인터넷 컴퓨터 체스 토너먼트(CCT)
- 국제 파더보른 컴퓨터 체스 챔피언십
- 북미 컴퓨터 체스 챔피언십
4. 2. 레이팅 목록
체스 엔진 레이팅 목록은 엔진 간의 상대적인 강도를 통계적으로 측정하기 위해 만들어졌다. 여러 엔진이 서로 게임을 진행하고, 그 결과를 바탕으로 순위를 매긴다. 이때, 오프닝, 시간 제한, 컴퓨터 하드웨어 등을 동일하게 설정하여 엔진 간의 성능 차이만을 측정하기도 한다. 순위와 함께 레이팅의 오차 범위도 제공된다.[22]레이팅은 엘로 시스템과 비슷한 방식으로 계산되지만, 국제체스연맹(FIDE)의 엘로 레이팅이나 다른 체스 단체의 선수 레이팅과는 직접적인 관련이 없다. 과거 SSDF에서 주최한 인간 대 기계 대국을 제외하면, 레이팅 목록과 선수 간의 실력 비교는 어렵다. 따라서 레이팅의 절대적인 수치보다는 순위와 엔진 간의 레이팅 차이가 중요하다.[22]
IPPOLIT과 그 파생 엔진들은 많은 레이팅 목록에서 제외되었는데, 이는 IPPOLIT이 상업용 엔진 Rybka의 코드를 무단으로 사용했다는 의혹 때문이다.[22] 이 논란으로 인해 IPPOLIT 계열 엔진들은 많은 대회와 레이팅 목록에서 제외되었다. Rybka 또한 Fruit의 코드를 도용했다는 의혹을 받았다.[23] 2011년, 국제컴퓨터게임협회(ICGA)는 Rybka가 Fruit과 Crafty의 코드를 도용했다고 공식 발표하며 Rybka의 세계 컴퓨터 체스 선수권 대회 우승 기록(2007~2010년)을 취소했다.[24] ICGA의 결정은 논란이 있었지만,[25] Rybka는 여전히 CCRL, CEGT 등 여러 레이팅 목록에 포함되어 있다. Houdini (IPPOLIT 파생 엔진 Robbolito의 파생 엔진)[26], Fire (Houdini 파생), Fat Fritz 2 (Stockfish 파생)[27] 등도 여러 목록에 포함된다.
현재 운영 중인 레이팅 목록과 과거의 레이팅 목록은 "주요 레이팅 목록" 하위 섹션에 상세히 기술되어 있다.
4. 2. 1. 주요 레이팅 목록
체스 엔진 레이팅 목록은 엔진의 상대적인 강점을 통계적으로 유의미하게 측정하기 위한 것이다. 이 목록은 엔진 간에 여러 게임을 진행하여 데이터를 얻는다. 일부 목록은 엔진 간의 강도 차이만을 측정하기 위해 오프닝, 시간 제한, 엔진이 사용하는 컴퓨터 하드웨어를 표준화하기도 한다. 이러한 목록은 순위뿐만 아니라 주어진 레이팅에 대한 오차 범위도 제공한다.[22]레이팅 목록의 레이팅은 엘로 시스템 (또는 유사한 레이팅 방법)을 사용하여 계산되지만, FIDE 엘로 레이팅이나 다른 체스 연맹의 인간 선수 레이팅과는 직접적인 관련이 없다. SSDF가 수년 전에 조직했던 일부 인간 대 기계 게임을 제외하고는, 이러한 레이팅 목록과 선수 풀 사이에는 ''보정''이 없다. 따라서 중요한 결과는 레이팅의 ''순위''와 ''차이''이며, 절대적인 값은 중요하지 않다.[22]
많은 레이팅 목록에서 IPPOLIT과 그 파생물이 누락되어 있는데, 이는 IPPOLIT이 상업용 소프트웨어인 Rybka의 분해된 바이너리에서 파생되었다는 주장이 제기되었기 때문이다.[22] 이 논란으로 인해, 이러한 모든 엔진은 많은 토너먼트 및 레이팅 목록에서 블랙리스트에 올랐다. Rybka는 다시 Fruit를 기반으로 한다는 비난을 받았다.[23] 2011년 6월 ICGA는 Rybka가 Fruit과 Crafty에서 파생되었다고 공식적으로 주장하며 국제 컴퓨터 게임 협회 세계 컴퓨터 체스 선수권 대회에서 Rybka를 금지하고 이전 우승 (2007년, 2008년, 2009년, 2010년)을 취소했다.[24] ICGA는 이 결정에 대해 일부 비판을 받았다.[25] 그럼에도 불구하고, Rybka는 여전히 CCRL과 CEGT와 같은 많은 레이팅 목록에 포함되어 있으며, Houdini (IPPOLIT 파생물 Robbolito의 파생물)[26]과 Houdini의 파생물인 Fire, Fat Fritz 2 (Stockfish의 파생물)[27]도 대부분의 레이팅 목록에 포함되어 있다.
현재의 레이팅 목록 및 레이팅 목록 조직은 다음과 같다.
- https://www.computerchess.org.uk/ccrl/ 컴퓨터 체스 레이팅 목록(CCRL)
- https://www.computerchess.org.uk/ccrl/404/ CCRL Blitz 2+1
- https://www.computerchess.org.uk/ccrl/4040/ CCRL 40/15
- https://www.computerchess.org.uk/ccrl/404FRC/ CCRL FRC
- 체스 엔진 그랜드 토너먼트(CEGT)
- http://www.cegt.net/blitz.htm CEGT Blitz
- http://www.cegt.net/rating.htm CEGT 40/20
- http://www.cegt.net/rating120.htm CEGT 40/120
- http://www.cegt.net/rating3plus1pbon.htm CEGT 3"+1'
- http://www.cegt.net/rating5plus3pbon.htm CEGT 5"+3'
- http://www.cegt.net/rating25plus8.htm CEGT 25"+8'
- https://www.sp-cc.de/ 슈테판 폴 컴퓨터 체스(SPCC)
- https://www.chessengeria.com/mcerl-2022-09-25 맥 체스 엔진 레이팅 목록(MCERL)
- https://rebel7775.wixsite.com/rebel/ 안티 드로우 레이팅 목록(ADRL)
- https://rebel7775.wixsite.com/rebel/adrl-blitz ADRL Blitz
- https://rebel7775.wixsite.com/rebel/kopie-van-adrl-blitz ADRL 40/120
- http://ipmanchess.yolasite.com/ 입맨 체스
- http://ipmanchess.yolasite.com/i9-7980xe.php 입맨 체스 인텔 i9 7980XE
- http://ipmanchess.yolasite.com/i7-11800h.php 입맨 체스 인텔 i7 11800H
- http://ipmanchess.yolasite.com/list-i7-2670qm.php 입맨 체스 i7 2670QM
- http://ipmanchess.yolasite.com/i7-5960x.php 입맨 체스 i7 5960x
- http://ipmanchess.yolasite.com/list-i3-m380.php 입맨 체스 i3 M380 목록
- https://ssdf.bosjo.net/list.htm SSDF
과거의 레이팅 목록 및 레이팅 목록 조직은 다음과 같다.
- https://ccrl.chessdom.com/ccrl/ 컴퓨터 체스 레이팅 목록(CCRL)
- https://ccrl.chessdom.com/ccrl/402.archive/ CCRL 40/2 아카이브
- http://fastgm.de 패스트GM 레이팅 목록(FGRL)
- http://fastgm.de/240-2.40.html FGRL 4"+2.4'
- http://fastgm.de/30min.html FGRL 30"
- http://ipmanchess.yolasite.com/ 입맨 체스
- http://ipmanchess.yolasite.com/list-i7-970.php 입맨 체스 i7 970
- https://web.archive.org/web/20190125041233/http://inwoba.de/bayes.html IPON
- https://rebel13.nl/misc/gambit-rating-list.html 갬빗 레이팅 목록(GRL)
- http://fastgm.de 패스트GM 레이팅 목록(FGRL)
- http://fastgm.de/60-0.60.html FGRL 1"+0.6'
- http://fastgm.de/10min.html FGRL 10"+6'
- http://fastgm.de/60min.html FGRL 60"+15'
- http://fastgm.de/16-60-0.6.html FGRL 16 코어 대 RTX 2070
4. 2. 2. 레이팅 목록 간의 차이점
체스 엔진 레이팅 목록은 엔진의 상대적인 강점을 통계적으로 유의미하게 측정하기 위한 것이다. 이 목록은 엔진 간에 여러 게임을 진행하여 결과를 산출한다. 일부 목록은 엔진 간의 강도 차이만을 측정하기 위해 오프닝, 시간 제한, 컴퓨터 하드웨어를 표준화하기도 한다. 이러한 목록은 순위뿐만 아니라 주어진 레이팅에 대한 오차 범위도 제공한다.레이팅 목록의 레이팅은 엘로 시스템 (또는 유사한 레이팅 방법)을 사용하여 계산되지만, FIDE 엘로 레이팅이나 다른 체스 연맹의 인간 선수 레이팅과는 직접적인 관련이 없다. SSDF가 수년 전에 조직했던 일부 인간 대 기계 게임을 제외하고는, 이러한 레이팅 목록과 선수 풀 사이에는 ''보정''이 없다. 따라서 중요한 결과는 레이팅의 ''순위''와 ''차이''이며, 절대적인 값은 중요하지 않다.
많은 레이팅 목록에서 IPPOLIT과 그 파생물이 누락되어 있는데, 이는 상업용 소프트웨어 측에서 이것이 Rybka의 분해된 바이너리에서 파생되었다는 주장이 제기되었기 때문이다.[22] 이 논란으로 인해, 이러한 모든 엔진은 많은 토너먼트 및 레이팅 목록에서 블랙리스트에 올랐다. Rybka는 다시 Fruit를 기반으로 한다는 비난을 받았고,[23] 2011년 6월 ICGA는 Rybka가 Fruit과 Crafty에서 파생되었다고 공식적으로 주장하며 국제 컴퓨터 게임 협회 세계 컴퓨터 체스 선수권 대회에서 Rybka를 금지하고 이전 우승 (2007년, 2008년, 2009년, 2010년)을 취소했다.[24] ICGA는 이 결정에 대해 일부 비판을 받았다.[25] 이 모든 것에도 불구하고, Rybka는 여전히 CCRL과 CEGT와 같은 많은 레이팅 목록에 포함되어 있으며, Houdini (IPPOLIT 파생물 Robbolito의 파생물)[26]과 Houdini의 파생물인 Fire도 포함되어 있다. 또한 Fat Fritz 2 (Stockfish의 파생물)[27]도 대부분의 레이팅 목록에 포함되어 있다.
체스 엔진 평점 목록 간에는 다음과 같은 다양한 요소의 차이가 존재한다.
요소 | 설명 |
---|---|
게임 수 | 각 엔진을 테스트할 때 더 많은 게임은 더 높은 통계적 유의성을 보장한다. |
elo 계산 공식 | 각 엔진의 elo를 계산하는 데 사용되는 공식이 다를 수 있다. |
시간 제한 | 더 긴 시간 제한은 토너먼트 플레이 강도를 결정하는 데 더 적합하지만, 테스트에 더 많은 시간이 소요되거나 결과의 통계적 유의성이 떨어질 수도 있다. 증분 시간 제한은 토너먼트에서 일반적으로 증분 시간 제한을 사용하기 때문에 토너먼트 플레이 강도를 결정하는 데 더 적합하지만, 많은 평점 목록은 순환/반복 시간 제한을 사용한다. 평점 목록 전체에서 일관된 시간 제한을 사용하는 것이 각 테스트마다 다른 시간 제한을 사용하는 것보다 통계적 유의성이 더 크다. 후자는 다른 시간 제한이 잠재적인 교란 변수가 되기 때문이다. CCRL의 경우 CCRL 40/15 목록에서 순환/반복 시간 제한(40/15)과 증분 시간 제한(15"+10')을 모두 사용하면서 두 시간 제한을 동일한 목록에서 유지하기 때문에 특히 문제가 된다.[28] |
엔진 테스트에 사용되는 상대 | 일부 평점 목록은 각 상대 엔진의 최신 버전과 엔진을 테스트하는 반면, 다른 평점 목록은 테스트 중인 엔진과 elo가 가장 가까운 상대 엔진의 버전(들)과 엔진을 테스트한다. 대부분의 평점 목록은 리그전 형식으로 평점 목록의 모든 엔진을 다른 모든 엔진과 테스트하지 않는다. 이로 인해 CCRL 및 CEGT에서 특히 평점 목록이 왜곡된다.[29] |
사용된 하드웨어 | 더 많은 메모리를 가진 더 빠른 하드웨어는 더 강력한 플레이로 이어진다. 64비트(32비트 대비) 하드웨어 및 운영 체제는 비트보드 기반 프로그램을 선호한다. AVX2 또는 AVX512와 같은 최신 명령어 집합을 사용하는 하드웨어는 코드에서 벡터 및 벡터 내재 함수를 사용하는 엔진을 선호하며, 이는 인공 신경망에서 일반적이다. 그래픽 처리 장치는 심층 신경망이 있는 프로그램을 선호한다. 다중 프로세서 대 단일 프로세서 하드웨어도 영향을 미친다. 평점 목록 전체에서 일관된 하드웨어를 사용하는 것이 각 테스트마다 다른 하드웨어를 사용하는 것보다 통계적 유의성이 더 크다. 후자는 다른 하드웨어가 교란 변수가 되기 때문이다. CEGT의 경우 각 엔진을 테스트하는 데 자체 고유 하드웨어를 가진 여러 테스터가 관련되어 있기 때문에 CEGT에서 특히 문제가 된다.[30] 동일한 문제가 CCRL에서도 발생한다.[31] |
사색 설정 | 상대가 생각하는 동안의 추측 분석, 즉 영구 두뇌 설정 여부. |
전치 테이블 크기 | 전치 테이블 크기 설정. |
GUI 설정 | GUI 설정. |
오프닝 북 설정 | 오프닝 북 설정. |
이러한 차이점은 결과에 영향을 미치며 평점 목록 간의 직접적인 비교를 어렵게 만든다.
4. 3. 테스트 스위트
체스 엔진은 특정 포지션에서의 성능을 측정하여 테스트할 수 있다. 일반적인 방법은 주어진 각 포지션에 대해 찾아야 할 최고의 수가 하나씩 있는 테스트 스위트를 사용하는 것이다. 이러한 포지션은 포지셔널, 전술적 또는 엔드게임 플레이에 맞춰 구성될 수 있다. 예를 들어, Nolot 테스트 스위트는 깊은 희생에 중점을 둔다.[32] BT2450 및 BT2630 테스트 스위트는 체스 엔진의 전술 능력을 측정하며, REBEL에서 사용되었다.[33][34] ''체스 재평가 워크북(How to Reassess Your Chess Workbook)''에서 주로 편집된 Brilliancy라는 일반적인 테스트 스위트도 있다.[35] 전략 테스트 스위트(STS)는 엔진의 전략적 강점을 테스트한다.[36] 30개의 체스 퍼즐을 포함하는 Nightmare II도 또 다른 현대적인 테스트 스위트이다.[37]5. 체스 변형 엔진
일부 체스 엔진은 체스 변형을 플레이하도록 개발되었으며, 표준이 아닌 체스 기물을 시뮬레이션하거나 표준이 아닌 보드에서의 플레이를 분석하는 데 필요한 코드를 추가했다. 예를 들어, ChessV와 Fairy-Max는 카파블랑카 체스 (10×8 보드)와 같은 최대 12×8 크기의 체스판에서 변형을 플레이할 수 있다.
하지만 더 큰 보드의 경우 효과적으로 플레이할 수 있는 체스 엔진이 거의 없으며, 실제로 무제한 체스판(무한 체스)에서 플레이되는 체스 게임은 체스 플레이 소프트웨어의 영향을 거의 받지 않는다. 이론적으로는 MuZero 파생 알고리즘을 사용하는 프로그램이 무제한 상태 공간을 처리할 수 있지만 말이다.
6. GUI (그래픽 사용자 인터페이스)
XBoard/Winboard는 초창기 그래픽 사용자 인터페이스(GUI) 중 하나이다. 팀 만(Tim Mann)은 GNU 체스 엔진을 위한 GUI를 제공하기 위해 이를 만들었지만, 이후 Crafty와 같은 다른 엔진들이 등장하여 Winboard 프로토콜을 사용했다. 결국, 프로그램 체스마스터는 포함된 킹 엔진 외에 다른 Winboard 엔진을 가져오는 옵션을 포함했다.
1995년, 체스베이스는 프리츠 엔진을 체스베이스 데이터베이스 프로그램 내에서 별도의 프로그램으로, 그리고 프리츠 GUI 내에서 제공하기 시작했다. 얼마 지나지 않아 주니어와 Shredder 엔진을 제품 라인업에 추가하여 프리츠에 사용된 것과 동일한 GUI 내에 패키징했다. 1990년대 후반, 프리츠 GUI는 어댑터를 통해 Winboard 엔진을 실행할 수 있었지만, 2000년 이후 체스베이스는 단순히 유니버설 체스 인터페이스(UCI) 엔진 지원을 추가하고 Winboard에 많은 노력을 기울이지 않았다.
2000년, 슈테판 마이어-칼렌(Stefan Meyer-Kahlen)은 자체 설계한 별도의 UCI GUI에서 슈레더를 판매하기 시작하여 UCI 또는 Winboard 엔진을 가져올 수 있도록 했다.
콘벡타의 체스 어시스턴트와 로카소프트의 체스파트너 역시 Winboard 및 UCI 엔진을 제품에 가져오는 기능을 추가했다. 셰인 허드슨(Shane Hudson)은 리눅스, 맥, 윈도우용 무료 GUI인 셰인의 체스 정보 데이터베이스를 개발했다. 마틴 블룸(Martin Blume)은 리눅스 및 윈도우용 또 다른 무료 GUI인 아레나를 개발했다.[20] 루카스 몽게(Lucas Monge)는 무료 루카스 체스 GUI로 이 분야에 진출했다.[39] 이 세 가지 모두 UCI 및 Winboard 엔진을 처리할 수 있다.
안드로이드에서는 아르트 비크(Aart Bik)가 또 다른 무료 GUI인 안드로이드용 체스를 출시했고,[40] 게르하르트 칼라브(Gerhard Kalab)의 체스 PGN 마스터[41]와 피터 오스터룬드(Peter Osterlund)의 드로이드피쉬[42]도 엔진용 GUI 역할을 할 수 있다.
컴퓨터 체스 위키는 많은 체스 GUI를 나열하고 있다.[43]
6. 1. 주요 GUI
XBoard/Winboard는 초창기 그래픽 사용자 인터페이스(GUI) 중 하나였다. 팀 만(Tim Mann)은 GNU 체스 엔진을 위한 GUI를 제공하기 위해 이를 만들었지만, 이후 Crafty와 같은 다른 엔진들이 등장하여 Winboard 프로토콜을 사용했다. 결국, 프로그램 체스마스터는 포함된 킹 엔진 외에 다른 Winboard 엔진을 가져오는 옵션을 포함했다.[20]1995년, 체스베이스는 프리츠 엔진을 체스베이스 데이터베이스 프로그램 내에서 별도의 프로그램으로, 그리고 프리츠 GUI 내에서 제공하기 시작했다. 얼마 지나지 않아 주니어와 Shredder 엔진을 제품 라인업에 추가하여 프리츠에 사용된 것과 동일한 GUI 내에 패키징했다. 1990년대 후반, 프리츠 GUI는 어댑터를 통해 Winboard 엔진을 실행할 수 있었지만, 2000년 이후 체스베이스는 단순히 유니버설 체스 인터페이스(UCI) 엔진 지원을 추가하고 Winboard에 많은 노력을 기울이지 않았다.[20]
2000년, 슈테판 마이어-칼렌(Stefan Meyer-Kahlen)은 자체 설계한 별도의 UCI GUI에서 슈레더를 판매하기 시작하여 UCI 또는 Winboard 엔진을 가져올 수 있도록 했다.[20]
콘벡타의 체스 어시스턴트와 로카소프트의 체스파트너 역시 Winboard 및 UCI 엔진을 제품에 가져오는 기능을 추가했다. 셰인 허드슨(Shane Hudson)은 리눅스, 맥, 윈도우용 무료 GUI인 셰인의 체스 정보 데이터베이스를 개발했다. 마틴 블룸(Martin Blume)은 리눅스 및 윈도우용 또 다른 무료 GUI인 아레나를 개발했다. 루카스 몽게(Lucas Monge)는 무료 루카스 체스 GUI로 이 분야에 진출했다. 이 세 가지 모두 UCI 및 Winboard 엔진을 처리할 수 있다.[20] [39]
안드로이드에서는 아르트 비크(Aart Bik)가 또 다른 무료 GUI인 안드로이드용 체스를 출시했고, 게르하르트 칼라브(Gerhard Kalab)의 체스 PGN 마스터와 피터 오스터룬드(Peter Osterlund)의 드로이드피쉬도 엔진용 GUI 역할을 할 수 있다.[40] [41] [42]
컴퓨터 체스 위키는 많은 체스 GUI를 나열하고 있다.[43]
7. 카스파로프 대 세계
1999년, 가리 카스파로프는 인터넷을 통해 "카스파로프 대 세계"라는 체스 게임을 진행했으며, MSN 게임 존에서 주최했다. 양측 모두 컴퓨터(체스 엔진)의 도움을 받았다. "세계 팀"은 75개국 이상에서 5만 명 이상이 참여했으며, 다수결 투표로 수를 결정했다. 이 게임은 4개월 동안 진행되었으며, 카스파로프가 62번째 수를 둔 후 컴퓨터 프로그램 딥 주니어로 발견한 28수 만에 강제 체크메이트를 발표하면서 종료되었다. 세계 팀 투표자들은 10월 22일에 기권했다. 게임 후 카스파로프는 "체스 역사상 가장 위대한 게임이다. 엄청난 아이디어의 양, 복잡성, 그리고 체스에 기여한 바를 고려할 때, 이것은 지금까지 치러진 가장 중요한 게임이다."라고 말했다.
참조
[1]
웹사이트
Creating a chess engine from scratch (Part 1: Basics)
http://blog.chess.co[...]
2012-06-28
[2]
웹사이트
4th World Computer Chess Championship - New York 1983 (ICGA Tournaments)
https://www.game-ai-[...]
2018-12-02
[3]
웹사이트
New SYS-10
http://www.sys-10.co[...]
2022-06-26
[4]
간행물
A Grandmaster Chess Machine
Scientific American
1990-10
[5]
문서
[6]
간행물
The True Value of Chess Software
Computer Chess Reports
1992-03
[7]
웹사이트
XBoard Project History
http://tim-mann.org/[...]
2018-11-29
[8]
웹사이트
Standard: Portable Game Notation Specification and Implementation Guide
http://www.thechessd[...]
2022-06-26
[9]
문서
[10]
웹사이트
Home - Lokasoft - Home of ChessPartner
https://www.lokasoft[...]
2022-06-26
[11]
웹사이트
http://tb7.chessok.c[...]
[12]
웹사이트
Who wins from this? (chess puzzle)
https://www.chess.co[...]
[13]
웹사이트
Stockfish Testing Framework
http://tests.stockfi[...]
2014-03-07
[14]
웹사이트
Get Involved
http://stockfishches[...]
2014-03-08
[15]
웹사이트
Fishtest Distributed Testing Framework
http://www.talkchess[...]
2014-04-18
[16]
웹사이트
Stockfish Testing Framework - Users
http://tests.stockfi[...]
2017-06-17
[17]
웹사이트
Github - AndyGrant/OpenBench: OpenBench is a Distributed SPRT Testing Framework for Chess Engines
https://github.com/a[...]
2021-12-23
[18]
웹사이트
OpenBench
http://chess.grantne[...]
2022-02-16
[19]
웹사이트
ChessOK Shop, Software, Training, Equipment, Books
https://shop.chessok[...]
2022-06-26
[20]
웹사이트
Free chess graphical user interface (GUI) Arena for chess engines
http://www.playwitha[...]
2018-11-29
[21]
웹사이트
mizarchessengine.com
http://www.mizarches[...]
2016-09-25
[22]
웹사이트
Chess engine controversy at chessvibes.com, retrieved 28/May/2010
http://www.chessvibe[...]
2010-05-28
[23]
웹사이트
Evaluation
https://webspace.ute[...]
2010-12-18
[24]
웹사이트
Rybka disqualified and banned from World Computer Chess Championships {{!}} ChessVibes
http://www.chessvibe[...]
2011-06-30
[25]
뉴스
A Gross Miscarriage of Justice in Computer Chess (part one)
http://www.chessbase[...]
2012-01-02
[26]
웹사이트
Free Houdini beats commercial Rybka 23.5-16.5
http://www.chessvibe[...]
Chessvibes
2010-02-10
[27]
웹사이트
Our lawsuit against ChessBase
https://stockfishche[...]
2021-07-21
[28]
웹사이트
CCRL 40/15, 2m1s and FRC 40/2 lists updated (21-10-2023)
https://talkchess.co[...]
2023-10-22
[29]
웹사이트
Experimental testruns of Stockfish / Torch
https://talkchess.co[...]
2024-05-29
[30]
웹사이트
CEGT Testers
http://www.cegt.net/[...]
2022-06-26
[31]
웹사이트
ShashChess
https://talkchess.co[...]
2024-04-30
[32]
웹사이트
Nolot test suite
http://sccs.mulderme[...]
2007-08-04
[33]
웹사이트
BT2450 test suite
http://www.fishdev.n[...]
2007-10-10
[34]
웹사이트
Rebel Century FAQ: 3. Using Rebel
http://www.rebel.nl/[...]
2016-09-25
[35]
웹사이트
BRILLIANCY TEST SUITE (2 min/move)
http://www.talkchess[...]
2022-06-26
[36]
웹사이트
Strategic Test Suite
https://sites.google[...]
2022-06-26
[37]
웹사이트
Uups - Oops: Link-Fehler und URL-Umleitungen
2010-10-10
[38]
서적
64 Great Chess Games
Chess Mail
2002
[39]
웹사이트
Lucas Chess
https://lucaschess.p[...]
2022-06-26
[40]
웹사이트
Aart Bik's Website
http://www.aartbik.c[...]
2018-11-29
[41]
웹사이트
Chess PGN Master
http://pgnmaster.kal[...]
2022-06-26
[42]
웹사이트
Archived copy
https://web.archive.[...]
2018-11-29
[43]
웹사이트
Computer_chess:wiki:lists:gui_protocol_support_list - Computer Chess Wiki
http://computer-ches[...]
2018-11-29
[44]
블로그
Creating a chess engine from scratch (Part 1: Basics)
http://blog.chess.co[...]
blog.chess.com
2012-06-28
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com