SlideShare une entreprise Scribd logo
Intelligence Artificielle
Dorra BEN AYED
Chapitre 2
Résolution de problème en IA
Par recherche
3
Introduction
™ Résoudre un pb c’est chercher un chemin
qui permet d’aller d’une situation initiale à
une situation finale (but)
Situation
initiale
Situation
Finale
? Trouver ce chemin
4
Introduction
Pour résoudre un problème il arrive qu’on puisse le
décomposer en sous-problèmes puis décomposer
ceux-ci, etc.,
Æjusqu’à n’avoir plus que des problèmes dont la
solution est considérée comme immédiatement
accessible sans qu’il soit nécessaire de les
décomposer à leur tour.
™ L’ensemble des décompositions possibles peut être
représenté par un “ graphe des sous-problèmes ”.
ÆLa résolution d’un problème est alors ramenée à la
recherche d’un certain sous-graphe du graphe des
sous-problèmes.
5
Introduction
Un graphe sans cycle Æ arbre
Certains sommets marquent une conjonction de sous problèmes dont la
résolution implique celle du problème décomposé.
D’autres sommets marquent une disjonction de décompositions possibles.
ET
OU
ET
OU
Arbre ET/OU
6
Exemple
™ un état est une
configuration du
tableau 4x4
On distingue:
™ L’état initial
™ Un ou plusieurs états
finaux
1 3 14 5
9 11 4 12
6 10 2 8
7 13 15
13 3 5 15
9 4 12
6 10 2 8
7 11 1 14
6 3 14 5
9 12 4
1 10 2 8
7 11 13 15
3 14 15
9 11 4 12
6 10 2 1
5 8 13 7
Etat initial
7
Représenter le problème
Le monde réel est excessivement complexe
l'espace d'états doit être une abstraction de la réalité
•Les états du problème (abstrait) = ensemble d'états réels
•L’objectif à atteindre: solution (abstraite) = ensemble de chemins-
solutions dans le monde réel
• Les opérateurs de transformations (abstrait) = combinaison
d'actions réelles (représentation par graphe)
Il faut définir:
8
Types de problèmes
™ déterministe, accessible Æ problème à état unique
ƒ état exact connu
ƒ effets des actions connus
™ déterministe, inaccessible Æ problème à états multiples
ƒ un ensemble parmi plusieurs ensembles d'états
ƒ effets des actions connus
™ non déterministe, inaccessible Æ problème contingent
(perception limitée, algorithmes plus complexes)
ƒ besoin de percevoir durant l'exécution
ƒ solution a une structure d'arbre
ƒ souvent mélange entre recherche et exécution
ƒ effet conditionnel des actions
™ espace d'états inconnu Æ problème d'exploration ("online")
ƒ exécution révèle les états
ƒ besoin d'expérimenter pour trouver la solution
ƒ le plus difficile
9
Formulation d'un problème à état unique
Un problème est défini par 4 éléments:
™ état initial
™ opérateurs (ou fonction successeur S(x))
™ Test-but: fonction applicable à un état qui
détermine si c'est l'état solution.
™ Coût-chemin: permet de déterminer quel est le
meilleur chemin menant à la solution si plusieurs
chemins existent.
une solution est une séquence d'opérateurs
menant de l'état initial à l'état final (solution)
10
Exemple: assemblage automatique
• état initial: coordonnées des articulations du robot et pièces à assembler
• opérateurs: mouvements continus du bras robotique
• test-but: assemblage terminé, robot en position de repos
• coût-chemin: temps d'exécution
11
Exemple : jeu de taquin (puzzle)
Configuration initiale
Etat initial
Configuration finale
Etat final
• état initial: positions des 8 plaquettes dans une des 9 cases
• opérateurs: déplacer la case vide
• test-but: état courant = état final
• coût-chemin: chaque déplacement coûte 1,
coût total = nombre de déplacements
12
Opérateurs du jeu taquin
™ Un opérateur transforme un état en un autre
état.
™ Il existe quatre opérateurs pour le taquin:
ƒ 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
13
Représentation par graphes d’états
L’application des opérateurs sur les états en
démarrant de l’état initial conduit à la
construction d’une arborescence
14
Problème général de recherche
?
Représentation
par un arbre
Graphe d’état général
A
G
k
L
O
M
N
I
F
c
E
H
D
B
15
États vs. noeuds
• Un état est une représentation d'une configuration physique
• un noeud est un élément d'une structure de donnée constitutive d'un
arbre de recherche; il possède les informations de:
– parent, enfants, profondeur, coût de chemin g(x)
16
Méthodes de recherche
• Méthodes de recherche « aveugles » = Explorations non informées
– recherche en largeur
– recherche en profondeur
– recherche en profondeur limitée
– recherche par approfondissement itératif
• Méthodes de recherche heuristiques = Explorations informées
Stratégies d’exploration
17
Critères d'évaluation
Les différentes méthodes de recherche sont évaluées selon les critères suivants:
• Complétude: est-ce que la méthode garantit de trouver une solution si elle existe?
• Complexité en temps: combien de temps faut-il pour trouver la solution?
• Complexité en espace: quel espace mémoire faut-il pour effectuer la recherche?
• Optimalité: est-ce que la méthode trouve la meilleure solution s'il en existe
plusieurs?
• Les complexités en temps et en espace sont mesurée en fonction de:
– b = facteur de branchement maximum de l'arbre de recherche
– d = profondeur à laquelle se trouve le (meilleur) noeud-solution
– m = profondeur maximum de l'espace de recherche (espace d'états ou
arbre de recherche) - peut être infini
18
Exercice 1: problème du fermier
™ quartes acteurs le fermier(f), le loup(l), la chèvre (c) et le
chou (C) se trouvent sur la rive gauche d’une rivière.
™ On considère:
ƒ Un bateau qui peut transporter le fermier seul ou avec un des
trois acteurs restants de gauche à droite
ƒ Un bateau qui peut transporter le fermier seul ou avec un des
trois acteurs restants de droite à gauche
ƒ Le loup peut manger la chèvre sans présence du fermier
ƒ La chèvre peut manger le chou sans présence du fermier
Pb?
Comment faire pour passer les 4 acteurs à l’autre rive
19
Algorithme de recherche
Largeur d’abord
(breadth-first-search)
20
Principe de la recherche en largeur
™ L’expansion des noeuds les moins récemment engendrés
s’effectue en premier
™ L’arborescence est construite niveau après niveau et donc
de manière horizontale
™ Stratégie: étend le
noeud le moins
profond
™ Implémentation:
™ insertion des
successeurs à la fin
de la file d'attente
21
Algorithme
1-Insérer le noeud initial s dans une liste appelée OPEN
2-Si OPEN est vide alors échec sinon continuer
3-Retirer le premier noeud de OPEN et l’insérer dans une liste
appelée CLOSED. Soit n ce noeud.
4-S’il n’existe pas de successeur alors aller à 2. Engendrer les
successeurs de n et les insérer à la queue de OPEN. Créer
un chaînage de ces noeuds vers n
5-Si parmi les successeurs, il existe un état final alors succès:
la solution est obtenue en suivant le chaînage arrière de ce
noeud vers la racine, sinon aller à 2
22
Propriétés de la recherche en largeur
• Complétude Oui (si b est fini)
• Complexité en temps
1 + b + b2 + b3 + … + bd = O(bd) (exponentiel en d)
• Complexité en espace O(bd) (il faut garder
chaque noeud en mémoire)
• Optimalité Oui (si coût = 1 par étape )
en général pas optimal
23
Exercice 2 : taquin 3x3
™Appliquer la recherche en largeur d’abord
sur la donnée suivante:
Configuration initiale
Etat initial
Configuration finale
Etat final
1 3
2
6
5
8
4
7
1 3
2
4
8
6 5
7
24
Solution Exercice 2
1 2
8 6
3
7 5 4
1 2
3
8 6
7 5 4
1 2
4
8 6
3
7 5
1 2
6
8
3
7 5 4
1
3
8 6
2
7 5 4
1 2
4
8 6
2
7 5
1
6
8 2
3
7 5 4
1 2
6
8 5
2
7 4
1 2
6
8
2
7 5 4
1 6
3
8
2
7 5 4
1
3
8 6
2
7 5 4
1 2
8 4
3
7 6 5
Etat initial
(0)
Etat But
(1) (2) (3)
(4) (5) (6) (7) (8)
(11)
(10)
(9)
( ): numéro donnant l’ordre de développement
25
Algorithme de recherche
profondeur d’abord
(depth-first-search)
26
Principe de recherche en profondeur
™ Stratégie: étend le noeud le plus profond
™ Implémentation: insertion des successeurs en tête de la
file d'attente
Attention aux cycles
infinis !
Il faut un espace de
recherche fini et sans
cycle,
nécessité d'éliminer
les nœuds déjà
rencontrés.
27
Algorithme de recherche en profondeur
Les nœuds sont numérotés dans l'ordre de leur exploration
28
Propriétés de la recherche en profondeur
• Complétude : Non
échoue dans les espaces infinis ou avec cycle
Æ complet dans les espaces finis acycliques
• Complexité en temps :
O(bm) = terrible si m est beaucoup plus grand que d
• Complexité en espace: O(b * m) linéaire!
• Optimalité : Non
• discussion: besoins modestes en espace
– pour b = 10, d = 12 et 100 octets/noeud:
• recherche en profondeur a besoin de 12 Koctets
• recherche en largeur a besoin de 111 Tera-octets
* 1010 !!!
29
Algorithme de recherche
profondeur limitée
30
Principe de la recherche en profondeur
limitée
31
Principe de la recherche en
profondeur limitée
™ algorithme de recherche en profondeur avec une
limite de profondeur d'exploration L
Implémentation
™ les noeuds de profondeur L n'ont pas de successeurs
™ exemple avec L = 2
32
Propriétés de la recherche en profondeur
limitée
™ Complétude: Oui si L ≥ d
™ Complexité en temps: O(bL)
™ Complexité en espace: O(b * L)
™ Optimalité: Non
33
Exercice 3 : taquin 3x3
™Reprendre l’exercice 2 en appliquant la
recherche en profondeur limitée à 3 sur la
donnée suivante:
Configuration initiale
Etat initial
Configuration finale
Etat final
1 3
2
6
5
8
4
7
1 3
2
4
8
6 5
7
34
Algorithme de recherche
approfondissement itératif
=
Itérative en profondeur
35
Principe de la recherche
itérative en profondeur
Æ Le problème avec la recherche en profondeur limitée est
de fixer la bonne valeur de L
• approfondissement itératif = essayer toutes les valeurs
possibles de L à partir de L = 0 (en incrémentant la limite)
• combine les avantages de la recherche en largeur et en
profondeur
– optimal et complet comme la recherche en largeur
– économe en espace comme la recherche en profondeur
• c'est l'algorithme de choix si l'espace de recherche est grand
et si la profondeur de la solution est inconnue
36
Exemple de la recherche
itérative en profondeur
37
Propriétés de la recherche
itérative en profondeur
™ Complétude Oui
™ Complexité en temps
(d+1)b0 + db1 + (d-1)b2 + … + bd = O(bd)
™ Complexité en espace O(b * d)
™ Optimalité Oui si coût = 1 par étape
38
Les méthodes heuristiques
(exploration informée)
39
Introduction aux heuristiques
™ Les méthodes aveugles (non informées) sont des méthodes
systématiques peu efficaces
™ Il existe des limites pratiques sur le temps d’exécution et
l’espace mémoire pour appliquer ces méthodes sur une grande
catégorie de problèmes
™ Toute technique visant à accélérer la recherche est basée sur
une information appelée heuristique
™ Une heuristique signifie ‘aider à découvrir’
™ Ils utilisent des sources d’information supplémentaires. Ces
algorithmes parviennent ainsi à des performances meilleures
™ Les méthodes utilisant des heuristiques sont dites méthodes de
recherche heuristiques
40
Implémentation des méthodes heuristiques
™ Utiliser un critère pour réordonner tous les
nœuds qui sont explorés (au lieu d’être mis dans
une pile ou file)
™ Une certaine mesure doit être établie pour
évaluer « la promesse » d’un nœud.
ÆCette mesure est appelée fonction
d’évaluation ou d’adéquation ou objective
41
Fonction d’évaluation
™ La recherche ordonnée revient à choisir à développer le
meilleur nœud au sens d’un certain critère
Î centrée sur le nœud ayant les meilleurs chances de
mener au but
™ L’utilisation d’une heuristique est basée sur une
fonction d’évaluation pour ordonner la recherche
appelée fonction heuristique nommée
h(u)
™ h est la fonction heuristique qui estime le coût
du passage de l'état u à l'état final.
42
Méthode d’évaluation
™ Soit f une fonction d’évaluation, f(n) exprime la
valeur de cette fonction pour le noeud n
™ f*(n) représente le coût idéal du chemin passant
par un nœud n pour arriver au but
I
B
n
f*(n)
g*(n)
h*(n)
f*(n) = g*(n) + h*(n)
Etat
initial
Etat
But
Nœud
n
43
™Estimation de g*
™ g* peut être le coût du meilleur
Chemin déjà rencontré de I à n
™ Soit g cette fonction du coût on a
g(n) ≥ g* (n)
ÆLe choix de g est très dépendant
du domaine traité
ÆExemple pour le jeu de taquin
g(n) le nombre de jeton déplacé
(la longueur de la chaîne entre la
racine et n)
I
B
n
f*(n)
g*(n)
h*(n)
f*(n) = g*(n) + h*(n)
Etat
initial
Etat
But
Nœud
n
Méthode d’évaluation
44
™ Estimation de h*
™ plus difficile car on connaît
pas de chemin de n Æ But
™ Il faut se référer à des informations
heuristiques sur le domaine
™ Æ l’algorithme se fondant sur f(n)
pour ordonner les nœud est nommé
l’Algorithme A
I
B
n
f*(n)
g*(n)
h*(n)
f*(n) = g*(n) + h*(n)
Etat
initial
Etat
But
Nœud
n
Méthode d’évaluation
•L’algorithme A* est une stratégie du meilleur en premier dans le cadre des
graphes OU et des problèmes de minimisation des coûts additifs.
•L’algorithme A* est chargé de calculer le plus court chemin menant de l’état
initial à l’état final.
45
Exercice 4: Recherche heuristique avec A*
™f(n)=g(n) +h(n)
avec
™g : nombre de jetons déplacés
™h: nombre de jetons mal placés
Configuration initiale
Etat initial
Configuration finale
Etat final
1 3
2
6
5
8
4
7
1 3
2
4
8
6 5
7
46
Exercice 5: recherche avec algorithme A*
Rappel
Mouvements légaux: Déplace le <blanc> vers:
- le haut - la droite
- le bas - la gauche
Contraintes: Les mouvements en diagonal sont interdits
Configuration initiale
Etat initial
Configuration finale
Etat final
2 3
8
6
5
1 4
7
1 3
2
4
8
6 5
7
47
Votre tour..!
™ Dans la vie réelle on utilise aussi l’heuristique:
™ Exemple: Au supermarché, on choisit la
queue la moins longue ou alors on choisit la
queue dans laquelle les clients on le plus petit
nombre d’objets dans leur panier.
™ Avez-vous d’autres exemples?
48
Votre tour..!
™Allez: et jouer et commenter
™http://www.dc.fi.udc.es/lidia/mariano/de
mos/8puzzle/EightPuzzle.htm
49
Résumé
™ Les algorithmes de recherche sont une technologie de base
importante en Intelligence Artificielle.
™ Recherche d’arbres en profondeur d’abord: utilise peu de
mémoire, mais peut rater la solution optimale.
™ Recherche d’arbres en largeur d’abord: gourmande en
™ mémoire, mais trouve toujours la solution optimale.
™ Recherche heuristique: A* peut trouver la solution optimale
de manière efficace.
chap2 algorithme de recherche.pdf

