완벽한 체스 알고리즘이있을 수 있습니까?


15

현재의 체스 알고리즘은 플레이어의 움직임과 상대방의 움직임에 따라 가능한 경로의 트리 아래로 약 1 또는 2 레벨 내려갑니다. 체스 게임에서 상대방의 가능한 모든 움직임을 예측하는 알고리즘을 개발할 수있는 컴퓨팅 능력이 있다고 가정 해 봅시다. 플레이어의 움직임에 따라 상대방이 주어진 순간에 취할 수있는 모든 가능한 경로를 가진 알고리즘. 절대 잃어 버리지 않을 완벽한 체스 알고리즘이있을 수 있습니까? 아니면 항상 이길 알고리즘? 이론적으로 모든 가능한 움직임을 예측할 수있는 사람은 각자를 물리 칠 수있는 방법을 찾거나 특정 경로를 효과적으로 이길 수 있다면 단순히 다른 길을 선택할 수 있어야합니다 .....

편집-내 질문이 진짜 무엇입니까. 최적으로 재생할 수있는 완벽한 알고리즘을위한 컴퓨팅 성능이 있다고 가정 해 봅시다. 상대방이 동일한 최적 알고리즘으로 플레이하면 어떻게됩니까? 그것은 유한 한 수 (매우 크거나 그렇지 않은)의 움직임을 가진 2 인 게임 모두에 적용됩니다. 항상이기는 ​​최적의 알고리즘이있을 수 있습니까?

개인 정의 : 최적의 알고리즘은 항상이기는 ​​완벽한 알고리즘입니다.



이 질문은 몇 가지 오해를 바탕으로합니다. 첫째, 체스 컴퓨터는 1 ~ 2 배 더 멀리 보입니다. 심지어 5 년 전까지도 일반 랩톱에서는 꽤 평범한 체스 프로그램이 15-16 배 앞당겨졌고 25+는 중요한 라인에있었습니다. 둘째, 답변에서 볼 수 있듯이 "완벽하다"는 "항상 승리"로 정의 할 수 없습니다. 셋째, 체스 엔진은 움직임을 "예측"하지 않습니다. 가능한 반응에 대해 좋은 움직임을 계산하고 재생합니다.
David Richerby

답변:


13

당신의 질문은 낡은 밤과 비슷합니다 : "지울 수없는 힘이 움직일 수없는 물체를 만나면 어떻게됩니까?" 문제는 문제 자체에 있습니다. 설명 된 두 개체는 동일한 논리적으로 일관된 유니버스에 존재할 수 없습니다. 항상 승리하는 알고리즘 인 최적의 알고리즘은 한쪽이 이기고 다른 쪽이 정의를 잃어야하는 게임에서 양측이 재생할 수 없습니다. 따라서 정의 된 최적의 알고리즘이 존재할 수 없습니다.


3
예를 들어 첫 번째 플레이어가 이길 수있는 알고리즘이 있습니다 . 이것은 먼저 연주하는 것이 유리하다는 것을 의미합니다. 또는 최적의 알고리즘으로 두 번째 플레이어 만 이길 수 있습니다. 이것은 두 번째 플레이어에게 이점을 줄 것입니다. 세 번째 가능성 (들)은 플레이어 중 하나가 항상 무승부를 강제 할 수있게하는 알고리즘입니다 (OP가 알고 싶어하기 때문에 두 선수가 같은 승리 전략을 수행하는 경우에 발생합니다) , 첫 번째 또는 두 번째 연주에 이점이없는 경우).
Realz Slaw

3
@Realz 네, "최적의 알고리즘"의 정의를 변경하면 원하는 것을 증명할 수 있습니다. 질문자가 사용하도록 요청한 정의를 사용했습니다.
Kyle Jones

이것이 내가 사람들로부터 벗어나려고 시도한 답변입니다. 두 플레이어의 게임이기 때문에 항상 승리하는 알고리즘이있을 수 없으므로 두 플레이어가 동일한 알고리즘을 가질 수 있기 때문에 알고리즘이 작동 할 수있는 방법이 없으므로 두 사람 중 적어도 하나가 이기지 않아야합니다 (손실 또는 무승부) . 나는 선생님에게 같은 질문을
했고이

