Vous êtes sur la page 1sur 35

Chapitre 2 : Résolution de problèmes par recherche

Chapitre 2

Résolution de problèmes par recherche

1- Formulation d’un problème de recherche


2- Recherche en aveugle
3- Recherche informée (heuristique)
4- Satisfaction des contraintes

1
Intelligence Artificielle & Machine Learning 1 F. Ben Ali – ISSATM – 2021/2022
Chapitre 2 : Résolution de problèmes par recherche

Chapitre 2

Résolution de problèmes par recherche

1- Formulation d’un problème de recherche


2- Recherche en aveugle
3- Recherche informée (heuristique)
4- Satisfaction des contraintes

2
Intelligence Artificielle & Machine Learning 2 F. Ben Ali – ISSATM – 2021/2022
Chapitre 2 : Résolution de problèmes par recherche I- Formulation d’un problème de recherche

Formulation d’un problème de recherche


connaissances humaines + puissances de calcul de la machine

Résolution de problème : Trouver un chemin qui mène d’un état initial à un état
final (objectif)

Dans certains cas, un problème peut être complexe -> on doit le décomposer en
des sous problèmes

Abstraction : simplification et limitation des conditions du problème pour


aboutir à des états quantifiables, facilitant la résolution du problème
C’est une étape nécessaire même pour la résolution des problèmes dans le
monde réel.
3
Intelligence Artificielle & Machine Learning 3 F. Ben Ali – ISSATM – 2021/2022
Chapitre 2 : Résolution de problèmes par recherche I- Formulation d’un problème de recherche

Formulation d’un problème de recherche

Comment formuler un problème à résoudre ?

Un problème bien formulé est un problème dont les notions suivantes sont bien déterminées.

Etat initial : c’est l’état de départ du problème

Etat final : c’est l’état d’arrivée du problème (objectif à atteindre)

Opérateurs de transformation : les actions qui permettent le passage d’un état à un autre

Espace d’état : ensemble des états possibles que peut prendre un problème
Généralement, les espaces d’état sont représentés sous forme d’un graphe

→ Une solution à un problème = la séquence des opérateurs et états menant de


l’état initial à l’état final

4
Intelligence Artificielle & Machine Learning 4 F. Ben Ali – ISSATM – 2021/2022
Chapitre 2 : Résolution de problèmes par recherche I- Formulation d’un problème de recherche

Formulation d’un problème de recherche


Exemple 1 de problèmes : Jeu de Taquin (puzzle)

1. Formulation des états :

2. Représentation des opérateurs :

- déplacer la case vide en haut


- déplacer la case vide en bas
- déplacer la case vide à gauche
- déplacer la case vide à droite
5
Intelligence Artificielle & Machine Learning 5 F. Ben Ali – ISSATM – 2021/2022
Chapitre 2 : Résolution de problèmes par recherche I- Formulation d’un problème de recherche

Formulation d’un problème de recherche

2. Représentation de l’espace d’états :

Solution : chercher dans le graphe, le chemin qui mène de l’état initial à l’état final.
Cout de la solution : nombre de mouvements ou actions
6
Intelligence Artificielle & Machine Learning 6 F. Ben Ali – ISSATM – 2021/2022
Chapitre 2 : Résolution de problèmes par recherche I- Formulation d’un problème de recherche

Formulation d’un problème de recherche


Exemple 2 de problèmes : le voyageur

Aider un voyageur qui souhaite aller en voiture de la ville A vers la ville B

Un graphe représentant l’espace d’états du problème


7
Intelligence Artificielle & Machine Learning 7 F. Ben Ali – ISSATM – 2021/2022
Chapitre 2 : Résolution de problèmes par recherche I- Formulation d’un problème de recherche

Formulation d’un problème de recherche

- Objectif : partir de la ville de départ A et arriver à la ville d’arrivée B


- Etats : les différentes villes
- Actions : aller d’une ville à autre
- Solution : une séquence de villes d A vers B

Abstraction dans ce problème : on ne tient pas compte de la météo, ni du trafic, ni


de transport en commun …
On garde uniquement le nécessaire pour résoudre le problème de départ

