이것은 연구입니다
보시다시피 Stockfish는 블랙에 절대적인 결정적인 승리를 주지만 분명히 그립니다.
c4 +는지는 움직임이고 Ba4 +는 올바른 것입니다.
무슨 일이야? Stockfish는 닫힌 위치 를 전혀 고려하지 않습니까?
이것은 연구입니다
보시다시피 Stockfish는 블랙에 절대적인 결정적인 승리를 주지만 분명히 그립니다.
c4 +는지는 움직임이고 Ba4 +는 올바른 것입니다.
무슨 일이야? Stockfish는 닫힌 위치 를 전혀 고려하지 않습니까?
답변:
Stockfish는 완벽한 체스 게임 실체가 아니며, 적어도 50 가지 이동 규칙이 시작되고 정리하는 데 도움이 될 때까지 그릴 수없는 위치를 발견했습니다. 이 위치를 " 요새 "라고합니다. 솔루션을 입력하더라도 Stockfish는 여전히 최종 위치를 -10 이상으로 평가하기 때문에 이러한 상황이 발생하고 있음을 알 수 있습니다. Stockfish가 잘못 죽은이 요새 위치는 거의 없으며 그 사이에도 존재하지만 이것들 중 하나입니다.
Stockfish 및 요새를 인식하고 위치가 우월한 경우 Stockfish가 향하는 것을 막기위한 기존의 엔진에서 요새 감지 코드를 작성하려는 다양한 시도가있었습니다. 당신이 똑똑한 아이디어를 가지고 있다면, 아마도 학술지에 출판 할 수있을 것입니다 (체스 프로그래밍 위키의 출판물 참조).
엔진이 실제로 "전략"을 벗어나지 않는다는 것을 이해하는 데 도움이됩니다. 앞으로 몇 가지 움직임을보고 위치 점수를 평가하고 최적의 이동 세트를 찾는 것입니다.
이 접근법의 가장 큰 약점은 아무 일도 빨리 일어날 수 없다면 엔진에 문제가 있다는 것입니다. 이것은 최종 게임 에서 큰 문제였습니다. K + B + P 대 K + P를 가지고 있다면 몇 번의 움직임만으로 해당 위치를 해결할 수 없습니다. 따라서 수정 사항은 엔진에 엔드 게임 테이블베이스를 추가하는 것이 었습니다. bruteforce는 모든 엔드 게임 위치를 미리 계산하여 엔진에서 사용할 라이브러리로 추가합니다. (이것은 가장 저렴한 체스 앱에서 최종 게임 테이블베이스가 없기 때문에 최종 게임에서 생존하여 단순히 승리 할 수있는 이유입니다.)
그러나 당신의 위치는 (게임 당연히) 최종 게임 테이블베이스에 있지 않을 것입니다. 따라서 비축 어는 수백만 개의 위치를 차지하고 10 개 정도의 미래를 향해 움직여야합니다. 그들 모두에서 검은 색은 실질적으로 재료가 많이 있다는 것을 알기 위해서입니다. 전체 의사 결정 트리에서 ~ 56 이동을 확실히 수행 할 수는 없습니다. 이는 결정적인 추첨을 결정하는 데 필요한 것입니다.