Contenu connexe

Tendances

récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de trirécursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
Yassine Anddam
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivité
Sana Aroussi
 
UML-jamil.pptx
UML-jamil.pptxUML-jamil.pptx
UML-jamil.pptx
kdekde1
 
TP / Traitement d'image : Discrimination de Texture
TP / Traitement d'image : Discrimination de TextureTP / Traitement d'image : Discrimination de Texture
TP / Traitement d'image : Discrimination de Texture
Ahmed EL ATARI
 
Introduction a la compilation Analyse lexicale - C2
Introduction a la compilation  Analyse lexicale - C2Introduction a la compilation  Analyse lexicale - C2
Introduction a la compilation Analyse lexicale - C2
Beligh HAMDI
 
Jp perez correction quizz oracle mairie de paris acma 2007 2008
Jp perez correction quizz oracle mairie de paris acma 2007 2008Jp perez correction quizz oracle mairie de paris acma 2007 2008
Jp perez correction quizz oracle mairie de paris acma 2007 2008MRamo2s
 
algo et complexité .pptx
algo et complexité  .pptxalgo et complexité  .pptx
algo et complexité .pptx
tarekjedidi
 
Les fonctions avancées du système d’exploitation
Les fonctions avancées du système d’exploitationLes fonctions avancées du système d’exploitation
Les fonctions avancées du système d’exploitation
Da Mi
 
