Explicação
A busca da variante principal, abreviada como PVS, parte de uma expectativa: se os lances estiverem bem ordenados, o primeiro candidato provavelmente será o melhor. Esse primeiro lance recebe uma busca completa. Os lances posteriores passam inicialmente por um teste mais barato para determinar se podem superar o resultado já encontrado.
O teste mais barato usa uma janela estreita. Uma janela é o intervalo de valores que a busca precisa distinguir. Em vez de determinar com precisão quanto um lance é melhor ou pior, PVS faz primeiro uma pergunta mais simples: ele supera a referência atual ou não? Se não superar, o lance pode ser rejeitado sem uma busca completa.
Se um candidato posterior parecer superar a referência, o teste estreito não basta para estabelecer seu valor exato. O motor, isto é, o programa que analisa a posição, busca esse candidato novamente com uma janela completa. Essa segunda passagem, chamada de nova busca, preserva a correção do método, mas consome tempo. Portanto, PVS oferece o maior ganho quando a funciona e a melhor escolha aparece primeiro.
PVS é uma forma eficiente de organizar a busca alfa-beta, um método que abandona ramos já comprovadamente incapazes de melhorar a decisão, dentro do modelo . Não deve ser confundida com a própria variante principal, que é apenas a sequência de lances que o motor considera melhor naquele momento. Também não é : MultiPV solicita várias linhas iniciais, enquanto PVS descreve um método interno de busca.
Uso e contexto
Ao chegar a posições taticamente instáveis, PVS costuma recorrer à antes de aceitar uma avaliação estática, isto é, uma estimativa feita sem seguir mais lances.
Confusões frequentes
PVS e variante principal
A variante principal é uma linha resultante. PVS é um algoritmo projetado para encontrá-la com menos trabalho.
Fontes
- 1.Principal Variation Search, Chess Programming Wiki
