Sur les jeux à coup par coup, il s'agit de construire l'arbre des possibilités à partir du point de jeu en cours, ce que tu sembles soit avoir déjà codé soit avoir déjà envisagé.
L'astuce réside dans l'exploration de cet arbre, comme il est difficile de "résoudre" le jeu* (parcourir toutes ses possibilités), on utilise ce qui s'appelle une fonction "heuristique" qui n'est rien d'autre qu'une sorte de fonction qui donne une "note" de l'état de la partie (en fonctions des règles) à l'avantage du joueur IA, c'est ce que Monsieur23 a appelé "domination".
Avec cette fonction/méthode tu parcours l'arbre des possibilités en privilégiant les branches qui te sont plus avantageuses (pour vérifier, autant que possible, que c'est bien le cas et en gros, que la situation ne finit pas par se retourner). Par conséquent au moment de jouer, tu privilégies les branches qui ont une "meilleure note" (heuristique) car ce sont celles qui augmenteront tes chances de gagner.
Il est important de noter qu'il faut définir une limite à cette recherche heuristique, sinon tu ne t'arrêteras que lorsque t'auras résolu le jeu, ce qui n'est justement pas le but ! Pour ce faire, t'as plusieurs possibilités :
. Limite en temps : c'est la plus utilisée, elle permet de tirer parti de la puissance de l'ordinateur tout en demeurant "jouable". C'est malheureusement la méthode la plus difficile à mettre en place, elle requiert d'utiliser des opérations simples/courtes et ré-entrantes.
. Limite en profondeur : c'est la plus simple à mettre en uvre et te permet aussi de définir aisément le niveau de difficulté de l'IA (plus tu parcours de niveaux, plus elle sera "forte", mais ca prendra plus de temps)
. Limite en nombre de nuds : variante de la profondeur, qui permet de faire un meilleur compromis par rapport au temps que ca prend.
Il va sans dire que la fiabilité de ce parcours "guidé" par une heuristique dépendra aussi de la qualité de ton heuristique. Si tu tapes dans Google "heuristique pour jeu de Go" je suis sur que tu trouveras des astuces auxquelles tu n'avais pas encore pensé pour la concevoir...

A l'époque (il y a une 20e d'années maintenant), j'avais fait un jeu Othello en suivant ce même principe, j'avais même tenté de le résoudre, mais le limitations de stockage de l'époque ont eu raison de mon élan d'analyse...
*Résoudre un jeu : cela demeure assez possible pour les jeux simples (courts), mais si t'as plusieurs To de stockage tu peux tenter de résoudre ton jeu aussi. Pour résoudre un jeu "non-simple" il faut le pré-calculer : calculer tout l'arbre des possibilités de jeu, ce qui peut être titanesque car souvent le nombre de possibilités croît de manière exponentielle. Une fois que t'as tout ton arbre, tu fais remonter dans chaque nud qui est gagnant au bout et l'IA ne prendra aucun temps de calcul. C'est intéressant et bluffant de voir ainsi, qu'à partir du moment où l'IA t'a emmené vers une branche où elle t'annonce qu'elle va gagner, t'es "foutu d'avance"... 