Jean-Jacques BOURDIN
jj NOSPAM @ up8.edu
(enlever le NO Spam)
IA
Backtracking
Principe de base des labyrinthes, dès qu‘on est bloqué on revient à la pris récente intersection.Parcours en profondeur
void afficharbre (arbre a) { if (a) { afficharbre (a->sg); printf("%d %3.2f ", a->num, a->val); afficharbre (a->sd); } } |
Parcours en largeur
Il nécessite de gérer une file d'attente pour mettre en attente les sommets rencontrés. Tous les sommets d‘une même génération seront ensemble dans la file.
On peut en trouver sur quelques journaux
En voici un :Pour résoudre ce problème il suffit de tester toutes les combinaisons de lettres.
Le problème est que, le plus souvent, le nombre de cas possibles est tellement grand que le temps d'attente peut être déraisonnable.Il ne reste plus qu‘à remplir les nouvelles cases obligatoires puis
placer les dernières lampes (il reste si peu de cas possibles...).
Etape3
Si, pour tous ces coups, une valeur est attibuée (par exemple en comptant le nombre de pièces restantes), il n'est pas difficile de ce rendre compte que le joueur doit choisir le coup de la ligne 2 qui a la valeur la plus grande (le Max).
Mais son adversaire doit jouer le meilleur coup pour lui-même. Donc à la ligne 3, il choisit ce qui est le moins favorable pour White, la plus petite valeur présente (le Min).
et ainsi de suite.
Exemple
si à la ligne 2 vous avez un 15.
quand on trouve un 6 à la ligne 3, ce n'est pas la peine de
tout calculer en-dessous de ce 6 puisque toutes les
valeurs à trouver seront plus petites que 6 et que de toutes
les façons on choisira le 15. C‘est une coupe Beta.
La coupe Alpha est son pendant symétrique, les signes et la parité des ligne étant inversés.
Attention, selon l'ordre dans lequel les sommets sont donnés dans l'arbre, cet algorithme peut très bien ne rien élager.
Dernière mise à jour : 25/11/2024 (17h)