Uploaded by Amine Beld

recherche

advertisement

Chapitre I : la résolution des problèmes par la recherche

Master 1 SIC/MID

Belabed Amine

Université De Tlemcen – Faculté des sciences, Département d’Informatique

2019-2020

1/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 1 / 45

Introduction

Un problème : une situation devant laquelle on ne voit pas directement les étapes permettant de dépasser la situation et obtenir la solution.

2/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 2 / 45

Résoudre un problème : revient à chercher un chemin qui mène d’une situation initiale à une autre finale pour atteindre un but.

Exemples : les jeux, planification , la preuve de théorèmes , · · ·

La démarche d’IA :

L’algorithme doit être "neutre" sur le domaine concerné

Les connaissances de description du problème et de sa résolution doivent être clairement séparés de l’algorithme.

Introduction

Un problème : une situation devant laquelle on ne voit pas directement les étapes permettant de dépasser la situation et obtenir la solution.

Résoudre un problème : revient à chercher un chemin qui mène d’une situation initiale à une autre finale pour atteindre un but.

2/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 2 / 45

Exemples : les jeux, planification , la preuve de théorèmes , · · ·

La démarche d’IA :

L’algorithme doit être "neutre" sur le domaine concerné

Les connaissances de description du problème et de sa résolution doivent être clairement séparés de l’algorithme.

Introduction

Un problème : une situation devant laquelle on ne voit pas directement les étapes permettant de dépasser la situation et obtenir la solution.

Résoudre un problème : revient à chercher un chemin qui mène d’une situation initiale à une autre finale pour atteindre un but.

Exemples : les jeux, planification , la preuve de théorèmes , · · ·

2/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 2 / 45

La démarche d’IA :

L’algorithme doit être "neutre" sur le domaine concerné

Les connaissances de description du problème et de sa résolution doivent être clairement séparés de l’algorithme.

Introduction

Un problème : une situation devant laquelle on ne voit pas directement les étapes permettant de dépasser la situation et obtenir la solution.

Résoudre un problème : revient à chercher un chemin qui mène d’une situation initiale à une autre finale pour atteindre un but.

Exemples : les jeux, planification , la preuve de théorèmes , · · ·

La démarche d’IA :

2/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 2 / 45

L’algorithme doit être "neutre" sur le domaine concerné

Les connaissances de description du problème et de sa résolution doivent être clairement séparés de l’algorithme.

Introduction

Un problème : une situation devant laquelle on ne voit pas directement les étapes permettant de dépasser la situation et obtenir la solution.

Résoudre un problème : revient à chercher un chemin qui mène d’une situation initiale à une autre finale pour atteindre un but.

Exemples : les jeux, planification , la preuve de théorèmes , · · ·

La démarche d’IA :

L’algorithme doit être "neutre" sur le domaine concerné

2/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 2 / 45

Les connaissances de description du problème et de sa résolution doivent être clairement séparés de l’algorithme.

Introduction

Un problème : une situation devant laquelle on ne voit pas directement les étapes permettant de dépasser la situation et obtenir la solution.

Résoudre un problème : revient à chercher un chemin qui mène d’une situation initiale à une autre finale pour atteindre un but.

Exemples : les jeux, planification , la preuve de théorèmes , · · ·

La démarche d’IA :

L’algorithme doit être "neutre" sur le domaine concerné

Les connaissances de description du problème et de sa résolution doivent être clairement séparés de l’algorithme.

2/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 2 / 45

Comment définir un problème ?

Un problème peut être définit par 5 composants :

1 Définir l’espace des états .

3/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 3 / 45

2

3

Définir l’état initial : l’état de départ ;

Définir les opérateurs

4

5

Une fonction de test :permettant de savoir que la solution est trouvée.

Une fonction de coût :Associe un coût au chemin de la solution.

Fonction successeur : permettant de retourner l’ensemble des états atteignables par une action particulière.

L’état initial + l’ensemble des états atteignables : l’espace des états.

Un chemin dans l’espace des états est une séquence d’états connectés par une séquence d’actions (opérations).

Une solution optimale est une solution qui minimise la fonction de coût.

Comment définir un problème ?

Un problème peut être définit par 5 composants :

1 Définir l’espace des états .

2 Définir l’état initial : l’état de départ ;

3/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 3 / 45

3

Définir les opérateurs

4

5

Une fonction de test :permettant de savoir que la solution est trouvée.

Une fonction de coût :Associe un coût au chemin de la solution.

Fonction successeur : permettant de retourner l’ensemble des états atteignables par une action particulière.

L’état initial + l’ensemble des états atteignables : l’espace des états.

Un chemin dans l’espace des états est une séquence d’états connectés par une séquence d’actions (opérations).

Une solution optimale est une solution qui minimise la fonction de coût.

Comment définir un problème ?

Un problème peut être définit par 5 composants :

1 Définir l’espace des états .

2

3

Définir l’état initial : l’état de départ ;

Définir les opérateurs

3/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 3 / 45

4

5

Fonction successeur : permettant de retourner l’ensemble des états atteignables par une action particulière.

L’état initial + l’ensemble des états atteignables : l’espace des états.

Un chemin dans l’espace des états est une séquence d’états connectés par une séquence d’actions (opérations).

Une fonction de test :permettant de savoir que la solution est trouvée.

Une fonction de coût :Associe un coût au chemin de la solution.

Une solution optimale est une solution qui minimise la fonction de coût.

Comment définir un problème ?

Un problème peut être définit par 5 composants :

1 Définir l’espace des états .

2

3

Définir l’état initial : l’état de départ ;

Définir les opérateurs

Fonction successeur : permettant de retourner l’ensemble des états atteignables par une action particulière.

3/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 3 / 45

4

5

L’état initial + l’ensemble des états atteignables : l’espace des états.

Un chemin dans l’espace des états est une séquence d’états connectés par une séquence d’actions (opérations).

Une fonction de test :permettant de savoir que la solution est trouvée.

Une fonction de coût :Associe un coût au chemin de la solution.

Une solution optimale est une solution qui minimise la fonction de coût.

Comment définir un problème ?

Un problème peut être définit par 5 composants :

1 Définir l’espace des états .

2

3

Définir l’état initial : l’état de départ ;

Définir les opérateurs

Fonction successeur : permettant de retourner l’ensemble des états atteignables par une action particulière.

L’état initial + l’ensemble des états atteignables : l’espace des états.

3/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 3 / 45

4

5

Un chemin dans l’espace des états est une séquence d’états connectés par une séquence d’actions (opérations).

Une fonction de test :permettant de savoir que la solution est trouvée.

Une fonction de coût :Associe un coût au chemin de la solution.

Une solution optimale est une solution qui minimise la fonction de coût.

Comment définir un problème ?

Un problème peut être définit par 5 composants :

1 Définir l’espace des états .

2

3

Définir l’état initial : l’état de départ ;

Définir les opérateurs

Fonction successeur : permettant de retourner l’ensemble des états atteignables par une action particulière.

L’état initial + l’ensemble des états atteignables : l’espace des états.

Un chemin dans l’espace des états est une séquence d’états connectés par une séquence d’actions (opérations).

3/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 3 / 45

4

5

Une fonction de test :permettant de savoir que la solution est trouvée.

Une fonction de coût :Associe un coût au chemin de la solution.

Une solution optimale est une solution qui minimise la fonction de coût.

Comment définir un problème ?

Un problème peut être définit par 5 composants :

1 Définir l’espace des états .

2

3

4

Définir l’état initial : l’état de départ ;

Définir les opérateurs

Fonction successeur : permettant de retourner l’ensemble des états atteignables par une action particulière.

L’état initial + l’ensemble des états atteignables : l’espace des états.