8
Intelligence Artificielle & Machine Learning 8 F. Ben Ali – ISSATM – 2021/2022
Chapitre 2 : Résolution de problèmes par recherche I- Formulation d’un problème de recherche

Formulation d’un problème de recherche


Différents types de graphes de représentation

• Un arbre est un graphe sans cycle.


• Les nœud représentent les états du problèmes
• Les arcs représentent les actions (passage d’un état à un autre)
• Dans certains cas, un arc contient une valeur (par exemple le cout de l’action)

9
Intelligence Artificielle & Machine Learning 9 F. Ben Ali – ISSATM – 2021/2022
Chapitre 2 : Résolution de problèmes par recherche I- Formulation d’un problème de recherche

Formulation d’un problème de recherche


Critères d’évaluation d’une méthode de recherche

- Complétude : garantie de trouver une solution


- Complexité en temps : temps nécessaire pour trouver une solution
- Complexité en espace : espace mémoire nécessaire pour effectuer la recherche
- Optimalité : trouver la meilleure solution parmi un ensemble de soutions

La complexité est mesurée en fonction de :


• b : branchement maximal de l’arbre de recherche
• d : profondeur de la meilleur solution
• m : profondeur maximale de l’espace d’états

10
Intelligence Artificielle & Machine Learning 10 F. Ben Ali – ISSATM – 2021/2022
Chapitre 2 : Résolution de problèmes par recherche I- Formulation d’un problème de recherche

Formulation d’un problème de recherche


Différents types de problèmes de recherche

- Problème à état unique : déterministe, action à effets connus

- Problème à états multiples : non déterministe, effets des actions sont


globalement connus

- Problème à connaissance incomplète : monde partiellement connu ou évolutif


(besoin de capter les états)

- Problème d’exploration : espace d’état inconnu, à découvrir par exploration

11
Intelligence Artificielle & Machine Learning 11 F. Ben Ali – ISSATM – 2021/2022
Chapitre 2 : Résolution de problèmes par recherche I- Formulation d’un problème de recherche

Formulation d’un problème de recherche

Différents types d’algorithmes de recherche (ou de résolution)

Recherche aveugle : sans utilisation de connaissances sur le problème :


- Recherche en largeur (Breath First)
- Recherche en profondeur (Depth First)
- Recherche en profondeur limitée (Depth Limitted)
- Recherche par approfondissement itératif (Iterative Deepening)
- Recherche à cout variable

Recherche informée (heuristique) : utilise une fonction d’estimation ou une spécificité


du problème pour choisir le nœud à visiter :
- Meilleur d’abord (Best First)
- L’algorithme A*
- Escalade (Hill Climbing)
- Recuit cumulé (Simulated annealing)
- Algorithme génétique

12
Intelligence Artificielle & Machine Learning 12 F. Ben Ali – ISSATM – 2021/2022
Chapitre 2 : Résolution de problèmes par recherche

Chapitre 2

Résolution de problèmes par recherche

1- Formulation d’un problème de recherche


2- Recherche en aveugle
3- Recherche informée (heuristique)
4- Satisfaction des contraintes

13
Intelligence Artificielle & Machine Learning 13 F. Ben Ali – ISSATM – 2021/2022
Chapitre 2 : Résolution de problèmes par recherche II- Recherche en aveugle

Principe des algorithmes de recherche

Deux classes de nœuds :

- Nœuds libres : nœuds à partir desquels ont peut générer des actions et des possèdent
des nœuds fils
- Nœuds clos : des nœuds déjà visités et dont on ne peut plus générer des descendants

Algorithme générique de recherche :

1- placer le noeud initial dans la liste des noeuds libres


2- Tant qu’il existe un noeud dans noeuds libres ou que le but n’est pas atteint
3- Retirer le 1er noeud de noeuds libres
4- Le placer dans la liste noeuds clos
5- Générer ses descendants et ajouter aux noeuds libres ceux qui sont nouveaux (ni
déjà présents en libres ou en clos)

14
Intelligence Artificielle & Machine Learning 14 F. Ben Ali – ISSATM – 2021/2022
Chapitre 2 : Résolution de problèmes par recherche II- Recherche en aveugle

Recherche en largeur d’abord