Java cours n° 2 - classe-objet-constructeur
Java   cours n° 2 - classe-objet-constructeurJava   cours n° 2 - classe-objet-constructeur
Java cours n° 2 - classe-objet-constructeur
Abdelwahab Naji
 
La planification du projet
La planification du projetLa planification du projet
La planification du projet
ABDERRAHMAN ID -SAID
 
Dba oracle-v1
Dba oracle-v1Dba oracle-v1
Dba oracle-v1infcom
 
Chapitre 01 - Notions de base
Chapitre 01 - Notions de baseChapitre 01 - Notions de base
Chapitre 01 - Notions de base
L’Université Hassan 1er Settat
 
Rapport Mini-Projet Recherche Opérationnelle
Rapport Mini-Projet Recherche OpérationnelleRapport Mini-Projet Recherche Opérationnelle
Rapport Mini-Projet Recherche Opérationnelle
CibamboSteven
 
Tp n 1 linux
Tp n 1 linuxTp n 1 linux
Tp n 1 linux
Amir Souissi
 
TP C++ : Correction
TP C++ : CorrectionTP C++ : Correction
Exercice arbre de décision
Exercice arbre de décision Exercice arbre de décision
Exercice arbre de décision
Yassine Badri
 
Cours Visual Basic.NET
Cours Visual Basic.NETCours Visual Basic.NET
Cours Visual Basic.NET
Aziz Darouichi
 
