깊이 (플라이 수)가 충분히 높아도 여전히 문제가됩니까?


10

이것은 사실이 아니며, 단지 이런 일이 발생한다고 상상해보십시오.

Computer A슈퍼 컴퓨터입니다. 20 초 내에 30 회 깊이를 계산할 수 있습니다.

Computer B슈퍼 컴퓨터입니다. 20 초 내에 15 회 깊이를 계산할 수 있습니다.

그들은 서로 체스를 상대합니다.

이 15 가지 깊이가 정말로 중요합니까? 이 15 가지 깊이에는 수표를 피하거나 중요한 부분을 포착하는 방법이 수조 개에 달할 수 있습니다. 물론 Computer A더 알고 있습니다. 그러나 Computer B제 생각으로는 미래를 아주 잘 예측할 수 있습니다.


이 경우 "깊이"란 플라이 수를 의미합니까? 건배.
Rauan Sagit

예, 플라이를 의미합니다.
RikTelner

답변:


13

그렇습니다. 15 가지 깊이가 매우 중요합니다.

Kasparov의 Immortal Game vs Topalov 에서 발생한이 입장을 고려하십시오 .

카스파로프-토팔로프

여러 엔진으로이 위치를 테스트했습니다. 깊이 15의 일부 엔진은 24 ... cxd4패배하는 움직임 을 감지하지 못했으며 승리했다고 생각했습니다. 같은 엔진이 더 깊이, 24 ... Kb6 의 정확한 움직임을 연주했습니다 !

예를 들어, 처음에 깊이 21에있는 Stockfish 4만큼 강력한 엔진조차도 24 ... cxd4 의 패배 움직임 이 맞다고 생각합니다 .

Stockfish DD 64 SSE4.2: 24...cxd4 25. Re7+ Kb6 26. Qxd4+ Kxa5 27. Qc3+ Kb6 
28. Qd4+ Qc5 29. Qxf6+ Bc6 30.Qxc6+ Qxc6 31. dxc6 Rd1+ 32. Ka2 f5 33. c7 Rc8 
34. Rxh7 Rxc7 35. Rh6 Rc6 36. g4 f4 37. g5 Rd2 38. c3 Rxc3 39. Rxg6+ Kc5 
40. Bg4 Rcc2 41. Rxa6 Rxb2+ 42. Ka1 Rbc2 43. Kb1 
(-1.45/21)

조금 더 깊이를 유지 한 동일한 엔진 은 올바른 이동을 위해 24 ... Kb6 을 표시합니다.

Stockfish DD 64 SSE4.2: 24...Kb6 25. b4 Qxf4 26. Rxf4 Nxd5 27. Rxf7 cxb4 
28. axb4 Rhe8 29. Rxe8 Rxe8 30. Nb3 Re1+ 31. Kb2 Re2 32. Rxh7 Nxb4 
33. Kc3 Nd5+ 34. Kd3 Rxh2 35. Rh4 Ne7 36. Nd4 Nc6 37. Nxc6 Bxc6 38. f4 Kc5 
39. Be6 Rxh4 40. gxh4 Bd5 41. f5 gxf5 42. Bxf5 a5
(-0.78/26)

깊이 15의 프리츠 11 SE도 실패했습니다. 그러나 깊이 16에서 올바른 움직임을 찾았습니다!

Fritz 11 SE: 24... cxd4 25. Qxd4+ Qb6 26. Re7+ Nd7 27. Qe5 f6 28. Qc3 Qg1+ 
29. Ka2 Bxd5+ 30. Nb3 f5 31. Qc7+ Ka8 32. Rxd7 Rxd7 33. Qxd7 Bxf3 34. Qd6 Qa7  
(-1.44/15) 

Fritz 11 SE: 24... Kb6 25. b4 Qxf4 26. Rxf4 Nxd5 27. Rxf7 cxb4 28. axb4 Nxb4 
29. Nb3 Bd5 30. Rf6+ Nc6 31. Nd4 Rdf8 32. Rd6 Kc5 33. Rxc6+ Bxc6 34. Ne6+ Kd6 
35. Nxf8 
(-0.59/16)

또한 내가 찾은 위치와 같은이 놀라운 문제를 고려 하십시오 .

Stockfish가 1 번 승리 라인을 찾지 못했습니다. Be2 +! 깊이 31까지 그리고 그때까지 그것은 나쁜 움직임이라고 생각했습니다. 나는 여기서 승리를 보여줍니다. 요점은 메이트 위협으로 인해 블랙이 주광에 있으며 여왕이 포기하거나 폰을 움직여서 화이트가 패스 폰을 만들어 승리 할 수 ​​있다는 것입니다.

