설명
주 변형 탐색은 PVS로 줄여 쓰며 한 가지 기대에서 출발한다. 수가 잘 정렬되어 있다면 첫 후보가 최선일 가능성이 높다는 것이다. 첫 수는 완전 탐색을 받는다. 뒤의 수들은 이미 찾은 결과를 넘어설 수 있는지 알아보기 위해 먼저 더 저렴한 시험을 받는다.
저렴한 시험은 좁은 윈도우를 사용한다. 윈도우는 탐색이 구분해야 하는 값의 범위다. PVS는 수가 얼마나 더 좋거나 나쁜지를 정확히 구하는 대신, 먼저 현재 기준을 넘는지 아닌지만 묻는다. 넘지 않으면 완전 탐색 없이 그 수를 버릴 수 있다.
뒤의 후보가 기준을 넘는 것처럼 보이면 좁은 시험만으로는 정확한 값을 확정할 수 없다. 포지션을 분석하는 프로그램인 엔진은 완전한 윈도우로 다시 탐색한다. 재탐색이라고 하는 이 두 번째 과정은 방법의 정확성을 지키지만 시간을 쓴다. 따라서 PVS는 가 성공해 최선의 선택이 처음에 나올 때 가장 큰 효과를 얻는다.
PVS는 결정을 개선할 수 없다고 이미 증명된 가지를 버리는 알파베타 탐색을 틀 안에서 효율적으로 구성하는 방법이다. 엔진이 현재 최선으로 보는 수순 자체인 주 변형과 혼동해서는 안 된다. 와도 다르다. MultiPV는 여러 시작 라인을 요청하고, PVS는 내부 탐색 방식을 설명한다.
용법과 맥락
전술적으로 불안정한 포지션에 도달하면 PVS는 보통 더 이상 수를 따라가지 않고 내리는 추정인 정적 평가를 받아들이기 전에 을 사용한다.
자주 혼동하는 개념
PVS와 주 변형
주 변형은 결과로 나오는 라인이다. PVS는 더 적은 작업으로 그 라인을 찾도록 설계된 알고리즘이다.
출처
- 1.Principal Variation Search, Chess Programming Wiki