Planification
PlanificationPlanification
Planification
Rabia AZIZA
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-Reduce
Lilia Sfaxi
 

Tendances (20)

récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de trirécursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivité
 
UML-jamil.pptx
UML-jamil.pptxUML-jamil.pptx
UML-jamil.pptx
 
TP / Traitement d'image : Discrimination de Texture
TP / Traitement d'image : Discrimination de TextureTP / Traitement d'image : Discrimination de Texture
TP / Traitement d'image : Discrimination de Texture
 
Introduction a la compilation Analyse lexicale - C2
Introduction a la compilation  Analyse lexicale - C2Introduction a la compilation  Analyse lexicale - C2
Introduction a la compilation Analyse lexicale - C2
 
Jp perez correction quizz oracle mairie de paris acma 2007 2008
Jp perez correction quizz oracle mairie de paris acma 2007 2008Jp perez correction quizz oracle mairie de paris acma 2007 2008
Jp perez correction quizz oracle mairie de paris acma 2007 2008
 
algo et complexité .pptx
algo et complexité  .pptxalgo et complexité  .pptx
algo et complexité .pptx
 
Les fonctions avancées du système d’exploitation
Les fonctions avancées du système d’exploitationLes fonctions avancées du système d’exploitation
Les fonctions avancées du système d’exploitation
 
Java cours n° 2 - classe-objet-constructeur
Java   cours n° 2 - classe-objet-constructeurJava   cours n° 2 - classe-objet-constructeur
Java cours n° 2 - classe-objet-constructeur
 
La planification du projet
La planification du projetLa planification du projet
La planification du projet
 
Pl enset-cpa
Pl enset-cpaPl enset-cpa
Pl enset-cpa
 
Dba oracle-v1
Dba oracle-v1Dba oracle-v1
Dba oracle-v1
 
Chapitre 01 - Notions de base
Chapitre 01 - Notions de baseChapitre 01 - Notions de base
Chapitre 01 - Notions de base
 
Rapport Mini-Projet Recherche Opérationnelle
Rapport Mini-Projet Recherche OpérationnelleRapport Mini-Projet Recherche Opérationnelle
Rapport Mini-Projet Recherche Opérationnelle
 
Tp n 1 linux
Tp n 1 linuxTp n 1 linux
Tp n 1 linux
 
TP C++ : Correction
TP C++ : CorrectionTP C++ : Correction
TP C++ : Correction
 
Exercice arbre de décision
Exercice arbre de décision Exercice arbre de décision
Exercice arbre de décision
 
Cours Visual Basic.NET
Cours Visual Basic.NETCours Visual Basic.NET
Cours Visual Basic.NET
 
Planification
PlanificationPlanification
Planification
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-Reduce
 

Similaire à chap2 algorithme de recherche.pdf

chapitre 5.pptx
chapitre 5.pptxchapitre 5.pptx
chapitre 5.pptx
BenFradjHajer1
 
Développement informatique : Algorithmique I : Récursion et arbre
Développement informatique : Algorithmique I : Récursion et arbreDéveloppement informatique : Algorithmique I : Récursion et arbre
Développement informatique : Algorithmique I : Récursion et arbre
ECAM Brussels Engineering School
 
La recherche opérationnelle et l'optimisation combinatoire
La recherche opérationnelle et l'optimisation combinatoireLa recherche opérationnelle et l'optimisation combinatoire
La recherche opérationnelle et l'optimisation combinatoire
sarah Benmerzouk
 
Chapitre 3 la recherche tabou
Chapitre 3 la recherche tabouChapitre 3 la recherche tabou
Chapitre 3 la recherche tabouAchraf Manaa
 
cours algorithme
cours algorithmecours algorithme
cours algorithme
mohamednacim
 
Planification
Planification Planification
Planification
Badiâa Dellal-Hedjazi
 
coursAlgo_V5.pdf
coursAlgo_V5.pdfcoursAlgo_V5.pdf
coursAlgo_V5.pdf
MonssifNajim1
 
IA
IAIA
Algorithmes récursifs : une introduction pragmatique pour un enseignement au ...
Algorithmes récursifs : une introduction pragmatique pour un enseignement au ...Algorithmes récursifs : une introduction pragmatique pour un enseignement au ...
Algorithmes récursifs : une introduction pragmatique pour un enseignement au ...
RichardTerrat1
 
165380609 livre-professeur-maths-1ere-s
165380609 livre-professeur-maths-1ere-s165380609 livre-professeur-maths-1ere-s
165380609 livre-professeur-maths-1ere-sEttaoufik Elayedi
 