3
@JohnDemetriou 문제는 결론이 잘못되었다는 것 입니다. 체스는 첫 발동기 이점으로 인해 대칭 게임이 아닙니다. 화이트가 플레이하고 이길 수있는 최적의 알고리즘이 존재할 가능성은 있지만 블랙 그녀가 백인이 아닌 단순한 이유로 그 알고리즘을 사용할 수 없습니다 !
Steven Stadnicki

또한 먼저 진행 하는 것이 실제로 이점 이 아니며 실제로 Black 이 White가 최고의 플레이를 이길 수있게하는 알고리즘이 있다는 것이 가능합니다. 그러나 항상 할 수있는 알고리즘이 없다는 것은 즉시 분명해야합니다 블랙 이든 화이트 이든 이길 수 있습니다. 이것이 바로 '양측에서의 승리'가 사소한 불가능하기 때문에 사람들이 '최상의 결과'를 말하는 이유입니다.
Steven Stadnicki

23

우선, 체스 알고리즘은 모든 다른 가능성을 고려하지는 않지만 2 겹 이상으로 보인다고 생각합니다. 검색 트리를 잘라내는 것은 가능한 이동 횟수에서 조합 폭발을 피하기 위해 매우 중요합니다.

체스와 같은 게임의 경우, 승자의 신원에 관한 3 가지 가능성이 있습니다 : 1 번 선수가 승리 전략을 가지고 있거나 2 번 선수가 승리 전략을 가지고 있거나 두 선수 모두 최적의 플레이를합니다. 체스 게임의 경우는 알려져 있지 않습니다. 그러나 체스는 유한 게임이기 때문에 체스를 최적으로하는 매우 큰 테이블로 구성된 컴퓨터 알고리즘이 있습니다.

물론 그러한 알고리즘은 실용적이지 않습니다. 그러나 일부 간단한 게임의 경우 게임의 "가치"(있는 경우 플레이어가이기는 경우)가 결정되고 최적의 알고리즘이 고안되었습니다. 이러한 게임을 해결 된 게임이라고 합니다.

조합 게임을 다루는 수학적 주제는 조합 게임 이론 입니다. 수학자들은 허용 된 모든 위치와 움직임을 포함하는 게임의 그래프가 주어지면 게임의 가치를 결정하는 재귀 적 방법을 개발했습니다. 이 알고리즘에 대한 설명은 Wikipedia 항목 또는 주제에 대한 강의 노트에서 찾을 수 있어야합니다.


그렇습니다.하지만 다른 질문에 대한 답을 얻으려고했는데 두 플레이어가 최적의 알고리즘으로 게임을 할 때 어떤 일이 발생합니까? 플레이어가 최적의 알고리즘을 물리 칠 수있는 방법을 찾으면 어떻게됩니까?
John Demetriou

11
@JohnDemetriou 두 선수 모두 최적으로 경기하면 결과가 나옵니다. 그 결과를 게임의 가치라고합니다. 만약 체스가 백인 승리라면, 흑인이 할 수있는 것은 아무것도 없을 것입니다. 화이트는 게임이 시작될 때 발생할 수있는 모든 상황에서 블랙이 움직일 수있는 완벽한 카운터를 포함하는 거대한 책을 가지고 있습니다 (또는 그러한 책에서 계산을 통해 계산할 수 있습니다). BTW, 물음표에 chillax. 한 문장으로 충분하다.
rrenaud

물음표에 대해 사과드립니다. 내가 일반적으로 입력하는 방식입니다. 체스가 가장 최적의 승리라면 어떨까요? 흰색과 검은 색이 같은 책을 가지고 있고 카운터가 같은 경우? 그러면 어떻게됩니까?
John Demetriou

1
@JohnDemetriou "최적"은 "최상의"를 의미합니다. 체스 규칙의 수학적 결과가 최적의 검정에 대해 최선의 검정이 할 수있는 것 (또는 가능한 한 오랫동안 백인의 승리를 지연시킬 수 있음)이라면, 검정에 대한 최적의 알고리즘은 그것을 달성하는 것입니다. 그리고 그것은 대부분의 비 최적의 상대에 대해 이길 수 있습니다.
Ben

