Algorithmes les plus étudiés en intelligence artificielle

algorithmes étudiés dans le cadre du cours IA

Recherche en largeur

Déterminez l'ordre parcourus des noeuds de l'arbre ci-dessous selon une recherche en largeur. Donnez le bon nombre à chaque case correspondante

Arbre















Best First Search

Déterminez l'ordre parcourus des noeuds de l'arbre ci-dessous selon une recherche en profondeur. Donnez le bon nombre à chaque case correspondante.

bestFirstSearch
On veut parcourir ce graphe par le chemin le plus court pour atteindre l’état final en partant de l’état initial pour cela, trois fonctions heuristiques sont proposées:
  1. f(x): On parcours toujours la plus petite distance.
  2. g(x): On cherche toujours à minimiser la distance à vol d’oiseau.
  3. h(x): On minimise f(x)+g(x)
Effectuer l’exécution de l’algorithme best first search en prenant comme fonction d’évaluation les 3 fonctions f(x), g(x), h(x) présentées précédement. Écrivez le nom de tous les noeuds parcourus, même si il y a de boucles ou des retours en arrières.

> > > > > >
> > > >
> > > >

TP

Série 2 : Complexité & Recherche Aveugle

Les tours de Hanoï

Exercice1

Les deux figures ci-après sont identiques, elles représentent une partie de l'arbre de recherche pour le problème des tours de Hanoï. Vous devez compléter ces figures en étiquettant les noeuds avec les nombres 1;2;3... qui indiquent l'ordre dans lequel les noeuds sont traités. Première figure: recherche en profondeur. Deuxième figure: recherche en largeur.

1.1 Questions
  1. Pour chacun des deux algorithmes, dessiner l'état de la FILE à chaque état jusqu'à ce que le noeud N en soit extrait.
  2. En profondeurEn largeur
    1: (B, C)1: (C, B)
    2: (D, E, F, C)2: (B, D, E, F)
    3: (J, K, E, F, C)3: (D, E, F, G, H, I)
    4: (K, E, F, C)4: (E, F, G, H, I, J, K)
    5: (E, F, C)5: (F, G, H, I, J, K)
    6: (F, C)6: (G, H, I, J, K)
    7: (C)7: (H, I, J, K)
    8: (G, H, I)8: extraction du noeud H!
    9: extraction du noeud G!

  3. Définissez la complexité en temps et en espace des deux stratégies (en fonction de b, d et m)
  4. profondeur: O(bm) = O(2)
    largeur: O(bd) = O(23)

  5. Quels problèmes voyez-vous pour chacune des stratégies de recherche? Y a t'il un moyen de les résoudre?
  6. profondeur: Sera complète seulement si l'arbre n'est ni infini ni cyclique. Solution: Recherche par approfondissement itératif.
    largeur: La recherche devient vite exponentielle, trop grande, répétitive.

  7. Laquelle des deux stratégies pensez-vous la plus adaptée pour résoudre ce problème? Répondez à la question en parlant des concepts de complétude, optimalité.
  8. La meilleure recherche serait par approfondissement itératif, car elle est optimale et complète, et économe en espace. Mais entre largeur et profondeur, je ne sais pas.

1.2 Notation Grand O

Pour chacune des égalités, transformer le "=" en "< > ou ≠" quand cela est nécessaire. En cas d'égalité, donner explicitement le C qui satisfait l'égalité.

  1. 1 = 100
  2. même puissance
    lim 1 = C * lim O(100)
    1 = C * 100
    1100 = C

  3. 1 = O(n)
  4. 1 < O(n)

  5. n = O(10n + 5)
  6. même puissance
    limn->∞(n) ≤ C * limn->∞(10n + 5)
    / ≤ C

  7. n2 = O(100n)
  8. n2 > O(100n)

  9. n = O(n2)
  10. n < O(n2)

  11. 10n3 + n2 - 5n + 100 = O(n3)
  12. même puissance
    limn->∞(10n3 + n2 - 5n + 100) = C * limn->∞(n3)
    C=1/10

  13. n50000 + 1000000 = O(2n)
  14. n50000 + 1000000 < O(2n)

  15. n2n = O(2n)
  16. même puissance
    limn->∞(n2n) ≤ C * limn->∞(2n)
    C = 1

Résumé du cours