저는 최근에 코딩 전문가가 아닌 사람과 체스 컴퓨터의 가능성에 대해 논의했습니다. 나는 이론에 정통하지는 않지만 충분히 알고 있다고 생각합니다.
나는 항상 체스에서이기거나 교착 상태에 빠진 결정 론적 튜링 기계는 존재할 수 없다고 주장했다. player1 / 2 동작의 모든 조합의 전체 공간을 검색하더라도 컴퓨터가 각 단계에서 결정하는 단일 동작은 휴리스틱 기반이라고 생각합니다. 휴리스틱을 기반으로하기 때문에 상대가 할 수있는 모든 동작을 반드시이기는 것은 아닙니다.
반대로 내 친구는 컴퓨터가 "실수"동작을하지 않으면 항상이기거나 무승부 할 것이라고 생각했습니다 (그러나 당신은 그것을 정의합니까?). 그러나 CS를받은 프로그래머이기 때문에 현명한 상대가 주어진 좋은 선택조차도 결국 "실수"로 움직일 수 있다는 것을 알고 있습니다. 모든 것을 알고 있더라도 다음 단계는 휴리스틱과 일치하는 데 욕심쟁이입니다.
대부분의 체스 컴퓨터는 가능한 최종 게임을 진행중인 게임과 일치 시키려고합니다. 이는 본질적으로 동적 프로그래밍 추적입니다. 다시 말하지만, 문제의 최종 게임은 피할 수 있습니다.
편집 : 흠 ... 여기에 깃털을 펼친 것 같습니다. 좋습니다.
다시 생각해 보면 체스와 같은 유한 한 게임을 해결하는 데 이론적 인 문제가없는 것 같습니다. 나는 체스가 체커보다 조금 더 복잡하다고 주장하고 싶습니다. 승리는 반드시 숫자의 조각 고갈에 의한 것이 아니라 짝에 의한 것입니다. 나의 원래 주장은 아마도 틀렸을 것입니다. 그러나 나는 아직 (공식적으로) 만족스럽게 입증되지 않은 것을 지적했다고 생각합니다.
내 생각 실험은 나무의 가지가 잡힐 때마다 알고리즘 (또는 기억 된 경로)이 상대가 움직일 수있는 모든 가지에 대해 짝짓기를하지 않고 메이트에게가는 경로를 찾아야한다는 것입니다. 토론 후, 우리가 꿈꾸는 것보다 더 많은 기억이 주어지면이 모든 길을 찾을 수있는 것을 살 것입니다.