1
@JohnDemetriou 항상 White로 이기는 알고리즘이있을 수 있습니다 . 분명히 이미 설명한 이유 때문에 알고리즘이 항상 블랙으로 이길 수는 없었습니다 (자체에 대해 재생되기 때문에). Black 'wins'체스가 완벽하게 연주되었고, 어떤 반대에도 대항하여 Black의 승리를 보장하는 알고리즘이 있다는 것이 가능할 수도 있습니다 . '항상 양쪽에서이기는 알고리즘'을 의미하는 경우 해당 용어를 사용하는 것이 좋습니다. '최적'은 이미 잘 정의 된 의미를 갖습니다.
Steven Stadnicki

8

우선, 좋은 체스 알고리즘은 1 또는 2 레벨 이상으로 보입니다. 순진한 트리 검색을 사용하는 대신 알파-베타 가지 치기 를 수행 하여 고려해야 할 옵션 수를 좁 힙니다. 오프닝 및 엔드 게임의 경우 게임 중간에 사용되는 트리 검색보다 성능이 우수하므로 대규모 이동 데이터베이스가 사용됩니다.

질문에 : 당신이 묻는 것은 "체스를 해결할 수 있습니까?"입니다. 이 결과가 조만간 달성 될 수 있을지에 대한 의견은 다양하지만, 가설은 사실입니다. 예를 들어 Checkers는 2007 년에 해결되었지만 위치가 더 적습니다 (체스에서 숫자의 제곱근 주변). 자세한 내용은 Wikipedia 기사 를 참조하십시오.

또한, 현재 최고의 체스 인공 지능은 거의 항상 세계 챔피언과의 패배 또는 무승부입니다. 따라서 현재 완벽하지는 않지만 알고리즘은 적어도 꽤 좋습니다!


6

원칙적으로 체스는 다른 게임과 마찬가지로 해결할 수 있습니다. 그러나 다른 답변이 지적했듯이 이것은 곧 일어날 것으로 예상되지 않습니다.

편집 : 그것은 의견에서 지적되었으므로 [1]은 사기 이므로이 답변의 나머지 부분은 건너 뛰십시오.

