Esta figura (que é de fato correta) é usada na explicação do algoritmo de poda alfa-beta em uma árvore minimax. A poda alfa-beta é um método usado para podar partes da árvore minimax em um problema de pesquisa adversário. No contexto de um jogo da velha, as árvores minimax destinam-se a permitir que o computador procure no espaço de todos os tabuleiros de jogos possíveis (configurações de x e o) assumindo que os movimentos do jogador são ideais. Isso permite que o computador proponha uma mudança que forneça o melhor resultado (é por isso que o jogo de conectar-quatro no seu computador é incrivelmente difícil de vencer!). Para uma descrição mais completa, sugiro "AI a Modern Approach", de Stuart e Norvig (pág. 162-170 ish, na 2ª ed.).
Agora que esclarecemos alguma confusão sobre o algoritmo. A poda alfa-beta tenta evitar a expansão de subárvores com base em como o algoritmo minimax funciona. Sabemos que o nó máximo no nível superior terá o maior valor de todos os seus filhos. Portanto, o nó encontra o valor e, até o momento, esse é o valor máximo que ele deseja passar para o pai, para que ele coloque esse valor no slot MAX. Então ele encontra . Lembre-se de que é um nó MIN, portanto, ele deseja minimizar o valor que passa para seu pai, mantendo assim o valor no slot MAX. Novamente para . Quando pesquisou todos os seus filhos, ele conhece o limite inferior máximo (B312B38Bα) e a solução de limite superior mínimo ( ) de sua subárvore e mantém esses valores em MIN ( ) e MAX ( ) (como [3, 3]).βαβ
Nota: min e max rotulados na figura NÃO são os valores mínimo e máximo da subárvore! Eles são (rotulados de maneira bastante confusa) os limites alfa-beta das soluções da subárvore (lembre-se de que este é um problema de pesquisa contraditório).
Em seguida, mover para o nó . Aqui nos deparamos com um na primeira posição. O nó , que deseja selecionar o valor mais baixo de sua subárvore, SABE agora que seu pai não selecionará seu valor, pois o nó encontrou um valor maior. Portanto, podemos podar o resto da sub-árvore e continue para .C2CBD
Finalmente, para responder à pergunta específica: Por que .min = 3? Um valor para (o limite inferior máximo de soluções neste nó) e (o limite superior mínimo de soluções neste nó) é mantido em cada nó para executar a remoção. Esses valores vinculam os possíveis casos em que o valor de um nó (ou sua subárvore) pode fazer parte da solução.Bαβ
Neste exemplo, ele não parece ter um papel, no entanto, tente olhar para exemplos mais complicados (ou seja, árvores com uma altura> 3) como esta e veja se você consegue entender isso.
Não posso fazer justiça à poda minimax ou alfa-beta aqui (principalmente porque não as uso há anos); portanto, se você realmente quiser entender isso, consulte um livro sobre IA como o de Stuart e Norvig (o surpreendentemente, a página da Wikipedia também não tem visualização).