PLNE.pptx
PLNE.pptxPLNE.pptx
PLNE.pptx
MbarkiIsraa
 
Cours-optimisation.pdf
Cours-optimisation.pdfCours-optimisation.pdf
Cours-optimisation.pdf
Mouloudi1
 
ALGEBRE BINAIRE ET CIRCUITS LOGIQUES
ALGEBRE BINAIRE ET CIRCUITS LOGIQUESALGEBRE BINAIRE ET CIRCUITS LOGIQUES
ALGEBRE BINAIRE ET CIRCUITS LOGIQUES
sarah Benmerzouk
 
Les vecteurs seconde2020.pptx
Les vecteurs seconde2020.pptxLes vecteurs seconde2020.pptx
Les vecteurs seconde2020.pptx
rezgui10
 
coursAlgo_V6.ppt
coursAlgo_V6.pptcoursAlgo_V6.ppt
coursAlgo_V6.ppt
MonssifNajim1
 
optimisation cours.pdf
optimisation cours.pdfoptimisation cours.pdf
optimisation cours.pdf
Mouloudi1
 
Les algorithmes avancés
Les algorithmes avancésLes algorithmes avancés
Les algorithmes avancésmohamed_SAYARI
 
Actuariat et Données
Actuariat et DonnéesActuariat et Données
Actuariat et Données
Arthur Charpentier
 

Similaire à chap2 algorithme de recherche.pdf (20)

chapitre 5.pptx
chapitre 5.pptxchapitre 5.pptx
chapitre 5.pptx
 
Développement informatique : Algorithmique I : Récursion et arbre
Développement informatique : Algorithmique I : Récursion et arbreDéveloppement informatique : Algorithmique I : Récursion et arbre
Développement informatique : Algorithmique I : Récursion et arbre
 
La recherche opérationnelle et l'optimisation combinatoire
La recherche opérationnelle et l'optimisation combinatoireLa recherche opérationnelle et l'optimisation combinatoire
La recherche opérationnelle et l'optimisation combinatoire
 
Oc1 2013
Oc1 2013Oc1 2013
Oc1 2013
 
Chapitre 3 la recherche tabou
Chapitre 3 la recherche tabouChapitre 3 la recherche tabou
Chapitre 3 la recherche tabou
 
cours algorithme
cours algorithmecours algorithme
cours algorithme
 
Planification
Planification Planification
Planification
 
coursAlgo_V5.pdf
coursAlgo_V5.pdfcoursAlgo_V5.pdf
coursAlgo_V5.pdf
 
IA
IAIA
IA
 
Rapport MOGPL
Rapport MOGPLRapport MOGPL
Rapport MOGPL
 
Algorithmes récursifs : une introduction pragmatique pour un enseignement au ...
Algorithmes récursifs : une introduction pragmatique pour un enseignement au ...Algorithmes récursifs : une introduction pragmatique pour un enseignement au ...
Algorithmes récursifs : une introduction pragmatique pour un enseignement au ...
 
165380609 livre-professeur-maths-1ere-s
165380609 livre-professeur-maths-1ere-s165380609 livre-professeur-maths-1ere-s
165380609 livre-professeur-maths-1ere-s
 
PLNE.pptx
PLNE.pptxPLNE.pptx
PLNE.pptx
 
Cours-optimisation.pdf
Cours-optimisation.pdfCours-optimisation.pdf
Cours-optimisation.pdf
 
ALGEBRE BINAIRE ET CIRCUITS LOGIQUES
ALGEBRE BINAIRE ET CIRCUITS LOGIQUESALGEBRE BINAIRE ET CIRCUITS LOGIQUES
ALGEBRE BINAIRE ET CIRCUITS LOGIQUES
 
Les vecteurs seconde2020.pptx
Les vecteurs seconde2020.pptxLes vecteurs seconde2020.pptx
Les vecteurs seconde2020.pptx
 
coursAlgo_V6.ppt
coursAlgo_V6.pptcoursAlgo_V6.ppt
coursAlgo_V6.ppt
 
optimisation cours.pdf
optimisation cours.pdfoptimisation cours.pdf
optimisation cours.pdf
 
Les algorithmes avancés
Les algorithmes avancésLes algorithmes avancés
Les algorithmes avancés
 
Actuariat et Données
Actuariat et DonnéesActuariat et Données
Actuariat et Données
 

Dernier

Protéger l'intégrité de son environnement numérique
Protéger l'intégrité de son environnement numériqueProtéger l'intégrité de son environnement numérique
Protéger l'intégrité de son environnement numérique
Paperjam_redaction
 
cours Systèmes de Gestion des Identités.pdf
cours Systèmes de Gestion des Identités.pdfcours Systèmes de Gestion des Identités.pdf
cours Systèmes de Gestion des Identités.pdf
Hajer Boujezza
 
Charte des bonnes pratiques en salle informatique
Charte  des bonnes pratiques en salle informatiqueCharte  des bonnes pratiques en salle informatique
Charte des bonnes pratiques en salle informatique
CYCEO INFORMATIQUE
 
Augmentez vos conversions en ligne : les techniques et outils qui marchent vr...
Augmentez vos conversions en ligne : les techniques et outils qui marchent vr...Augmentez vos conversions en ligne : les techniques et outils qui marchent vr...
Augmentez vos conversions en ligne : les techniques et outils qui marchent vr...
OsharaInc
 
Contrôle d’accès et Gestion des identités: Terminologies et Protocoles d’auth...
Contrôle d’accès et Gestion des identités: Terminologies et Protocoles d’auth...Contrôle d’accès et Gestion des identités: Terminologies et Protocoles d’auth...
Contrôle d’accès et Gestion des identités: Terminologies et Protocoles d’auth...
Hajer Boujezza
 
Modèles de contrôle d accès_ RBAC (Role Based Access Control).pdf
Modèles de contrôle d accès_ RBAC (Role Based Access Control).pdfModèles de contrôle d accès_ RBAC (Role Based Access Control).pdf
Modèles de contrôle d accès_ RBAC (Role Based Access Control).pdf
Hajer Boujezza
 