즉,이 방향으로 최근 몇 가지 발전이있었습니다. 킹스 bit 빗 (King 's Gambit) 이라는 체스 오프닝 은 해결 되었다고 주장했다 . [1]은 게임 트리를 심층적으로 탐색하지는 않았지만 이러한 결과 만 높은 확률로 유지한다고 주장합니다.

[1] http://chessbase.com/newsdetail.asp?newsid=8047


1
실제로 매우 흥미로운 기사!
Paresh

그렇다면 이것이 최적의 알고리즘이 아닙니다. 나는 (우리는 컴퓨팅 파워가있는 경우) 최적의 알고리즘 적 존재 할 수 있는지 여부를 묻는입니다
존 데 메트에게

1
맞습니다. "최적의 알고리즘"을 항상이기는 ​​알고리즘으로 정의하면 이러한 알고리즘은 흑백 플레이어 모두 에게 존재할 수 없습니다 . 더 큰 (그러나 유한 한) 게임 트리 외에, 솔루션이 이미 알려진 Hex와 같은 다른 게임과 비교할 때 체스에는 특별한 점이 없습니다. 첫 번째 플레이어가 Hex를 플레이하기 위해 최적의 (알려진) 전략을 사용 그러면 두 번째 플레이어가 사용하는 알고리즘에 관계없이 첫 번째 플레이어가 항상 이깁니다.
Peter

해결 된 Kings Gambit 기사는 사기로 판명되었습니다. 이 기사는 "3 월 31 일에 Rybka 프로그램의 저자 인 Vasik Rajlich와 그의 가족이 폴란드 바르샤바에서 헝가리 부다페스트에있는 새로운 아파트로 이사했습니다. 다음 날, 상자를 옮기고 이동하는 번잡함에도 불구하고 Vas는 다음 인터뷰에 친절하게 동의했습니다. "-다시 말하면, 이것은 4 월 1 일에 있었던 것입니다.
Joe K

-1

항상 체스 게임에서 이길 수 있는지 여부는 게임 규칙에 달려 있습니다. 그러나 Minimax라는 기술 / 알고리즘이 있습니다 (자세한 내용은 https://en.wikipedia.org/wiki/Minimax 참조 ). 이 알고리즘은 재귀 기능을 가진 다른 시나리오에서 어느 선수가 우위를 차지하는지 예측하는 것으로 구성됩니다. 간단한 게임에서 어떻게 작동하는지에 대한 명확한 설명은 다음과 같습니다. Tic-tac-toe https://www.neverstopbuilding.com/blog/2013/12/13/tic-tac-toe-understanding-the-minimax-algorithm13 .


다른 답변은 minimax를 명시 적으로 언급하지는 않지만 일부는 결과적으로 미니맥을보다 효율적으로 구현하는 알고리즘 인 alpha-beta pruning으로 연결되는 링크를 나타냅니다. 이 답변에 아직 언급되지 않은 내용이 무엇입니까?
이산 도마뱀

-3

질문에서 실제로 개념화되지 않았거나 다른 답변에서 지적되지 않은 대규모 상태 공간을 강조하는 다른 답변을 추가합니다. 전제에 동의하지 않아야합니다.

체스 게임에서 상대방의 가능한 모든 움직임을 예측하는 알고리즘을 개발할 수있는 컴퓨팅 능력이 있다고 가정 해 봅시다.

컴퓨터 기반 체스 게임 / 알고리즘의 분야를 소개하고 그 분석이 기본적으로 변경되지 않고 여전히 건전한 (대신 컴퓨터 혁명과 무어 법칙에 의한 ) shannons 1950 논문 "체스 게임을위한 컴퓨터 프로그래밍" 에 대한 정보를 참조하십시오 . 이동 횟수를 추정합니다. 그것은 천문학적이다. "예상치 못한 획기적인 발전에도 불구하고 상상할 수없는 하드웨어 내에서는 결코 존재하지 않습니다".

그것의 문서화 된 심리적 사실 [3], 아마도 많은 심리적 편견 중 하나 [2]는 인간이이 정도의 숫자를 이해하는 데 어려움을 겪고 있다는 것입니다. 또한 참조 실적 인 생각을 . [4] 슈퍼 컴퓨터는 대규모 문제를 계산하면서, 그 uncontroversially되지 현재 구축 또는 이제까지 수있는 슈퍼 컴퓨터의 범위 내에서 할 수 내장. (그리고 많은 체스 애호가들은 이동 / 위치 가능성에서이 "조합 폭발" 이 밀레니아의 오래된 게임에 의도적으로 설계된 것처럼 보이는 "맛"게임의 본질적인 측면이라고 주장 할 것이다 .

따라서 체스는 "해결 가능한"상태 공간이 더 작은 (컴퓨터 과학 및 게임 이론 등에 대한 연구가있는) 일부 게임과 근본적으로 다르며 일부 주요 방식으로는 해당 프레임 워크 내에서 평가할 수 없습니다.

101234×10791081

이제, 검색 공간을 실질적으로 정리하는 데 사용될 수있는 게임에 대한 이론적 통찰력이있을 수 있습니다. 그것은 1950 년 이후 일어 났지만 근본적으로 획기적인 방법은 아닙니다.

또한보십시오

[1] 체스 해결의 계산 복잡성, tcs.se

[2] 판단과 의사 결정에서 인간의 편견

[3] 심리학 학생들은 숫자 개념화에 관한 연구를 발표합니다.

[4] 반 사상적 사고


잘 이론적으로 내 질문은 우리가 컴퓨팅 능력을 가지고 있다고 가정하자, 우리는 세계 컴퓨터의 절반을 결합하여 흰색의 클러스터로 작동하고 다른 절반은 검정색의 클러스터로 작동합니다 ....
John Demetriou

1
친구, 그것은 현재 존재하거나 존재하는 모든 슈퍼 컴퓨터를 연결하더라도 보유하고 있습니다. 당신의 질문은 "이론에서 이론이 틀렸다면 ..."이론에 해당합니다. (물리학을 포함하여) 이론은 기본적으로 당신은 현재 또는 미래에 우주에 원자보다 존재하는 것보다 훨씬 더 많은 경로를 계산할 수 없다고 말합니다. .
vzn

3
사실, 문제는 우리가 컴퓨팅 파워를 가지고 있다고 말해 봅시다. 이것이 가능합니까? 이것은 우리가 힘을 가지고 있다면 알고리즘이있을 수있는 실제 질문입니다.
John Demetriou

계산 능력을 달성하는 것이 물리적으로 불가능하다는 것이 체스를 정확하게 해결하는 데 필요하다는 사실을 말한 +1. 또한이 답변으로 모든 -1을 왜 알지 모르겠지만 공정하다고 생각하고 다른 답변에 좋은 통찰력을 추가합니다.
Alejandro Piad
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.