NN-NN, 1-0
1. Be2 +! Kf5 2. Nd5! Qxe6 3. Bd3 + Kg4 4. Be4 !! Qh6
( 4 ... Qxe4 5. Nf6 + )
5. Nf4 Qg7 6. Nd3! Qxd4 7. c6! a5
( 7 ... Qxe4 8. Nf2 + Kf3 9. Nxe4 Kxe4 10. Kg2 Kd4 11. g4 hxg4 12. h5 Ke5 13. h6 Kf6 14. Kg3 Kg6 15. Kxg4 Kxh6 16. Kf5 Kg7 17. Ke6 Kf8 18. Kd7 Kf7 19. Kxc7 )
8. b5! a4 9. b6 cxb6 10. c7 Qxe4
( 10 ... Qc3 11. Nf2 # )
11. Nf2 + Kf3 12. Nxe4 1-0

여기에 스톡 피쉬 4의 엔진 로그가 있습니다. 보시다시피, 1. 깊이 2에서 Be2 +가 이겼습니다!

Stockfish DD 64 SSE4.2: 1. Be2+ Kf5 2.Bc4 c6 3. Ne2 Qf6 4. Kg2 Kg4 5. Nf4 Qxd4 
6. Bd3 Qe3 7. Be2+ Kf5 8. Bf3 Qd2+ 9. Kh3 Qxb4 10. e7 Qe1 11. Ne2 Qf1+ 12. Kh2 Qf2+
13. Kh3 Qe3 (-1.05/22) 

Stockfish DD 64 SSE4.2: 1. Be2+ Kf5 2. Bc4 Qf6 3. Ne2 c6 4. Bxa6 Qxe6 5. Bd3+ Kf6 
6. Nf4 Qe1 7. d5 Qxb4 8. dxc6 Qxc5 9. Be4 Ke7 10. c7 Kd7 11. Nd5 Kd6 12. Kh3 Qc4 
13. Bg2 Qg4+ 14. Kh2 Qc8 15. Be4 (-1.15/26) 

Stockfish DD 64 SSE4.2: 1. Be2+ Kf5 2. Bc4 Qf6 3. Ne2 c6 4. d5 cxd5 5. Bxd5 Qb2 
6. Bc4 Kf6 (-1.01/28) 

Stockfish DD 64 SSE4.2:  1. Be2+ Kf5 2. Nd5 Qxe6 3. Bd3+ Kg4 4. Be4 Qh6 5. Nf4 Qf6 
6. Nd3 Qxd4 7. c6 Qxe4 8. Nf2+ Kf3 9. Nxe4 Kxe4 10. Kg2 Ke5 11. Kf3 Kf5 12. g4+ Kf6
13. gxh5 Kg7 14. Kf4 Kf6 15. h6 Kg6 16. h5+ Kh7 17. Kg5 Kg8 18. h7+ Kxh7 19. Kf5 Kg7
20. Ke6 Kh6 21. Kd7 Kxh5 22. Kxc7 Kg5 23. Kd7 (6.06/31) 

하지만 한 번에 15 번 움직입니다. 처음에뿐만 아니라.
RikTelner

4
그렇습니다. 첫 번째 이동시 깊이 15에서 계산하고 실수를 범하면 이후의 모든 이동에서 15 깊이를 계산해도 저장되지 않습니다.
Wes

5

성능 향상과 검색 깊이의 관계는 실제로 컴퓨터 체스 프로그래밍 커뮤니티에서 오랫동안 활발한 연구 분야였습니다. 검색 깊이가 증가하면 강도 가 감소 한다는 이론이있었습니다 . 이것은 실험 결과에서 확인 된 것 같습니다.

내 관점에서 볼 때 직관적 인 기초가 있습니다. 엔드 게임 테이블베이스 위치에서 시작하여 두 대의 슈퍼 컴퓨터 사이의 가상의 일치를 상상해보십시오. 테이블베이스의 대부분의 강제 승리는 (예를 들어) 50 플라이 미만의 수평선에서 발생합니다. 나머지 포지션의 대부분은 끌어 당겨지며, 더 작은 깊이에서 더 높은 점수로 승리합니다. 100ply를 검색하는 컴퓨터는 50ply 컴퓨터보다 이점이 제한적입니다. 약한 프로그램은 거의 모든 패배 선을 탐색 할 수 있기 때문입니다. 50 플라이 프로그램은 실제로 25 플라이 프로그램보다 훨씬 큰 장점을 가지고 있습니다. 4 플라이 프로그램은 2 플라이 프로그램보다 훨씬 큰 이점을 갖습니다.

내가 처음에 신문의 시리즈에서, 약 15 년 전이 개념 건너 온 다크 생각 깊은 검색에 실험. 컴퓨터 체스에 관심이 있다면 이것들을 잘 읽어보십시오.

온라인 참조를 찾을 수 없지만 작년 부터이 주제에 관한 논문이 있습니다 ...

Diogo R. Ferreira (2013). 검색 깊이가 체스 플레이 강도에 미치는 영향. ICGA 저널, Vol. 36, 2 호


2

문제는 : 당신은 철저한 검색의 15/30 플라이, 또는 Stockfish와 같은 현대 체스 엔진의 공칭 깊이 / 반복의 15/30을 의미합니까?

후자를 의미한다면 15 플라이가 많은 것을 의미하지는 않습니다. 현대 체스 엔진은 심하게 나쁜 움직임을 제거하고 줄입니다. 따라서 명목상의 깊이 / 반복이 15 일 때 첫눈에 좋지 않은 희생은 실제로 5-10의 깊이까지만 검색 될 수 있습니다. 수심 / 반복 30에서 이동은 여전히 ​​감소 된 수심으로 만 검색되지만 15-20의 유효 수심 일 수 있습니다. 움직임이 유망 함을 발견하면 감소가 감소하여 움직임이 30 플라이에 가까운 깊이로 검색됩니다 (또는 확장 및 정지 검색으로 인해 더 깊어짐). 따라서 조합이 공칭 지평 15 플라이 내에 있더라도 차이를 만들 수 있다고 생각합니다.

철저한 검색을 언급하는 경우 15의 깊이를 가진 엔진은 좋은 평가 기능과 어떤 종류의 정지 검색 (깊이 15의 휴가 노드 이후)이 있다면 매우 강하다고 생각합니다. 수익이 감소함에 따라 깊이를 두 배로 늘려서 얻는 것이 깊이 15와 깊이 30을 가진 두 개의 현대식 엔진 사이에서 얻을 수있는 것보다 훨씬 적을 것이라고 생각합니다. 깊이 15는 엔진이 깊이 / 반복 15에 도달하는 데 걸리는 것보다 수십 배 더 오래 걸리므로 이러한 실험은 더 낮은 깊이에서만 가능합니다.


0

FWIW ARM이 새로 생겼을 때, 플라이 1 이후 재료만으로 위치를 평가하는 최적화 된 ARM 철저한 검색 프로그램을 작성했습니다.

나는 최적화 된 기계 코드, 반복적 인 심화, 정렬 된 움직임에 대한 알파-베타 창 (거의 모든 위치에 0의 값이 있으므로 거의 최적의 알파-베타 가지 치기가 있음) 및 분기 요소를 알파-베타의 이론적 제곱근, 일반적으로 게임의 최악의 부분에서 약 4

당시 표준 프로그램과의 경쟁에서 내 E6P 프로그램은 끔찍한 위치에 있었지만 당시 프로 소프트웨어와 비교할 때 추가 플라이 또는 두 번의 철저한 검색 (즉, 최악의 단계에서 일반적으로 6 플라이 철저한 + 대기 검색) 게임이 단순화됨에 따라 최대 12 플라이), 상대방의 자신감에도 불구하고 실제로지는 것에서 계속 울려 퍼졌습니다. 반대의 프로그램이 실제로 이길 수 없었기 때문에 거의 모든 게임이 몇 시간 후에 판결되었습니다.

