Wyjaśnienie
Przeszukiwanie wariantu głównego, w skrócie PVS, rozpoczyna się od oczekiwania: jeśli ruchy są dobrze uporządkowane, pierwszy kandydat prawdopodobnie jest najlepszy. Ten pierwszy ruch otrzymuje pełne przeszukiwanie. Późniejsze ruchy najpierw poddaje się tańszemu testowi, aby ustalić, czy mogą przebić już znaleziony wynik.
Tańszy test używa wąskiego okna. Okno jest zakresem wartości, które przeszukiwanie musi rozróżnić. Zamiast precyzyjnie ustalać, o ile ruch jest lepszy lub gorszy, PVS najpierw zadaje prostsze pytanie: czy przekracza bieżący punkt odniesienia? Jeśli nie, ruch można odrzucić bez pełnego przeszukiwania.
Jeśli późniejszy kandydat wydaje się przekraczać punkt odniesienia, wąski test nie wystarcza do ustalenia jego dokładnej wartości. Silnik, czyli program analizujący pozycję, ponownie przeszukuje go z pełnym oknem. Ten drugi przebieg, zwany ponownym przeszukiwaniem, zachowuje poprawność metody, ale kosztuje czas. PVS zyskuje więc najwięcej, gdy działa skutecznie i najlepszy wybór pojawia się pierwszy.
PVS jest wydajnym sposobem organizowania przeszukiwania alfa-beta, czyli metody porzucającej gałęzie, o których już dowiedziono, że nie mogą poprawić decyzji, w ramach . Nie należy go mylić z samym wariantem głównym, który jest jedynie sekwencją ruchów uznawaną obecnie przez silnik za najlepszą. Nie jest też : MultiPV żąda kilku linii początkowych, natomiast PVS opisuje wewnętrzną metodę przeszukiwania.
Użycie i kontekst
Po dotarciu do pozycji niestabilnych taktycznie PVS zwykle korzysta z , zanim zaakceptuje ocenę statyczną, czyli szacunek dokonany bez śledzenia dalszych ruchów.
Częste nieporozumienia
PVS a wariant główny
Wariant główny jest wynikową linią. PVS to algorytm zaprojektowany tak, aby znaleźć ją mniejszym nakładem pracy.
Źródła
- 1.Principal Variation Search, Chess Programming Wiki