Un chemin dans l’espace des états est une séquence d’états connectés par une séquence d’actions (opérations).

Une fonction de test :permettant de savoir que la solution est trouvée.

3/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 3 / 45

5

Une fonction de coût :Associe un coût au chemin de la solution.

Une solution optimale est une solution qui minimise la fonction de coût.

Comment définir un problème ?

Un problème peut être définit par 5 composants :

1 Définir l’espace des états .

2

3

4

5

Définir l’état initial : l’état de départ ;

Définir les opérateurs

Fonction successeur : permettant de retourner l’ensemble des états atteignables par une action particulière.

L’état initial + l’ensemble des états atteignables : l’espace des états.

Un chemin dans l’espace des états est une séquence d’états connectés par une séquence d’actions (opérations).

Une fonction de test :permettant de savoir que la solution est trouvée.

Une fonction de coût :Associe un coût au chemin de la solution.

3/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 3 / 45

Une solution optimale est une solution qui minimise la fonction de coût.

Comment définir un problème ?

Un problème peut être définit par 5 composants :

1 Définir l’espace des états .

2

3

4

5

Définir l’état initial : l’état de départ ;

Définir les opérateurs

Fonction successeur : permettant de retourner l’ensemble des états atteignables par une action particulière.

L’état initial + l’ensemble des états atteignables : l’espace des états.

Un chemin dans l’espace des états est une séquence d’états connectés par une séquence d’actions (opérations).

Une fonction de test :permettant de savoir que la solution est trouvée.

Une fonction de coût :Associe un coût au chemin de la solution.

Une solution optimale est une solution qui minimise la fonction de coût.

3/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 3 / 45

Comment définir un problème ?

Exemple : Le jeu de taquin

L’espace des états et état initial : ?

les Actions (opérateurs) ?

Test du but ?

Le coût d’une Action ?

4/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 4 / 45

Comment définir un problème ?

Exemple : Le jeu de taquin

L’espace des états et état initial : chaque état est une disposition de chiffres.

5/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 5 / 45

Les Actions (opérateurs) : déplacer le blanc à gauche, à droite, en haut ou en bas.

Test du but : l’etat final est donné.

Le coût d’une Action : 1 / mouvement.

Comment définir un problème ?

Exemple : Le jeu de taquin

L’espace des états et état initial : chaque état est une disposition de chiffres.

Les Actions (opérateurs) : déplacer le blanc à gauche, à droite, en haut ou en bas.

5/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 5 / 45

Test du but : l’etat final est donné.

Le coût d’une Action : 1 / mouvement.

Comment définir un problème ?

Exemple : Le jeu de taquin

L’espace des états et état initial : chaque état est une disposition de chiffres.

Les Actions (opérateurs) : déplacer le blanc à gauche, à droite, en haut ou en bas.

Test du but : l’etat final est donné.

5/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 5 / 45

Le coût d’une Action : 1 / mouvement.

Comment définir un problème ?

Exemple : Le jeu de taquin

5/45

L’espace des états et état initial : chaque état est une disposition de chiffres.

Les Actions (opérateurs) : déplacer le blanc à gauche, à droite, en haut ou en bas.

Test du but : l’etat final est donné.

Le coût d’une Action : 1 / mouvement.

A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 5 / 45

Comment définir un problème ?

Exemple : Le jeu de taquin (Espace des états)

6/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 6 / 45

Comment définir un problème ?

Exemple : Le jeu de taquin, un problème difficile.

8-puzzle a 9 ! états possibles.

15-puzzle a environ de 1.3 x 10

12

états.

24-puzzle a 10

25

états ! ! !

7/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 7 / 45

Critères d’évaluation d’un algorithme de résolution

La complétude : lorsque la méthode garantit de trouver une solution si elle existe ;

8/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 8 / 45

L’optimalité : ce critère concerne l’optimalité de la solution trouvée, en se basant sur une fonction de coût ;

La complexité en temps : Combien de temps faut-il pour trouver une solution ;

La complexité en espace : combien l’algorithme utilise de la mémoire pour trouver une solution.

Critères d’évaluation d’un algorithme de résolution

La complétude : lorsque la méthode garantit de trouver une solution si elle existe ;

L’optimalité : ce critère concerne l’optimalité de la solution trouvée, en se basant sur une fonction de coût ;

8/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 8 / 45

La complexité en temps : Combien de temps faut-il pour trouver une solution ;

La complexité en espace : combien l’algorithme utilise de la mémoire pour trouver une solution.

Critères d’évaluation d’un algorithme de résolution

La complétude : lorsque la méthode garantit de trouver une solution si elle existe ;

L’optimalité : ce critère concerne l’optimalité de la solution trouvée, en se basant sur une fonction de coût ;

La complexité en temps : Combien de temps faut-il pour trouver une solution ;

8/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 8 / 45

La complexité en espace : combien l’algorithme utilise de la mémoire pour trouver une solution.

Critères d’évaluation d’un algorithme de résolution

La complétude : lorsque la méthode garantit de trouver une solution si elle existe ;

L’optimalité : ce critère concerne l’optimalité de la solution trouvée, en se basant sur une fonction de coût ;

La complexité en temps : Combien de temps faut-il pour trouver une solution ;

La complexité en espace : combien l’algorithme utilise de la mémoire pour trouver une solution.

8/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 8 / 45

Critères d’évaluation d’un algorithme de résolution

−→ Le Big O (Borne supérieure asymptotique)

Définit la limite supérieure (en temps ou en espace) d’un algorithme.

Définit la grandeur d’une fonction (comportement à l’infini).

Big O

On dit qu’une fonction f est un grand O d’une fonction g si et seulement si : ∃ c > 0, ∃ n

0

> 0 tel que ∀ n > n

0

, f ( n ) < c × g ( n )

Exemples :

9/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 9 / 45

Si f ( n ) = 4 alors f ( n ) = O (1) , prendre par exemple c=5 et n0=0.

Si f ( n ) = 3 n + 2 alors f ( n ) = O ( n ) , prendre par exemple c=4 et n0=2.

Si f ( n ) = n 2 + 3 alors f ( n ) = O ( n 2 ) , prendre par exemple c=3 et n0=1.

Critères d’évaluation d’un algorithme de résolution

−→ Le Big O (Borne supérieure asymptotique)

Définit la limite supérieure (en temps ou en espace) d’un algorithme.

Définit la grandeur d’une fonction (comportement à l’infini).

Big O

On dit qu’une fonction f est un grand O d’une fonction g si et seulement si : ∃ c > 0, ∃ n

0

> 0 tel que ∀ n > n

0

, f ( n ) < c × g ( n )

Exemples :

Si f ( n ) = 4 alors f ( n ) = O (1) , prendre par exemple c=5 et n0=0.

9/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 9 / 45

Si f ( n ) = 3 n + 2 alors f ( n ) = O ( n ) , prendre par exemple c=4 et n0=2.

Si f ( n ) = n 2 + 3 alors f ( n ) = O ( n 2 ) , prendre par exemple c=3 et n0=1.

Critères d’évaluation d’un algorithme de résolution

−→ Le Big O (Borne supérieure asymptotique)

Définit la limite supérieure (en temps ou en espace) d’un algorithme.

Définit la grandeur d’une fonction (comportement à l’infini).

Big O

On dit qu’une fonction f est un grand O d’une fonction g si et seulement si : ∃ c > 0, ∃ n

0

> 0 tel que ∀ n > n

0

, f ( n ) < c × g ( n )

Exemples :

Si f ( n ) = 4 alors f ( n ) = O (1) , prendre par exemple c=5 et n0=0.

