Explicação
Um lance nulo é um passe artificial usado apenas no cálculo de um motor de xadrez, um programa que analisa posições. O lado a jogar abre mão do turno sem mover nenhuma peça e deixa o adversário agir. Esse passe não é legal em uma partida real de xadrez. Ele serve como um teste rápido da solidez da posição.
O motor realiza esse teste com uma busca reduzida, isto é, uma busca que olha menos lances à frente do que a busca normal. Se a posição ainda superar claramente o limite necessário para o corte mesmo após conceder um turno gratuito ao adversário, o programa presume que pelo menos um lance legal também será suficiente. Então pode interromper esse ramo sem verificar cada opção individualmente.
Essa poda economiza muito trabalho, mas sua premissa não é válida em todos os casos. Em um , fazer um lance é prejudicial, e poder passar seria uma vantagem que o xadrez real não oferece. O teste de lance nulo pode considerar segura uma posição que, na verdade, está perdida porque o jogador é obrigado a mover. O risco é maior em alguns finais com pouco material.
Por isso, os motores acrescentam salvaguardas. Eles não usam o teste quando o rei está em xeque e podem desativá-lo quando resta pouco material, aplicar uma redução menos agressiva ou executar uma busca de verificação antes de aceitar o corte. A poda por lance nulo opera dentro de modelos como e se combina com outras técnicas de seleção, mas não decide sozinha qual é o melhor lance.
Uso e contexto
Poda significa evitar o exame completo de um ramo quando um teste indica que ele não pode alterar a decisão principal.
Confusões frequentes
Lance nulo e perda de turno
O lance nulo é uma ferramenta interna da busca. Nenhum jogador realmente perde um turno, e essa ação nunca aparece na partida.
Poda e erro
O método é deliberadamente seletivo. Suas salvaguardas e buscas de verificação são projetadas para controlar os casos em que a premissa pode falhar.
Fontes
- 1.Null Move Pruning, Chess Programming Wiki
