Você está fazendo uma pergunta bastante complexa, mas é bom voltar ao básico. Existem alguns conceitos a serem considerados:
Avaliação
Se um jogador (real) recebe uma posição e pergunta "quem está ganhando este jogo?", Como ele decide? Provavelmente, eles verificarão algumas coisas básicas, como: diferenças de material, o grau em que as peças foram desenvolvidas ou posicionadas "bem", duplicados / isolados / conectados / passados, peões, arquivos abertos (controlados), até que ponto o tabuleiro são os peões.
Agora, se necessário, você pode criar uma maneira sistemática de calcular uma pontuação de posição com base no exposto acima. Você pode decidir, por exemplo, que um peão vale 1 ponto e que um peão passado vale 0,3 pontos a mais. Peões isolados ou dobrados podem valer um pouco menos, etc. Se você somar tudo, obterá um valor estimado para a posição imediata em mãos.
Isso é conhecido como avaliação , e basicamente todos os programas de xadrez têm uma maneira de avaliar posições (ignorando os novos mecanismos de xadrez da IA, que geralmente são muito fracos).
Mas e os movimentos posicionais profundos e sutis?
Bem, apenas arranhamos a superfície da avaliação de posição. A implementação real de uma função de avaliação pode ser simplista, para permitir que mais posições sejam avaliadas por segundo (embora de maneira grosseira) ou mais complexa, levando a menos posições avaliadas, mas com um maior grau de confiança. Não é incomum que a função de avaliação leve em consideração centenas ou mesmo milhares de informações separadas.
Procurar
Eu especificamente deixei de fora algo do exposto acima, no qual a maioria dos jogadores reais pensará imediatamente - existe alguma maneira de ganhar o jogo imediatamente para ambos os lados? Visíveis companheiros ou peças "penduradas"? Embora seja fácil trivializar isso, é tudo menos trivial.
O que significa para um jogador ter total confiança em uma combinação? No final, tudo se resume a ter calculado todas as opções. Jogadores reais normalmente não fazem isso (exceto para companheiros triviais ou muito forçados); na maioria das vezes, consideraremos apenas algumas opções e descartamos outras que parecem "não construtivas" ou que obviamente levam a uma perda . Muitas vezes cometemos erros durante esse cálculo, por exemplo, podemos perceber que uma mudança nas ordens de movimentação faz com que as ameaças se evaporem etc. O ponto é que, para ter certeza absoluta de uma combinação, você realmente precisa calcular todo o caminho até sua conclusão, assumindo que cada o jogador apenas disponibilizará a melhor jogada possível (isso é conhecido como "min / max").
Agora, considerando que o xadrez tem um espaço de pesquisa muito maior (é o que se refere a "todas as jogadas possíveis no futuro") do que é viável para um computador calcular, é preciso fazer compromissos. Assim como os humanos, os computadores podem decidir desconsiderar linhas inteiras de pensamento com base em certos critérios. Isso é conhecido como heurística . Vale a pena notar que, embora você possa ter certeza de uma combinação apenas se for forçada, uma função de avaliação complexa pode frequentemente detectar a presença de ameaças (por exemplo, poderíamos contar garfos, oportunidades de espetos, etc., para orientar uma pesquisa nessa direção )
No final, embora os computadores sejam extremamente rápidos, são as heurísticas que permitem que eles calculem tão profundamente. Dito isso, você pode se surpreender com a profundidade dos motores modernos, que geralmente são superiores a 3 movimentos, mesmo em jogos rápidos.
Conclusão / combinação de tudo
Portanto, para resumir: as funções de avaliação têm muita inteligência embutida nelas (ou seja, levam em consideração mais coisas do que o jogador humano comum), as heurísticas permitem que o computador elimine as linhas de pensamento que decide que provavelmente não vão terminar bem, e os computadores são extremamente rápidos. Adicione-os e eles são bem difíceis de vencer.