Si f ( n ) = 3 n + 2 alors f ( n ) = O ( n ) , prendre par exemple c=4 et n0=2.

9/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 9 / 45

Si f ( n ) = n 2 + 3 alors f ( n ) = O ( n 2 ) , prendre par exemple c=3 et n0=1.

Critères d’évaluation d’un algorithme de résolution

−→ Le Big O (Borne supérieure asymptotique)

Définit la limite supérieure (en temps ou en espace) d’un algorithme.

Définit la grandeur d’une fonction (comportement à l’infini).

Big O

On dit qu’une fonction f est un grand O d’une fonction g si et seulement si : ∃ c > 0, ∃ n

0

> 0 tel que ∀ n > n

0

, f ( n ) < c × g ( n )

Exemples :

Si f ( n ) = 4 alors f ( n ) = O (1) , prendre par exemple c=5 et n0=0.

Si f ( n ) = 3 n + 2 alors f ( n ) = O ( n ) , prendre par exemple c=4 et n0=2.

Si f ( n ) = n 2 + 3 alors f ( n ) = O ( n 2 ) , prendre par exemple c=3 et n0=1.

9/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 9 / 45

Critères d’évaluation d’un algorithme de résolution

−→ Le Big O (Borne supérieure asymptotique)

Complexité de quelques algorithmes :

10/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 10 / 45

Accès à un tableau : O (1) ,complexité constante.