나중에 StrongARM에 최적화하여 10 겹으로 옮겼습니다. 이 버전은 모든 비 체스 플레이어를 쉽게 이길 수는 있지만, 전략에 대한 인식이 부족한 것은 분명하지만 유명한 의견이 적용되었습니다. 예, 체스 움직임이지만 체스는 아닙니다!

이것은 몇 년 전에 이루어졌지만, ply 1에서보다 전략적인 위치 평가와 4MIPS보다 이론적으로 10,000-100,000x 더 빠른 (및 30k 배 더 많은 해시 테이블 메모리) Intel XEON을 사용하여 다시 철저히 시도하고 싶습니다. ARM2 도토리 아르키메데스.

물론 주류는 아니지만 재미있게 놀 수 있습니다.


-2

1 플라이는 + 55..70 ELO 게인으로 추정됩니다 (이 주제에 대한 많은 연구)

이 15 가지 깊이에는 수표를 피하거나 중요한 부분을 포착하는 방법이 수조 개에 달할 수 있습니다.

문제는이 모든 "조물"이 A @ D = 30으로 계산되었고, A가이기는 평가로 이동을 선택한 경우, "조각"중 어느 쪽이 상대방의 답장을 움직이는 지에 관계없이이 "조"를 계산한다는 것을 의미합니다. 여전히 이기고있다


토론에 오신 것을 환영합니다. 당신의 진술을 증명할 것이 있습니까? 나는 구체적인 관계가 없다고 생각합니다.
SmallChess
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.