Dernier (6)

Protéger l'intégrité de son environnement numérique
Protéger l'intégrité de son environnement numériqueProtéger l'intégrité de son environnement numérique
Protéger l'intégrité de son environnement numérique
 
cours Systèmes de Gestion des Identités.pdf
cours Systèmes de Gestion des Identités.pdfcours Systèmes de Gestion des Identités.pdf
cours Systèmes de Gestion des Identités.pdf
 
Charte des bonnes pratiques en salle informatique
Charte  des bonnes pratiques en salle informatiqueCharte  des bonnes pratiques en salle informatique
Charte des bonnes pratiques en salle informatique
 
Augmentez vos conversions en ligne : les techniques et outils qui marchent vr...
Augmentez vos conversions en ligne : les techniques et outils qui marchent vr...Augmentez vos conversions en ligne : les techniques et outils qui marchent vr...
Augmentez vos conversions en ligne : les techniques et outils qui marchent vr...
 
Contrôle d’accès et Gestion des identités: Terminologies et Protocoles d’auth...
Contrôle d’accès et Gestion des identités: Terminologies et Protocoles d’auth...Contrôle d’accès et Gestion des identités: Terminologies et Protocoles d’auth...
Contrôle d’accès et Gestion des identités: Terminologies et Protocoles d’auth...
 
Modèles de contrôle d accès_ RBAC (Role Based Access Control).pdf
Modèles de contrôle d accès_ RBAC (Role Based Access Control).pdfModèles de contrôle d accès_ RBAC (Role Based Access Control).pdf
Modèles de contrôle d accès_ RBAC (Role Based Access Control).pdf
 