Recherche dichotomique : O ( log ( n ) , complexité logarithmique.

Parcours d’une liste : O ( n ) , complexité linéaire.

Parcours de tableau 2D : O ( n 2 ) , complexité quadratique (polynomiale).

Problème du sac à dos (brute force) : O (2 poly ( n ) ) , complexité exponentielle.

Critères d’évaluation d’un algorithme de résolution

−→ Le Big O (Borne supérieure asymptotique)

Complexité de quelques algorithmes :

Accès à un tableau : O (1) ,complexité constante.

10/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 10 / 45

Recherche dichotomique : O ( log ( n ) , complexité logarithmique.

Parcours d’une liste : O ( n ) , complexité linéaire.

Parcours de tableau 2D : O ( n 2 ) , complexité quadratique (polynomiale).

Problème du sac à dos (brute force) : O (2 poly ( n ) ) , complexité exponentielle.

Critères d’évaluation d’un algorithme de résolution

−→ Le Big O (Borne supérieure asymptotique)

Complexité de quelques algorithmes :

Accès à un tableau : O (1) ,complexité constante.

Recherche dichotomique : O ( log ( n ) , complexité logarithmique.

10/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 10 / 45

Parcours d’une liste : O ( n ) , complexité linéaire.

Parcours de tableau 2D : O ( n 2 ) , complexité quadratique (polynomiale).

Problème du sac à dos (brute force) : O (2 poly ( n ) ) , complexité exponentielle.

Critères d’évaluation d’un algorithme de résolution

−→ Le Big O (Borne supérieure asymptotique)

Complexité de quelques algorithmes :

Accès à un tableau : O (1) ,complexité constante.

Recherche dichotomique : O ( log ( n ) , complexité logarithmique.

Parcours d’une liste : O ( n ) , complexité linéaire.

10/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 10 / 45

Parcours de tableau 2D : O ( n 2 ) , complexité quadratique (polynomiale).

Problème du sac à dos (brute force) : O (2 poly ( n ) ) , complexité exponentielle.

Critères d’évaluation d’un algorithme de résolution

−→ Le Big O (Borne supérieure asymptotique)

Complexité de quelques algorithmes :

Accès à un tableau : O (1) ,complexité constante.

Recherche dichotomique : O ( log ( n ) , complexité logarithmique.

Parcours d’une liste : O ( n ) , complexité linéaire.

Parcours de tableau 2D : O ( n 2 ) , complexité quadratique (polynomiale).

10/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 10 / 45

Problème du sac à dos (brute force) : O (2 poly ( n ) ) , complexité exponentielle.

Critères d’évaluation d’un algorithme de résolution

−→ Le Big O (Borne supérieure asymptotique)

10/45

Complexité de quelques algorithmes :

Accès à un tableau : O (1) ,complexité constante.

Recherche dichotomique : O ( log ( n ) , complexité logarithmique.

Parcours d’une liste : O ( n ) , complexité linéaire.

Parcours de tableau 2D : O ( n 2 ) , complexité quadratique (polynomiale).

Problème du sac à dos (brute force) : O (2 poly ( n ) ) , complexité exponentielle.

A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 10 / 45

Critères d’évaluation d’un algorithme de résolution

La complexité est exprimée en utilisant les quantités suivantes : b , le facteur de branchement : le nombre maximum de successeurs à un nœud ; si elle existe ;

11/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 11 / 45 d , la profondeur du nœud but le moins profond (profondeur de la solution) ; m : la longueur maximale d’un chemin dans l’espace d’états

(profondeur maximum de l’arbre de recherche).

Critères d’évaluation d’un algorithme de résolution

La complexité est exprimée en utilisant les quantités suivantes : b , le facteur de branchement : le nombre maximum de successeurs à un nœud ; si elle existe ; d , la profondeur du nœud but le moins profond (profondeur de la solution) ;

11/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 11 / 45 m : la longueur maximale d’un chemin dans l’espace d’états

(profondeur maximum de l’arbre de recherche).

Critères d’évaluation d’un algorithme de résolution

La complexité est exprimée en utilisant les quantités suivantes : b , le facteur de branchement : le nombre maximum de successeurs à un nœud ; si elle existe ; d , la profondeur du nœud but le moins profond (profondeur de la solution) ; m : la longueur maximale d’un chemin dans l’espace d’états

(profondeur maximum de l’arbre de recherche).

11/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 11 / 45

Stratégies de recherche de solution

Deux types de stratégies ont été développés :

L’exploration non informée : ne dispose pas d’information sur les

états. Elle peut générer des successeurs et distinguer un état final d’un état non final.

12/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 12 / 45

L’exploration informée : elle est capable de déterminer si un état non final est plus prometteur qu’un autre.

Stratégies de recherche de solution

Deux types de stratégies ont été développés :

L’exploration non informée : ne dispose pas d’information sur les

états. Elle peut générer des successeurs et distinguer un état final d’un état non final.

L’exploration informée : elle est capable de déterminer si un état non final est plus prometteur qu’un autre.

12/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 12 / 45

Les algorithmes de recherche non informés

13/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 13 / 45

Les algorithmes de recherche non informés

1 Recherche en largeur d’abord ( Breadth-first search, BFS ).

14/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 14 / 45

2

3

4

5

Recherche en profondeur d’abord ( Depth-first search, DFS ).

Recherche en profondeur limitée ( Depth-limited search, DLS ).

Recherche en profondeur itérative ( Iterative deepening depth-first search, IDS ).

Recherche à cout uniforme ( Uniform-cost search UCS ).

Les algorithmes de recherche non informés

1

2

Recherche en largeur d’abord ( Breadth-first search, BFS ).

Recherche en profondeur d’abord ( Depth-first search, DFS ).

14/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 14 / 45

3

4

5

Recherche en profondeur limitée ( Depth-limited search, DLS ).

Recherche en profondeur itérative ( Iterative deepening depth-first search, IDS ).

Recherche à cout uniforme ( Uniform-cost search UCS ).

Les algorithmes de recherche non informés

1

2

3

Recherche en largeur d’abord ( Breadth-first search, BFS ).

Recherche en profondeur d’abord ( Depth-first search, DFS ).

Recherche en profondeur limitée ( Depth-limited search, DLS ).

14/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 14 / 45

4

5

Recherche en profondeur itérative ( Iterative deepening depth-first search, IDS ).

Recherche à cout uniforme ( Uniform-cost search UCS ).

Les algorithmes de recherche non informés

1

2

3

4

Recherche en largeur d’abord ( Breadth-first search, BFS ).

Recherche en profondeur d’abord ( Depth-first search, DFS ).

Recherche en profondeur limitée ( Depth-limited search, DLS ).

Recherche en profondeur itérative ( Iterative deepening depth-first search, IDS ).

14/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 14 / 45

5

Recherche à cout uniforme ( Uniform-cost search UCS ).

Les algorithmes de recherche non informés

1

2

3

4

5

Recherche en largeur d’abord ( Breadth-first search, BFS ).

Recherche en profondeur d’abord ( Depth-first search, DFS ).

Recherche en profondeur limitée ( Depth-limited search, DLS ).

Recherche en profondeur itérative ( Iterative deepening depth-first search, IDS ).

Recherche à cout uniforme ( Uniform-cost search UCS ).

14/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 14 / 45

Structure générale d’un algorithme de recherche

Set Open= { E

0

} ;

Set Closed= {} ; repeat if Open= {} then fin avec echec; else choisir un noeud n de Open ( supprimer de Open save to

Closed ) ; if n ∈ But (état final) then fin avec succès ; else générer les successeurs m de n (utilisation des opérations);

Insérer les dans Open ( seulement si m / Open ∪ Closed } ); end end until ;

Algorithme 1 : Algorithme générale de recherche

15/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 15 / 45

Recherche en largeur d’abord (Breadth-first search, BFS).

Principe : On examine d’abord l’état initial, puis ses successeurs, puis les successeurs des successeurs, etc.

Analyse de l’algorithme de recherche en largeur d’abord :

Complétude : oui pour les espaces d‘états finis et acycliques

16/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 16 / 45

Complexité en temps : exponentielle, O ( b d

) ( O ( b d +1

)) où d est la profondeur et b est le facteur de branchement.

Complexité en espace : exponentielle , O ( b d

).

Optimalité : non.

Recherche en largeur d’abord (Breadth-first search, BFS).

Principe : On examine d’abord l’état initial, puis ses successeurs, puis les successeurs des successeurs, etc.

Analyse de l’algorithme de recherche en largeur d’abord :

Complétude : oui pour les espaces d‘états finis et acycliques

Complexité en temps : exponentielle, O ( b d

) ( O ( b d +1

)) où d est la profondeur et b est le facteur de branchement.

16/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 16 / 45

Complexité en espace : exponentielle , O ( b d

).

Optimalité : non.

Recherche en largeur d’abord (Breadth-first search, BFS).

Principe : On examine d’abord l’état initial, puis ses successeurs, puis les successeurs des successeurs, etc.

Analyse de l’algorithme de recherche en largeur d’abord :

Complétude : oui pour les espaces d‘états finis et acycliques

Complexité en temps : exponentielle, O ( b d

) ( O ( b d +1

)) où d est la profondeur et b est le facteur de branchement.

Complexité en espace : exponentielle , O ( b d

).

16/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 16 / 45

Optimalité : non.

Recherche en largeur d’abord (Breadth-first search, BFS).

Principe : On examine d’abord l’état initial, puis ses successeurs, puis les successeurs des successeurs, etc.

Analyse de l’algorithme de recherche en largeur d’abord :

Complétude : oui pour les espaces d‘états finis et acycliques

Complexité en temps : exponentielle, O ( b d

) ( O ( b d +1

)) où d est la profondeur et b est le facteur de branchement.

Complexité en espace : exponentielle , O ( b d

).

Optimalité : non.

16/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 16 / 45

Recherche en profondeur d’abord (Depth-first search, DFS)

Principe : On examine d’abord l’état initial, puis le premier fils, puis le fils du fils, etc.

Analyse de l’algorithme :

Complétude : oui pour les espaces d‘états finis et acycliques

17/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 17 / 45

Complexité en temps : exponentielle, O ( b m

).

Complexité en espace : O ( b ∗ m ) (linéaire).

Optimalité : non.

Discussion : pour b=10, d=m=12 et 100 octets/noeud :

Recherche en profondeur : 12 Ko.

Recherche en largeur 111 Tera-octets.

Recherche en profondeur d’abord (Depth-first search, DFS)

Principe : On examine d’abord l’état initial, puis le premier fils, puis le fils du fils, etc.

Analyse de l’algorithme :

Complétude : oui pour les espaces d‘états finis et acycliques

Complexité en temps : exponentielle, O ( b m

).

17/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 17 / 45

Complexité en espace : O ( b ∗ m ) (linéaire).

Optimalité : non.

Discussion : pour b=10, d=m=12 et 100 octets/noeud :

Recherche en profondeur : 12 Ko.

Recherche en largeur 111 Tera-octets.

Recherche en profondeur d’abord (Depth-first search, DFS)

Principe : On examine d’abord l’état initial, puis le premier fils, puis le fils du fils, etc.

Analyse de l’algorithme :

Complétude : oui pour les espaces d‘états finis et acycliques

Complexité en temps : exponentielle, O ( b m

).

Complexité en espace : O ( b ∗ m ) (linéaire).

17/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 17 / 45

Optimalité : non.

Discussion : pour b=10, d=m=12 et 100 octets/noeud :

Recherche en profondeur : 12 Ko.

Recherche en largeur 111 Tera-octets.

Recherche en profondeur d’abord (Depth-first search, DFS)

Principe : On examine d’abord l’état initial, puis le premier fils, puis le fils du fils, etc.

Analyse de l’algorithme :

Complétude : oui pour les espaces d‘états finis et acycliques

Complexité en temps : exponentielle, O ( b m

).

Complexité en espace : O ( b ∗ m ) (linéaire).

Optimalité : non.

17/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 17 / 45

Discussion : pour b=10, d=m=12 et 100 octets/noeud :

Recherche en profondeur : 12 Ko.

Recherche en largeur 111 Tera-octets.

Recherche en profondeur d’abord (Depth-first search, DFS)

Principe : On examine d’abord l’état initial, puis le premier fils, puis le fils du fils, etc.

Analyse de l’algorithme :

Complétude : oui pour les espaces d‘états finis et acycliques

Complexité en temps : exponentielle, O ( b m

).

Complexité en espace : O ( b ∗ m ) (linéaire).

Optimalité : non.

Discussion : pour b=10, d=m=12 et 100 octets/noeud :

17/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 17 / 45

Recherche en profondeur : 12 Ko.

Recherche en largeur 111 Tera-octets.

Recherche en profondeur d’abord (Depth-first search, DFS)

Principe : On examine d’abord l’état initial, puis le premier fils, puis le fils du fils, etc.

Analyse de l’algorithme :

Complétude : oui pour les espaces d‘états finis et acycliques

Complexité en temps : exponentielle, O ( b m

).

Complexité en espace : O ( b ∗ m ) (linéaire).

Optimalité : non.

Discussion : pour b=10, d=m=12 et 100 octets/noeud :

Recherche en profondeur : 12 Ko.

17/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 17 / 45

Recherche en largeur 111 Tera-octets.

Recherche en profondeur d’abord (Depth-first search, DFS)

Principe : On examine d’abord l’état initial, puis le premier fils, puis le fils du fils, etc.

Analyse de l’algorithme :

Complétude : oui pour les espaces d‘états finis et acycliques

Complexité en temps : exponentielle, O ( b m

).

Complexité en espace : O ( b ∗ m ) (linéaire).

Optimalité : non.

Discussion : pour b=10, d=m=12 et 100 octets/noeud :

Recherche en profondeur : 12 Ko.

Recherche en largeur 111 Tera-octets.

17/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 17 / 45

Recherche en profondeur limitée (Depth-limited search,

DLS)

Principe : algorithme de recherche en profondeur avec une limite de profondeur d’exploration L.

Les noeuds de profondeur L n’ont pas de successeurs

Analyse de l’algorithme :

Complétude : Oui si L ≥ d

18/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 18 / 45

Complexité en temps : exponentielle, O ( b

L

).

Complexité en espace : O ( b ∗ L ) (linéaire).

Optimalité : non.

Recherche en profondeur limitée (Depth-limited search,

DLS)

Principe : algorithme de recherche en profondeur avec une limite de profondeur d’exploration L.

Les noeuds de profondeur L n’ont pas de successeurs

Analyse de l’algorithme :

Complétude : Oui si L ≥ d

Complexité en temps : exponentielle, O ( b

L

).

18/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 18 / 45

Complexité en espace : O ( b ∗ L ) (linéaire).

Optimalité : non.

Recherche en profondeur limitée (Depth-limited search,

DLS)

Principe : algorithme de recherche en profondeur avec une limite de profondeur d’exploration L.

Les noeuds de profondeur L n’ont pas de successeurs

Analyse de l’algorithme :

Complétude : Oui si L ≥ d

Complexité en temps : exponentielle, O ( b

L

).

Complexité en espace : O ( b ∗ L ) (linéaire).

18/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 18 / 45

Optimalité : non.

Recherche en profondeur limitée (Depth-limited search,

DLS)

Principe : algorithme de recherche en profondeur avec une limite de profondeur d’exploration L.

Les noeuds de profondeur L n’ont pas de successeurs

Analyse de l’algorithme :

Complétude : Oui si L ≥ d

Complexité en temps : exponentielle, O ( b

L

).

Complexité en espace : O ( b ∗ L ) (linéaire).

Optimalité : non.

18/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 18 / 45

Recherche en profondeur itérative (Iterative deepening depth-first search, IDS)

Principe : Approfondissement itératif = répéter DLS pour toutes les valeurs possibles de L=0,1, 2... jusqu’à trouver une solution.

Analyse de l’algorithme :

Complétude : Oui.

19/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 19 / 45

Complexité en temps : exponentielle, O ( b d

).

Complexité en espace : linéaire, O ( b ∗ d ) .

Optimalité : non (Oui si coût unitaire).

Recherche en profondeur itérative (Iterative deepening depth-first search, IDS)

Principe : Approfondissement itératif = répéter DLS pour toutes les valeurs possibles de L=0,1, 2... jusqu’à trouver une solution.

Analyse de l’algorithme :

Complétude : Oui.

Complexité en temps : exponentielle, O ( b d

).

19/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 19 / 45

Complexité en espace : linéaire, O ( b ∗ d ) .

Optimalité : non (Oui si coût unitaire).

Recherche en profondeur itérative (Iterative deepening depth-first search, IDS)

Principe : Approfondissement itératif = répéter DLS pour toutes les valeurs possibles de L=0,1, 2... jusqu’à trouver une solution.

Analyse de l’algorithme :

Complétude : Oui.

Complexité en temps : exponentielle, O ( b d

).

Complexité en espace : linéaire, O ( b ∗ d ) .

19/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 19 / 45

Optimalité : non (Oui si coût unitaire).

Recherche en profondeur itérative (Iterative deepening depth-first search, IDS)

Principe : Approfondissement itératif = répéter DLS pour toutes les valeurs possibles de L=0,1, 2... jusqu’à trouver une solution.

Analyse de l’algorithme :

Complétude : Oui.

Complexité en temps : exponentielle, O ( b d

).

Complexité en espace : linéaire, O ( b ∗ d ) .

Optimalité : non (Oui si coût unitaire).

19/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 19 / 45

Recherche à coût uniforme (Uniform-Cost Search)

Principe : la priorité est donnée aux nœuds ayant le coût le plus bas.

La structure de données utilisée est une file triée selon le coût.

Est équivalente à la méthode largeur d’abord si le coût des actions est toujours le même.

Analyse de l’algorithme :

Complétude : Oui.

20/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 20 / 45

Complexité en temps : exponentielle, ( O ( b d

)), O ( b

C

ε

).

Complexité en espace : exponentielle , O ( b d

) .

Optimalité : Oui.

C

: le coût optimal d’une solution ; ε : le coût minimum.

Recherche à coût uniforme (Uniform-Cost Search)

Principe : la priorité est donnée aux nœuds ayant le coût le plus bas.

La structure de données utilisée est une file triée selon le coût.

Est équivalente à la méthode largeur d’abord si le coût des actions est toujours le même.

Analyse de l’algorithme :

Complétude : Oui.

Complexité en temps : exponentielle, ( O ( b d

)), O ( b

C

ε

).

20/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 20 / 45

C

: le coût optimal d’une solution ; ε : le coût minimum.

Complexité en espace : exponentielle , O ( b d

) .

Optimalité : Oui.

Recherche à coût uniforme (Uniform-Cost Search)

Principe : la priorité est donnée aux nœuds ayant le coût le plus bas.

La structure de données utilisée est une file triée selon le coût.

Est équivalente à la méthode largeur d’abord si le coût des actions est toujours le même.

Analyse de l’algorithme :

Complétude : Oui.

Complexité en temps : exponentielle, ( O ( b d

)), O ( b

C

ε

).

C

: le coût optimal d’une solution ; ε : le coût minimum.

20/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 20 / 45

Complexité en espace : exponentielle , O ( b d

) .

Optimalité : Oui.

Recherche à coût uniforme (Uniform-Cost Search)

Principe : la priorité est donnée aux nœuds ayant le coût le plus bas.

La structure de données utilisée est une file triée selon le coût.

Est équivalente à la méthode largeur d’abord si le coût des actions est toujours le même.

Analyse de l’algorithme :

Complétude : Oui.

Complexité en temps : exponentielle, ( O ( b d

)), O ( b

C

ε

).

C

: le coût optimal d’une solution ; ε : le coût minimum.

Complexité en espace : exponentielle , O ( b d

) .

20/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 20 / 45

Optimalité : Oui.

Recherche à coût uniforme (Uniform-Cost Search)

Principe : la priorité est donnée aux nœuds ayant le coût le plus bas.

La structure de données utilisée est une file triée selon le coût.

Est équivalente à la méthode largeur d’abord si le coût des actions est toujours le même.

Analyse de l’algorithme :

Complétude : Oui.

Complexité en temps : exponentielle, ( O ( b d

)), O ( b

C

ε

).

C

: le coût optimal d’une solution ; ε : le coût minimum.

Complexité en espace : exponentielle , O ( b d

) .

Optimalité : Oui.

20/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 20 / 45

Les algorithmes de recherches informés (heuristiques)

21/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 21 / 45

La notion d’heuristique

Une heuristique : un critère ou une méthode permettant de déterminer parmi plusieurs choix de solutions celle qui promet d’être la plus efficace pour atteindre un but.

22/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 22 / 45

Une fonction (notée h ) qui associer à chaque état une estimation du coût pour atteindre l’état final a partir de cet état.

Exemple : pour le jeu de taquin

Le nombre de plaquettes mal placées, h(n)= ?.

La somme de distances de Manhattan (nombre de déplacement pour atteindre l’état final) : h(n)= ?.

La notion d’heuristique

Une heuristique : un critère ou une méthode permettant de déterminer parmi plusieurs choix de solutions celle qui promet d’être la plus efficace pour atteindre un but.

Une fonction (notée h ) qui associer à chaque état une estimation du coût pour atteindre l’état final a partir de cet état.

22/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 22 / 45

Exemple : pour le jeu de taquin

Le nombre de plaquettes mal placées, h(n)= ?.

La somme de distances de Manhattan (nombre de déplacement pour atteindre l’état final) : h(n)= ?.

La notion d’heuristique

Une heuristique : un critère ou une méthode permettant de déterminer parmi plusieurs choix de solutions celle qui promet d’être la plus efficace pour atteindre un but.

Une fonction (notée h ) qui associer à chaque état une estimation du coût pour atteindre l’état final a partir de cet état.

Exemple : pour le jeu de taquin

22/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 22 / 45

Le nombre de plaquettes mal placées, h(n)= ?.

La somme de distances de Manhattan (nombre de déplacement pour atteindre l’état final) : h(n)= ?.

La notion d’heuristique

Une heuristique : un critère ou une méthode permettant de déterminer parmi plusieurs choix de solutions celle qui promet d’être la plus efficace pour atteindre un but.

Une fonction (notée h ) qui associer à chaque état une estimation du coût pour atteindre l’état final a partir de cet état.

Exemple : pour le jeu de taquin

Le nombre de plaquettes mal placées, h(n)= ?.

22/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 22 / 45

La somme de distances de Manhattan (nombre de déplacement pour atteindre l’état final) : h(n)= ?.

La notion d’heuristique

Une heuristique : un critère ou une méthode permettant de déterminer parmi plusieurs choix de solutions celle qui promet d’être la plus efficace pour atteindre un but.

Une fonction (notée h ) qui associer à chaque état une estimation du coût pour atteindre l’état final a partir de cet état.

Exemple : pour le jeu de taquin

Le nombre de plaquettes mal placées, h(n)= ?.

La somme de distances de Manhattan (nombre de déplacement pour atteindre l’état final) : h(n)= ?.

22/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 22 / 45

Heuristique : caractéristiques

Une heuristique est dite admissible si elle ne surestime jamais le coût pour atteindre le but :

∀ n : h ( n ) ≤ h

( n )

Avec h

( n ) : le coût réel depuis l’état n jusqu’a l’état final.

23/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 23 / 45

Deux heuristiques admissibles h

1 et h

2

, on dit que h

1 domine h

2 si :

∀ n : h

1

( n ) ≥ h

2

( n )

Une fonction heuristique est consistante si :

∀ n , ∀ n

0

∈ { succ ( n ) } : h ( n ) ≤ C ( n , n

0

) + h ( n

0

)

Avec C ( n , n

0

) le coût depuis l’état n jusqu’a l’état n

0

Heuristique : caractéristiques

Une heuristique est dite admissible si elle ne surestime jamais le coût pour atteindre le but :

∀ n : h ( n ) ≤ h

( n )

Avec h

( n ) : le coût réel depuis l’état n jusqu’a l’état final.

Deux heuristiques admissibles h

1 et h

2

, on dit que h

1 domine h

2 si :

∀ n : h

1

( n ) ≥ h

2

( n )

23/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 23 / 45

Une fonction heuristique est consistante si :

∀ n , ∀ n

0

∈ { succ ( n ) } : h ( n ) ≤ C ( n , n

0

) + h ( n

0

)

Avec C ( n , n

0

) le coût depuis l’état n jusqu’a l’état n

0

Heuristique : caractéristiques

Une heuristique est dite admissible si elle ne surestime jamais le coût pour atteindre le but :

∀ n : h ( n ) ≤ h

( n )

Avec h

( n ) : le coût réel depuis l’état n jusqu’a l’état final.

Deux heuristiques admissibles h

1 et h

2

, on dit que h

1 domine h

2 si :

∀ n : h

1

( n ) ≥ h

2

( n )

Une fonction heuristique est consistante si :

∀ n , ∀ n

0

∈ { succ ( n ) } : h ( n ) ≤ C ( n , n

0

) + h ( n

0

)

Avec C ( n , n

0

) le coût depuis l’état n jusqu’a l’état n

0

23/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 23 / 45

Recherche meilleur d’abord

Permet d’explorer les nœuds dans l’ordre (croissant/décroissant) de la valeur d’une fonction f .

24/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 24 / 45

Deux cas particuliers existent :

L’algorithme de recherche avare (greedy, gourmand).

l’algorithme A* ( variantes : Iterative Deepening A* (IDA*), memory-bounded A* (MA*), . . .

) .

Recherche meilleur d’abord

Permet d’explorer les nœuds dans l’ordre (croissant/décroissant) de la valeur d’une fonction f .

Deux cas particuliers existent :

24/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 24 / 45

L’algorithme de recherche avare (greedy, gourmand).

l’algorithme A* ( variantes : Iterative Deepening A* (IDA*), memory-bounded A* (MA*), . . .

) .

Recherche meilleur d’abord

Permet d’explorer les nœuds dans l’ordre (croissant/décroissant) de la valeur d’une fonction f .

Deux cas particuliers existent :

L’algorithme de recherche avare (greedy, gourmand).

24/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 24 / 45 l’algorithme A* ( variantes : Iterative Deepening A* (IDA*), memory-bounded A* (MA*), . . .

) .

Recherche meilleur d’abord

Permet d’explorer les nœuds dans l’ordre (croissant/décroissant) de la valeur d’une fonction f .

Deux cas particuliers existent :

L’algorithme de recherche avare (greedy, gourmand).

l’algorithme A* ( variantes : Iterative Deepening A* (IDA*), memory-bounded A* (MA*), . . .

) .

24/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 24 / 45

La recherche avare (greedy search)

Principe : L’objectif est de minimiser le coût estimé pour atteindre le but (la fonction h ).

Le nœud qui semble être le plus proche du but sera exploré en priorité.

Exemple :

25/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 25 / 45

La recherche avare (greedy search)

Analyse de l’algorithme :

Complétude : Complet, si l’espace de recherche fini et s’il y a absence de boucle ;

26/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 26 / 45

Complexité en temps : exponentielle, O ( b m

).

Complexité en espace : exponentielle , O ( b m

).

Optimalité : non.

La recherche avare (greedy search)

Analyse de l’algorithme :

Complétude : Complet, si l’espace de recherche fini et s’il y a absence de boucle ;

Complexité en temps : exponentielle, O ( b m

).

26/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 26 / 45

Complexité en espace : exponentielle , O ( b m

).

Optimalité : non.

La recherche avare (greedy search)

Analyse de l’algorithme :

Complétude : Complet, si l’espace de recherche fini et s’il y a absence de boucle ;

Complexité en temps : exponentielle, O ( b m

).

Complexité en espace : exponentielle , O ( b m

).

26/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 26 / 45

Optimalité : non.

La recherche avare (greedy search)

Analyse de l’algorithme :

Complétude : Complet, si l’espace de recherche fini et s’il y a absence de boucle ;

Complexité en temps : exponentielle, O ( b m

).

Complexité en espace : exponentielle , O ( b m

).

Optimalité : non.

26/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 26 / 45

l’algorithme A*

Principe : L’idée est de combiner les deux méthodes de recherche, avare et coût uniforme.

Chaque noeud n est évalué selon une fonction : f ( n ) = g ( n ) + h ( n ) g ( n ) est le coût de l’état initial au nœud n.

h ( n ) est un estimé du coût du nœud n à l’état final (heuristique).

Le nœud qui minimise la fonction f sera visité en premier.

Exemple :

27/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 27 / 45

l’algorithme A*

Analyse de l’algorithme :

Complétude : Complet, si l’espace de recherche fini ;

28/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 28 / 45

Complexité en temps : exponentielle.

Complexité en espace : exponentielle .

Optimalité :oui, si h est admissible.

l’algorithme A*

Analyse de l’algorithme :

Complétude : Complet, si l’espace de recherche fini ;

Complexité en temps : exponentielle.

28/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 28 / 45

Complexité en espace : exponentielle .

Optimalité :oui, si h est admissible.

l’algorithme A*

Analyse de l’algorithme :

Complétude : Complet, si l’espace de recherche fini ;

Complexité en temps : exponentielle.

Complexité en espace : exponentielle .

28/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 28 / 45

Optimalité :oui, si h est admissible.

l’algorithme A*

Analyse de l’algorithme :

Complétude : Complet, si l’espace de recherche fini ;

Complexité en temps : exponentielle.

Complexité en espace : exponentielle .

Optimalité :oui, si h est admissible.

28/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 28 / 45

l’algorithme A*

Quelques Propriétés :

Si h est cohérente : h est aussi admissible.

29/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 29 / 45

Si h est cohérente : un noeud ne sera jamais revisité.

Si h n’est pas admissible et soit B la borne supérieur sur la surestimation du coût : h ( n ) ≤ h

( n ) + B . A* retourne une solution dont le coût est au plus B de plus que le coût optimal.

l’algorithme A*

Quelques Propriétés :

Si h est cohérente : h est aussi admissible.

Si h est cohérente : un noeud ne sera jamais revisité.

29/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 29 / 45

Si h n’est pas admissible et soit B la borne supérieur sur la surestimation du coût : h ( n ) ≤ h

( n ) + B . A* retourne une solution dont le coût est au plus B de plus que le coût optimal.

l’algorithme A*

Quelques Propriétés :

Si h est cohérente : h est aussi admissible.

Si h est cohérente : un noeud ne sera jamais revisité.

Si h n’est pas admissible et soit B la borne supérieur sur la surestimation du coût : h ( n ) ≤ h

( n ) + B . A* retourne une solution dont le coût est au plus B de plus que le coût optimal.

29/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 29 / 45

l’algorithme A*

Poroblème d’utilisation de la Mémoire :

Breadthfirst d = 1 d = 2 d = 3 d = 4

Expand by depth-layers

A* f1 f2 f3 f4

Expands by f-contours

30/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 30 / 45

Iterative Deepening A* (IDA*)

Principe : C’est un IDS en utilisant une valeur de fonction f comme limite.

31/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 31 / 45

Établir la limite : initialement, L = f ( E ) (avec E = E

0

état initial).

générer tous les successeurs succ de E .

enregistrer le min f ( succ ) > f ( E ).

continuer avec min f ( succ ) au lieu de f ( E ).

Iterative Deepening A* (IDA*)

Principe : C’est un IDS en utilisant une valeur de fonction f comme limite.

Établir la limite :

31/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 31 / 45 initialement, L = f ( E ) (avec E = E

0

état initial).

générer tous les successeurs succ de E .

enregistrer le min f ( succ ) > f ( E ).

continuer avec min f ( succ ) au lieu de f ( E ).

Iterative Deepening A* (IDA*)

Principe : C’est un IDS en utilisant une valeur de fonction f comme limite.

Établir la limite : initialement, L = f ( E ) (avec E = E

0

état initial).

31/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 31 / 45 générer tous les successeurs succ de E .

enregistrer le min f ( succ ) > f ( E ).

continuer avec min f ( succ ) au lieu de f ( E ).

Iterative Deepening A* (IDA*)

Principe : C’est un IDS en utilisant une valeur de fonction f comme limite.

Établir la limite : initialement, L = f ( E ) (avec E = E

0

état initial).

générer tous les successeurs succ de E .

31/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 31 / 45 enregistrer le min f ( succ ) > f ( E ).

continuer avec min f ( succ ) au lieu de f ( E ).

Iterative Deepening A* (IDA*)

Principe : C’est un IDS en utilisant une valeur de fonction f comme limite.

Établir la limite : initialement, L = f ( E ) (avec E = E

0

état initial).

générer tous les successeurs succ de E .

enregistrer le min f ( succ ) > f ( E ).

31/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 31 / 45 continuer avec min f ( succ ) au lieu de f ( E ).

Iterative Deepening A* (IDA*)

Principe : C’est un IDS en utilisant une valeur de fonction f comme limite.

Établir la limite : initialement, L = f ( E ) (avec E = E

0

état initial).

générer tous les successeurs succ de E .

enregistrer le min f ( succ ) > f ( E ).

continuer avec min f ( succ ) au lieu de f ( E ).

31/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 31 / 45

Iterative Deepening A* (IDA*)

Exemple :

32/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 32 / 45

Iterative Deepening A* (IDA*)

A* :

33/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 33 / 45

Iterative Deepening A* (IDA*)

IDA* itération 1 : explorer les nœuds avec L0<=6 ; L1=7.

34/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 34 / 45

Iterative Deepening A* (IDA*)

IDA* itération 2 : explorer les nœuds avec L1<=7 ; L2=9.

35/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 35 / 45

Iterative Deepening A* (IDA*)

IDA* itération 3 : explorer les nœuds avec L2<=9 ; L3=10.

36/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 36 / 45

Iterative Deepening A* (IDA*)

IDA* itération 4 : explorer les nœuds avec L3<=10 ; But trouvé.

37/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 37 / 45

Iterative Deepening A* (IDA*)

Analyse de l’algorithme :

Complétude : Complet, si l’espace de recherche fini ;

38/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 38 / 45

Complexité en temps : exponentielle.

Complexité en espace : linéaire O ( b ∗ d ) .

Optimalité :oui, si h est admissible.

Iterative Deepening A* (IDA*)

Analyse de l’algorithme :

Complétude : Complet, si l’espace de recherche fini ;

Complexité en temps : exponentielle.

38/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 38 / 45

Complexité en espace : linéaire O ( b ∗ d ) .

Optimalité :oui, si h est admissible.

Iterative Deepening A* (IDA*)

Analyse de l’algorithme :

Complétude : Complet, si l’espace de recherche fini ;

Complexité en temps : exponentielle.

Complexité en espace : linéaire O ( b ∗ d ) .

38/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 38 / 45

Optimalité :oui, si h est admissible.

Iterative Deepening A* (IDA*)

Analyse de l’algorithme :

Complétude : Complet, si l’espace de recherche fini ;

Complexité en temps : exponentielle.

Complexité en espace : linéaire O ( b ∗ d ) .

Optimalité :oui, si h est admissible.

38/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 38 / 45

Définition générique de f

On peut définir la fonction f comme suit : f ( n ) = (1 − w ) × g ( n ) + w ∗ h ( n )

Où w est un nombre réel : 0 ≤ w ≤ 1.

39/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 39 / 45

On obtient différents algorithmes de recherche selon la valeur de w : w = 0 : f ( n ) = g ( n ), recherche à côut uniforme.

w = 1 : f ( n ) = h ( n ), recherche avare (greedy) .

w = 0 .

5 : f ( n ) = g ( n ) + h ( n ), A* .

Définition générique de f

On peut définir la fonction f comme suit : f ( n ) = (1 − w ) × g ( n ) + w ∗ h ( n )

Où w est un nombre réel : 0 ≤ w ≤ 1.

On obtient différents algorithmes de recherche selon la valeur de w :

39/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 39 / 45 w = 0 : f ( n ) = g ( n ), recherche à côut uniforme.

w = 1 : f ( n ) = h ( n ), recherche avare (greedy) .

w = 0 .

5 : f ( n ) = g ( n ) + h ( n ), A* .

Définition générique de f

On peut définir la fonction f comme suit : f ( n ) = (1 − w ) × g ( n ) + w ∗ h ( n )

Où w est un nombre réel : 0 ≤ w ≤ 1.

On obtient différents algorithmes de recherche selon la valeur de w : w = 0 : f ( n ) = g ( n ), recherche à côut uniforme.

39/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 39 / 45 w = 1 : f ( n ) = h ( n ), recherche avare (greedy) .

w = 0 .

5 : f ( n ) = g ( n ) + h ( n ), A* .

Définition générique de f

On peut définir la fonction f comme suit : f ( n ) = (1 − w ) × g ( n ) + w ∗ h ( n )

Où w est un nombre réel : 0 ≤ w ≤ 1.

On obtient différents algorithmes de recherche selon la valeur de w : w = 0 : f ( n ) = g ( n ), recherche à côut uniforme.

w = 1 : f ( n ) = h ( n ), recherche avare (greedy) .

39/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 39 / 45 w = 0 .

5 : f ( n ) = g ( n ) + h ( n ), A* .

Définition générique de f

On peut définir la fonction f comme suit : f ( n ) = (1 − w ) × g ( n ) + w ∗ h ( n )

Où w est un nombre réel : 0 ≤ w ≤ 1.

On obtient différents algorithmes de recherche selon la valeur de w : w = 0 : f ( n ) = g ( n ), recherche à côut uniforme.

w = 1 : f ( n ) = h ( n ), recherche avare (greedy) .

w = 0 .

5 : f ( n ) = g ( n ) + h ( n ), A* .

39/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 39 / 45

Recherche Locale

40/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 40 / 45

Recherche Locale

Dans de nombreux problemes d’optimisation, le chemin qui mene vers une solution n’est pas important ;

41/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 41 / 45

L’etat lui-même est la solution ;

Idée : Modifier l’etat en l’ameliorant au fur et à mesure.

Besoin de definir une fonction qui mesure l’utilité d’un etat.

Recherche Locale

Dans de nombreux problemes d’optimisation, le chemin qui mene vers une solution n’est pas important ;

L’etat lui-même est la solution ;

41/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 41 / 45

Idée : Modifier l’etat en l’ameliorant au fur et à mesure.

Besoin de definir une fonction qui mesure l’utilité d’un etat.

Recherche Locale

Dans de nombreux problemes d’optimisation, le chemin qui mene vers une solution n’est pas important ;

L’etat lui-même est la solution ;

Idée : Modifier l’etat en l’ameliorant au fur et à mesure.

41/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 41 / 45

Besoin de definir une fonction qui mesure l’utilité d’un etat.

Recherche Locale

Dans de nombreux problemes d’optimisation, le chemin qui mene vers une solution n’est pas important ;

L’etat lui-même est la solution ;

Idée : Modifier l’etat en l’ameliorant au fur et à mesure.

Besoin de definir une fonction qui mesure l’utilité d’un etat.

41/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 41 / 45

Recherche Locale

Exemple :

42/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 42 / 45

Recherche Locale

Problème :

43/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 43 / 45

Recherche Locale : Hill climbing

Principe : examine les nœuds voisins un à un et sélectionne le premier nœud voisin qui optimise le coût actuel en tant que nœud suivant.

Algorithme

Étape 1 : Évaluez l’état initial. S’il s’agit d’un état d’objectif, arrêtez et renvoyez le succès. Sinon, définissez l’état initial sur l’état actuel.

44/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 44 / 45

Étape 2 : boucle jusqu’à ce que l’état de la solution soit trouvé ou jusqu’à ce qu’aucun nouvel opérateur ne puisse être appliqué à l’état actuel.

Si l’état actuel est un état but, arrêtez et renvoyez le résultat.

S’il est meilleur que l’état actuel, alors le mettre comme état actuel et continuez.

S’il n’est pas meilleur que l’état actuel, continuez dans la boucle jusqu’à ce qu’une solution soit trouvée.

Recherche Locale : Hill climbing

Principe : examine les nœuds voisins un à un et sélectionne le premier nœud voisin qui optimise le coût actuel en tant que nœud suivant.

Algorithme

Étape 1 : Évaluez l’état initial. S’il s’agit d’un état d’objectif, arrêtez et renvoyez le succès. Sinon, définissez l’état initial sur l’état actuel.

Étape 2 : boucle jusqu’à ce que l’état de la solution soit trouvé ou jusqu’à ce qu’aucun nouvel opérateur ne puisse être appliqué à l’état actuel.

44/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 44 / 45

Si l’état actuel est un état but, arrêtez et renvoyez le résultat.

S’il est meilleur que l’état actuel, alors le mettre comme état actuel et continuez.

S’il n’est pas meilleur que l’état actuel, continuez dans la boucle jusqu’à ce qu’une solution soit trouvée.

Recherche Locale : Hill climbing

Principe : examine les nœuds voisins un à un et sélectionne le premier nœud voisin qui optimise le coût actuel en tant que nœud suivant.

Algorithme

Étape 1 : Évaluez l’état initial. S’il s’agit d’un état d’objectif, arrêtez et renvoyez le succès. Sinon, définissez l’état initial sur l’état actuel.

Étape 2 : boucle jusqu’à ce que l’état de la solution soit trouvé ou jusqu’à ce qu’aucun nouvel opérateur ne puisse être appliqué à l’état actuel.

Si l’état actuel est un état but, arrêtez et renvoyez le résultat.

44/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 44 / 45

S’il est meilleur que l’état actuel, alors le mettre comme état actuel et continuez.

S’il n’est pas meilleur que l’état actuel, continuez dans la boucle jusqu’à ce qu’une solution soit trouvée.

Recherche Locale : Hill climbing

Principe : examine les nœuds voisins un à un et sélectionne le premier nœud voisin qui optimise le coût actuel en tant que nœud suivant.

Algorithme

Étape 1 : Évaluez l’état initial. S’il s’agit d’un état d’objectif, arrêtez et renvoyez le succès. Sinon, définissez l’état initial sur l’état actuel.

Étape 2 : boucle jusqu’à ce que l’état de la solution soit trouvé ou jusqu’à ce qu’aucun nouvel opérateur ne puisse être appliqué à l’état actuel.

Si l’état actuel est un état but, arrêtez et renvoyez le résultat.

S’il est meilleur que l’état actuel, alors le mettre comme état actuel et continuez.

44/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 44 / 45

S’il n’est pas meilleur que l’état actuel, continuez dans la boucle jusqu’à ce qu’une solution soit trouvée.

Recherche Locale : Hill climbing

Principe : examine les nœuds voisins un à un et sélectionne le premier nœud voisin qui optimise le coût actuel en tant que nœud suivant.

Algorithme

Étape 1 : Évaluez l’état initial. S’il s’agit d’un état d’objectif, arrêtez et renvoyez le succès. Sinon, définissez l’état initial sur l’état actuel.

Étape 2 : boucle jusqu’à ce que l’état de la solution soit trouvé ou jusqu’à ce qu’aucun nouvel opérateur ne puisse être appliqué à l’état actuel.

Si l’état actuel est un état but, arrêtez et renvoyez le résultat.

S’il est meilleur que l’état actuel, alors le mettre comme état actuel et continuez.

S’il n’est pas meilleur que l’état actuel, continuez dans la boucle jusqu’à ce qu’une solution soit trouvée.

44/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 44 / 45

En savoir plus

Artificial Intelligence : A Modern Approach, by Stuart Russell and

Peter Norvig (Third Edition), chapitre II.

Intelligent Systems, A Modern Approach, Crina Grosan and Ajith

Abraham, chapitres 2 et 3.

http ://www.aispace.org.

https ://heuristicswiki.wikispaces.com/

45/45 A. Belabed (Univ Tlemcen)

Chapitre I : la résolution des problèmes par la recherche

2019-2020 45 / 45

Download