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

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.

- f(x): On parcours toujours la plus petite distance.
- g(x): On cherche toujours à minimiser la distance à vol d’oiseau.
- h(x): On minimise f(x)+g(x)
TP
Série 2 : Complexité & Recherche Aveugle
Les tours de Hanoï

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
- Pour chacun des deux algorithmes, dessiner l'état de la FILE à chaque état jusqu'à ce que le noeud N en soit extrait.
- Définissez la complexité en temps et en espace des deux stratégies (en fonction de b, d et m)
- Quels problèmes voyez-vous pour chacune des stratégies de recherche? Y a t'il un moyen de les résoudre?
- 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é.
En profondeur | En 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! |
profondeur: O(bm) = O(2∞)
largeur: O(bd) = O(23)
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.
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 = 100
- 1 = O(n)
- n = O(10n + 5)
- n2 = O(100n)
- n = O(n2)
- 10n3 + n2 - 5n + 100 = O(n3)
- n50000 + 1000000 = O(2n)
- n2n = O(2n)
même puissance
lim 1 = C * lim O(100)
1 = C * 100
1⁄100 = C
1 < O(n)
même puissance
limn->∞(n) ≤ C * limn->∞(10n + 5)
∞/∞ ≤ C
n2 > O(100n)
n < O(n2)
même puissance
limn->∞(10n3 + n2 - 5n + 100) = C * limn->∞(n3)
C=1/10
n50000 + 1000000 < O(2n)
même puissance
limn->∞(n2n) ≤ C * limn->∞(2n)
C = 1