Java Jogo da velha algoritmo MinMax com busca em Arvore

Bom pessoal, fiz um jogo da velha em console (Java) humano x computador, o jogo funciona bem, todavia, a jogada do computador é aleatória (burra). Eu gostaria que o computador tivesse uma IA, vi que um bom algoritmo para isto é o MinMax.
Encontrei um fonte usando o MinMax e funciona bem, mas eu quero construir este game usando Arvore.

Esta Arvore seria como arvores que costumo usar? Tipo, exemplo: o nó raiz é 10 se o usuario digitar 9, este valor vai para um nó gerado a esquerda do nó Raiz. Se o usuario digita exemplo 14, este valor vai para um nó gerado a direita do nó Raiz. Se digitar 12 vai para um nó gerado a esquerda do nó 14 que é filho do nó Raiz e agora pai da folha 12, e assim vai.

Minha PERGUNTA é:
Qual informação iria para a esquerda ou direita da Arvore em um Jogo da Velha? E como usar o MinMax para a escolha perfeita do computador nesta Arvore. OBRIGADO.

1 curtida

Você precisa de uma função que defina o quão perto você fica de ganhar em cada alternativa, ou seja, uma função que indique quão boa é uma jogada dando a ela um valor numérico. Com esse valor numérico você constrói a árvore.

Claro que quanto mais precisa for essa função, mais esperta será sua IA.