Principe :
- On utilise le même principe de l’algorithme générique
- Choisir un nœud (nœud clos), générer ses fils et les mettre à la fin de la liste de nœuds
libres
- Développer tous les nœuds d’un niveau de profondeur i
- Passer ensuite aux nœuds du niveau de profondeur i+1
- Le parcours de l’arbre se fait de façon horizontale
Evaluation : Avantage : optimal si cout constant
- Complétude : Oui, si branchement b est fini Inconvénient : complexité élevée
- Complexité = O(bd)
- Optimalité = Oui (si cout constant)

Exemple à traiter :
Nœuds clos :
{} -> {1} -> {1-2} -> {1-2-3}
Nœuds vides :
{1} -> {2-3} -> {4-5-3} -> {4-5-6-7}
Ordre de visite :
1-2-3-4-5-6-7

15
Intelligence Artificielle & Machine Learning 15 F. Ben Ali – ISSATM – 2021/2022
Chapitre 2 : Résolution de problèmes par recherche II- Recherche en aveugle

Recherche en profondeur d’abord


Principe :
- On utilise le même principe de l’algorithme générique
- Choisir un nœud (nœud clos), générer ses fils et les mettre à la tête de la liste de
nœuds libres
- Développer tous les nœuds les plus profond d’abord
- Le parcours de l’arbre se fait de façon verticale sur sa profondeur

Evaluation : Avantage : économie en espace


- Complétude : Oui, si espace d’états fini Inconvénient : non optimal
- Complexité en temps = O(bm)
- Complexité en espace = O(bxm)
- Optimalité = non
Exemple à traiter :

Ordre de visite :
1-2-4-5-3-6-7

Ordre de visite :
A-B-D-H-I-E-J-K-C
16
Intelligence Artificielle & Machine Learning 16
16 F. Ben Ali – ISSATM – 2021/2022
Chapitre 2 : Résolution de problèmes par recherche II- Recherche en aveugle

Recherche en profondeur limitée


Principe :
- On utilise le même principe de l’algorithme générique
- Il s’agit d’un algorithme de recherche en profondeur avec une profondeur limite L
- Les nœuds de profondeur L n’ont pas de successeurs
- Le parcours de l’arbre se fait de façon verticale sur sa profondeur

Evaluation :
Avantage : limiter la complexité
- Complétude : Oui, L>=d
Limite : choix non optimal de L
- Complexité en temps = O(bL)
- Complexité en espace = O(bxL)
- Optimalité = non
Exemple à traiter :

Ordre de visite (L=1) :


1-2-3

Ordre de visite (L=2):


A-B-D-E-C
17
Intelligence Artificielle & Machine Learning 17
17 F. Ben Ali – ISSATM – 2021/2022
Chapitre 2 : Résolution de problèmes par recherche II- Recherche en aveugle

Recherche itérative en profondeur


Principe :
- On utilise le même principe de l’algorithme générique
- Il s’agit de trouver la bonne profondeur L d’un algorithme de recherche en profondeur
limitée L
- Approfondissement itératif = incrémentation de la limite L de 0 à la profondeur limite m
- Combine la recherche en profondeur et en largeur
Evaluation :
- Complétude : Oui
- Complexité en temps = O(bd)
- Complexité en espace = O(bxd)
- Optimalité = oui (si cout constant)

Avantage : Optimal + économie d’espace

18
Intelligence Artificielle & Machine Learning 18 F. Ben Ali – ISSATM – 2021/2022
Chapitre 2 : Résolution de problèmes par recherche II- Recherche en aveugle

Exemple à traiter :

Ordre de visite :

L=0 -> A
L=1 -> A-B-C
L=2 -> A-B-D-E-C-F-G
L=3 -> A-B-D-H-I-E-J-K-C-F-L-M-G-N-O

19
Intelligence Artificielle & Machine Learning 19 F. Ben Ali – ISSATM – 2021/2022
Chapitre 2 : Résolution de problèmes par recherche II- Recherche en aveugle

Recherche à cout uniforme

Principe :

- On utilise le même principe de l’algorithme générique


