컴퓨터 체스
Computer chess이 기사는 에 관한 시리즈의 일부입니다. |
체스 프로그래밍 |
---|
컴퓨터 체스는 체스를 둘 수 있는 하드웨어(전용 컴퓨터)와 소프트웨어를 모두 포함한다.컴퓨터 체스는 상대방이 없는 상황에서도 선수들이 연습할 수 있는 기회를 제공하고 분석, 오락, 훈련의 기회도 제공한다.
체스 마스터 이상의 수준으로 플레이하는 컴퓨터 체스 애플리케이션은 슈퍼컴퓨터에서 스마트폰에 이르기까지 하드웨어에서 사용할 수 있습니다.독립형 체스 기계도 이용할 수 있다.Stockfish, GNU Chess, Fruit 및 기타 무료 오픈 소스 애플리케이션을 다양한 플랫폼에서 사용할 수 있습니다.
컴퓨터 체스 어플리케이션은 하드웨어든 소프트웨어든 인간과 다른 전략을 사용하여 동작을 선택한다.즉, 현재 위치에서 동작의 시퀀스를 나타내는 트리를 구축, 검색 및 평가하기 위해 휴리스틱 방법을 사용하고 플레이 중에 그러한 시퀀스를 가장 잘 실행하려고 시도한다.이러한 트리는 일반적으로 상당히 크고 수천에서 수백만 개의 노드가 있습니다.수 만에서 수 십만 이상의 노드를 초당 처리할 수 있는 최신 컴퓨터의 연산 속도와 트리를 대부분 관련 노드로 좁히는 확장 및 축소 휴리스틱스를 통해 이러한 접근 방식이 효과적입니다.
체스를 두거나 체스와 비슷한 게임을 줄일 수 있는 최초의 체스 기계는 진공관 컴퓨터 시대 초기에 디지털 컴퓨터에서 실행되는 소프트웨어 프로그램이었다.초기 프로그램들은 초보자도 이길 수 있을 정도로 형편없었다.1997년, 40년 이내에, 슈퍼 컴퓨터나 특수 하드웨어로 작동하는 체스 엔진은 최고의 인간 선수들조차 이길 수 있었다.2006년까지 데스크톱 PC에서 실행되는 프로그램도 동일한 기능을 구현했습니다.2006년, 맥길 대학의 컴퓨터 공학과 교수 먼로 뉴본은 "과학은 끝났다"고 선언했다.그럼에도 불구하고, 체스 게임은 매우 많은 가능한 [1]변형으로 인해 현재 현대 컴퓨터에서는 체스를 풀 수 없다.
컴퓨터 체스는 한때 지식공학의 첨단인 "AI의 드로소필라"로 여겨졌다.그러나 이 분야는 현재 과학적으로 완성된 패러다임으로 간주되고 있으며, 체스를 두는 [2]것은 일상적인 컴퓨터 작업입니다.
유효성과 놀고 힘
체스 machines/programs은 여러가지 다른 형태에:독립형 체스 기계, 소프트웨어 프로그램 표준 PC, 웹 사이트 및 모바일 기기용 앱에서 실행되는(주로 마이크로 프로세서 소프트웨어 체스 프로그램을 실행하지만 때때로로 전문화된 하드웨어 기계)이용할 수 있다.프로그램 super-computers 스마트 폰까지 모든 것에서 뜁니다.프로그램에 대한 하드웨어 요구 사항;앱 더 디스크에 몇메가바이트보다, 메모리(만약이 이용 가능하지만, 훨씬 더 사용할 수 있)의 몇메가바이트를 사용하고, 어떤 프로세서 300Mhz고 빠르게 충분하다 크다 최소화되었다.성능 겸손하게processor 속도로 날수 있지만 충분한 기억은 큰 전위 표(몇기가바이트나 최고)를 열기로 더 프로세서 속도보다 힘 놀고 있는 것이 중요하다 다를 수 있습니다.
대부분의 상용 체스 프로그램과 기계는 슈퍼 그랜드 마스터 강도(Elo 2700 이상)로 플레이할 수 있으며 멀티 코어 및 하이퍼스레드 컴퓨터 CPU 아키텍처를 활용할 수 있습니다.스톡피쉬 같은 최고의 프로그램들은 심지어 세계 챔피언 캘리버 선수들을 능가했다.대부분의 체스 프로그램은 Winboard 또는 Chessbase와 같은 GUI에 연결된 체스 엔진으로 구성됩니다.플레이 강도, 시간 제어 및 기타 퍼포먼스 관련 설정은 GUI에서 조정할 수 있습니다.또한 대부분의 GUI는 플레이어의 위치 설정 및 편집, 반전 이동, 추첨 제공 및 수락(및 포기), 이동 권장 요청 및 수신, 게임 진행 시 엔진 분석을 보여줄 수 있습니다.
Sargon, IPPOLIT, Stockfish, Crafty, Fruit, Reela Chess Zero, GNU Chess와 같은 몇 가지 체스 엔진이 인터넷에서 무료로 다운로드(또는 소스 코드 취득)할 수 있습니다.
체스 소프트웨어의 종류와 기능
아마도 체스 소프트웨어의 가장 일반적인 유형은 단순히 체스를 두는 프로그램일 것이다.인간 플레이어는 보드상에서 동작을 하고 AI는 후속 동작을 계산해 플레이하며 인간과 AI는 게임이 종료될 때까지 번갈아 회전한다.이동을 계산하는 체스 엔진과 그래픽 사용자 인터페이스(GUI)는 별도의 프로그램일 수 있습니다.다른 엔진을 GUI에 연결할 수 있으므로 다른 스타일의 상대와 플레이할 수 있습니다.GUI는 다양한 피스 세트, 보드 스타일, 심지어 3D 또는 애니메이션 피스를 제공하는 반면 엔진은 단순한 텍스트 명령줄 인터페이스를 가지고 있는 경우가 많습니다.최근의 엔진은 매우 성능이 뛰어나기 때문에, 엔진이나 GUI는 인간 플레이어의 승리 확률을 높이기 위해 엔진의 기능을 손으로 조작할 수 있는 방법을 제공할 수 있습니다.Fritz 또는 Rybka와 같은 Universal Chess Interface(UCI; 유니버설체스 인터페이스) 엔진은 (UCI의 uci_limit strength 및 uci_elo 파라미터를 통해) 엔진의 Elo 등급을 낮추기 위한 메커니즘이 내장되어 있을 수 있습니다.프리츠의 일부 버전에는 핸디캡과 펀 모드가 있어 현재 엔진을 제한하거나 엔진 실수율을 변경하거나 스타일을 변경할 수 있습니다.프리츠는 또한 게임 중에 플레이어의 수준에 맞추려고 하는 친구 모드를 가지고 있다.
체스 데이터베이스를 사용하면 사용자는 역사 게임의 큰 라이브러리를 검색하고, 분석하고, 통계를 확인하고, 오프닝 레퍼토리를 만들 수 있습니다.Chessbase(PC용)는 이러한 목적을 위한 일반적인 프로그램이지만 Windows, Mac 또는 Linux용 Shane의 Chess Information Database(Scid), [5]PC용 Chess[4] Assistant, Gerhard Kalab의 Chess PGN Master for Android[6] 또는 Giordano Vicoli의 Chess-Studio와 같은 대체 프로그램이 있습니다.[7]
플레이치와 같은 프로그램을 사용하면 인터넷을 통해 다른 플레이어와 게임을 할 수 있습니다.
체스 훈련 프로그램은 체스를 가르친다.Chessmaster는 IM Josh Waitzkin과 GM Larry Christiansen의 플레이스루 튜토리얼을 받았다.Stefan Meyer-Kahlen은 Rob Brunia와 Cor Van Bejgerden의 스텝 교과서에 기초한 슈레더 체스 튜터를 제공합니다.세계 챔피언 Magnus Carlson의 Play Magnus 회사는 Android와 iOS용 Magnus Trainer 앱을 출시했습니다.체스베이스에는 아이들을 위한 프리츠와 체스터가 있다.Convectkta는 GM Alexander Kalinin과 Maxim Blokh의 튜토리얼을 기반으로 CT-ART와 Chess King 라인과 같은 많은 트레이닝 앱을 제공하고 있습니다.
컴퓨터 대 인간
1957년 알파 베타 가지치기(α-beta pruning)를 움직임 평가 최적화에 적용하는 것을 발견한 후, 카네기 멜론 대학의 한 팀은 [8]1967년까지 컴퓨터가 세계 인류 챔피언을 이길 것이라고 예측했다.움직임을 평가할 올바른 순서를 결정하는 데 어려움을 예상하지 못했다.연구원들은 킬러 휴리스틱을 식별하는 프로그램의 능력을 향상시키기 위해 노력했고, 다른 지점을 평가할 때 재점검하는 이례적으로 높은 점수를 받은 움직임이었지만, 1970년대 대부분의 체스 선수들은 컴퓨터가 마스터 [9]수준에서 곧 게임을 할 수 없을 것이라고 믿었다.1968년 국제 마스터 데이비드 레비와 1976년에 시니어 마스터와 심리학 엘리엇 허스트 인디애나 대학교의 교수님은 "현재 컴퓨터 프로그램이 마스터 선수를 상대로 한 경기 이길 수 있는 유일한 방법은 마스터, 후춧가루에 있을 것이라고 썼다 유명한 베트가 없다는 것은 체스 컴퓨터 10years,[10]안 이길 수 있겠군 했다.rhaps는 만취상태로 50경기를 동시에 뛰면서 1년에 한 번 있는 실수를 저질렀다.[9]
1970년대 후반에 체스 프로그램들은 갑자기 고도로 숙련된 [9]인간 선수들을 물리치기 시작했다.허스트의 발언의 해인 폴 매슨 아메리칸 체스 챔피언십 클래스 B에서 노스웨스턴 대학의 체스 4.5가 인간 토너먼트에서 우승한 첫 번째 해가 되었다.레비는 1978년 체스 4.7을 꺾고 우승을 차지했지만 6경기 [10]중 1승을 거둠으로써 마스터급 선수를 상대로 한 첫 컴퓨터 승리를 달성했다.1980년에 벨은 종종 마스터스를 물리치기 시작했다.1982년까지 마스터 레벨에서 두 개의 프로그램이 실행되고 세 개의 프로그램이 약간 [9]약해졌다.
이론적인 돌파구 없이 갑작스럽게 향상된 것은 예상치 못한 일이었는데, 많은 사람들은 벨이 초당 10만 개 포지션(약 8개의 플라이)을 검사할 수 있을 것이라고 예상하지 못했기 때문이다.성공적인 마이크로컴퓨터 프로그램 Sargon의 개발자인 The Spracklens는 개선의 90%가 빠른 평가 속도에서 비롯되었으며, 10%만이 개선된 평가에서 비롯되었다고 추정했습니다.뉴사이언티스트는 1982년에 컴퓨터가 "서투르고, 비효율적이고, 분산되고, 그저 추악한 체스를 한다"고 말했다. 그러나 인간은 그들이 깨달은 것보다 훨씬 더 자주 "끔찍한 실수, 놀라운 실수, 이해할 수 없는 실수, 엄청난 계산 착오 등"을 함으로써 그들에게 졌다. "요컨대, 컴퓨터는 주로 그들의 아비를 통해 승리한다.인간의 이니셔티브에서 계산 착오를 발견하고 악용할 수 있습니다."[9]
1982년까지 마이크로컴퓨터 체스 프로그램은 초당 최대 1,500개의 동작을 평가할 수 있었고, 5년 전의 메인프레임 체스 프로그램만큼 강력하여 대다수의 아마추어 선수들을 물리칠 수 있었습니다.1970년대 중반 데뷔 당시보다 앞날을 내다볼 수 있는 것은 한두 가지뿐이지만, 그렇게 함으로써 그들의 플레이는 전문가들이 예상했던 것보다 더 향상되었다. 겉으로 보기에는 사소한 개선으로 "심리적 한계점을 넘어 인간 오류의 풍부한 수확을 할 수 있었던 것으로 보인다"고 뉴사이언티스트는 썼다.[9]1984년 SPOC를 검토하는 동안, BYTE는 "컴퓨터(메인프레임, 미니, 마이크로)는 추하고 우아하지 않은 체스를 두는 경향이 있다"고 썼지만, 로버트 번(Robert Byrne)의 진술은 "전적으로 그들은 평균적인 인간 플레이어보다 오류로부터 자유롭다"고 언급했다.이 잡지는 SPOC를 "놀라우리만치 높은" 플레이를 가진 IBM PC를 위한 "최첨단 체스 프로그램"으로 묘사하고 USCF 등급을 1700(클래스 B)[11]으로 추정했다.
1982년 북미 컴퓨터 체스 챔피언십에서 먼로 뉴턴은 체스 프로그램이 5년 안에 세계 챔피언이 될 수 있다고 예측했다; 토너먼트 감독이자 국제 마스터인 마이클 발보는 10년, 스프랙렌즈는 15년, 켄 톰슨은 20년 이상을 예측했고, 다른 사람들은 그것이 일어나지 않을 것이라고 예측했다.그러나 가장 널리 받아들여지고 있는 [12]의견은 2000년 경에 일어날 것이라고 한다.1989년, 레비는 시범 경기에서 딥 싱크에게 패배했다.그러나 딥 싱크는 1989년 세계 챔피언 개리 카스파로프가 두 번의 강력한 승리를 보여주었기 때문에 여전히 세계 선수권 수준을 크게 밑돌았다.1996년 IBM의 Deep Blue와의 시합이 되어서야 카스파로프는 Deep Blue 대 카스파로프와의 1996년 1차전에서 첫 경기를 컴퓨터에 졌다.사실 이 게임은 세계 챔피언이 정규 시간 컨트롤을 사용하는 컴퓨터에 진 첫 번째 게임이었다.하지만 카스파로프는 다시 결집해 남은 5경기 중 3승을 거두고 2승을 거두며 확실한 승리를 거뒀다.
1997년 5월, 딥 블루의 업데이트된 버전이 카스파로프를 리턴 매치에서 3-2로 이겼다.이 대결에 대한 다큐멘터리는 주로 2003년에 게임 오버: 카스파로프와 기계라는 제목으로 만들어졌다.
a | b | c | d | e | f | g | h | ||
8 | 8 | ||||||||
7 | 7 | ||||||||
6 | 6 | ||||||||
5 | 5 | ||||||||
4 | 4 | ||||||||
3 | 3 | ||||||||
2 | 2 | ||||||||
1 | 1 | ||||||||
a | b | c | d | e | f | g | h |
처리 능력이 향상되고 평가 기능이 향상됨에 따라, 상업적으로 이용 가능한 워크스테이션에서 실행되는 체스 프로그램들은 최고 수준의 플레이어와 경쟁하기 시작했습니다.1998년 리벨 10은 당시 세계 2위였던 비스와나단 아난드를 5-3으로 물리쳤다.하지만, 그 게임들의 대부분은 정상적인 시간 조절로 진행되지 않았다.8경기 중 4경기가 전격전이었다. (5분 + 각 동작마다 5초 지연) 이 반란군은 3-1로 승리했다.두 경기는 리벨이 이긴 세미 블리츠 경기(각 팀 15분)였다.마지막으로 두 경기가 정규 토너먼트 경기로 치러졌다(2시간, 1시간 돌연사); 여기에서 아난드가 1-1로 이겼다.[13]빠른 게임에서는 컴퓨터가 사람보다 더 잘 작동했지만 플레이어의 등급이 결정되는 고전적인 시간 제어에서는 이점이 명확하지 않았습니다.
2000년대 초 주니어나 프리츠 같은 상업적인 프로그램들은 전 세계 챔피언 개리 카스파로프나 클래식 세계 챔피언 블라디미르 크램닉과 대결할 수 있었다.
2002년 10월 블라디미르 크람니크와 딥 프리츠는 8경기 브레인 인 바레인 경기에 출전했고 결국 무승부로 끝났다.Kramnik은 "기존의" 안티 컴퓨터 전술로 2차전과 3차전을 이겼습니다.이것은 컴퓨터가 게임 트리 검색에서는 볼 수 없는 장기적인 이점을 위해 플레이하는 것입니다.그러나 프리츠는 크램닉의 심각한 실책으로 5차전에서 승리했다.6차전은 대회 해설자들에 의해 "장엄한" 경기로 묘사되었다.Kramnik은 초반 중간 게임에서 유리한 위치에 서서 강력한 전술 공격을 달성하기 위해 약간의 희생을 시도했다. 이 전략은 그러한 공격에 대해 가장 강력한 방어력을 가진 컴퓨터에 대해 매우 위험한 것으로 알려져 있다.컨디션대로, 프리츠는 물샐틈없는 수비를 발견했고 크램닉의 공격은 그를 나쁜 위치에 남겨두었다.크램닉은 그 자리를 잃었다고 믿고 경기를 그만두었다.그러나 경기 후 인간과 컴퓨터 분석 결과 프리츠 프로그램이 승리를 강요할 수 없었을 것으로 보이며 크램닉은 사실상 무승부 포지션을 희생했다.마지막 두 경기는 무승부였다.상황이 이렇다 보니 대부분의 해설자들은 여전히 [citation needed]크램닉을 이번 경기에서 가장 강한 선수로 평가하고 있다.
2003년 1월 카스파로프는 뉴욕에서 또 다른 체스 컴퓨터 프로그램인 주니어 게임을 했다.경기는 3 대 3으로 끝났다.
2003년 11월 카스파로프는 X3D 프리츠를 연기했다.경기는 2 대 2로 끝났다.
2005년, 커스텀 하드웨어와 64개의 프로세서를 갖춘 전용 체스 컴퓨터이자 2005년 제14회 IPCCC 우승자인 히드라는 6경기 경기에서 7위 마이클 애덤스를 5-199로 물리쳤다(그러나 애덤스의 2002년 [14]시리즈 대비는 크램닉보다 훨씬 덜 철저했다).
2006년 11월부터 12월까지 세계 챔피언 블라디미르 크람니크가 딥 프리츠 역을 맡았다.이번에는 컴퓨터가 이겼고, 경기는 2 대 4로 끝났다.크램닉은 컴퓨터의 첫 번째 책을 볼 수 있었다.처음 5개의 게임에서 Kramnik은 게임을 전형적인 "반컴퓨터" 포지션 경쟁으로 이끌었습니다.그는 한 경기에서 지고 다음 네 경기에서 비겼다.마지막 경기에서 크람니크는 경기를 무승부로 이끌기 위해 더 공격적인 시칠리아 디펜스를 펼쳤으며 패배했다.
2006년 크램닉-딥 프리츠 경기로 [15]인해 인간-컴퓨터 체스 경기에 대한 관심이 급감할 것이라는 추측이 있었다.예를 들어, 신생아에 따르면, "과학은 끝났다."[16]
인간과 컴퓨터의 체스 경기는 1990년대 후반의 체스 챔피언들을 능가하는 최고의 컴퓨터 시스템을 보여주었다.그 이전 40년 동안 최고의 기계는 엘로 등급에서 연간 약 40점을 얻은 반면, 최고의 [17]인간은 연간 약 2점을 얻은 것이 트렌드였습니다.컴퓨터가 인간 경쟁에서 획득한 최고 등급은 1988년 딥씽크사의 USCF 등급 2551로, FIE는 더 이상 인간-컴퓨터 결과를 등급 목록에 인정하지 않습니다.레이팅 머신 전용 Elo 풀이 생성되었지만 외관은 비슷하지만 직접 [18]비교되지는 않습니다.2016년 스웨덴 체스 컴퓨터 협회는 컴퓨터 프로그램 코모도를 3361점으로 평가했다.
체스 엔진이 계속 향상되고 있습니다.2009년에는 느린 하드웨어로 작동하는 체스 엔진이 그랜드마스터 수준에 도달했습니다.2009년 [19]8월 4일부터 14일까지 아르헨티나 부에노스아이레스에서 열린 Copa Mercosur 토너먼트에서 휴대폰 HTC 터치 HD의 포켓 프리츠 4를 구동하는 체스 엔진 Hiarcs 13이 9승 1무로 우승했다.Pocket Fritz 4는 [20]초당 20,000개 미만의 위치를 검색합니다.딥블루 등 슈퍼컴퓨터가 초당 2억개의 위치를 검색한 것과 대조적이다.
어드밴스드 체스는 카스파로프에 의해 1998년에 개발된 체스의 한 형태로, 인간이 다른 인간과 대전하는 것으로, 둘 다 힘을 향상시키기 위해 컴퓨터에 접속할 수 있다.그 결과 나온 "고급" 플레이어는 카스파로프에 의해 인간이나 컴퓨터보다 더 강하다고 주장되었습니다.이것은 프리스타일 체스 경기와 같은 많은 경우에 증명되었다.
오늘날 선수들은 체스 엔진을 [21]상대보다 분석 도구로 취급하는 경향이 있다.체스 그랜드마스터 앤드류 솔티스는 2016년에 "컴퓨터는 너무 훌륭하다"고 말했고 세계 챔피언 매그너스 칼슨은 [22]"그는 항상 지고 게임에 참여하지 않고 지는 것보다 더 우울한 것은 없기 때문에 컴퓨터 체스를 하지 않을 것이다.
컴퓨터 방법
20세기 초 루크와 킹엔딩을 하는 기계와 16진수 같은 다른 게임을 하는 전기 기계 시대 이후, 과학자와 이론가들은 인간이 어떻게 배우고, 기억하고, 생각하고, 적용하는 지식에 대한 절차적 표현과 체스 게임을 개발하려고 노력해왔다.ng 복잡성은 "인공지능(AI)[23]의 드로소필라"가 되었다.복잡한 절차적 해결은 사고와 동의어가 되었고, 체스 오토마톤 시대 이전에도 초기 컴퓨터는 일반적으로 "전자 두뇌"라고 불렸다.20세기 후반부터 지식과 사고를 나타내기 위해 체스 게임(체커와 같은 다른 게임들)에 적용되는 몇 가지 다른 스키마가 고안되었다.
- 검색 기반(선택적 검색과 비교)
- 검색 기반 스키마에서 검색(minimax/alpha-beta, Monte Carlo 트리 검색)
- 검색 기반 스키마(기계 학습, 뉴럴 네트워크, 텍셀 튜닝, 유전 알고리즘, 구배 강하, 강화 학습)
- 지식기반(PARADISE, 엔드게임 테이블베이스)
"끝과 평균" 휴리스틱스를 사용하여 인간 체스 플레이어는 필요한 움직임의 수에 관계없이 최적의 결과와 그것을 달성하는 방법을 직관적으로 결정할 수 있지만, 컴퓨터는 분석에서 체계적이어야 한다.대부분의 선수들은 경기를 잘하기 위해 필요할 때 최소한 5수 이상 앞을 내다봐야 한다는 데 동의한다.일반적인 토너먼트 규칙은 각 선수에게 한 동작당 평균 3분을 준다.평균적으로 체스 포지션당 30개 이상의 법적 움직임이 있기 때문에 컴퓨터는 10개의 플레이를 예측하기 위해 1,000조 개의 가능성을 검토해야 한다; 1초에 100만 개의 포지션을 검사할 수 있는 것은 30년 [9]이상이 걸릴 것이다.
체스의 절차적 표현에 대한 최초의 시도는 디지털 전자 시대보다 앞서 있었지만, 그러한 복잡성을 계산할 수 있는 여지를 준 것은 저장된 프로그램 디지털 컴퓨터였다.1949년에 클로드 섀넌은 체스의 알고리즘 해법의 원리를 설명했다.본 페이퍼에서 게임은 움직임에 대응하는 선택지(가지)의 디지털 데이터 구조인 트리(tree)로 표현된다.트리의 노드는 이동 선택에 따라 보드 상의 위치였습니다.첫 동작부터 마지막 동작까지 트리를 구축함으로써 체스 게임 전체를 나타내는 것은 불가능하다는 것은 즉시 명백해졌다: 체스에서 포지션당 평균 36개의 동작이 있고 평균적인 게임은 체념으로 약 35개의 동작이 지속된다. (체스를 체크메이트, 교착 상태 또는 다른 무승부를 위해 하는 경우 60-80개의 동작).1차 이동 후 가능한 포지션은 400개, 2차 이동 후 약 20만개, 3차 이동 후 약 1억2000만개다.
그 때문에, 어느 정도의 깊이까지 한정적인 예측(검색)을 실시해, 그 후 도메인 고유의 지식을 사용해 단말의 위치를 평가하는 것이 제안되었다.양쪽에서 좋은 움직임을 보인다면 일종의 중간 포지션이 나올 것이고, 그 평가는 선수들에게 선택된 움직임의 좋고 나쁨을 알려줄 것이다.트리에 대한 검색 및 비교 연산은 컴퓨터 계산에 적합했지만, 평가 함수에서 미묘한 체스 지식의 표현은 적절하지 않았습니다.초기 체스 프로그램은 두 가지 영역에서 모두 어려움을 겪었습니다: 방대한 트리를 검색하는 것은 이용 가능한 것보다 훨씬 더 많은 계산 자원을 필요로 했고, 어떤 체스 지식이 유용하고 어떻게 인코딩되는지를 발견하는 데 수십 년이 걸렸습니다.
체스 게임용 컴퓨터 시스템의 개발자는 몇 가지 근본적인 구현 문제를 결정해야 한다.여기에는 다음이 포함됩니다.
- 그래피컬 유저 인터페이스(GUI)– 이동 입력 및 사용자와의 통신 방법, 게임 기록 방법, 시간 제어 설정 방법 및 기타 인터페이스 고려 사항
- 이사회의 표현 – 데이터 구조에서 단일 위치가 어떻게 표현되는가.
- 검색 기술 – 가능한 움직임을 식별하고 추가 검토를 위해 가장 유망한 것을 선택하는 방법
- 리프 평가 – 이사회 포지션에서 더 이상의 검색이 이루어지지 않는 경우 해당 포지션의 가치를 평가하는 방법.
Adrian de Groot은 다양한 강점을 가진 많은 체스 선수들을 인터뷰했고, 마스터와 초보자 모두 어떤 동작을 할지 결정하기 전에 40~50개의 포지션을 본다는 결론을 내렸다.전자의 선수들을 훨씬 더 잘 만드는 것은 그들이 경험을 바탕으로 만들어진 패턴 인식 기술을 사용한다는 것이다.이것에 의해, 불량이라고 생각할 수 있는 움직임을 고려하지 않는 것만으로, 일부의 라인을 다른 라인보다 훨씬 상세하게 조사할 수 있습니다.이에 대한 더 많은 증거는 훌륭한 인간 플레이어들이 진짜 체스 게임으로부터 위치를 기억하는 것을 훨씬 더 쉽게 발견하고, 그것들을 같은 피스의 완전한 무작위 배열보다는 소수의 인식할 수 있는 하위 포지션으로 분해하는 방법입니다.반면 가난한 선수들은 리콜 수준이 같다.
컴퓨터 체스에서 이에 상당하는 것은 인간 플레이어의 패턴 인식 능력에 대응하는 리프 평가를 위한 평가 기능과 인간 플레이어의 경험을 쌓는 텍셀 튜닝, 확률적 경사 하강, 강화 학습과 같은 기계 학습 기술을 훈련에 사용하는 것이다.s. 이것은 현대 프로그램이 인간 플레이어가 하는 것과 같은 방식으로 프로그램이 평가 기능을 통해 불량하다고 가정한 이동을 단순히 고려하지 않기 위해 전진 가지치기 및 기타 선택 휴리스틱을 사용하여 다른 프로그램보다 훨씬 더 깊이 있는 일부 라인을 검사할 수 있도록 한다.이런 점에서 컴퓨터 프로그램과 인간의 유일한 근본적인 차이점은 컴퓨터 프로그램이 인간 플레이어보다 훨씬 더 깊이 검색할 수 있고, 인간 플레이어보다 훨씬 더 많은 노드를 검색하고 지평선 효과를 우회할 수 있다는 것입니다.
그래피컬 사용자 인터페이스
컴퓨터 체스 프로그램은 일반적으로 많은 사실상의 표준을 지원한다.오늘날 거의 모든 프로그램은 휴대용 게임 표기법(PGN)으로 게임 이동을 읽고 쓸 수 있으며 개별 포지션을 Forsyth-Edwards 표기법(FEN)으로 읽고 쓸 수 있습니다.오래된 체스 프로그램들은 종종 긴 대수 표기법만을 이해했지만, 오늘날 사용자들은 체스 프로그램들이 표준 대수 체스 표기법을 이해하기를 기대한다.
1990년대 후반부터 프로그래머들은 엔진(어떤 움직임이 가장 강한지를 계산하는 명령줄 인터페이스)이나 그래픽 사용자 인터페이스(GUI)를 별도로 개발하여 플레이어가 볼 수 있는 체스보드와 움직일 수 있는 조각을 제공하기 시작했다.엔진은 CECP(Chess Engine Communication Protocol) 또는 UCI(Universal Chess Interface)와 같은 프로토콜을 사용하여 GUI로 이동을 전달합니다.체스 프로그램을 이 두 조각으로 나누면 개발자는 프로그램의 두 부분을 모두 쓸 필요 없이 사용자 인터페이스 또는 엔진만 쓸 수 있습니다.('체스 엔진'도 참조).
개발자는 엔진을 오프닝 북 및/또는 게임 테이블베이스에 연결할 것인지 아니면 GUI에 맡길 것인지를 결정해야 합니다.
이사회의 표현
각 체스 포지션을 나타내는 데 사용되는 데이터 구조는 이동 생성 및 포지션 평가의 성능에 핵심입니다.방법에는 배열에 저장된 조각("우편함") 및 "0x88"), 목록에 저장된 조각 위치("조각 목록"), 조각 위치("비트보드")의 비트 집합 및 소형 장기 저장을 위한 허프만 코드화된 위치가 포함됩니다.
검색 기술
컴퓨터 체스 프로그램은 체스 동작을 게임 트리로 간주한다.이론적으로, 그들은 모든 움직임을 검사하고, 그 움직임에 모든 반작용을 한 다음, 모든 반작용을 하고, 한 명의 플레이어에 의해 각각의 움직임이 "플라이"라고 불리는 등입니다.이 평가는 특정 최대 검색 깊이 또는 프로그램이 최종 "리프" 위치에 도달했다고 판단할 때까지 계속됩니다(예: 체크메이트).
미니맥스 검색
컴퓨터 체스에서 사용되는 특정 유형의 검색 알고리즘은 미니맥스 검색 알고리즘으로, 각 플레이에서 플레이어의 "최고의" 동작이 선택됩니다.한 플레이어는 스코어를 최대화하려고 하고 다른 플레이어는 스코어를 최소화하려고 합니다.이 교대처리에 의해, 그 위치의 검색치를 나타내는 평가를 가지는 특정의 단말 노드에 도달한다.그 가치는 뿌리까지 뒷받침되고, 그 평가는 이사회의 지위에 대한 평가가 됩니다.이 검색 프로세스를 미니맥스라고 합니다.
미니맥스 알고리즘의 순진한 구현은 실질적인 시간 내에 작은 깊이까지만 검색할 수 있기 때문에, 좋은 움직임의 검색을 크게 가속화하기 위한 다양한 방법이 고안되었습니다.Alpha-beta 프루닝은 가능한 검색 결과의 상한과 하한을 정의하고 그 한계가 일치할 때까지 검색하는 시스템으로서 일반적으로 프로그램의 검색 공간을 줄이기 위해 사용됩니다.
또한 정지 검색, 순방향 프루닝, 검색 확장 및 검색 감소와 같은 다양한 선택적 검색 휴리스틱도 사용됩니다.이러한 휴리스틱은 명백한 잘못된 움직임(이력 이동)을 배제하거나 대상 노드(예: 내선번호 검사, 7순위에서의 폰 통과 등)를 조사하기 위해 특정 조건에 따라 트리거됩니다.그러나 이러한 선택적 검색 휴리스틱은 매우 신중하게 사용해야 합니다.너무 많이 연장하면 프로그램이 재미없는 자리를 찾는 데 너무 많은 시간을 낭비합니다.너무 많은 것을 제거하거나 줄이면 대상 노드가 차단될 위험이 있습니다.
몬테카를로 트리 검색
MCTS(Monte Carlo Tree Search)는 탐색 공간의 랜덤 샘플링을 기반으로 탐색 트리를 확장하는 휴리스틱 검색 알고리즘입니다.컴퓨터 체스에서 일반적으로 사용되는 몬테카를로 트리 검색의 버전은 PUCT, Predictor 및 Upper Confidence bounds가 나무에 적용됩니다.
DeepMind의 AlphaZero와 릴라 체스 제로는 미니맥스 대신 MCTS를 사용한다.이러한 엔진은 그래픽스 처리 장치에 배치 처리를 사용하여 평가 기능과 정책(이동 선택)을 계산하기 때문에 GPU에 대한 계산은 본질적으로 병렬이기 때문에 병렬 검색 알고리즘이 필요합니다.컴퓨터 체스에서 사용되는 미니맥스와 알파 베타 프루닝 알고리즘은 본질적으로 시리얼 알고리즘이기 때문에 GPU에서의 배치에서는 잘 작동하지 않습니다.반면, MCTS는 몬테카를로 트리 검색에 사용되는 랜덤 샘플링이 병렬 컴퓨팅에 적합하기 때문에 좋은 대안이며, 이것이 계산 기능을 지원하는 거의 모든 엔진입니다.GPU 상의 네트워크에서는 알파 베타 대신 MCTS를 사용합니다.
기타 최적화
다른 많은 최적화 기능을 사용하여 체스 프로그램을 강화할 수 있습니다.예를 들어, 이전 테이블은 이전에 평가된 위치를 기록하여 재계산을 저장하는 데 사용됩니다.레퓨테이션 테이블은 좋은 움직임으로 보이는 주요 동작을 기록합니다.이러한 동작은 일반적으로 다른 포지션에서 먼저 시행됩니다(어떤 포지션을 레퓨테이션하는 동작이 다른 포지션을 레퓨테이션 할 가능성이 높기 때문입니다).단점은 깊은 플라이 깊이의 전치 테이블이 수천만에서 수억 개의 엔트리로 상당히 커질 수 있다는 것입니다.예를 들어 1996년 IBM의 딥 블루 전위표는 5억 개 항목입니다.치환 테이블이 너무 작으면 검색된 엔트리에서 절약된 시간보다 탈곡으로 인해 존재하지 않는 엔트리를 검색하는 데 더 많은 시간이 소요될 수 있습니다.많은 체스 엔진들은 플레이의 힘을 높이기 위해 인간과 비슷하게 상대의 시간을 더 깊게 탐색하고 곰곰이 생각하는 방법을 사용한다.
물론, 더 빠른 하드웨어와 추가 메모리는 체스 프로그램의 플레이 강도를 향상시킬 수 있습니다.하이퍼스레드 아키텍처는 프로그램이 단일 코어 또는 소수의 코어로 실행되고 있는 경우 성능을 다소 향상시킬 수 있습니다.대부분의 최신 프로그램은 다중 코어를 사용하여 병렬 검색을 수행하도록 설계되었습니다.다른 프로그램은 범용 컴퓨터에서 실행되도록 설계되어 이동 생성, 병렬 검색 또는 평가를 전용 프로세서 또는 특수 공동 프로세서에 할당할 수 있습니다.
역사
수색에 관한 첫 번째 [24]논문은 1950년 클로드 섀넌이 쓴 것이다.그는 누가 체스를 두도록 컴퓨터를 프로그래밍하기 전에 사용할 수 있는 두 가지 가능한 검색 전략을 [25]예측했다. 그는 사용할 수 있는 두 가지 가능한 검색 전략을 예측했다.
타입 A 프로그램은 순진한 미니맥스 알고리즘을 사용하여 고정된 수의 이동에 대해 가능한 모든 위치를 검사하는 "brute force" 접근법을 사용합니다.섀넌은 두 가지 이유로 이것이 비현실적이라고 믿었다.
첫째, 일반적인 실제 포지션에서 약 30개의 동작이 가능하기 때문에, 그는 체스 컴퓨터가 초당 100만 개의 포지션을 평가하는 "매우 낙관적인" 경우에도, 양쪽에서 3개의 포지션을 보는 것과 관련된 약 10개의9 포지션을 검색하는 데 약 16분이 걸릴 것으로 예상했습니다.(이 속도에 도달하는 데 약 40년이 걸렸습니다.알파 베타 프루닝이라고 불리는 이후 검색 알고리즘은 가능한 검색 결과에 대한 상한과 하한을 정의하고 그 한계가 일치할 때까지 검색하는 시스템으로 게임 트리의 분기 계수를 대수적으로 감소시켰지만, 당시 체스 프로그램에서는 여전히 트리의 기하급수적인 폭발을 이용할 수 없었다.
둘째, 정지 문제를 무시하고 조각 교환이나 다른 중요한 이동 순서('라인')의 끝에 있는 위치만 평가하려고 했습니다.그는 이에 대처하기 위해 미니맥스를 적용하면 살펴봐야 할 포지션의 수가 크게 증가하고 프로그램이 더 느려질 것으로 기대했다.그는 이에 대처하기 위해 타입 A를 적용하면 검토해야 할 포지션의 수가 크게 증가하고 프로그램이 더 느려질 것으로 기대했다.
이것은 자연스럽게 "선택적 검색" 또는 "타입 B 검색"이라고 불리는 것으로 이어졌으며, 체스 지식(휴리스틱스)을 사용하여 검색할 각 위치에서 몇 가지 추측되는 좋은 동작을 선택하고 검색하지 않고 다른 동작을 제거한다.Shannon은 불량하거나 사소한 움직임을 조사하기 위해 처리 능력을 낭비하는 대신 유형 B 프로그램이 두 가지 개선 사항을 사용할 것을 제안했습니다.
- 정지 검색을 사용합니다.
- 전방 가지치기를 사용합니다. 즉, 각 위치에 대해 몇 가지 좋은 움직임만 살펴봅니다.
이를 통해 합리적인 시간에 가장 중요한 선에서 더 멀리 내다볼 수 있습니다('디퍼').
그러나 선택적인 검색의 초기 시도는 종종 최선의 이동 또는 이동을 제거해 버리는 결과를 낳았다.그 결과, 이 선택적 검색 패러다임의 첫 번째 반복이 지배하는 이후 25년 동안 거의 또는 전혀 진전이 없었다.이 초기에 제작된 최고의 프로그램은 1967년 Mac Hack VI로, 일반 아마추어(미국 체스 연맹 등급 등급의 C 클래스)와 거의 같은 수준으로 경기를 했다.
한편, 하드웨어는 계속 개선되어 1974년 노스웨스턴 대학 체스 4.0 프로그램에서 처음으로 무차별적인 포스 검색이 실시되었습니다.이 접근법에서는 노드에서의 모든 대체 이동이 검색되며 플루닝은 이루어지지 않습니다.그들은 단순히 모든 움직임을 검색하는 데 필요한 시간이 지식집약적 휴리스틱스를 적용하여 그 중 몇 가지를 선택하는 데 필요한 시간보다 훨씬 짧다는 것을 발견했으며, 좋은 움직임을 시기상조하거나 부주의하게 제거하지 않는 이점이 훨씬 더 강력한 성능을 제공한다는 것을 발견했다.
1980년대와 1990년대에, 마침내 선택적 검색 패러다임의 발전이 이루어졌으며, 정지 검색, 늘 무브 프루닝 및 기타 현대 선택적 검색 휴리스틱스의 개발이 이루어졌다.이러한 휴리스틱스는 이전의 휴리스틱스보다 실수가 훨씬 적었고, 많은 엔진에 의해 더 깊고 광범위하게 채택된 검색을 할 수 있기 때문에 여분의 시간을 절약할 가치가 있는 것으로 밝혀졌다.많은 최신 프로그램이 검색 알고리즘의 기판으로 알파 베타 검색을 사용하지만, 최신 프로그램에 사용되는 이러한 추가 선택적 검색 휴리스틱스는 프로그램이 더 이상 "중요한" 검색을 수행하지 않음을 의미합니다.대신 프로그램이 좋다고 생각하는 선을 확장하고, 프로그램이 나쁘다고 생각하는 선을 줄이고, 검색 트리의 노드 대부분을 제거하여 최신 프로그램을 매우 깊이 검색할 수 있도록 하기 위해 이러한 선택적 검색 휴리스틱스에 크게 의존합니다.
2006년 Rémi Coulom은 또 다른 종류의 B형 선택 검색인 몬테카를로 트리 검색을 만들었습니다.2007년에 Levente Kocsis와 Csaba Szepesvarri에 의해 나무 또는 UCT에 적용된 Upper Confidence bounds라고 불리는 몬테카를로 나무 탐색의 적응이 만들어졌다.2011년 Chris Rosin은 나무에 적용되는 예측 변수 + 신뢰 상한(PUCT)이라는 UCT의 변형을 개발했습니다.PUCT는 2017년 알파제로에서 사용되었고 이후 2018년 릴라 체스 제로에서 사용되었다.
지식 대 검색(프로세서 속도)
1970년대에 대부분의 체스 프로그램은 Control Data Cyber 176s나 Cray-1s와 같은 슈퍼 컴퓨터에서 실행되었는데, 이는 컴퓨터 체스의 발달 기간 동안 처리 능력이 성능의 제한 요소였음을 보여줍니다.대부분의 체스 프로그램은 3단계 이상의 깊이로 검색하는데 어려움을 겪었습니다.1980년대의 하드웨어 체스 머신에서 프로세서 속도와 평가 함수에 인코딩된 지식 사이의 관계가 명확해지기 전까지는 알 수 없었습니다.
컴퓨터 속도를 2배로 하면 플레이 강도가 약 50~70 Elo 포인트가 향상되는 것으로 추정되고 있습니다(Levy & Nevorn 1991:192).
리프 평가
대부분의 체스 포지션에서 컴퓨터는 가능한 모든 최종 포지션을 예측할 수 없습니다.대신, 그들은 몇 개의 플라이를 보고 잎이라고 알려진 가능한 위치를 비교해야 한다.잎을 평가하는 알고리즘을 "평가 함수"라고 하며, 이러한 알고리즘은 종종 체스 프로그램마다 크게 다릅니다.평가 함수는 일반적으로 폰(센티폰이라고 함)의 100분의 1 단위로 위치를 평가하는데, 관례상 긍정 평가는 흰색, 부정 평가는 검은색입니다.그러나 일부 평가 함수는 센티폰 대신 윈/드로우/로스 비율을 출력합니다.
지금까지 수작업 평가 함수는 각 측면의 강도에 영향을 미치는 다른 요인들과 함께 재료 가치를 고려했습니다.각 면의 재료를 셀 때, 피스의 일반적인 값은 폰의 1점, 나이트나 비숍의 3점, 룩의 5점, 퀸의 9점입니다.(체스의 피스 상대값 참조).킹에게는 체크메이트가 다른 모든 요소보다 우선함을 보장하기 위해 200점(Shannon's paper)과 같은 임의의 높은 값이 주어지는 경우가 있습니다(Levy & Newborn 1991:45).대부분의 수작업 평가 함수는 피스 점수 외에도 전당 구조, 비숍 쌍이 보통 더 가치가 있다는 사실, 중앙 집중화된 피스 값이 더 가치가 있다는 사실 등 많은 요소를 고려합니다.게임의 단계(시작, 중간 또는 끝 게임)뿐만 아니라 왕 보호도 고려됩니다.텍셀 터닝, 확률적 경사 하강 또는 강화 학습과 같은 기계 학습 기법은 일반적으로 수작업 평가 기능을 최적화하기 위해 사용된다.
대부분의 현대적인 평가 기능은 신경망을 이용한다.오늘날 사용되는 가장 일반적인 평가 기능은 효율적으로 업데이트 가능한 뉴럴 네트워크입니다. 뉴럴 네트워크는 입력이 조각-제곱 테이블인 얕은 뉴럴 네트워크입니다.조각-사각형 테이블은 체스판의 사각형에 대응하는 64개의 값의 집합으로, 일반적으로 모든 조각과 색상에 대해 조각-사각형 테이블이 존재하며, 결과적으로 12개의 조각-사각형 테이블이 생성되어 뉴럴 네트워크에 768개의 입력이 이루어집니다.또한 일부 엔진은 평가 기능에 심층 뉴럴 네트워크를 사용합니다.신경 네트워크는 일반적으로 감독 학습 또는 비감독 학습과 함께 일부 강화 학습 알고리즘을 사용하여 훈련된다.
평가함수의 출력은 센티폰 또는 기타 단위로 양자화된 단일 스칼라로, 수작업 평가함수의 경우 기술된 다양한 요소의 가중치 합산이며, 뉴럴 네트워크 기반 평가함수의 경우 뉴럴 네트워크 헤드의 출력이다.평가는 평가된 노드 아래의 서브트리의 값을 마치 게임 종료까지 검색된 것처럼 추정적으로 나타내거나 근사한다.검색 중에 평가를 다른 리프의 평가와 비교하여 어느 한쪽의 움직임이 나쁘거나 좋지 않은 노드를 제거하고 컨버전스에 의해 양쪽의 플레이가 최적인 위치의 값을 나타내는 노드를 생성한다.
게임 종료 테이블 베이스
검색의 깊이가 필요하기 때문에 엔드게임 플레이는 체스 프로그램의 큰 약점 중 하나였다.그렇지 않으면 중급 인간 선수들도 승리를 강요할 수 있는 포지션에서 마스터 레벨의 프로그램 중 일부는 이길 수 없었다.
이 문제를 해결하기 위해 컴퓨터는 킹과 폰에서 킹에 대한 체스 최종 게임의 위치를 완전히 분석하기 위해 사용되어 왔다.이러한 최종 게임 테이블베이스는 최종 결과가 알려진 위치(예: 한쪽이 맞물린 위치)에서 시작하여 다른 위치가 하나 떨어져 있는지 확인하고, 그 위치에서 하나 떨어져 있는지 확인하는 역행 분석 형식을 사용하여 미리 생성된다.켄 톰슨은 이 지역의 선구자였다.
컴퓨터 분석의 결과는 때때로 사람들을 놀라게 했다.1977년 톰슨의 벨 체스 머신은 킹과 루크의 최종 게임 테이블 베이스를 사용하여 여러 마스터를 상대로 이론적으로 패배한 엔딩을 그릴 수 있었습니다(필리도르 포지션#퀸 대 루크 참조).수비왕과 루크를 최대한 가깝게 유지함으로써 패배를 늦추는 통상적인 전략을 따르지 않았음에도 불구하고였다.프로그램 일부의 움직임의 이면에 있는 이유를 설명하라는 질문에, 톰슨은 프로그램의 데이터베이스가 단지 최고의 움직임을 반환했다고 말하는 것 외에는 그렇게 할 수 없었다.
대부분의 할머니들은 퀸 대 루크의 최종 경기에서 컴퓨터와의 경기를 거부했지만 월터 브라운은 도전을 받아들였다.퀸 대 루크 포지션으로 퀸이 완벽한 플레이로 30번 만에 승리할 수 있는 포지션이 마련됐다.브라운은 2시간 반 동안 50개의 동작을 할 수 있도록 허락받았다.그렇지 않으면 50개의 동작에 따라 무승부가 될 것이다.브라운은 45번의 움직임 후에 무승부에 동의했고, 다음 다섯 번의 움직임에서 체크메이트를 강요하거나 루크를 이길 수 없었다.최종 포지션에서 브라운은 아직 체크메이트로부터 17수 앞섰지만, 신인왕을 차지하기까지 그리 멀지 않았다.브라운은 마지막 게임을 공부했고 일주일 후 여왕이 30번 만에 이길 수 있는 다른 위치에서 컴퓨터를 다시 했다.이번에, 그는 50번째 이동에서 루크를 잡아 우승 포지션을 그에게 주었다. (레비 & 신생아 1991:144-48), (눈 2002:49)
오랫동안 이길 것으로 여겨졌던 다른 포지션들은 체스의 50수 규칙에 의해 허용된 것보다 실제로 이기기 위해 퍼펙트 플레이에 대해 더 많은 움직임을 보이는 것으로 드러났다.그 결과, 몇 년 동안 체스의 공식 FIDE 규칙은 이러한 엔딩에서 허용되는 동작 수를 늘리기 위해 변경되었습니다.잠시 후, 규칙은 모든 포지션에서 50개의 움직임으로 되돌아갔다 – 그러한 포지션이 더 많이 발견되었고, 규칙은 더욱 복잡해졌고, 그들은 포지션을 완벽하게 플레이할 수 없었기 때문에 인간의 플레이에는 아무런 차이가 없었다.
수년간 다른 엔드게임 데이터베이스 포맷은 에드워드 테이블베이스, 드 코닝 데이터베이스 및 Rybka, Shredder 및 Fritz와 같은 많은 체스 프로그램에서 사용되는 Nalimov 테이블베이스 등 출시되었습니다.6개의 피스가 있는 모든 위치에 테이블 베이스를 사용할 [26]수 있습니다.마크 부르주츠키와 야코프 코노발이 [27]7개의 엔드게임을 분석했다.모스크바에서 로모노소프 슈퍼컴퓨터를 사용하는 프로그래머는 7피스 이하의 모든 엔드게임에 대해 체스 테이블 베이스를 완성했다(백색 피스 6개 대 [28][29]흑인 킹 1개 등 간단한 엔드게임 위치는 제외).이러한 모든 최종 게임 데이터베이스에서는 캐슬링이 더 이상 불가능하다고 가정합니다.
많은 테이블베이스는 50개의 움직임이 있는 게임이 포섭이나 폰 이동 없이 통과되는 50개의 움직임 규칙을 고려하지 않고 있으며, 어느 한 쪽의 플레이어에 의해 무승부라고 주장될 수 있다.그 결과 실제로 50이동 규칙 때문에 그려질 수 있는 일부 위치에서 테이블베이스가 "66이동 중 강제 짝짓기"와 같은 결과를 반환합니다.이것의 한 가지 이유는 체스의 규칙이 한번 더 바뀌면, 그러한 포지션에서 승리할 수 있는 시간이 더 주어진다면, 모든 테이블베이스를 재생성할 필요가 없을 것이기 때문이다.또한 테이블 베이스를 사용하는 프로그램이 이 '기능'을 알아차리고 고려하는 것은 매우 쉬우며, 어떤 경우에도 엔드 게임 테이블 베이스를 사용하는 것이 가장 빠른 승리로 이어지는 동작을 선택할 수 있습니다(완벽한 플레이가 있는 50개 동작 규칙에 어긋나더라도).테이블 베이스를 사용하지 않고 상대와 경기를 하면 50수 이내에 승리할 가능성이 높다.
최첨단 압축 기술을 사용하는 Nalimov 테이블베이스는 5피스 엔딩 모두에 7.05GB의 하드디스크 공간이 필요합니다.6피스 엔딩을 모두 커버하려면 약 1.2TB가 필요합니다.7개의 테이블 베이스에는 50~200TB의 스토리지 [30]공간이 필요한 것으로 추정됩니다.
1999년 카스파로프가 전 세계를 상대로 인터넷 시범경기를 했을 때 엔드게임 데이터베이스가 눈에 띄었다.세계팀이 무승부를 만회하기 위해 싸우는 가운데 퀸과 전당포의 7피스 최종전에 도달했다.Eugene Nalimov는 양쪽에서 분석을 돕기 위해 많이 사용된 두 개의 퀸이 있는 6피스 엔딩 테이블 베이스를 생성함으로써 도움을 주었다.
오프닝 북
인간과 마찬가지로 체스 엔진은 디스크 데이터베이스에 저장된 오프닝 북을 참조함으로써 마스터가 설명하는 강력한 변형과 처리 시간을 절약할 수 있습니다.오프닝 북은 게임의 오프닝 움직임을 오프닝과 변동에 따라 다양한 깊이로 커버하지만, 보통 처음 10-12 움직임(20-24단계)까지 커버합니다.오프닝은 수세기 동안 고수들에 의해 깊이 연구되어 왔고, 일부는 중간 게임으로 잘 알려져 있기 때문에, 고수들에 의한 특정 변형에 대한 평가는 보통 프로그램의 일반적인 휴리스틱스보다 우수할 것이다.
한 때 체스 프로그램을 자신의 자원으로 활용하기 위해 책 밖의 움직임을 하는 것은 효과적인 전략이었을지도 모른다. 왜냐하면 체스 오프닝 책들은 프로그램의 플레이 스타일에 따라 선택적이고, 프로그램들은 인간과 관련하여 눈에 띄는 약점을 가지고 있었기 때문이다.[when?]컴퓨터 데이터베이스에 저장된 오프닝 북은 가장 잘 준비된 인간들보다 훨씬 더 광범위할 가능성이 높으며, 서적 외 움직임을 조기에 재생하는 것은 컴퓨터가 책에서 특이한 움직임을 발견하고 상대방을 날카로운 불이익으로 몰아넣는 결과를 초래할 수도 있다.비록 그렇지 않더라도, 책 밖에서 하는 것이 보드 위에서 낯선 변형에서 강한 움직임을 발견해야 하는 인간들보다 전술적으로 날카로운 체스 프로그램에 훨씬 더 나을 수 있다.
컴퓨터 체스 등급 목록
CEGT,[31] CSS,[32] SSDF,[33] WBEC,[34] REVEL,[35] FGRL [36]및 IPON은[37] 평가 목록을 유지하며 팬은 엔진의 강도를 비교할 수 있습니다.2020년대 초반에는 스톡피시, 코모도, 릴라 체스 제로, 뚱보 프리츠의 다양한 버전이 순위표를 지배하고 있다.
CCRL(Computer Chess Rating Lists)은 컴퓨터 체스 엔진의 힘을 서로 비교하며 테스트하는 기관이다.CCRL은 컴퓨터와 컴퓨터의 경쟁을 촉진하고 평가목록에 [38]결과를 정리하기 위해 2006년에 설립되었습니다.
조직은 40/40(40개 이동당 40분), 40/4(40개 이동당 4분) 및 40/4 FRC(같은 시간 제어, Chess960)[Note 1]의 세 가지 목록을 실행합니다.곰곰이 생각하기(또는 퍼머넌트 브레인)를 끄고 Crafty 19.17 BH를 벤치마크로 하여 AMD64 X2 4600+(2.4GHz) CPU로 타이밍을 조정합니다.일반적으로 중립적인 오프닝 북이 사용됩니다(엔진 자체 북과 달리). 최대 12개의 이동 제한과 4인 또는 5인의 테이블 [38][39][40]베이스를 사용합니다.
역사
컴퓨터 이전 시대
체스 게임을 하는 기계를 만드는 아이디어는 18세기로 거슬러 올라간다.1769년경, 헝가리 발명가 Farkas Kempelen에 의해 만들어진 The Turk라고 불리는 체스 게임 오토마톤은 가짜로 드러나기 전에 유명해졌다.디지털 컴퓨팅이 발달하기 전에는 1912년의 El Ajedrecista와 같이 킹과 룩 대 킹 엔딩을 플레이한 오토마타를 기반으로 한 심각한 시험은 체스의 완전한 게임을 하기에는 너무 복잡하고 제한적이었다.기계 체스 연구 분야는 1950년대 디지털 컴퓨터가 등장할 때까지 쇠퇴했다.
초기 소프트웨어 사용 기간: 선택적 검색
그 이후로 체스 애호가들과 컴퓨터 엔지니어들은 진지함과 성공의 정도가 높아지면서 체스 게임 기계와 컴퓨터 프로그램을 만들었다.컴퓨터 체스에 진지하게 몰두한 몇 안 되는 체스 거장 중 한 명은 전 세계 체스 챔피언 미하일 보트비니크였는데, 그는 이 주제에 관한 여러 작품을 썼다.그는 전기공학 박사 학위도 가지고 있었다.1960년대 초반 소련에서 사용 가능한 비교적 원시적인 하드웨어로 작업한 Botvinnik은 소프트웨어 이동 선택 기술을 조사할 수밖에 없었습니다. 당시에는 가장 강력한 컴퓨터만이 3개의 전폭 검색을 훨씬 능가할 수 있었고 Botvinnik에는 그러한 기계가 없었습니다.1965년 Botvinnik은 미국-소련 컴퓨터 체스 경기에서 ITEP 팀의 컨설턴트였습니다(Kotok-Mcarthy 참조).
최신 소프트웨어 사용 기간: 전폭 검색
한 가지 발전적 이정표는 체스 시리즈 프로그램을 책임지고 첫 세 번의 ACM 컴퓨터 체스 챔피언십(1970-72)을 우승한 노스웨스턴 대학 팀이 1973년 B형 검색을 포기했을 때 일어났다.그 결과 체스 4.0이 그 해 챔피언십에서 우승했고 그 후속 프로그램들은 1975년, 1976년, 1977년에 다시 ACM 챔피언십에서 우승하기 전에 1974년 ACM 챔피언십과 그 해 첫 번째 세계 컴퓨터 체스 챔피언십에서 모두 2위를 차지했다.타입 A의 실장은, 검색 가치가 있는 움직임을 판별하는 데 걸리는 시간에는, 모든 것을 검색하는 것만으로 가능했습니다.사실, Chess 4.0은 오늘날 모든 현대 체스 프로그램이 기본적으로 따르고 있는 패러다임을 설정했습니다.
체스 머신의 부상
1978년, 켄 톰슨의 하드웨어 체스 머신 벨의 초기 공연은 지배적인 노스웨스턴 대학 체스 4.7을 누르고 북미 컴퓨터 체스 챔피언십에 진출하여 우승을 차지했다.
마이크로컴퓨터 혁명
처리능력에 있어서의 테크놀로지의 진보에 의해서, 무차별적인 어프로치는, 초기보다 훨씬 더 예리하게 되었습니다.그 결과, 평가 기능과 가지치기/연장 규칙에 의해 내장된 제한된 위치 지식에 의해 매우 견고하고 전술적인 AI 플레이어가 세계 최고의 선수들과 어깨를 나란히 하기 시작했습니다.그것은 컴퓨터가 인간의 사고 과정과 지식을 모방하도록 유인하기 보다는 그들이 가장 잘 하는 것을 하도록 하는 것이 적어도 체스 분야에서는 훌륭한 결과를 낳는 것으로 밝혀졌다.1997년, 초당 5억 개의 노드를 검사할 수 있는 강력한 기계인 딥 블루는 세계 챔피언 개리 카스파로프를 물리쳤고, 컴퓨터가 표준 시간 제어에서 세계 체스 챔피언을 이긴 것은 이번이 처음이다.
초인 체스
2016년, NPR은 전문가들에게 컴퓨터 체스 엔진의 플레이 스타일을 특징짓도록 요청했다.IBM의 Murray Campbell은 다음과 같이 말했습니다. "컴퓨터는 미적 감각이 전혀 없습니다.그들은 객관적으로 가장 좋은 동작이라고 생각하는 동작을 어떤 위치에서든 할 수 있고 아무리 못생겨도 할 수 있습니다." 그랜드마스터인 Andrew Soltis와 Susan Polgar는 컴퓨터가 [22]인간보다 후퇴할 가능성이 높다고 말했습니다.
뉴럴 네트워크 혁명
반면로는 신경 네트워크 체스 엔진의 평가 기능의 1980년대 후반 이후 NeuroChess, Morph, Blondie25, 기린, AlphaZero, MuZero,[41][42][43][44][45]로는 신경 네트워크 같은 프로그램은 체스 엔진으로 효율적으로 갱신할 수 있는. 신경 네트워크의 202의 여름의 도착까지 채택이 되지 않았던 사용되어 왔다.0.Efficiently 갱신할 수 있는. 신경 네트워크가 원래 컴퓨터 shogi에 2018년에 유 Nasu,[46][47]에 의해 먼저 건어물 파생된 건어물 NNUE 5월 31일 2020,[48]에 요청하기 전에 다른 체스 프로그래머들에 신경 네트워크가 채택하기 시작했다 공식 건어물 엔진에 68월 2020,[49][50]에 통합 ported 가지게 되었다.그들의 엔진이다.
왕립 협회의 벤키 라마크리슈난과 같은 일부 사람들은 알파제로가 체스 [51]엔진에 신경망을 널리 채택하도록 이끈다고 믿는다.그러나 알파제로가 신경망을 사용하기 시작한 엔진은 극히 적었고, 그것들은 특별히 알파제로 종이를 복제하기 시작한 릴라 체스 제로와 같은 새로운 실험 엔진인 경향이 있었다.알파제로의 평가 기능에 사용된 심층 신경망은 기존의 체스 엔진과 호환되지 않는 고가의 그래픽 처리 장치가 필요했다.체스 엔진의 대부분은 중앙 처리 장치만 사용하며 GPU의 컴퓨팅 및 처리 정보에는 Nvidia의 CUDA와 같은 백엔드에 특별한 라이브러리가 필요합니다.이 백엔드는 어느 엔진에도 액세스 할 수 없습니다.따라서 Komodo와 Stockfish와 같은 체스 엔진의 대부분은 2020년에 효율적으로 업데이트 가능한 신경 네트워크가 컴퓨터 체스로 이식될 때까지 수작업 평가 기능을 계속 사용했습니다. 이 경우 GPU나 CUDA와 같은 라이브러리는 전혀 필요하지 않습니다.그럼에도 불구하고 컴퓨터 체스에서 사용되는 신경망은 상당히 얕으며 알파제로가 개척한 심층 강화 학습 방법은 컴퓨터 체스에서는 여전히 매우 드물다.
타임라인
- 1769 – 볼프강 폰 켐펠렌이 터키를 건설한다.체스 게임용 오토마톤으로 등장해 기계 안에 숨어 있는 인간 플레이어에 의해 비밀리에 조작된다.
- 1868 – Charles Hooper는 Ajeeb 오토마톤을 선보입니다 – 이 오토마톤에는 인간 체스 플레이어가 숨겨져 있습니다.
- 1912 – 레오나르도 토레스 이 케베도는 킹과 룩 대 킹 엔드게임을 할 수 있는 기계인 El Ajedrecista를 만듭니다.
- 1941년 – Konrad Zuse는 동등한 작업을 적어도 10년 전에 Plankalkül 프로그래밍 형식주의로 컴퓨터 체스 알고리즘을 개발했습니다.그러나 제2차 세계대전의 상황 때문에 1970년대까지 출판되지 않았고 세상에 알려지지 않았다.
- 1948 – Norbert Wiener의 책 Cybernetics는 어떻게 체스 프로그램을 평가 함수와 함께 깊이 제한 미니맥스 검색을 사용하여 개발할 수 있는지를 기술하고 있습니다.
- 1950 – Claude Shannon은 컴퓨터 체스의 알고리즘 방법에 관한 최초의 논문 중 하나인 "Programming a Computer for Playing Chess"를 출판한다.
- 1951년 – 앨런 튜링은 체스 풀 게임을 할 수 있는 프로그램을 최초로 발행했습니다.[52][53]
- 1952 – Dietrich Prinz는 체스 문제를 해결하는 프로그램을 개발합니다.
- 1956 – 로스앨러모스 체스는 폴 스타인과 마크 웰스가 MANIAC I 컴퓨터를 위해 개발한 최초의 체스 게임입니다.
- 1956 – John McCarthy는 알파 베타 검색 알고리즘을 발명했습니다.
- 1957년 – 체스 풀 게임을 할 수 있는 첫 번째 프로그램이 Alex[54] Bernstein에 의해 개발되었으며, 하나는 BESM을 사용하여 러시아 프로그래머에 의해 개발되었습니다.
- 1958 – NSS는 알파 베타 검색 알고리즘을 사용하는 최초의 체스 프로그램이 됩니다.
- 1962 – 신뢰할 수 있는 첫 번째 프로그램인 Kotok-Mcarthy는 MIT에서 출판되었습니다.
- 1963 – 그랜드마스터 데이비드 브론스타인은 초기 체스 프로그램을 [55]실행하던 M-20을 물리쳤다.
- 1966-67 – 컴퓨터 프로그램 간의 첫 번째 체스 경기가 진행됩니다.모스크바 이론실험물리학연구소(ITEP)는 9개월 동안 전보로 스탠퍼드 대학의 코톡-매카시를 물리쳤다.
- 1967 – Richard Greenblatt 등의 Mac Hack VI.가 전위표를 도입하고 수십 개의 신중하게 조정된 이동 선택 휴리스틱을 사용합니다. 토너먼트 플레이에서 사람을 이기는 첫 번째 프로그램이 됩니다.Mac Hack VI는 C클래스 레벨에서 플레이했습니다.
- 1968 – 스코틀랜드 체스 챔피언 데이비드 레비는 AI의 선구자인 존 맥카시, 도널드 미치와 함께 10년 이내에 자신과 체스 시합에서 어떤 컴퓨터 프로그램도 이길 수 없을 것이라고 500파운드를 걸었다.
- 1970 – 몬티 신생아와 컴퓨터 기계 협회(Association for Computing Machine)는 뉴욕에서 제1회 북미 컴퓨터 체스 선수권 대회를 개최합니다.
- 1971 – Bell Labs의 미국인 컴퓨터 과학자이자 Unix 운영체제를 개발한 Ken Thompson은 [56]Unix의 초기 버전을 위한 첫 체스 플레이 프로그램인 "ches"를 작성했습니다.
- 1974년 – 데이비드 레비, 벤 미트먼, 몬티 뉴번 등이 러시아 프로그램 카이사가 제1회 세계 컴퓨터 체스 챔피언십을 개최합니다.
- 1975년 – 1967년 Greenblatt의 MacHack VI가 최고조에 달한 이후 거의 10년 만에 Northwestern University Chess 4.5가 전폭 검색, 비트보드의 혁신 및 반복 심화를 특징으로 하여 도입되었습니다.그것은 또한 그린블랫의 프로그램에서 처음 보였던 전치표를 복원했다.그러므로 그것은 통합된 현대적 구조를 가진 최초의 프로그램이었고 모든 미래 발전의 모델이 되었다.체스 4.5는 강력한 B클래스를 펼쳤고 [57]그 다음해 제3회 세계 컴퓨터 체스 챔피언십에서 우승했다.Northwestern University Chess와 그 후손들은 1980년대 초 하드웨어 체스 기계 시대까지 컴퓨터 체스를 지배했다.
- 1976년 – 12월에 캐나다 프로그래머 Peter R. Jennings가 마이크로컴퓨터의 [58]첫 판매 게임인 Microches를 출시합니다.
- 1977년 – 3월에 피델리티 일렉트로닉스는 판매되는 최초의 전용 체스 컴퓨터인 Chess Challenger를 출시합니다.국제컴퓨터체스협회는 체스 프로그래머들이 컴퓨터 체스 챔피언십을 조직하고 컴퓨터 체스에 대한 연구와 발전을 그들의 저널에 보고하기 위해 설립되었습니다.또한 Applied Concepts는 플라스틱 체스 조각과 접이식 보드가 있는 나무 상자에 담긴 전용 체스 컴퓨터인 Boris를 출시했다.
- 1978 – 데이비드 레비가 10년 전에 한 내기에서 Chess 4.7을 4-1로 6게임에서 이겼다.4차전에서의 컴퓨터의 승리는 [10]토너먼트에서 인간 마스터의 첫 패배이다.
- 1979 – Frederic Friedel은 IM David Levy와 Chess 4.8의 경기를 주관하며, 이 경기는 독일 TV에서 방송됩니다.세계에서 가장 강력한 컴퓨터인 CDC Cyber 176에서 작동하는 Levy and Chess 4.8은 89번의 힘든 무승부를 기록했다.
- 1980 – 피델리티 컴퓨터는 1980년부터 1984년까지 매년 세계 마이크로컴퓨터 챔피언십에서 우승합니다.독일에서 Hegener & Glaser는 그들의 첫 번째 메피스토 전용 체스 컴퓨터를 출시합니다.USCF는 체스 시스템 [59]제작자가 대표하지 않는 한 컴퓨터가 인간 토너먼트에서 경쟁하는 것을 금지하고 있다.세계 체스 챔피언을 물리친 최초의 체스 기계를 만든 사람에게 10만 달러를 주는 프레드킨 상이 제정되었다.
- 1981 – Cray Blitz는 미시시피 주 챔피언십에서 5-0 만점, 2258의 퍼포먼스로 우승을 차지했습니다.4라운드에서는 Joe Sentef(2262)를 꺾고 토너먼트 플레이에서 마스터를 이긴 최초의 컴퓨터이자 마스터 등급을 획득한 최초의 컴퓨터가 되었습니다.
- 1984년 – 독일 회사 Hegener & Glaser의 Mephisto 전용 체스 컴퓨터 라인은 ChessGenius 및 Rebel 프로그램을 실행하는 전용 컴퓨터를 사용하여 세계 마이크로컴퓨터 챔피언십에서 긴 연승(1984~1990년)을 시작했습니다.
- 1986 – 소프트웨어 국가(소프트웨어 툴웍스 참조)는 세계에서 가장 많이 팔리는 체스 프로그램의 첫 번째 에디션인 David Kitinger의 엔진을 기반으로 Chessmaster 2000을 출시했습니다.
- 1987 – Frederic Friedel과 물리학자 Matthias Wülenweber는 Chessbase를 발견하여 최초의 체스 데이터베이스 프로그램을 출시하였다.Stuart Cracraft는 별도의 그래피컬 사용자 인터페이스(GUI)인 chesstool과 [60]번들된 최초의 '체스 엔진' 중 하나인 GNU Chess를 출시합니다.
- 1988 – Hans Berliner와 Carl Ebeling이 개발한 HiTech가 그랜드마스터 Arnold Denker 3★-1993과의 경기에서 승리합니다.Deep Think는 소프트웨어 툴웍스 챔피언십에서 전 세계 챔피언 미하일 탈과 Samuel Reshevsky, Walter Browne 및 미하일 구레비치 등 여러 명의 거장들을 제치고 토니 마일스와 공동 1위를 차지했습니다.또한 그랜드마스터 벤트 라센을 물리치고 대회에서 GM을 이긴 최초의 컴퓨터가 되었다.이번 대회 2745(USCF 척도)에서의 성적은 컴퓨터 플레이어 [61][62]중 가장 높은 점수였다.
- 1989 – 딥 씽크(Deep Though Think)는 데이비드 레비를 4경기 0-4로 물리치고 1968년부터 그의 유명한 일련의 내기를 끝냈다.
- 1990 – 4월 25일, 전 세계 챔피언 아나톨리 카르포프는 헤그너 & 글레이저의 메피스토 포르토로스 M68030 체스 [63]컴퓨터에 시뮬레이션으로 패했다.
- 1991년 – Ed Schreder의 반란군을 기반으로 한 Chess Machine이 세계 마이크로컴퓨터 체스 챔피언십에서 우승
- 1992 – Chess Machine이 제7회 World Computer Chess Championship에서 우승한 것은 마이크로컴퓨터가 메인프레임을 이긴 첫 사례입니다.GM 존 넌이 켄 톰슨에 의해 개발된 게임 종료 테이블베이스를 기반으로 한 첫 번째 책인 시크릿 오브 룩 엔딩스를 발매합니다.
- 1993 – 딥씽크-2는 벤트 라슨과의 4게임에서 패했다.개인용 컴퓨터에서 실행되는 체스 프로그램이 메피스토의 전용 체스 컴퓨터를 넘어 마이크로컴퓨터 챔피언십에서 우승함으로써 전용 체스 하드웨어에서 다목적 개인용 컴퓨터의 소프트웨어로 전환되었습니다.
- 1995 – 90Mhz Pentium PC에서 작동하는 Fritz 3는 Deep Think-2 전용 체스 머신과 여러 슈퍼 컴퓨터에서 실행되는 프로그램을 누르고 홍콩에서 열린 제8회 세계 컴퓨터 체스 챔피언십에서 우승했다.이것은 상용 하드웨어에서 실행되는 체스 프로그램이 특수 체스 기계와 거대한 슈퍼 컴퓨터를 물리친 첫 사례로, 무차별적인 계산 능력에서 체스 엔진의 진화에 있어 알고리즘적인 개선으로 역점을 둔다는 것을 보여준다.
- 1996 – IBM의 Deep Blue가 Garry Kasparov에게 6경기 2-4로 패했습니다.
- 1997 – 오리지널의 매우 변형된 버전인 딥 블루는 게리 카스파로프와의 6게임에서 3.5-2.5로 승리했습니다.
- 2000 – Stefan Meyer-Kahlen과 Rudolf Huber는 GUI가 점차 새로운 엔진이 되는 엔진과 대화하기 위한 프로토콜인 유니버설 체스 인터페이스 초안을 작성합니다.
- 2002 – 블라디미르 크람니크는 딥 프리츠와의 8경기 무승부입니다.
- 2003 – 카스파로프는 딥 주니어와의 6경기 무승부, X3D 프리츠와의 4경기 무승부.
- 2004년 – 컴퓨터 팀(Hydra, Deep Junior 및 Fritz)은 평균 엘로 평점 2681점을 받은 Veselin Topalov, Ruslan Ponomariov 및 Sergey Karjakin에 의해 구성된 강력한 인간 팀을 상대로 8.3인치 대 3의 승리를 거두었습니다.Fabien Letouzey는 당대 최고의 클로즈드 소스 엔진과 상당히 경쟁적인 엔진인 Fruit 2.1의 소스 코드를 공개합니다.이로 인해 많은 저자들이 새로운 아이디어를 도입하여 코드를 수정하게 됩니다.
- 2005년 – Rybka는 IPCC 토너먼트에서 우승을 차지했으며, 이후 매우 빠르게 가장 강력한 [64]엔진이 되었습니다.
- 2006 – 세계 챔피언 블라디미르 크람니크가 딥 프리츠에게 4-2로 패했다.
- 2009 – 포켓 프리츠4는 스마트폰으로 작동하며 국제 마스터급 토너먼트인 Copa Mercosur에서 9.5/10으로 우승하여 2900의 [19]성능을 획득합니다.익명의 러시아 프로그래머 그룹이 Rybka보다 강력해 보이는 엔진인 Ippolit의 소스 코드를 공개합니다.이것은 Robolito와 Ivanhoe 엔진의 기초가 되며, 많은 엔진 저자들이 그것으로부터 아이디어를 채택합니다.
- 2010 – World Chess Championship 2010을 앞두고 Topalov는 [65]초당 500조(5×1014)의 부동소수점 연산을 지원하는 8,192개의 프로세서를 탑재한 슈퍼컴퓨터 Blue Gene과 스파링을 준비하고 있습니다.Rybka 개발자인 Vasik Rajlich는 Ipolit가 Rybka의 복제품이라고 비난합니다.
- 2011 – ICGA는 Rybka의 WCCC 타이틀을 [66][67]박탈합니다.
- 2017 – 뉴럴 넷 기반 디지털 오토마톤인 AlphaZero가 100게임에서 72무로 Stockfish를 28-0으로 이겼습니다.
- 2018 - 컴퓨터 [68]장기에 대한 효율적인 업데이트형 뉴럴 네트워크(NNUE) 평가가 개발되었습니다.
- 2019 – 릴라 체스 제로(LCZero v0.21.1-nT40).알파제로를 기반으로 한 체스 엔진 T8.610)은 스톡피시 19050918을 100게임에서 53.5대 46.5로 꺾고 TCEC 시즌 [69]15에서 승리했다.
- 2020 - NNUE가 Stockfish 평가에 추가되어 강도가 [49][50]눈에 띄게 향상되었습니다.
분류
전용 하드웨어
이러한 체스 게임 시스템에는 도입일자가 대략적인 커스텀 하드웨어(전용 마이크로컴퓨터 제외)가 포함되어 있습니다.
- 벨 1976
- Bebe, 강력한 비트슬라이스 프로세서1980
- 하이테크 1985
- 칩테스트 1985
- 깊은 생각 1987
- 딥씽크2(딥블루 시제품)~1994년
- 딥 블루 1996, 1997
- 히드라, 그 전신은 브루투스 2002라고 불렸습니다.
- AlphaZero 2017(신경망에 Google의 Tensor Processing Units를 사용했지만 하드웨어는 Chess나 게임에 특유하지 않음)
- MuZero 2019(전작 AlphaZero와 유사한 하드웨어, Chess 또는 Go에 한정되지 않음)는 Chess 규칙을 학습합니다.
시판 전용 컴퓨터
1970년대 후반부터 1990년대 초반까지 체스 전용 컴퓨터 시장이 있었다.이 시장은 전용 프로세서를 탑재한 컴퓨터가 개인용 컴퓨터의 고속 프로세서와 더 이상 경쟁할 수 없게 되면서 1990년대 중반에 바뀌었다.
- 1977년 보리스와 1979년 보리스 디플로마트는 Applied Concepts Inc.에 의해 판매된 조각과 보드를 포함한 체스 컴퓨터이다.
- 1977년부터 [70]1992년까지 피델리티 일렉트로닉스에 의해 판매된 체스 컴퓨터 라인인 체스 챌린저.이 모델들은 최초의 4개의 세계 마이크로컴퓨터 체스 [citation needed]챔피언십에서 우승했다.
- 두 가지 엔진을 구동할 수 있는 ARM 기반 전용 컴퓨터인 Chess Machine:
- Excalibur Electronics는 초급 강도 유닛 라인을 판매합니다.
- Mephisto는 Hegener & Glaser가 판매하는 체스 컴퓨터 라인입니다.그 유닛들은 6회 연속 세계 마이크로컴퓨터 체스 [citation needed]챔피언십에서 우승했다.
- Novag는 Constellation, Sampire, Star Diamond 브랜드를 포함한 전략적으로 강력한 컴퓨터 제품군을 판매했다.
- Phoenix Chess Systems는 최신 엔진을 구동하고 클래식 엔진을 에뮬레이트하는 StrongARM 및 XScale 프로세서를 기반으로 한 한정판 유닛을 만듭니다.
- 사이텍은 중급 강도의 중급 유닛을 판매한다.그들은 1994년에 헤게너 & 글레이저와 메피스토 브랜드를 인수했다.
최근 일부 취미 생활자들은 Windows [72]10과 같은 최신 64비트 운영 체제에서 피델리티 또는 헤제너 & 글레이저의 메피스토 컴퓨터용으로 작성된 체스 프로그램을 실행하기 위해 멀티 에뮬레이터 슈퍼 시스템을 사용하고 있습니다.Rebel의 저자 에드 슈뢰더도 UCI [73]엔진으로 작동하기 위해 그가 쓴 헤게너 & 글레이저 메피스토 중 세 가지를 개작했습니다.
DOS 프로그램
이러한 프로그램은 MS-DOS에서 실행할 수 있으며 DOSBox 또는 Qemu [74]등의 에뮬레이터를 통해 64비트 Windows 10에서 실행할 수 있습니다.
주목할 만한 이론가들
유명한 컴퓨터 체스 이론가는 다음과 같습니다.
- Georgy Adelson-Velsky, 소련과 이스라엘의 수학자이자 컴퓨터 과학자
- Hans Berliner, 미국 컴퓨터 과학자, 세계 통신 체스 챔피언, HiTech 설계 감독(1988년)
- 소련의 전기 기술자이자 세계 체스 챔피언인 미하일 보트비니크는 파이오니아를 썼다.
- 러시아 컴퓨터 과학자 Alexander Brudno는 알파벳 가지치기 알고리즘을 처음 고안했다.
- Deep Blue의 수석 개발자 펑슝후(1986–97)
- 로버트 하얏트 교수는 Cray Blitz와 Crafty를[75] 개발했다.
- 미국 컴퓨터 공학 및 국제 체스 마스터인 Danny Kopec은 Kopec-Bratko 테스트를 개발했습니다.
- 알렉산드르 크로노드, 소련의 컴퓨터 과학자 겸 수학자
- 컴퓨터 기계 협회 컴퓨터 체스 위원회 위원장 먼로 뉴번 교수
- 클로드 E. 섀넌, 미국의 컴퓨터 과학자 겸 수학자
- 앨런 튜링, 영국의 컴퓨터 과학자 겸 수학자
체스를 풀다
체스를 완전히 해결할 가능성은 대체로 희박하다고 여겨진다.초기 포지션의 가치를 확실히 결정하는 매우 약한 의미에서도 체스를 푸는 계산적으로 저렴한 방법은 없다는 것이 널리 추측되고 있으며, 따라서 어느 쪽이든 완벽한 플레이를 위한 전략에 대한 실질적으로 유용한 설명을 얻는 더 강한 의미에서 체스를 해결한다는 생각은 비현실적으로 보인다.오늘 좀 욱신욱신하네요.그러나 체스 포지션에서 최적의 수를 결정하는 계산적으로 저렴한 방법은 존재하지 않으며, 현재의 컴퓨팅 하드웨어에서 실행되는 전통적인 알파 베타 검색기조차도 허용 가능한 시간 내에 초기 포지션을 해결할 수 없다는 것이 입증되지 않았습니다.후자를 입증하는 데 어려움은 사실는 체스 게임의 코스에서 일어날 것 같은 보드 위치의 수는 거대한(적어도 1043[76]에 1047년의 질서에), 이것은 수학적 확실하게 가능성이 초기 위치가 짝 또는 3반복 강요하게 만드는 것을 배제하기 힘들다에 있다.끝나고상대적으로 적은 수의 이동으로, 이 경우 검색 트리가 가능한 위치 집합의 매우 작은 부분 집합만 포함할 수 있습니다.그것은 수학적으로가 일반화된 체스(체스의 임의의 큰 번호로 임의의 큰 chessboard에 의해)은 EXPTIME-complete,[77]이 일반화된 체스는 임의의 위치에서 이기는 쪽을 결정하는 입증할 수 있게. 최악의 경우에 지수 함수적 시간이 걸린다;그러나, 이 이론적인 결과도 입증된 바 있다.ves일반적인 8x8 체스를 해결하는 데 필요한 작업량의 하한은 없습니다.
Martin18 Gardner의 미니체스는 약 10개의 가능한 보드 위치를 가진 5×5 보드로 플레이되며, 게임 이론의 값은 1/2이며(즉, 어느 한쪽에 의해 무승부를 강요할 수 있음), 그 결과를 얻기 위한 강제 전략이 설명되었습니다.
상대편에서도 진전이 있어 2012년 현재 7개 이하(왕 2개, 기타 5개까지)의 엔드게임이 모두 해결되었습니다.
체스 엔진
"체스 엔진"은 주어진 위치에서 가장 강한 움직임을 계산하고 순서를 정하는 소프트웨어입니다.엔진 개발자들은 엔진의 성능을 향상시키는 데 주력하며, 종종 다른 사용자가 개발한 그래픽 사용자 인터페이스(GUI)로 엔진을 가져옵니다.엔진은 Stefan Meyer-Kahlen과 Franz Huber가 개발한 오늘날의 유비쿼터스 유니버설 체스 인터페이스와 같은 표준화된 프로토콜을 통해 GUI와 통신합니다.GNU Chess와 Winboard를 위해 Tim Mann이 개발한 Chess Engine Communication Protocol과 같은 다른 것도 있습니다.Chessbase는 독자적인 프로토콜을 가지고 있으며, 한때 Millennium 2000은 ChessGenius에 사용되는 다른 프로토콜을 가지고 있었다.하나의 운영 체제 및 프로토콜용으로 설계된 엔진은 다른 OS 또는 프로토콜로 이식할 수 있습니다.
체스 엔진은 전용 체스 엔진 토너먼트에서 정기적으로 서로 매칭됩니다.
체스 웹 앱
1997년 인터넷 체스클럽은 웹브라우저에 [78]있는 다른 사람들과 온라인으로 체스를 두기 위한 첫 자바 클라이언트를 출시했다.이것은 아마도 최초의 체스 웹 앱 중 하나였을 것이다.곧이어 무료 인터넷 체스 서버가 비슷한 클라이언트를 [79]출시했습니다.2004년, 국제 통신 체스 연맹은 이메일 기반 [80]시스템을 대체할 웹 서버를 열었다.Chess.com는 2007년에 [81]라이브 체스를 제공하기 시작했다.Chessbase/Playches는 오랫동안 다운로드 가능한 클라이언트를 가지고 있었으며 2013년에 [82]웹 기반 클라이언트를 추가했습니다.
또 다른 인기 있는 웹 앱은 전술 훈련이다.지금은 없어진 Chess Taxtics Server는 [83]2006년에 사이트를 오픈했고, 그 다음해 [84]Chesstempo가 그 뒤를 이었고, [85]Chess.com는 2008년에 Taxtics Trainer를 추가했다.Chessbase는 2015년에 [86]전술 트레이너 웹 앱을 추가했다.
체스베이스는 [87]1998년에 체스 게임 데이터베이스를 온라인으로 만들었다.또 다른 초기 체스 게임 데이터베이스는 [88]1999년에 시작된 체스 랩이었다.New In Chess는 처음에 Windows 3.x용 NICBase 프로그램을 출시함으로써 Chessbase와 경쟁하려고 했지만,[89] 결국 소프트웨어를 포기하고 2002년부터 온라인 데이터베이스에 집중하기로 결정했다.
2006년부터는 엔진 슈레더와 온라인으로 게임을 할 수 있다.[90]2015년 Chessbase는 [92]게임을 저장하기 위한 My Games와 플레이 프리츠 웹 [91]앱을 추가했다.
2007년부터, Chess.com는 훈련 프로그램인 Chess Mentor의 내용을 온라인 [93]고객에게 제공하고 있습니다.샘 생클랜드와 월터 브라운과 같은 최고의 GM들이 교훈에 기여했습니다.
「 」를 참조해 주세요.
메모들
레퍼런스
- ^ Sreedhar, Suhas (2 July 2007). "Checkers, Solved!". IEEE Spectrum. Institute of Electrical and Electronics Engineers.
- ^ Ensmenger, N. (2012). "Is chess the drosophila of artificial intelligence? A social history of an algorithm". Social Studies of Science. 42 (1): 5–30. doi:10.1177/0306312711424596. PMID 22530382. S2CID 968033.
- ^ https://scid.sourceforge.net SCID.
- ^ www.convekta.com https://web.archive.org/web/20080820180940/https://www.convekta.com/about.asp. Archived from the original on August 20, 2008.
{{cite web}}
:누락 또는 비어 있음title=
(도움말) - ^ https://www.exachess.com Mac용 Exaches
- ^ "Chess PGN Master".
- ^ https://www.facebook.com/chessstudioapp/[사용자 생성 소스]
- ^ Simon, H.A.; Newell, A. (1958). "Heuristic problem solving: The next advance in operations research" (PDF). Operations Research. 6 (1): 7. doi:10.1287/opre.6.1.1. Retrieved 10 February 2018.
- ^ a b c d e f g Hapgood, Fred (23–30 December 1982). "Computer chess bad-human chess worse". New Scientist. pp. 827–830. Retrieved 22 January 2015.
- ^ a b c Douglas, J R (December 1978). "Chess 4.7 versus David Levy". BYTE. p. 84. Retrieved 17 October 2013.
- ^ Flock, Emil; Silverman, Jonathan (March 1984). "SPOC / The Chess Master". BYTE. pp. 288–294. Retrieved 8 September 2015.
- ^ Stinson, Craig (Jan 1982). "Chess Championship: Machines Play, People Watch". Softline. p. 6. Retrieved 13 July 2014.
- ^ "Rebel vs Anand". Rebel.nl. Retrieved 2010-04-03.
- ^ "Chess News – Adams vs Hydra: Man 0.5 – Machine 5.5". ChessBase.com. 28 June 2005. Retrieved 2010-04-03.
- ^ 2006년 12월 5일, 체스 뉴욕 타임즈에서 기계가 다시 한번 인간 챔피언을 꺾는다.
- ^ "Once Again, Machine Beats Human Champion at Chess". The New York Times. 5 December 2006. Retrieved 30 April 2010.
- ^ 컴퓨터 체스: AI의 드로소필라 2002년 10월 30일
- ^ 깊은 생각 프레드킨 중급상 수상, 한스 베를리너
- ^ a b "Pocket Fritz 4 wins Copa Mercosur". Chess.co.uk. Archived from the original on 2011-09-30. Retrieved 2010-04-03.
- ^ 스타니슬라프 츠크로프, 포켓 프리츠 작가.Pocket Fritz 4는 초당 20,000개 미만의 위치를 검색합니다.
- ^ "World chess champion Magnus Carlsen: 'The computer never has been an opponent'". Deutsche Welle. 16 April 2016. Retrieved 26 August 2016.
- ^ a b "20 Years Later, Humans Still No Match For Computers On The Chessboard". NPR.org. 2016. Retrieved 28 June 2020.
- ^ 이것이 의미하는 것은 체스는 일반적인 초파리와 마찬가지로 간단하고 접근하기 쉽고 더 복잡한 시스템에 대한 지식을 만들어내기 위해 사용될 수 있는 기술로 실험하기 위한 익숙한 패러다임이라는 것입니다.
- ^ Wheland, Norman D. (October 1978). "A Computer Chess Tutorial". BYTE. p. 168. Retrieved 17 October 2013.
- ^ (Shannon 1950)
- ^ Kirill Kryukov. "Endgame Tablebases Online". Kirill-kryukov.com. Retrieved 2010-04-03.
- ^ "Open chess diary 301–320". Xs4all.nl. Retrieved 2010-04-03.
- ^ https://tb7.chessok.com Lomonosov 웹사이트에서는 등록 사용자가 7개의 테이블 베이스에 접속할 수 있으며 포지션이 있는 포럼도 이용할 수 있습니다.
- ^ "이것으로 누가 이길까? (체스 퍼즐)" 로모노소프 체스 테이블 베이스에서 발견된 체스 포지션의 예.
- ^ Rybka 라운지 / 컴퓨터 체스 / 테이블 베이스 사이즈, https://rybkaforum.net/cgi-bin/rybkaforum/topic_show.pl?tid=9380, 2012년 6월 19일
- ^ CEGT 40/20, Chess Engines Grand Tournament, 12 October 2008, archived from the original on 1 March 2012, retrieved 21 October 2008
- ^ Computerschach und Spiele – Eternal Rating, Computerschach und Spiele, 18 March 2007, retrieved 21 May 2008
- ^ The SSDF Rating List, Swedish Chess Computer Association, 26 September 2008, retrieved 20 October 2008
- ^ BayesianElo Ratinglist of WBEC Ridderkerk, retrieved 20 July 2008
- ^ "Gambit Rating List". Home of the Dutch Rebel. January 30, 2021. Retrieved December 12, 2021.
- ^ "FGRL". FastGM's Rating List. Retrieved December 12, 2010.
- ^ "IPON". Ingo Bauer. November 16, 2016. Archived from the original on January 25, 2019. Retrieved February 3, 2016.
- ^ a b CCRL, http:https://ccrl.chessdom.com/, 2021년 11월 14일
- ^ CCRL 토론위원회, https://kirill-kryukov.com/chess/discussion-board/viewtopic.php?f=7&t=2808, 2012년 6월 19일
- ^ Adam's Computer Chess Pages, https://adamsccpages.blogspot.co.uk/2012/05/ccrl.html, 2012년 6월 19일
- ^ Thurn, Sebastian (1995), Learning to Play the Game of Chess (PDF), MIT Press, retrieved 12 December 2021
- ^ Levinson, Robert (1989), A Self-Learning, Pattern-Oriented Chess Program, vol. 12, ICCA Journal
- ^ Lai, Matthew (4 September 2015), Giraffe: Using Deep Reinforcement Learning to Play Chess, arXiv:1509.01549v1, retrieved 12 December 2021
- ^ Silver, David; Hubert, Thomas; Schrittwieser, Julian; Antonoglou, Ioannis; Lai, Matthew; Guez, Arthur; Lanctot, Marc; Sifre, Laurent; Kumaran, Dharshan; Graepel, Thore; Lillicrap, Timothy; Simonyan, Karen; Hassabis, Demis (2017). "Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm". arXiv:1712.01815 [cs.AI].
- ^ Schrittwieser, Julian; Antonoglou, Ioannis; Hubert, Thomas; Simonyan, Karen; Sifre, Laurent; Schmitt, Simon; Guez, Arthur; Lockhart, Edward; Hassabis, Demis; Graepel, Thore; Lillicrap, Timothy (2020). "Mastering Atari, Go, chess and shogi by planning with a learned model". Nature. 588 (7839): 604–609. arXiv:1911.08265. Bibcode:2020Natur.588..604S. doi:10.1038/s41586-020-03051-4. PMID 33361790. S2CID 208158225.
- ^ Yu Nasu (April 28, 2018). "Efficiently Updatable Neural-Network-based Evaluation Function for computer Shogi" (PDF) (in Japanese).
- ^ Yu Nasu (April 28, 2018). "Efficiently Updatable Neural-Network-based Evaluation Function for computer Shogi (Unofficial English Translation)" (PDF). GitHub.
- ^ Noda, Hisayori (30 May 2020). "Release stockfish-nnue-2020-05-30". Github. Retrieved 12 December 2021.
- ^ a b "Introducing NNUE Evaluation". 6 August 2020.
- ^ a b Joost VandeVondele (July 25, 2020). "official-stockfish / Stockfish, NNUE merge". GitHub.
- ^ "Venki Ramakrishnan: Will Computers Become Our Overlords?". Possible Minds: Twenty-five Ways of Looking at AI (Kindle ed.). Penguin Press. 2019. p. 174. ISBN 978-0525557999.
- ^ 체스, 25장 "게임에 적용되는 디지털 컴퓨터"의 하위 섹션인 "생각보다 더 빠른" ed.B. V. Bowden, 피트먼, 런던 (1953)온라인.
- ^ 튜링의 체스 알고리즘으로 하는 게임
- ^ "Chessville – Early Computer Chess Programs – by Bill Wall – Bill Wall's Wonderful World of Chess". Archive.is. Archived from the original on 21 July 2012. Retrieved 1 December 2014.
{{cite web}}
: CS1 maint: bot: 원래 URL 상태를 알 수 없습니다(링크). - ^ David Bronstein v M-20, Chessgames.com에서 다시 보기
- ^ Dennis Ritchie (June 2001). "Ken, Unix and Games". ICGA Journal. 24 (2).
- ^ "Appendix CHESS 4.5: Competition in 1976" (PDF).
- ^ "Oral History of Peter Jennings Mastering the Game Computer History Museum".
- ^ "New Restrictions". BYTE. January 1981. p. 292. Retrieved 18 October 2013.
- ^ "GNU's Bulletin, vol. 1 no. 2".
- ^ Hsu (2002) 페이지 292
- ^ 신생아(1997년) 페이지 159
- ^ 선택 검색.1990년 6월
- ^ https://www.rybkachess.com/docs/PADERBORNCOMPUTER.htm 국제 파더본 컴퓨터 체스 챔피언십 2005
- ^ "Challenger uses supercomputer at the world chess championship". Chessbase. 25 May 2010.
- ^ www.chessvibes.com https://web.archive.org/web/20140330145657/https://www.chessvibes.com/reports/rybka-disqualified-and-banned-from-world-computer-chess-championships/. Archived from the original on 30 March 2014.
{{cite web}}
:누락 또는 비어 있음title=
(도움말) - ^ Riis, Dr. Søren (2 January 2012). "A Gross Miscarriage of Justice in Computer Chess (part one)". Chessbase News. Retrieved 19 February 2012.
- ^ 유나스(2018년).【U】컴퓨터 장기용 Neural-Network 기반 평가 기능 효율적 업데이트Ziosoft 컴퓨터 장기 클럽, PDF (일본어, 영어 추상)
- ^ https://cd.tcecbeta.club/season.dev? season=15&div=season&game=1 TCEC 시즌 15
- ^ Sousa, Ismenio. "Fidelity Chess Challenger 1 – World's First Chess Computer". Retrieved 25 September 2016.
- ^ van den Herik, H.J.; Herschberg, I. S. (1992). "The 7th World Computer-Chess Championship: Report on the tournament, Madrid, Spain, November 23-27, 1992". ICCA Journal. 15 (4): 208–209.
- ^ https://rebel13.nl/rebel13/rebel%2013.html
- ^ https://rebel13.nl/dedicated/dedicated%20as%20uci.html
- ^ "Archived copy". Archived from the original on 2018-12-03. Retrieved 2018-12-02.
{{cite web}}
: CS1 maint: 제목으로 아카이브된 복사(링크) - ^ "Dr. Robert Hyatt's home page". Cis.uab.edu. 2004-02-01. Retrieved 2010-04-03.
- ^ 체스를 위한 공간과 게임 나무의 크기 처음으로 클로드 섀넌(1950년),"재생 체스를 위한 컴퓨터 프로그래밍"(PDF), 철학 Magazine, 41(314), 62010년 7월에 있는 원본(PDF)에서 보관 시로 검색되 302008년 12월 섀넌, 각각 추정보다 더 작은 조지아 주에서 1043년과 10120의 추정을 준 것으로 추산되었다그것은 빅토르 알리스의 논문에서 나는 복잡성 표.자세한 내용은 섀넌 번호를 참조하십시오.
- ^ Aviezri Fraenkel; D. Lichtenstein (1981), "Computing a perfect strategy for n×n chess requires time exponential in n", J. Combin. Theory Ser. A, 31 (2): 199–214, doi:10.1016/0097-3165(81)90016-9
- ^ "Archived copy". Archived from the original on 1997-06-20. Retrieved 2019-07-08.
{{cite web}}
: CS1 maint: 제목으로 아카이브된 복사(링크) - ^ "Archived copy". Archived from the original on 1998-12-12. Retrieved 2019-07-08.
{{cite web}}
: CS1 maint: 제목으로 아카이브된 복사(링크) - ^ "Archived copy". Archived from the original on 2004-08-31. Retrieved 2004-08-31.
{{cite web}}
: CS1 maint: 제목으로 아카이브된 복사(링크) - ^ "Play Daily (Correspondence) Chess". Archived from the original on 2007-10-06.
- ^ "Archived copy". play.chessbase.com. Archived from the original on 17 December 2013. Retrieved 11 January 2022.
{{cite web}}
: CS1 maint: 제목으로 아카이브된 복사(링크) - ^ "Archived copy". Archived from the original on 2006-04-08. Retrieved 2006-04-08.
{{cite web}}
: CS1 maint: 제목으로 아카이브된 복사(링크) - ^ "Archived copy". Archived from the original on 2007-06-13. Retrieved 2007-06-13.
{{cite web}}
: CS1 maint: 제목으로 아카이브된 복사(링크) - ^ "Chess Puzzles - Improve Your Chess by Solving Tactics". Archived from the original on 2008-02-18. Retrieved 2008-02-18.
- ^ "Chess Tactics Online". Archived from the original on 2015-05-04.
- ^ "Archived copy". www.chessbase-online.com. Archived from the original on 11 May 2000. Retrieved 11 January 2022.
{{cite web}}
: CS1 maint: 제목으로 아카이브된 복사(링크) - ^ "Java chess games: Database search, analysis". Archived from the original on 1999-02-19. Retrieved 2019-07-08.
- ^ "Archived copy". Archived from the original on 2002-10-08. Retrieved 2002-10-08.
{{cite web}}
: CS1 maint: 제목으로 아카이브된 복사(링크) - ^ "Play Chess Online - Shredder Chess". Archived from the original on 2006-12-05. Retrieved 2006-12-05.
- ^ https://fritz.chessbase.com/
- ^ https://mygames.chessbase.com/
- ^ "Chess Lessons - Learn with Online Courses". Archived from the original on 2007-12-14. Retrieved 2007-12-14.
원천
- Hsu, Feng-hsiung (2002), Behind Deep Blue: Building the Computer that Defeated the World Chess Champion, Princeton University Press, ISBN 0-691-09065-3
- Levy, David; Newborn, Monty (1991), How Computers Play Chess, Computer Science Press, ISBN 0-7167-8121-2
- Newborn, Monty (1975), Computer Chess, Academic Press, New York
- Newborn, Monty (1997), Kasparov versus Deep Blue: Computer Chess Comes of Age, Springer, ISBN 0-387-94820-1 (이 책은 사실 초기부터 딥 블루와 게리 카스파로프의 첫 경기까지 컴퓨터 체스를 다루고 있습니다.)
- Nunn, John (2002), Secrets of Pawnless Endings, Gambit Publications, ISBN 1-901983-65-X
- Shannon, Claude E. (1950), "Programming a Computer for Playing Chess" (PDF), Philosophical Magazine, Ser.7, Vol. 41 (314), archived from the original (PDF) on 6 July 2010, retrieved 21 June 2009
- 게임 마스터: 컴퓨터 역사 박물관의 컴퓨터 체스의 역사
- 빌 월의 컴퓨터 체스 역사 연대표
추가 정보
- 컴퓨터 체스의 새로운 아키텍처– 체스 엔진 구축 방법에 관한 논문
- Coles, L. Stephen (October 30, 2002), Computer Chess: The Drosophila of AI, Dr. Dobb's Journal
- Huberman (Liskov), Barbara Jane (1968), A program to play chess end games, Stanford University Department of Computer Science, Technical Report CS 106, Stanford Artificial Intelligence Project Memo AI-65
- Lasar, Matthew (2011).폭력인가 지능인가? 컴퓨터 체스의 느린 상승.아르스 테크니카
- 신생아, 몬티(1996년).미국 수학 학회의 응용 수학 심포지엄 진행, 카스파로프 검색:인공지능의 수학적 측면, v. 55, 페이지 175-205, 1998.1996년 1월 9일~11일 플로리다 올랜도 AMS 겨울 회의에서 제출된 논문을 바탕으로 한다.
- 신생아, 몬티(2000).딥 블루의 AI에 대한 기여, 수학 및 인공지능 연보, v. 28, 페이지 27-30, 2000.
- 신생아, 몬티(2006년).2006년 8월 18일 워싱턴주 시애틀에서 열린 세계자동추론선수권대회 Theo and Octopus
- Stiller, Lewis (1996), Multilinear Algebra and Chess Endgames (PDF), Berkeley, California: Mathematical Sciences Research Institute, Games of No Chance, MSRI Publications, Volume 29, retrieved 21 June 2009
외부 링크
- 체스 엔진 등급 및 게임 파일 목록(PGN 형식)
- 게임 마스터: 컴퓨터 역사 박물관의 컴퓨터 체스의 역사
- 빌 월의 ACM 컴퓨터 체스
- 에드워드 윈터의 '컴퓨터 체스'
- 컴퓨터 체스 정보와 자원– 컴퓨터 체스 엔진 작성 후 블로그
- '반컴퓨터 스타일' 체스에 관한 팀 크라베의 기사 '인류의 명예 방어'
- 엔드게임 테이블베이스 가이드
- GameDev.net – 프랑수아-도미닉 라라메의 체스 프로그래밍 1부 2부 3부 4부 5부 6
- 콜린 프레이의 컴퓨터 체스 이론 페이지
- ""How REBEL Plays Chess" by Ed Schröder" (PDF). (268KB)
- "신과 함께 체스를 두어라" – 켄 톰슨의 최종 게임 데이터베이스에 대해 체스를 두기 위해
- 체스 프로그래밍 위키
- 컴퓨터 체스 클럽 포럼
- 장기간에 걸친 가장 강력한 컴퓨터 체스 엔진