Bonjour,
Quand je parle de déplacement je pensais à la possibilité de se déplacer d’une case à la fois soit en avant soit en arrière ou latéralement mais plus couteux en carburant, avec une limite de carburant qui fait que les bateaux ne pourront pas se déplacer indéfiniment.
Je pense que dans une bataille navale normale un Minimax ne s’applique pas étant donné qu’un adversaire ne peut pas contrecarrer un coup, il n’y a donc pas à mon sens de situation d’adversité.
Par contre si je rajoute les déplacements, un adversaire peut contrecarrer le coup en se déplaçant. Si par exemple l’ordinateur est touché il pourrait choisir de se déplacer ou de continuer à attaquer si il est déjà entrain de pilonner une position ennemie et qu’il a presque coulé son adversaire. Et pour cela il devrait faire le choix qui lui offre le meilleur résultat. Je vais faire quelques simulations pour voir ce que ça pourrait donner.
Comme stratégie ici je pense jouer sur un état de croyance. Au début je n’ai aucune idée d’où se trouve l’adversaire et je vise au au hasard jusqu’à toucher une position ennemie. Une fois que j’ai touché une case, j’ai une idée d’où peut se trouver l’adversaire et je peux mettre mon état de croyance à jour en marquant certaines cases comme plus intéressantes à attaquer que d’autres.
Mais si j’ajoute les déplacement je dois aussi tenir compte du fait que mon adversaire au prochain coup ne sera plus au même endroit et élargir mon champ d’attaque, jusqu’à éventuellement en perdre totalement la trace.
Il y a la possibilité de calculer un plan à l’avance, une solution contingente avec un algorithme qui utilise un arbre ET OU, en fonction des percepts éventuels que je peux recevoir de l’arbitre ( touche, coule, coup à l’eau ) puis à choisir ensuite la bonne action en fonction du percept réel, mais ça oblige à calculer des situation qui pourraient ne jamais arriver.
Du coup je pense à plutôt calculer l’état de croyance au fur et à mesure du résultat des attaques.