Académique Documents
Professionnel Documents
Culture Documents
F C
A
Nœud
initial B
G A B D H D
H F
D E G B K E G
C E K Solution
But
G A C K A C F
Fonction Rech_Largeur (NœudI, But) : Trouvé, Echec
Debut
Frontière NoeudI // ajout au sommet de la file
ListeVisités Null
Tant que (Frontière Vide)
NoeudC Frontière.retirer () // Au sommet
si (NoeudC.etat = But) renvoyer Trouvé
ajouter (ListeVisités , NoeudC )
Pour chaque Expansion (NoeudC) ListeVisités
Frontière Frontière + Expansion (NoeudC)
Fin Pour
Fin tant que
renvoyer Echec
Fin
b: nombre de branchements maximal de l’arbre de recherche
d: profondeur de la meilleure solution
F 10 C 5
5 A
10
Nœud
initial 10 5 B 20
G A B 15 D H 20 D 10
10 10
10 5
5 H 10 F 20
D K 40 E 15
5 5 5 20
E K But
C 20
10 10 K Solution
: valeur positive très petite
b: nombre de branchements maximal de l’arbre de recherche
C*: profondeur de l’arbre de recherche
F C
A
Nœud
initial B
G A B D H
H F
D E
C E K
But
C K Solution
Fonction Rech_Profondeur (Nœud, But) : Trouvé, Echec
Debut
si (Noeud.etat = But) renvoyer Trouvé
ajouter (ListeVisités , Noeud )
Pour chaque Expansion (Nœud) ListeVisités
Res = Rech_Profondeur (Expansion(Nœud), But)
si (Res = Trouvé) renvoyer Trouvé
Fin Pour
renvoyer Echec
Fin
b: nombre de branchements maximal de l’arbre de recherche
m: profondeur maximale de l’arbre de recherche
sinon
renvoyer Echec
Fin
b: nombre de branchements maximal de l’arbre de recherche
l: limite de la recherche
Temps bd bC*\ Bm Bl Bd
(5) (0)
H (10)
D E
(10) C E K (0)
But
(15) A K (0)
(10)
b: nombre de branchements maximal de l’arbre de recherche
m: profondeur maximale de l’arbre de recherche
Temps bm bm bd bl
Espace bm bm bd bl
Complétude Non Non Oui Non
Optimalité Non Non Oui* Non