@Phonon 덕분에 이전 답변에 대해 자세히 설명했습니다. 시간 제어라는 점을 하나 더 추가하고 싶습니다 .
결정적인 시간 제어는 노드 수에 의해서만 이루어 지지만 이는 드문 일입니다. 훨씬 더 일반적인 시간 제어- 고정 된 초 수 또는 게임 시간 은 일반적으로 결정적이지 않습니다.
예를 들어 봅시다. 터미널에서 stockfish를 실행하십시오. 유형:
이동 시간 20000으로 이동
이 명령은 20 초 후에 엔진이 움직 이도록 지시합니다. 내 결과 :
info depth 23 seldepth 32 multipv 1 score cp 6 upperbound nodes 24325860 nps 1216171 hashfull 999 tbhits 0 time 20002 pv g1f3 d7d5
bestmove g1f3 ponder d7d5
이동은 1.Nf3이었다. 다음으로, 나는 Stockfish를 죽이고 새로운 것을 시작했습니다. 다시 20 초. 나는 얻었다 :
info depth 23 seldepth 32 multipv 1 score cp 20 nodes 26185280 nps 1309067 hashfull 999 tbhits 0 time 20003 pv d2d4
bestmove d2d4 ponder g8f6
1.d4입니다! 같은 위치, 20 초 검색!
당신이 보여요? 이동하는 데 20 초가 걸렸지 만 Linux 운영 체제의 변동으로 인해 두 번째로 더 많이 검색했습니다 (26185280> 24325860).
이 작은 실험은 다중 스레드조차도 아니 었습니다 (스레드 수 = 1). 멀티 스레딩은 일을 더욱 비 결정적으로 만듭니다.
스톡 피시는 구글 알파 제로 경기에서 1 분마다 1 분씩 받았다. 스레드 수는 64 개였습니다. 경기에서 Stockfish의 결정은 결정적 일 수 없었 습니다 .