- On considère que le cout d’un chemin est la somme des couts de chacun des
déplacements réalisés
- Le cout d’un nœud est le cout du chemin menant de l’état initial à ce noeud
- Il s’agit de faire le Tri des nœuds à traiter dans la liste des nœuds libres selon leurs couts
- On commence par traiter le nœud à cout le plus faible

- Si le graphe est à cout fixe, cela revient à une recherche à largeur d’abord.

20
Intelligence Artificielle & Machine Learning 20 F. Ben Ali – ISSATM – 2021/2022
Chapitre 2 : Résolution de problèmes par recherche II- Recherche en aveugle

Recherche à cout uniforme

Exemple à traiter :

Ordre de visite :
{(S,0) – (A,1) – (C,5) – (B,15) – (G,11) – (G,10)

21
Intelligence Artificielle & Machine Learning 21 F. Ben Ali – ISSATM – 2021/2022
Chapitre 2 : Résolution de problèmes par recherche

Chapitre 2

Résolution de problèmes par recherche

1- Formulation d’un problème de recherche


2- Recherche en aveugle
3- Recherche informée (heuristique)
4- Satisfaction des contraintes

22
Intelligence Artificielle & Machine Learning 22 F. Ben Ali – ISSATM – 2021/2022
Chapitre 2 : Résolution de problèmes par recherche II- Recherche en aveugle

Recherche Informée / heuristique

Principe :

- Dans la plupart des cas, les recherches aveugles sont peu efficaces. Elles se font en
aveugle, sans aucune information sur la position de l’objectif.
- Les recherches heuristiques servent à accélérer la recherche
- Les stratégies de recherche informée utilisent une fonction d’estimation (heuristique)
pour choisir les nœuds à visiter.
- Cette fonction d’estimation est basée sur des informations supplémentaires sur le
problème à résoudre, à utiliser pour estimer le nœud qui nous rapproche du but le plus
rapidement.

23
Intelligence Artificielle & Machine Learning 23 F. Ben Ali – ISSATM – 2021/2022
Chapitre 2 : Résolution de problèmes par recherche II- Recherche en aveugle

A- Recherche Meilleur d’abord (Best First)


Principe :

- L’ordre de visite des nœud (développement des nœuds) est


déterminé par une fonction d’estimation ou fonction
d’évaluation, notée f(n), estimant l’intérêt de développer un
nœud n, dans le sens où il nous rapproche le plus de notre
objectif.
- On appelle fonction heuristique pour un nœud n, noté h(n)
qui estime le cout de passage du nœud n vers l’état final
- On note g(n) le cout d’arrivé au noeud n.

On distingue deux types de recherche Meilleur d’abord :


- Meilleur d’abord gloutonne
- Recherche A*

24
Intelligence Artificielle & Machine Learning 24 F. Ben Ali – ISSATM – 2021/2022
Chapitre 2 : Résolution de problèmes par recherche II- Recherche en aveugle

Meilleur d’abord Gloutonne


Principe :
On cherche toujours à développer le nœud le plus proche du but.
- La fonction d’évaluation d’un nœud est déterminée par la fonction heuristique
f(n) = h(n)

Exemple :

- Etat initial : ville Arad


- Etat finale : ville Bucharest
- Cout des arcs : distance entre les villes
25
Intelligence Artificielle & Machine Learning 25 F. Ben Ali – ISSATM – 2021/2022
Chapitre 2 : Résolution de problèmes par recherche II- Recherche en aveugle

Meilleur d’abord Gloutonne


- Fonction heuristique h(n) : distance à vol d’oiseaux entre le nœud n et la destination
Il s’agit d’une estimation / information supplémentaire de la distance entre le nœud n et
la destination

26
Intelligence Artificielle & Machine Learning 26 F. Ben Ali – ISSATM – 2021/2022
Chapitre 2 : Résolution de problèmes par recherche II- Recherche en aveugle

Meilleur d’abord Gloutonne

Solution = {Arad – Sibiu – Fagaras - Bucharest}

27
Intelligence Artificielle & Machine Learning 27 F. Ben Ali – ISSATM – 2021/2022
Chapitre 2 : Résolution de problèmes par recherche II- Recherche en aveugle

Recherche A*
Principe :

La fonction d’évaluation f(n) d’un nœud n combine à la fois le cout du noeud n, g(n) et la
fonction heuristique h(n) de ce nœud n.

f(n) = g(n) + h(n)

Heuristique admissible :

Une fonction heuristique h(n) est admissible, si pour tout n :

Avec h*(n) est le vrai cout pour aller de n à l’état final.

Solution optimale + complète

28
Intelligence Artificielle & Machine Learning 28 F. Ben Ali – ISSATM – 2021/2022
Chapitre 2 : Résolution de problèmes par recherche II- Recherche en aveugle

Recherche A*
Exemple 1 :

29
Intelligence Artificielle & Machine Learning 29 F. Ben Ali – ISSATM – 2021/2022
Chapitre 2 : Résolution de problèmes par recherche II- Recherche en aveugle

Recherche A*
Exemple 2 : Jeux du Taquin

- g(n) = nombre de cases déplacées pour arriver à l’état n


- h(n) = nombre de jetons mal placés

30
Intelligence Artificielle & Machine Learning 30 F. Ben Ali – ISSATM – 2021/2022
Chapitre 2 : Résolution de problèmes par recherche II- Recherche en aveugle

B- Recherche itérative
Principe :

- Dans certaines applications, atteindre l’état final constitut la solution du problème,


n’importe le chemin parcouru
- Pour les algorithmes de recherche itérative, un part une configuration initiale, on
essai ensuite d’améliorer la qualité de la solution, par une amélioration itérative.

Exemple : Problème des n reines

Mettre n reines sur une planche (n x n) sans qu’il y ait deux rênes sur la même ligne,
colonne ou diagonale

31
Intelligence Artificielle & Machine Learning 31 F. Ben Ali – ISSATM – 2021/2022
Chapitre 2 : Résolution de problèmes par recherche II- Recherche en aveugle

Par escalade (Hill-Climbing)


Principe :
À chaque tour, on choisit le successeur ayant la meilleure évaluation : si celle-ci est
meilleure que l’évaluation du noeud courant.
Condition d’arrêt :
Quand aucun des successeurs n’a une meilleure valeur que le noeud courant.
Avantage:
Pas d’arbre de recherche à maintenir
Pas de retour en arrière.
Exemple : 8 reines

- Fonction heuristique h(n) : nombre de


paires de reines qui s’attaquent
- Ici : h(n)=17
- On cherche l’état successeur possible
qui minimise le nombre de paires de
reines qui s’attaquent

32
Intelligence Artificielle & Machine Learning 32 F. Ben Ali – ISSATM – 2021/2022
Chapitre 2 : Résolution de problèmes par recherche II- Recherche en aveugle

Par escalade (Hill-Climbing)


Problème des maximas locaux :

Redémarrage aléatoire :

- Redémarrage de l’algorithme à un état de départ différent


- Sauvegarde de la meilleure solution

33
Intelligence Artificielle & Machine Learning 33 F. Ben Ali – ISSATM – 2021/2022
Chapitre 2 : Résolution de problèmes par recherche II- Recherche en aveugle

Recuit simulé (Simulated annealing)


Principe :
Permettre de mauvais déplacements dans le but d’échapper aux maxima locaux.

- On sélectionner un déplacement aléatoire.


- S’il améliore la situation, il est exécuté.
- Sinon il est exécuté avec une probabilité inférieure à 1.
- Plus le mouvement empire la situation, plus la probabilité que le mouvement soit choisi
est faible.

Un paramètre T
- Il tend vers zéro avec le temps.
- Il est utilisé pour déterminer la probabilité d’un mauvais mouvement.
- Plus la valeur de T est grande, plus un mauvais mouvement a des chances d’être exécuté.

L’algorithme se comporte comme hill-climbing lorsque T tend vers zéro.

34
Intelligence Artificielle & Machine Learning 34 F. Ben Ali – ISSATM – 2021/2022
Chapitre 2 : Résolution de problèmes par recherche II- Recherche en aveugle

Application

35
Intelligence Artificielle & Machine Learning 35 F. Ben Ali – ISSATM – 2021/2022

Vous aimerez peut-être aussi