chap2 algorithme de recherche.pdf

  • 2. Chapitre 2 Résolution de problème en IA Par recherche
  • 3. 3 Introduction ™ Résoudre un pb c’est chercher un chemin qui permet d’aller d’une situation initiale à une situation finale (but) Situation initiale Situation Finale ? Trouver ce chemin
  • 4. 4 Introduction Pour résoudre un problème il arrive qu’on puisse le décomposer en sous-problèmes puis décomposer ceux-ci, etc., Æjusqu’à n’avoir plus que des problèmes dont la solution est considérée comme immédiatement accessible sans qu’il soit nécessaire de les décomposer à leur tour. ™ L’ensemble des décompositions possibles peut être représenté par un “ graphe des sous-problèmes ”. ÆLa résolution d’un problème est alors ramenée à la recherche d’un certain sous-graphe du graphe des sous-problèmes.
  • 5. 5 Introduction Un graphe sans cycle Æ arbre Certains sommets marquent une conjonction de sous problèmes dont la résolution implique celle du problème décomposé. D’autres sommets marquent une disjonction de décompositions possibles. ET OU ET OU Arbre ET/OU
  • 6. 6 Exemple ™ un état est une configuration du tableau 4x4 On distingue: ™ L’état initial ™ Un ou plusieurs états finaux 1 3 14 5 9 11 4 12 6 10 2 8 7 13 15 13 3 5 15 9 4 12 6 10 2 8 7 11 1 14 6 3 14 5 9 12 4 1 10 2 8 7 11 13 15 3 14 15 9 11 4 12 6 10 2 1 5 8 13 7 Etat initial
  • 7. 7 Représenter le problème Le monde réel est excessivement complexe l'espace d'états doit être une abstraction de la réalité •Les états du problème (abstrait) = ensemble d'états réels •L’objectif à atteindre: solution (abstraite) = ensemble de chemins- solutions dans le monde réel • Les opérateurs de transformations (abstrait) = combinaison d'actions réelles (représentation par graphe) Il faut définir:
  • 8. 8 Types de problèmes ™ déterministe, accessible Æ problème à état unique ƒ état exact connu ƒ effets des actions connus ™ déterministe, inaccessible Æ problème à états multiples ƒ un ensemble parmi plusieurs ensembles d'états ƒ effets des actions connus ™ non déterministe, inaccessible Æ problème contingent (perception limitée, algorithmes plus complexes) ƒ besoin de percevoir durant l'exécution ƒ solution a une structure d'arbre ƒ souvent mélange entre recherche et exécution ƒ effet conditionnel des actions ™ espace d'états inconnu Æ problème d'exploration ("online") ƒ exécution révèle les états ƒ besoin d'expérimenter pour trouver la solution ƒ le plus difficile
  • 9. 9 Formulation d'un problème à état unique Un problème est défini par 4 éléments: ™ état initial ™ opérateurs (ou fonction successeur S(x)) ™ Test-but: fonction applicable à un état qui détermine si c'est l'état solution. ™ Coût-chemin: permet de déterminer quel est le meilleur chemin menant à la solution si plusieurs chemins existent. une solution est une séquence d'opérateurs menant de l'état initial à l'état final (solution)
  • 10. 10 Exemple: assemblage automatique • état initial: coordonnées des articulations du robot et pièces à assembler • opérateurs: mouvements continus du bras robotique • test-but: assemblage terminé, robot en position de repos • coût-chemin: temps d'exécution
  • 11. 11 Exemple : jeu de taquin (puzzle) Configuration initiale Etat initial Configuration finale Etat final • état initial: positions des 8 plaquettes dans une des 9 cases • opérateurs: déplacer la case vide • test-but: état courant = état final • coût-chemin: chaque déplacement coûte 1, coût total = nombre de déplacements
  • 12. 12 Opérateurs du jeu taquin ™ Un opérateur transforme un état en un autre état. ™ Il existe quatre opérateurs pour le taquin: ƒ 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
  • 13. 13 Représentation par graphes d’états L’application des opérateurs sur les états en démarrant de l’état initial conduit à la construction d’une arborescence
  • 14. 14 Problème général de recherche ? Représentation par un arbre Graphe d’état général A G k L O M N I F c E H D B
  • 15. 15 États vs. noeuds • Un état est une représentation d'une configuration physique • un noeud est un élément d'une structure de donnée constitutive d'un arbre de recherche; il possède les informations de: – parent, enfants, profondeur, coût de chemin g(x)
  • 16. 16 Méthodes de recherche • Méthodes de recherche « aveugles » = Explorations non informées – recherche en largeur – recherche en profondeur – recherche en profondeur limitée – recherche par approfondissement itératif • Méthodes de recherche heuristiques = Explorations informées Stratégies d’exploration
  • 17. 17 Critères d'évaluation Les différentes méthodes de recherche sont évaluées selon les critères suivants: • Complétude: est-ce que la méthode garantit de trouver une solution si elle existe? • Complexité en temps: combien de temps faut-il pour trouver la solution? • Complexité en espace: quel espace mémoire faut-il pour effectuer la recherche? • Optimalité: est-ce que la méthode trouve la meilleure solution s'il en existe plusieurs? • Les complexités en temps et en espace sont mesurée en fonction de: – b = facteur de branchement maximum de l'arbre de recherche – d = profondeur à laquelle se trouve le (meilleur) noeud-solution – m = profondeur maximum de l'espace de recherche (espace d'états ou arbre de recherche) - peut être infini
  • 18. 18 Exercice 1: problème du fermier ™ quartes acteurs le fermier(f), le loup(l), la chèvre (c) et le chou (C) se trouvent sur la rive gauche d’une rivière. ™ On considère: ƒ Un bateau qui peut transporter le fermier seul ou avec un des trois acteurs restants de gauche à droite ƒ Un bateau qui peut transporter le fermier seul ou avec un des trois acteurs restants de droite à gauche ƒ Le loup peut manger la chèvre sans présence du fermier ƒ La chèvre peut manger le chou sans présence du fermier Pb? Comment faire pour passer les 4 acteurs à l’autre rive
  • 19. 19 Algorithme de recherche Largeur d’abord (breadth-first-search)
  • 20. 20 Principe de la recherche en largeur ™ L’expansion des noeuds les moins récemment engendrés s’effectue en premier ™ L’arborescence est construite niveau après niveau et donc de manière horizontale ™ Stratégie: étend le noeud le moins profond ™ Implémentation: ™ insertion des successeurs à la fin de la file d'attente
  • 21. 21 Algorithme 1-Insérer le noeud initial s dans une liste appelée OPEN 2-Si OPEN est vide alors échec sinon continuer 3-Retirer le premier noeud de OPEN et l’insérer dans une liste appelée CLOSED. Soit n ce noeud. 4-S’il n’existe pas de successeur alors aller à 2. Engendrer les successeurs de n et les insérer à la queue de OPEN. Créer un chaînage de ces noeuds vers n 5-Si parmi les successeurs, il existe un état final alors succès: la solution est obtenue en suivant le chaînage arrière de ce noeud vers la racine, sinon aller à 2
  • 22. 22 Propriétés de la recherche en largeur • Complétude Oui (si b est fini) • Complexité en temps 1 + b + b2 + b3 + … + bd = O(bd) (exponentiel en d) • Complexité en espace O(bd) (il faut garder chaque noeud en mémoire) • Optimalité Oui (si coût = 1 par étape ) en général pas optimal
  • 23. 23 Exercice 2 : taquin 3x3 ™Appliquer la recherche en largeur d’abord sur la donnée suivante: Configuration initiale Etat initial Configuration finale Etat final 1 3 2 6 5 8 4 7 1 3 2 4 8 6 5 7
  • 24. 24 Solution Exercice 2 1 2 8 6 3 7 5 4 1 2 3 8 6 7 5 4 1 2 4 8 6 3 7 5 1 2 6 8 3 7 5 4 1 3 8 6 2 7 5 4 1 2 4 8 6 2 7 5 1 6 8 2 3 7 5 4 1 2 6 8 5 2 7 4 1 2 6 8 2 7 5 4 1 6 3 8 2 7 5 4 1 3 8 6 2 7 5 4 1 2 8 4 3 7 6 5 Etat initial (0) Etat But (1) (2) (3) (4) (5) (6) (7) (8) (11) (10) (9) ( ): numéro donnant l’ordre de développement
  • 25. 25 Algorithme de recherche profondeur d’abord (depth-first-search)
  • 26. 26 Principe de recherche en profondeur ™ Stratégie: étend le noeud le plus profond ™ Implémentation: insertion des successeurs en tête de la file d'attente Attention aux cycles infinis ! Il faut un espace de recherche fini et sans cycle, nécessité d'éliminer les nœuds déjà rencontrés.
  • 27. 27 Algorithme de recherche en profondeur Les nœuds sont numérotés dans l'ordre de leur exploration
  • 28. 28 Propriétés de la recherche en profondeur • Complétude : Non échoue dans les espaces infinis ou avec cycle Æ complet dans les espaces finis acycliques • Complexité en temps : O(bm) = terrible si m est beaucoup plus grand que d • Complexité en espace: O(b * m) linéaire! • Optimalité : Non • discussion: besoins modestes en espace – pour b = 10, d = 12 et 100 octets/noeud: • recherche en profondeur a besoin de 12 Koctets • recherche en largeur a besoin de 111 Tera-octets * 1010 !!!
  • 30. 30 Principe de la recherche en profondeur limitée
  • 31. 31 Principe de la recherche en profondeur limitée ™ algorithme de recherche en profondeur avec une limite de profondeur d'exploration L Implémentation ™ les noeuds de profondeur L n'ont pas de successeurs ™ exemple avec L = 2
  • 32. 32 Propriétés de la recherche en profondeur limitée ™ Complétude: Oui si L ≥ d ™ Complexité en temps: O(bL) ™ Complexité en espace: O(b * L) ™ Optimalité: Non
  • 33. 33 Exercice 3 : taquin 3x3 ™Reprendre l’exercice 2 en appliquant la recherche en profondeur limitée à 3 sur la donnée suivante: Configuration initiale Etat initial Configuration finale Etat final 1 3 2 6 5 8 4 7 1 3 2 4 8 6 5 7
  • 34. 34 Algorithme de recherche approfondissement itératif = Itérative en profondeur
  • 35. 35 Principe de la recherche itérative en profondeur Æ Le problème avec la recherche en profondeur limitée est de fixer la bonne valeur de L • approfondissement itératif = essayer toutes les valeurs possibles de L à partir de L = 0 (en incrémentant la limite) • combine les avantages de la recherche en largeur et en profondeur – optimal et complet comme la recherche en largeur – économe en espace comme la recherche en profondeur • c'est l'algorithme de choix si l'espace de recherche est grand et si la profondeur de la solution est inconnue
  • 36. 36 Exemple de la recherche itérative en profondeur
  • 37. 37 Propriétés de la recherche itérative en profondeur ™ Complétude Oui ™ Complexité en temps (d+1)b0 + db1 + (d-1)b2 + … + bd = O(bd) ™ Complexité en espace O(b * d) ™ Optimalité Oui si coût = 1 par étape
  • 39. 39 Introduction aux heuristiques ™ Les méthodes aveugles (non informées) sont des méthodes systématiques peu efficaces ™ Il existe des limites pratiques sur le temps d’exécution et l’espace mémoire pour appliquer ces méthodes sur une grande catégorie de problèmes ™ Toute technique visant à accélérer la recherche est basée sur une information appelée heuristique ™ Une heuristique signifie ‘aider à découvrir’ ™ Ils utilisent des sources d’information supplémentaires. Ces algorithmes parviennent ainsi à des performances meilleures ™ Les méthodes utilisant des heuristiques sont dites méthodes de recherche heuristiques
  • 40. 40 Implémentation des méthodes heuristiques ™ Utiliser un critère pour réordonner tous les nœuds qui sont explorés (au lieu d’être mis dans une pile ou file) ™ Une certaine mesure doit être établie pour évaluer « la promesse » d’un nœud. ÆCette mesure est appelée fonction d’évaluation ou d’adéquation ou objective
  • 41. 41 Fonction d’évaluation ™ La recherche ordonnée revient à choisir à développer le meilleur nœud au sens d’un certain critère Î centrée sur le nœud ayant les meilleurs chances de mener au but ™ L’utilisation d’une heuristique est basée sur une fonction d’évaluation pour ordonner la recherche appelée fonction heuristique nommée h(u) ™ h est la fonction heuristique qui estime le coût du passage de l'état u à l'état final.
  • 42. 42 Méthode d’évaluation ™ Soit f une fonction d’évaluation, f(n) exprime la valeur de cette fonction pour le noeud n ™ f*(n) représente le coût idéal du chemin passant par un nœud n pour arriver au but I B n f*(n) g*(n) h*(n) f*(n) = g*(n) + h*(n) Etat initial Etat But Nœud n
  • 43. 43 ™Estimation de g* ™ g* peut être le coût du meilleur Chemin déjà rencontré de I à n ™ Soit g cette fonction du coût on a g(n) ≥ g* (n) ÆLe choix de g est très dépendant du domaine traité ÆExemple pour le jeu de taquin g(n) le nombre de jeton déplacé (la longueur de la chaîne entre la racine et n) I B n f*(n) g*(n) h*(n) f*(n) = g*(n) + h*(n) Etat initial Etat But Nœud n Méthode d’évaluation
  • 44. 44 ™ Estimation de h* ™ plus difficile car on connaît pas de chemin de n Æ But ™ Il faut se référer à des informations heuristiques sur le domaine ™ Æ l’algorithme se fondant sur f(n) pour ordonner les nœud est nommé l’Algorithme A I B n f*(n) g*(n) h*(n) f*(n) = g*(n) + h*(n) Etat initial Etat But Nœud n Méthode d’évaluation •L’algorithme A* est une stratégie du meilleur en premier dans le cadre des graphes OU et des problèmes de minimisation des coûts additifs. •L’algorithme A* est chargé de calculer le plus court chemin menant de l’état initial à l’état final.
  • 45. 45 Exercice 4: Recherche heuristique avec A* ™f(n)=g(n) +h(n) avec ™g : nombre de jetons déplacés ™h: nombre de jetons mal placés Configuration initiale Etat initial Configuration finale Etat final 1 3 2 6 5 8 4 7 1 3 2 4 8 6 5 7
  • 46. 46 Exercice 5: recherche avec algorithme A* Rappel Mouvements légaux: Déplace le <blanc> vers: - le haut - la droite - le bas - la gauche Contraintes: Les mouvements en diagonal sont interdits Configuration initiale Etat initial Configuration finale Etat final 2 3 8 6 5 1 4 7 1 3 2 4 8 6 5 7
  • 47. 47 Votre tour..! ™ Dans la vie réelle on utilise aussi l’heuristique: ™ Exemple: Au supermarché, on choisit la queue la moins longue ou alors on choisit la queue dans laquelle les clients on le plus petit nombre d’objets dans leur panier. ™ Avez-vous d’autres exemples?
  • 48. 48 Votre tour..! ™Allez: et jouer et commenter ™http://www.dc.fi.udc.es/lidia/mariano/de mos/8puzzle/EightPuzzle.htm
  • 49. 49 Résumé ™ Les algorithmes de recherche sont une technologie de base importante en Intelligence Artificielle. ™ Recherche d’arbres en profondeur d’abord: utilise peu de mémoire, mais peut rater la solution optimale. ™ Recherche d’arbres en largeur d’abord: gourmande en ™ mémoire, mais trouve toujours la solution optimale. ™ Recherche heuristique: A* peut trouver la solution optimale de manière efficace.