SlideShare une entreprise Scribd logo
II. REPRÉSENTATION ET RÉSOLUTION DE PROBLÈMES
LES
ALGORITHMES
DE RECHERCHE
INTELLIGENCE ARTIFICIELLE ET SYSTÈMES EXPERTS
Mohamed Heny SELMI medheny.selmi@esprit.tn
COMMENT RÉSOUDRE UN PROBLÈME ?
 Recenser les états d’un système donné et trouver parmi ces états une ou
plusieurs solutions.
 Le passage d’un état à un autre se fait par l’application d’une action
donnée.
 Développement d’un arbre de recherche
 Appliquer une stratégie de recherche
ESPRIT 2012-2013
Mohamed Heny SELMI ©
Objectif :
Concevoir un système de résolution automatique de problèmes qui soit indépendant du problème à résoudre
Démarche :
 Considérer qu’il existe des méthodes générales permettant de résoudre
n’importe quel type de Pb!
 La méthode doit être "neutre" sur le domaine concerné
 La méthode sépare les connaissances du Pb et sa résolution
PROBLÈME EN IA ?
 Un sujet est confronté à un ‘problème’ dès qu'il doit produire une action
non réflexe (non prévisible) sur son environnement
ESPRIT 2012-2013
Mohamed Heny SELMI ©
 On a un problème quand :
i. On se trouve dans une certaine situation : état
ii. On a un but à atteindre : état ayant des caractéristiques données
iii. On ne voit pas immédiatement la suite d’actions à accomplir pour atteindre
ce but : résoudre le problème
 La Résolution de Problème s’effectue en progressant, de situation en
situation, d’une hypothèse initiale jusqu’à la solution but
EXEMPLE DE RECHERCHE
ESPRIT 2012-2013
Mohamed Heny SELMI ©
Résoudre ce Pb :
revient à partir de Pi (pierre initiale)
de proposer une stratégie permettant
de parcourir l'espace d'états
(les pierres)
pour trouver l'état Pf (pierre finale)
 Les états sont les pierres
 Pour passer d'une pierre à l'autre, on utilise le prédicat ‘sauter’
 On peut atteindre certaines pierres et pas d'autres
 A chaque état Pi on associe Pj qu’on peut atteindre à partir de Pi
 On peut se tromper et arriver sur une pierre à partir de la quelle nos forces
nous interdisent d'atteindre la suivante
 On peut revenir en arrière et essayer un autre chemin (backtracking strategy)
 Chaque opérateur nous fait passer d'un état à un autre qui nous rapproche, en
principe, de Pf
ESPRIT 2012-2013
Mohamed Heny SELMI ©
3L 5L 9L
0 0 0 start
3 0 0
0 0 3
3 0 3
0 0 6
3 0 6
0 3 6
3 3 6
1 5 6
0 5 7 goal
“WATER JUGS PROBLEM”
7 L
3 L 5 L 9 L
ESPRIT 2012-2013
Mohamed Heny SELMI ©
“WATER JUGS PROBLEM”
Une autre Solution :
3L 5L 9L
0 0 0 start
0 5 0
3 2 0
3 0 2
3 5 2
3 0 7 goal
7 L
3 L 5 L 9 L
ESPRIT 2012-2013
Mohamed Heny SELMI ©
“WATER JUGS PROBLEM”
Solution 1:
3L 5L 9L
0 0 0 start
3 0 0
0 0 3
3 0 3
0 0 6
3 0 6
0 3 6
3 3 6
1 5 6
0 5 7 goal
Solution 2:
3L 5L 9L
0 0 0 start
0 5 0
3 2 0
3 0 2
3 5 2
3 0 7 goal
ESPRIT 2012-2013
Mohamed Heny SELMI ©
“WATER JUGS PROBLEM”
Solution Optimale :
3L 5L 9L
0 0 0 start
0 0 9
0 5 4
3 5 4
0 5 7 goal
7 L
3 L 5 L 9 L
(0 0 0)
(3 0 0) (0 5 0) (0 0 9)
(0 0 3)(0 3 0) (3 0 9)(3 5 0) (0 5 4) (3 0 6)(0 5 9)(3 2 0) (0 0 5)
(3 0 3)
(0 3 9)
(3 3 0)
(0 5 3) (3 5 9)
(3 0 5)
(3 0 2) (3 2 9)
(0 5 5) (3 5 4)
(3 5 6)
(3 2 4)
(3 5 1)
(0 3 6)(0 2 3)
(0 5 7) (0 2 7)
UN ARBRE D’ÉTATS DU PROBLÈME “WATER JUGS”
ESPRIT 2012-2013
Mohamed Heny SELMI ©
PROBLÈMES DU MONDE RÉEL
 Recherche d'un trajet (coût de chemin : distance, temps, fuel, etc.)
- Routage dans les réseaux informatiques
- Systèmes de synchronisation dans les transports en commun
- Navigation d'un robot
ESPRIT 2012-2013
Mohamed Heny SELMI ©
 Entreprise / Economie:
- Changer le système informatique de l’entreprise
- Racheter une P.M.E.
- Mettre sur le marché une nouvelle gamme de produits
 Faire un diagnostic
 Traduire un texte
 Construire un système de reconnaissance d’un visage dans une image digitale
 Etc.
PROBLÈMES DU MONDE RÉEL
 Jeu d'échecs
- Recherche parmi un ensemble de déplacements
- Trouver un déplacement qui améliore le positionnement
ESPRIT 2012-2013
Mohamed Heny SELMI ©
 Itinéraire
- Recherche parmi un ensemble de chemins
- Trouver un chemin qui minimise la distance à parcourir
 Preuve de théorème
- Recherche parmi un ensemble d'étapes de raisonnement
- Trouver un raisonnement qui permet de prouver le théorème
LES CONCEPTS DE LA RÉSOLUTION D'UN PB
Variable d’état
- variable décrivant un certain ensemble d’objets ou de situations relatifs à un
problème donné
- le problème est décrit sous forme de variables d’états
- Structure de donné ou une formule du langage de prédicats de 1er ordre
ESPRIT 2012-2013
Mohamed Heny SELMI ©
Espace d'états
- chaque état est une représentation abstraite de l'environnement
- l'espace d'état est discret
État initial
- habituellement l'état courant
- parfois un ou plusieurs états hypothétiques
Test-solution (ou test de but)
- habituellement une condition à satisfaire
- parfois la description explicite d'un état
LES CONCEPTS DE LA RÉSOLUTION D'UN PB
Opérateur
- transforme une situation en une autre qui la rapproche d'une situation
solution (degré de solution)
- Le programme de résolution de problème choisit l'opérateur qui minimise au
mieux ce degré
- règle de production: si …alors
- opérateur : <Précondition, Post-condition, coût>
 Précondition : Condition à vérifier lors de l’appel d’un opérateur
 Post-condition : effet de l’application de l’opérateur
 coût : coût du chemin(optionnel); distance, temps, énergie, etc.
ESPRIT 2012-2013
Mohamed Heny SELMI ©
Fonction "successeur"
- fonction : [ état → sous-ensemble d'états ]
- une représentation abstraite des actions possibles
LES CONCEPTS DE LA RÉSOLUTION D'UN PB
Espace d’états (EE)
- Postulat de base de la RP : l’ensemble de tous les états possibles pour le
problème considéré
- Les nœuds représentent les états qu’on peut atteindre
- Les liens sont des transitions légales entre états
- L’espace d’états représente tous les états et les opérateurs du problème
ESPRIT 2012-2013
Mohamed Heny SELMI ©
C'est un quadruple [N,A,I,F] :
- N : l'ensemble des Nœuds : états
- A : l'ensemble des Arcs : opérateurs
- I : l'ensemble des états Initiaux
- F : l'ensemble des états Finaux
Les éléments de F sont décris par :
- Propriétés mesurables des états établis lors de la recherche (puzzle)
- Propriétés mesurables d'un chemin développé lors de la recherche (labyrinthe)
EXERCICE WATER JUGS PROBLEM
ESPRIT 2012-2013
Mohamed Heny SELMI ©
ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXERCICE WATER JUGS PROBLEM
ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXERCICE WATER JUGS PROBLEM
ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXERCICE WATER JUGS PROBLEM
DÉMARCHE GÉNÉRALE DE RÉSOLUTION DE PROBLÈMES
ESPRIT 2012-2013
Mohamed Heny SELMI ©
 Trouver une bonne représentation du problème
 Trouver des opérateurs pour manipuler cette représentation
 Effectuer un contrôle de stratégie (algorithme de recherche)
 Démarche classique : programme = suite d'instructions
 l’usager doit préciser les opérations à appliquer
 l’usager doit indiquer dans quel ordre les appliquer
 Démarche de GPS : l’application des opérateurs est universelle
 l’usager doit spécifier tous les opérateurs applicables
 le GPS choisit l'opérateur selon le contexte (selon l’alg. de reche. )
PROBLÈMES – ESPACE D’ÉTATS
ESPRIT 2012-2013
Mohamed Heny SELMI ©
 Formuler le problème
 identifier les objets et les variables d’états du problème
 décider des états et des actions à considérer étant donné un but
 c’est la partie modélisation des données et des opérateurs
 Explorer l'espace de recherche
 déterminer une séquence d'actions qui permet d'atteindre le but
 c’est la seule partie algorithmique
Dans la vie courante, une telle recherche est la conséquence d’un manque de
connaissances. C’est vrai également en I.A; le "GPS" est un outil pour
"attaquer" (résoudre) les problèmes qui ne peuvent pas être résolus d’une
autre façon (algorithmique)
REPRÉSENTATION FORMELLE
ESPRIT 2012-2013
Mohamed Heny SELMI ©
 Énoncé type : soit un état initial, un(des) état(s) terminal(aux), un
ensemble d’opérateurs de changement d’états, trouver une séquence
d’opérateurs permettant de passer de l’état initial à l’état final.
Pour un même problème, plusieurs représentations par graphe d'états sont possibles
•Modélisation
Énoncé informel
du problème
•Recherche
Représentation
formelle
du problème •Décision
Solution :
état spécifique
L’ÉTAPE LA PLUS IMPORTANTE :
LA FORMULATION DU PROBLÈME
ESPRIT 2012-2013
Mohamed Heny SELMI ©
►Mettre en évidence les caractéristiques essentielles d’un problème pour les
rendre accessibles à une procédure de résolution de problèmes :
 Graphes (arbres) d’états
 Calcul de prédicats (logique du 1er Ordre)
►La représentation d’un problème est la capture des éléments essentiels du
problème :
 Supprimer les détails de la représentation
 Conserver le minimum nécessaire pour la résolution du problème
L’ABSTRACTION D’UNE REPRÉSENTATION
ESPRIT 2012-2013
Mohamed Heny SELMI ©
 L’abstraction de la représentation est essentielle pour réduire la
complexité
 Abstraire également les actions
 La représentation doit être efficace et expressive
 L’abstraction est utile si elle simplifie la réalisation de la solution
 L’abstraction est valide si on peut projeter (développer) la solution dans le
monde réel
 La méthode générale pour choisir un opérateur ou construire un opérateur
consiste à essayer de combler le fossé entre les états Si et Sj. C'est ce que
"Simon" appelle la "réduction de la différence"
 C’est du rapprochement mental entre Si et Sj que naît l'opérateur
 Les raisons qui font passer d'un état à l'autre résultent d'une appréciation
des différences entre ces états et de l'idée qu’on fait du chemin qui nous
permettra de passer
LE CHOIX D’UNE BONNE REPRÉSENTATION
ESPRIT 2012-2013
Mohamed Heny SELMI ©
 le choix est souvent justifié par référence à des notions telles que le caractère
naturel d’une représentation pour un Pb
 Le choix d’une représentation porte surtout sur :
- la manière de modéliser (abstraire) le Pb à résoudre
- les données à prendre en compte
- La manière d’élaborer les alternatives(var. d’états et opérateurs)
- La manière d’exprimer les contraintes(souvent niveau opérateurs)
 En formalisant le processus de RP, l’IA a certainement contribué à clarifier le
processus de formulation de Pb
COMPOSANTES D’UN GENERAL PROBLEM SOLVER
ESPRIT 2012-2013
Mohamed Heny SELMI ©
►Une base de connaissances contenant:
i. Des informations sur l’état actuel (Base de Faits)
ii. Un ensemble d’opérateurs permettant de transformer les états
(Base de Règles)
►Une stratégie de contrôle permettant de choisir l’opérateur à appliquer
dans un état particulier durant la résolution du problème
(Moteur d’Inférences)
►Ressemblance avec les Systèmes Experts !
STRATÉGIE DE RECHERCHE
ESPRIT 2012-2013
Mohamed Heny SELMI ©
 Représentation du problème sous forme d’états et opérateurs permettant
de passer d’un état à un autre.
 La solution du problème est une séquence d’application d’opérateurs qui
transforment l’état initial en état final.
 Retrouver cette séquence requière la recherche dans l’espace d’états en
générant un chemin reliant l’état initial à l’état final
IMPLÉMENTATION D’UN ALGORITHME DE RECHERCHE
ESPRIT 2012-2013
Mohamed Heny SELMI ©
Function General-Search(problem, Queuing-Fn) returns a solution, or failure
// initialize the search tree using the initial state problem
nodes  make-queue(make-node(initial-state[problem]))
loop do
// there are no candidates
if node is empty then return failure
// choose a leaf node
node  Remove-Front(nodes)
// the node contains a goal state
if Goal-Test[problem] applied to State(node) succeeds then return node
// expand the node
nodes  Queuing-Fn(nodes, Expand(node, Operators[problem]))
end
 Queuing-Fn(queue, elements) : fonction d’insertion d’éléments en queue
d’une liste et détermine l’ordre des nœuds exploités.
 La spécificité d’insertion en queue dépend essentiellement de la variété de
l’algorithme de recherche
EVALUATION D’UN ALGORITHME DE RECHERCHE
ESPRIT 2012-2013
Mohamed Heny SELMI ©
m
Gb
d
►les algorithmes de recherche sont généralement évalués selon 4 critères :
i. Complétude: est-ce que ça aboutie toujours à une solution, si elle existe?
ii. Complexité en temps: combien de nœuds faut-il produire pour trouver la
solution?
iii. Complexité en espace: nombre maximum de nœuds à conserver en
mémoire pour trouver la solution ?
iv. Optimalité: est-ce que la méthode trouve la meilleure solution s'il en existe
plusieurs?
ÉVITER LES REDONDANCE DES ÉTATS
ESPRIT 2012-2013
Mohamed Heny SELMI ©
Dans l’ordre croissant de l’efficacité et du temps de calcul:
 Ne pas retourner à l’état duquel on vient: développer la fonction qui peut
sauter certains successeurs qui ont le même nœud parent.
 Ne pas créer des chemins avec des cycles: développer la fonction peut
sauter certains successeurs qui sont dans la liste des nœuds exécutés
 Ne pas générer un état qui a déjà été développé: garder en mémoire
l’historique de tous les nœuds exploités, à moins que le coût du nœud
exploité est inférieur au dernier coût
STRATÉGIES DE RECHERCHE
Solutions
raisonnables
- On cherche pas si la
solution est meilleur
- Distance parcourue
non prise en compte
Tout
chemin
Trouver des
chemins
minimaux
- Lorsque le coût du
parcours d'un chemin est
primordial
Chemin
optimal
Processus
adversaires
Jeux
ESPRIT 2012-2013
Mohamed Heny SELMI ©
ALGORITHMES
DE RECHERCHE
NON-INFORMÉS
ESPRIT 2012-2013
Mohamed Heny SELMI ©
Méthodes Aveugles
RECHERCHE EN PROFONDEUR D’ABORD
« DEPTH FIRST SEARCH »
ESPRIT 2012-2013
Mohamed Heny SELMI ©
►Principe:
i. Sélectionner une possibilité à chaque nœud
ii. Descendre jusqu’à ce qu’on atteigne le but ou une feuille
iii. En cas d’impasse, reprendre la recherche de l’ancêtre le plus proche
dont au moins un fils n’a pas encore été exploré
Algorithme: (Représentation Pile)
1. Empiler la racine
2. Jusqu'à ce que la pile soit vide ou nœud but soit atteint
Déterminer si sommet pile=but
2-a Si oui ne rien faire
2-b Sinon dépiler le 1er élément et empiler ses fils, s’il en a, de d à g
3. La recherche aboutit si nœud but a été atteint et échoue sinon
S
A D
B D A E
C E E B B F
D F B F C E A C G
G C G F
14
19 19 17
17 15 15 13
G 25
11
ESPRIT 2012-2013
Mohamed Heny SELMI ©
DEPTH-FIRST SEARCH
SIMULATION DEPTH-FIRST SEARCH
ESPRIT 2012-2013
Mohamed Heny SELMI ©
SIMULATION DEPTH-FIRST SEARCH
ESPRIT 2012-2013
Mohamed Heny SELMI ©
SIMULATION DEPTH-FIRST SEARCH
ESPRIT 2012-2013
Mohamed Heny SELMI ©
SIMULATION DEPTH-FIRST SEARCH
ESPRIT 2012-2013
Mohamed Heny SELMI ©
SIMULATION DEPTH-FIRST SEARCH
ESPRIT 2012-2013
Mohamed Heny SELMI ©
SIMULATION DEPTH-FIRST SEARCH
ESPRIT 2012-2013
Mohamed Heny SELMI ©
SIMULATION DEPTH-FIRST SEARCH
ESPRIT 2012-2013
Mohamed Heny SELMI ©
SIMULATION DEPTH-FIRST SEARCH
ESPRIT 2012-2013
Mohamed Heny SELMI ©
PROPRIÉTÉS DU DEPTH-FIRST SEARCH
ESPRIT 2012-2013
Mohamed Heny SELMI ©
 L’algorithme est incapable de profiter de la structure du problème pour éviter certains
chemins absurdes
 L’algorithme peut dans certains cas parcourir tout l'espace d'état avant de trouver une
solution
 Utilise moins de mémoire que BFS et plus performant dans un environnement de mémoire
limitée
 Plus rapide dans le cas où il y a beaucoup de chemins conduisant à la solution, et surtout s’ils
sont relativement longs
SATISFACTION DES CRITÈRES D’ÉVALUATION
ESPRIT 2012-2013
Mohamed Heny SELMI ©
i. Complétude:
- Oui : si on évite les états répétés ou si l’espace de recherche est fini
- Non : si la profondeur est infini, s’il y a des cycles
ii. Complexité en temps: L’algorithme explore tous les nœuds
1 + b + b2+ b3+ …+bd= O (bd) : exponentielle en d
iii. Complexité en espace: nombre de nœuds conservés (pire des cas)
- A chaque profondeur p<d on a (b-1) nœuds
- A la profondeur d on a b nœuds
- Totale = (d-1) * (b-1) + b = O (bd) : linéaire en d
iv. Optimalité: NON
RECHERCHE EN LARGEUR D’ABORD
« BREADTH FIRST SEARCH »
ESPRIT 2012-2013
Mohamed Heny SELMI ©
►Principe:
i. Chercher le but souhaité parmi tous les nœuds d’un niveau(i) donné
avant d’aller consulter leurs fils (niveaui+1)
ii. Continuer, niveau par niveau jusqu’au but
Algorithme: (Représentation File)
1. Mettre la racine en tête de file
2. Jusqu'à ce que la file soit vide ou but atteint
Déterminer si le 1erélément de la file est le but
2-a Si oui ne rien faire
2-b Sinon le retirer de la file et enfiler ses fils, s’il en a, de g à d
3. La recherche aboutit si nœud but a été atteint et échoue sinon
BREADTH-FIRST SEARCH
S
A D
B D A E
C E E B B F
D F B F C E A C G
G C G F
14
19 19 17
17 15 15 13
G 25
11
ESPRIT 2012-2013
Mohamed Heny SELMI ©
SIMULATION BREADTH-FIRST SEARCH
ESPRIT 2012-2013
Mohamed Heny SELMI ©
ESPRIT 2012-2013
Mohamed Heny SELMI ©
SIMULATION BREADTH-FIRST SEARCH
ESPRIT 2012-2013
Mohamed Heny SELMI ©
SIMULATION BREADTH-FIRST SEARCH
ESPRIT 2012-2013
Mohamed Heny SELMI ©
SIMULATION BREADTH-FIRST SEARCH
ESPRIT 2012-2013
Mohamed Heny SELMI ©
SIMULATION BREADTH-FIRST SEARCH
ESPRIT 2012-2013
Mohamed Heny SELMI ©
SIMULATION BREADTH-FIRST SEARCH
ESPRIT 2012-2013
Mohamed Heny SELMI ©
SIMULATION BREADTH-FIRST SEARCH
ESPRIT 2012-2013
Mohamed Heny SELMI ©
SIMULATION BREADTH-FIRST SEARCH
ESPRIT 2012-2013
Mohamed Heny SELMI ©
SIMULATION BREADTH-FIRST SEARCH
PROPRIÉTÉS DU BREADTH-FIRST SEARCH
ESPRIT 2012-2013
Mohamed Heny SELMI ©
 La solution trouvée est la moins profonde, garantie de trouver une solution même s’il existe
un cycle
 Coûteux lorsque plusieurs branches mènent au but, à des profondeurs pratiquement
identiques
 DFS descend directement au fond de l’arbre de recherche, BFS descend uniformément dans
l’arbre
 BFS effectue plus rapidement une recherche qui tente de déterminer le chemin le plus court à
la solution, alors que DFS visitera tous les enfants de chaque nœud de la pile
SATISFACTION DES CRITÈRES D’ÉVALUATION
ESPRIT 2012-2013
Mohamed Heny SELMI ©
i. Complétude:
- Oui : si b est fini
ii. Complexité en temps: L’algorithme explore tout les nœuds
1 + b + b2+ b3+ …+bd= O (bd) : exponentielle en d
iii. Complexité en espace: nombre de nœuds conservés (pire des cas)
- combien de nœuds peuvent être dans la liste (pire des cas)
- A la profondeur d-1 on a bd nœuds inexplorés dans la liste : O (bd)
iv. Optimalité: NON
EXEMPLE 1 : 8-PUZZLE
ESPRIT 2012-2013
Mohamed Heny SELMI ©
►déterminer :
 Les états :
 L’état initial :
 Les actions :
 L’état but :
 Le coût du chemin :
NB: l’obtention d’une solution optimale du 8-Puzzle est un problème NP complet
1
2
3 4
5 6
7
8
1
2
3 4
5 6
7
8
1
2
3 4
5 6
78
1
3
5 6
8
1
3
4
5 6
7
82
4 7
2
1
2
3 4
5 6
7
8
Si les états autorisés sont déjà exploités,
L’arbre de recherche peut être infini
même lorsque l’espace d’états est fini
ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXEMPLE 1 : 8-PUZZLE
Nœud parent
1
2
3 4
5 6
7
8
ETAT
...
Nœuds fils
EXEMPLE 1 : 8-PUZZLE
ESPRIT 2012-2013
Mohamed Heny SELMI ©
ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXEMPLE 1 : 8-PUZZLE
12
14
11
15
10
13
9
5 6 7 8
4321
12
15
11
14
10
13
9
5 6 7 8
4321
?
 Si un problème n’admet pas de solution
 l’espace d’état est infini
 possibilité d’examiner arbitrairement des états plus qu’une fois
 l’algorithme BFS peut fonctionner en boucle infinie
EXEMPLE 2 : « RIVER TEST PRO »
ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXEMPLE 2 : « RIVER TEST PRO »
ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXEMPLE 2 : « RIVER TEST PRO »
ESPRIT 2012-2013
Mohamed Heny SELMI ©
FORMULATION DU PROBLÈME
► déterminer :
 Les états :
 L’état initial :
 Les actions :
 L’état but :
 Le coût du chemin :
► une proposition de formulation :
 Les états : ne considérer que la côte gauche de la rivière : (W,S,C,B)
 L’état initial : (W,S,C,B)
 Les actions : Transporter(B, … )
 L’état but : (-, -, -, -)
EXEMPLE 2 : « RIVER TEST PRO »
ESPRIT 2012-2013
Mohamed Heny SELMI ©
W
s
C
B
(W, S, C, B) (W, C) (W, C, B)
(W)
(C)
(W, S, B)
(C, S, B)
(S)
(S, B)
()
ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXEMPLE 2 : « RIVER TEST PRO »
GRAPHE D’ÉTATS
EXEMPLE 3 : « FROG PUZZLE »
ESPRIT 2012-2013
Mohamed Heny SELMI ©
► proposer une structure de données qui servira pour la formulation du problème !
► en déduire :
 L’espace d’états :
 L’état initial :
 Les actions :
 L’état but :
 Un graphe du chemin de la solution :
EXEMPLE 3 : « FROG PUZZLE »
ESPRIT 2012-2013
Mohamed Heny SELMI ©
►lequel de ces états est un état qui ne doit pas être exploité par un algorithme de recherche aveugle ?
1
2
3
ALGORITHMES
DE RECHERCHE
INFORMÉS
ESPRIT 2012-2013
Mohamed Heny SELMI ©
Méthodes Heuristiques
OBJECTIFS DE LA RECHERCHE INFORMÉE
ESPRIT 2012-2013
Mohamed Heny SELMI ©
► pourquoi ?
 Éviter le parcours complet de l’espace des états
 Éviter le parcours complet de l’espace des actions
 Éviter l’énumération complète des solutions
► comment ?
 Coupant les solutions partielles mauvaises
 Explorant d’abord les solutions partielles prometteuses
► critères ?
 Critères de choix liés au problème (recherche guidée)
 Prend en compte le non-déterminisme lors du choix de l'alternative
 Employée lorsque le coût est primordial
 Peut estimer si un nœud est plus prometteur qu’un autre
CHOIX D’UN NŒUD NÉCESSITE UNE HEURISTIQUE
ESPRIT 2012-2013
Mohamed Heny SELMI ©
► Une stratégie d’organisation de recherche ne permet pas de prendre en
compte des connaissances supplémentaires sur la manière de trouver l’état
but depuis un état quelconque de l’Espace d’états.
►Un algorithme de recherche efficace doit guider la recherche du chemin
solution en faisant des choix et en gérant la révision de ces choix pour éviter
l’explosion combinatoire
►On utilise des Heuristiques pour guider ces choix en ordonnant
dynamiquement la liste des successeurs selon leur "promesse de rapprocher
d’un but"
PROPRIÉTÉS DES HEURISTIQUES
ESPRIT 2012-2013
Mohamed Heny SELMI ©
► Connaissance spécifique au Pb à résoudre, indépendante de l’algorithme
de recherche, et non généralisable
►Une règle d'estimation, une stratégie, une astuce, une simplification ou
autre règle permettant de guider les choix non-déterministes
►Permet de détecter grâce à une fonction d'évaluation le nœud qui semble
potentiellement meilleur que les autres et de se concentrer sur ce nœud par la
suite en ordonnant la liste de successeurs d'un état
►Une recherche exhaustive n’est pas réalisable pour des problèmes
complexes (échec, etc.). La notion de complexité conduit naturellement à la
notion d'heuristique
►A la différence des algorithmes aveugles, les heuristiques sont tirées de
l’expérience, de l’abstraction ou d’un apprentissage plutôt que d'une analyse
scientifique
EXEMPLE INTRODUCTIF
ESPRIT 2012-2013
Mohamed Heny SELMI ©
Largeur d’abord :
Chemin : S, B, G
Coût : 8
Profondeur d’abord :
Chemin : S, A, E, G
Coût : 15
À propos ?
Chemin : S, C, F, G
Coût : 7
RECHERCHE MEILLEUR D’ABORD
ESPRIT 2012-2013
Mohamed Heny SELMI ©
« BEST FIRST SEARCH »
 Combinaison entre recherche en profondeur et en largeur.
 En profondeur : solution trouvée sans avoir besoin de calculer tous les
nœuds
 En largeur : ne risque pas de rester pris dans une ‘impasse’
 L'algorithme “recherche meilleur-d’abord” permet d'explorer les nœuds
dans l'ordre (croissant/décroissant) de leurs valeurs heuristiques
 étendre le nœud le plus prometteur selon sa valeur heuristique.
Closed list Open list
S
ESPRIT 2012-2013
Mohamed Heny SELMI ©
SIMULATION BEST FIRST SEARCH
Closed list Open list
S S
B, S, 2
C, S, 4
A, S, 5
ESPRIT 2012-2013
Mohamed Heny SELMI ©
SIMULATION BEST FIRST SEARCH
Closed list Open list
S S
B, S, 2 B, S, 2
C, S, 4
A, S, 5
G, B, 8
ESPRIT 2012-2013
Mohamed Heny SELMI ©
SIMULATION BEST FIRST SEARCH
Closed list Open list
S S
B, S, 2 B, S, 2
C, S, 4 C, S, 4
A, S, 5
F, C, 6
G, B, 8
ESPRIT 2012-2013
Mohamed Heny SELMI ©
SIMULATION BEST FIRST SEARCH
Closed list Open list
S S
B, S, 2 B, S, 2
C, S, 4 C, S, 4
A, S, 5 A, S, 5
F, C, 6
G, B, 8
E, A, 9
D, A, 14
ESPRIT 2012-2013
Mohamed Heny SELMI ©
SIMULATION BEST FIRST SEARCH
Closed list Open list
S S
B, S, 2 B, S, 2
C, S, 4 C, S, 4
A, S, 5 A, S, 5
F, C, 6 F, C, 6
G, F, 7
G, B, 8
E, A, 9
D, A, 14
ESPRIT 2012-2013
Mohamed Heny SELMI ©
SIMULATION BEST FIRST SEARCH
Closed list Open list
S S
B, S, 2 B, S, 2
C, S, 4 C, S, 4
A, S, 5 A, S, 5
F, C, 6 F, C, 6
G, F, 7 G, F, 7
G, B, 8
E, A, 9
D, A, 14
Path: S, C, F, G
Cost: 7
ESPRIT 2012-2013
Mohamed Heny SELMI ©
SIMULATION BEST FIRST SEARCH
PROPRIÉTÉS DU BEST FIRST SEARCH
ESPRIT 2012-2013
Mohamed Heny SELMI ©
 Exploite les caractéristiques de chaque état, afin d’estimer à quel point ce
nœud est prometteur.
 Une fonction d’évaluation F est utilisées au cours de la recherche, et
associée à chaque nœud N : F(N)
 Généralement, la plus petite valeur de F(N) est celle la plus prometteuse.
 Le terme “best” réfère à la valeur de F, et non pas à la qualité du chemin actuel traversé
 L’algorithme “Best-first search” ne génère pas nécessairement le chemin optimal
SATISFACTION DES CRITÈRES D’ÉVALUATION
ESPRIT 2012-2013
Mohamed Heny SELMI ©
i. Complétude :
- NON : peut être immobilisé dans une boucle infinie
ii. Complexité en temps : O (bm) : exponentielle en m : mais une bonne
heuristique peut fournir une grande amélioration
iii. Complexité en espace : tous les nœuds sont gardés en mémoire
- O (bm)
iv. Optimalité : NON
CONSTRUCTION DE LA FONCTION D’ÉVALUATION
ESPRIT 2012-2013
Mohamed Heny SELMI ©
 La fonction d’heuristique h(N) estime la distance de ETAT(N) à l’état
BUT.
 Sa valeur est indépendante de l’Arbre de recherche actuel, elle dépend
uniquement de l’état ETAT(N) et l’état BUT à tester.
 Il n'y a aucune limitation sur f. N'importe quelle fonction choisie
aléatoirement est acceptable.
Mais aidera-t-il l'algorithme de recherche ?
 L'approche classique est de construire f (N) comme étant une
estimation du chemin de la solution à partir du nœud N
ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXEMPLE 1 : «8-PUZZLE»
14
7
5
2
63
8
STATE(N)
64
7
1
5
2
8
3
Goal state
►Proposer une fonction heuristique :
 Selon l’emplacement des pièces :
 Selon les actions amenant au but :
ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXEMPLE 1 : «8-PUZZLE»
14
7
5
2
63
8
STATE(N)
64
7
1
5
2
8
3
Goal state
►Proposer une fonction heuristique :
 Selon l’emplacement des pièces :
h1(N) = nombre des pièces mal placées
 Selon les actions amenant au but :
h2(N) = somme des distances de Manhattan
ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXEMPLE 1 : «8-PUZZLE»
14
7
5
2
63
8
STATE(N)
64
7
1
5
2
8
3
Goal state
►Proposer une fonction heuristique :
 Selon l’emplacement des pièces :
h1(N) = nombre des pièces mal placées = 6
 Selon les actions amenant au but :
h2(N) = somme des distances de Manhattan
ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXEMPLE 1 : «8-PUZZLE»
14
7
5
2
63
8
STATE(N)
64
7
1
5
2
8
3
Goal state
►Proposer une fonction heuristique :
 Selon l’emplacement des pièces :
h1(N) = nombre des pièces mal placées = 6
 Selon les actions amenant au but :
h2(N) = somme des distances de Manhattan
= 2 + 3 + 0 + 1 + 3 + 0 + 3 + 1 = 13
4
5
5
3
3
4
3 4
4
2 1
2
0
3
4
3
f(N) = h1(N) = nombre de pions qui ne sont pas dans leurs cases
EXEMPLE 1 : «8-PUZZLE»
ESPRIT 2012-2013
Mohamed Heny SELMI ©
5
6
6
4
4
2 1
2
0
5
5
3
f(N) = h2(N) = la somme des nombres
minimaux de déplacements pour amener
chaque pion à sa case finale
EXEMPLE 1 : «8-PUZZLE»
ESPRIT 2012-2013
Mohamed Heny SELMI ©
xN
yN
N
xg
yg
2 2
g g1 N Nh (N) = (x -x ) +(y -y ) (Euclidean distance)
h2(N) = |xN-xg| + |yN-yg| (Manhattan distance)
EXEMPLE 2 : «ROBOT NAVIGATION»
ESPRIT 2012-2013
Mohamed Heny SELMI ©
INCONVÉNIENTS DU BEST FIRST SEARCH
ESPRIT 2012-2013
Mohamed Heny SELMI ©
 Si l’espace d’états est fini et il n’y a pas de redondances des états expoiltés : la recherche est complète, mais
n'est pas en général optimale
 Si l’espace d’états est fini et il y’a possibilité de redondance des états visités : la recherche est non complète
 Si l’espace d’états est infini, la recherche est non complète
BEST-FIRST  EFFICACITÉ
Problème du minimum local
INFORMATION HEURISTIQUE
ESPRIT 2012-2013
Mohamed Heny SELMI ©
 Si h(X) > h(Y) cela va affecter le choix !
 Comment utiliser cet estimé ?
 En l’ajoutant à la longueur du chemin obtenu jusqu’à maintenant
 Si on sait combien cela nous coûte d’arriver à un nœud et que l’on peut
estimer combien cela va nous coûter de ce nœud au but, la somme des deux
sera donc un estimé de la distance totale de ce chemin.
 N est un nœud dans l’arbre de recherche, soit G le coût obtenu jusqu’à N, et H
l’estimé du coût restant pour le chemin de N au But :
Idée : utiliser un algorithme de recherche en utilisant comme fonction
heuristique : F = G + H
ESPRIT 2012-2013
Mohamed Heny SELMI ©
H : fonction
heuristique
[Indépendante de
l’arbre de recherche]
G : Coût du
meilleur chemin
trouvé jusqu’à le
nœud courant
[Dépendante de l’arbre
de recherche]
F(N)= H(N)+G(N)
AMÉLIORATION CLASSIQUE DE LA FONCTION D’ÉVALUATION
PRINCIPE GÉNÉRAL : ÉVALUATION DU
COÛT TOTAL D’UN SOMMET
Coût total (F) = Coût depuis la source (G) +
Coût vers la destination (H)
G : Coût depuis la source
Algorithmes classiques (Ford, Bellman, Dijkstra)
Gi = min Gj + Cij / i prédecesseur de j
Cij coût de l’arc (i,j)
H : Coût vers la destination
Difficile puisque le reste du chemin (vers la destination)
est encore inconnu.
ESPRIT 2012-2013
Mohamed Heny SELMI ©
COÛT VERS LA DESTINATION
Pourquoi évaluer un coût vers la destination ?
 Afin de resserrer l’ensemble des sommets à explorer en
privilégiant les sommets « qui semblent » nous rapprocher
de la destination.
 Dans le cas d’un algorithme de recherche plus classique
(Dijsktra), on effectue une recherche exhaustive parmi
TOUS les sommets.
 l’algorithme A* est plus performant que n’importe quel
autre algorithme puisqu’il diminue l’ensemble des
sommets à explorer.
ESPRIT 2012-2013
Mohamed Heny SELMI ©
OBJECTIFS DE L’ESTIMÉ DE LA DISTANCE AU BUT
ESPRIT 2012-2013
Mohamed Heny SELMI ©
Start
Goal
OBJECTIFS DE L’ESTIMÉ DE LA DISTANCE AU BUT
ESPRIT 2012-2013
Mohamed Heny SELMI ©
Start
Goal
L’ALGORITHME A*
A* SEARCH
ESPRIT 2012-2013
Mohamed Heny SELMI ©
 L’ [open-list] sera ordonnéé selon la fonction d’évaluation :
F(n) = G(n) + H(n)
 C’est un algorithme “best-first search” utilisant la fonction d’évaluation F
 Si on arrrive à un nœud avec une chemin ayant un coût a et après d’autres exécutions on arrive à
redécouvrir le même nœud avec un chemin ayant un coût < a, on doit éliminer le premier chemin et ne
considérer que le 2ème
 Le cas idéal est de travailler avec une heuristique h consistante
 A* est complet et optimal
0+4
1+5
1+5
1+3
3+3
3+4
3+4
3+2 4+1
5+2
5+0
2+3
2+4
2+3
f(N) = g(N) + h(N), où :
 h(N) = nombre des pièces mal placées
 g(n) = coût jusqu’au nœud courant
APPLICATION : 8-PUZZLE
ESPRIT 2012-2013
Mohamed Heny SELMI ©
 soit h*(N) le coût du chemin de N vers le noeud but
 la fonction heuristique h(N) est admissible si:
0  h(N)  h*(N)
 une fonction heuristique admissible est toujours optimale
G est le nœud BUT  h(G) = 0
HEURISTIQUE ADMISSIBLE
ESPRIT 2012-2013
Mohamed Heny SELMI ©
HEURISTIQUE : ADMISSIBILITÉ
ESPRIT 2012-2013
Mohamed Heny SELMI ©
 h*(n) : le véritable coût pour atteindre l’objectif à partir de n
 h(n) : coût estimé du chemin le moins cher entre n et le but
 h(n) estimation de h *(n)
 h est une heuristique admissible (minorante) si :
h(n) ≤ h*(n) (h sous estime h*)
 Solution optimale: la "meilleure" solution, mesurée relativement à h
 h1(n) : nombre de pièces mal placées par rapport à la configuration finale = 6
 h2(n): la somme des nombres minimaux de déplacements =13
 Si une pièce peut être déplacée à tout endroit alors h1 donne la solution optimale
 Si une pièce peut être déplacée dans toute cellule adjacente alors h2 donne la solution
optimale
 Si n h2(n)≥h1(n) (les deux étant admissibles), alors h2 domine h1 et par conséquent h2 est
meilleure pour la recherche que h1
 H2 est préférable à h1 si elle conduit à explorer moins d’alternative que h1
(h2 est plus proche à h* que h1)
HEURISTIQUE : ADMISSIBILITÉ
ESPRIT 2012-2013
Mohamed Heny SELMI ©
H=1
H=0
H=100
732
1 1
H=0
Que se passe-t-il si h n’est pas admissible ?
Dans l’exemple suivant, il ne coute que 3 pour aller de l’état initial au but : Mais nous
avons h(x)=100!
De l’autre côté, cela nous coûte 73 pour aller a Y, mais h(x)=1 seulement
(coût estimé = coût réel)
Dans cet exemple, h n’est pas admissible :
g(X)+h(X) = 102
g(Y)+h(Y) = 74
Le chemin optimal n’est pas trouve!
CONSTRUCTION D’HEURISTIQUES
ESPRIT 2012-2013
Mohamed Heny SELMI ©
 On considère un sous problème
 On élimine certaines contraintes du problème
 En proposant plusieurs heuristiques, on choisit celle qui domine les autres
 Apprentissage d’heuristiques :
 Réseaux de Neurones
 Arbres de Décisions
 Modèles Prédictifs mathématiques du Data Mining
FONCTION HEURISTIQUE
CONSISTANTE
Une heuristique h est consistante si
1. Pour tout nœud N et tout nœud successeur N’ de N :
h(N)  c(N,N’) + h(N’)
2. Pour tout nœud BUT G:
h(G) = 0
 l’heuristique est dite monotone
N
N’
h(N)
h(N’)
c(N,N’)
ESPRIT 2012-2013
Mohamed Heny SELMI ©
ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXEMPLE 1 : «ROBOT NAVIGATION»
Start
0 211
58 7
7
3
4
7
6
7
6 3 2
8
6
45
23 3
36 5 24 43 5
54 6
5
6
4
5
ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXEMPLE 1 : «ROBOT NAVIGATION»
f(N) = h(N), avec h(N) = Manhattan distance to the goal
(not A*)
Start
0 211
58 7
7
3
4
7
6
7
6 3 2
8
6
45
23 3
36 5 24 43 5
54 6
5
6
4
5
f(N) = h(N), avec h(N) = Manhattan distance to the goal
(not A*)
7
0
ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXEMPLE 1 : «ROBOT NAVIGATION»
Start
f(N) = g(N)+h(N), avec h(N) = distance de Manhattan
(A*)
0 211
58 7
7
3
4
7
6
7
6 3 2
8
6
45
23 3
36 5 24 43 5
54 6
5
6
4
57+0
6+1
6+1
8+1
7+0
7+2
6+1
7+2
6+1
8+1
7+2
8+3
7+2 6+36+3 5+45+4 4+54+5 3+63+6 2+7
8+3 7+47+4 6+5
5+6
6+3 5+6
2+7 3+8
4+7
5+6 4+7
3+8
4+7 3+83+8 2+92+9 3+10
2+9
3+8
2+9 1+101+10 0+110+11
ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXEMPLE 1 : «ROBOT NAVIGATION»
Start
SATISFACTION DES CRITÈRES D’ÉVALUATION
ESPRIT 2012-2013
Mohamed Heny SELMI ©
i. Complétude :
- Oui, sauf s’il y a une infinité de nœuds tels que f ≤ f (G)
ii. Complexité en temps : exponentielle selon la longueur de la solution
Complexité en espace :
- exponentielle (garde tous les nœuds en mémoire)
- Habituellement, on manque d’espace bien avant de manquer de temps
Optimalité : OUI 

Contenu connexe

Tendances

Les systèmes experts
Les systèmes expertsLes systèmes experts
Les systèmes experts
Bruno Delb
 
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Riadh K.
 
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Sofien Benrhouma
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdf
slimyaich3
 
Apprentissage supervisé.pdf
Apprentissage supervisé.pdfApprentissage supervisé.pdf
Apprentissage supervisé.pdf
hanamettali
 

Tendances (20)

Intelligence Artificielle: résolution de problèmes en Prolog ou Prolog pour l...
Intelligence Artificielle: résolution de problèmes en Prolog ou Prolog pour l...Intelligence Artificielle: résolution de problèmes en Prolog ou Prolog pour l...
Intelligence Artificielle: résolution de problèmes en Prolog ou Prolog pour l...
 
Rapport Mini Projet : élaborer un moteur de Recherche spécialisé en Education
Rapport Mini Projet : élaborer un moteur de Recherche spécialisé en EducationRapport Mini Projet : élaborer un moteur de Recherche spécialisé en Education
Rapport Mini Projet : élaborer un moteur de Recherche spécialisé en Education
 
chap2 algorithme de recherche.pdf
chap2 algorithme de recherche.pdfchap2 algorithme de recherche.pdf
chap2 algorithme de recherche.pdf
 
Une approche multi-agents pour la détection de contours
Une approche multi-agents pour la détection  de contoursUne approche multi-agents pour la détection  de contours
Une approche multi-agents pour la détection de contours
 
Rapport (Mémoire de Master) de stage PFE pour l’obtention du Diplôme Nationa...
Rapport (Mémoire de Master) de stage PFE pour  l’obtention du Diplôme Nationa...Rapport (Mémoire de Master) de stage PFE pour  l’obtention du Diplôme Nationa...
Rapport (Mémoire de Master) de stage PFE pour l’obtention du Diplôme Nationa...
 
Développement informatique : Algorithmique II : Techniques de recherche en in...
Développement informatique : Algorithmique II : Techniques de recherche en in...Développement informatique : Algorithmique II : Techniques de recherche en in...
Développement informatique : Algorithmique II : Techniques de recherche en in...
 
Les systèmes experts
Les systèmes expertsLes systèmes experts
Les systèmes experts
 
Chapitre 4 heuristiques et méta heuristiques
Chapitre 4 heuristiques et méta heuristiquesChapitre 4 heuristiques et méta heuristiques
Chapitre 4 heuristiques et méta heuristiques
 
Ma présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site WebMa présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site Web
 
Présentation PFE
Présentation PFEPrésentation PFE
Présentation PFE
 
Cours design pattern m youssfi partie 2 observer
Cours design pattern m youssfi partie 2 observerCours design pattern m youssfi partie 2 observer
Cours design pattern m youssfi partie 2 observer
 
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
 
Cours Big Data Chap1
Cours Big Data Chap1Cours Big Data Chap1
Cours Big Data Chap1
 
Rapport de stage d'initiation 2015 Mahmoudi Mohamed Amine
Rapport de stage d'initiation 2015 Mahmoudi Mohamed AmineRapport de stage d'initiation 2015 Mahmoudi Mohamed Amine
Rapport de stage d'initiation 2015 Mahmoudi Mohamed Amine
 
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdf
 
Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...
 
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...
Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...
 
BigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-ReduceBigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-Reduce
 
Apprentissage supervisé.pdf
Apprentissage supervisé.pdfApprentissage supervisé.pdf
Apprentissage supervisé.pdf
 

Similaire à Intelligence Artificielle - Algorithmes de recherche

Principe d'une organisation agile
Principe d'une organisation agilePrincipe d'une organisation agile
Principe d'une organisation agile
Mathieu Gandin
 
Logique floue application
Logique floue application Logique floue application
Logique floue application
Arrow Arrow
 
Management de projets (Cours Niveau 1) Généralités
Management de projets (Cours Niveau 1) GénéralitésManagement de projets (Cours Niveau 1) Généralités
Management de projets (Cours Niveau 1) Généralités
Joseph SZCZYGIEL
 
Définir un cadre méthodologique
Définir un cadre méthodologiqueDéfinir un cadre méthodologique
Définir un cadre méthodologique
Mathieu Gandin
 

Similaire à Intelligence Artificielle - Algorithmes de recherche (20)

Introduction à l'approche ADM de l'OMG
Introduction à l'approche ADM de l'OMGIntroduction à l'approche ADM de l'OMG
Introduction à l'approche ADM de l'OMG
 
Du Clic à la Conversation : remplaçons boutons et formulaires par un LLM !
Du Clic à la Conversation : remplaçons boutons et formulaires par un LLM !Du Clic à la Conversation : remplaçons boutons et formulaires par un LLM !
Du Clic à la Conversation : remplaçons boutons et formulaires par un LLM !
 
Principe d'une organisation agile
Principe d'une organisation agilePrincipe d'une organisation agile
Principe d'une organisation agile
 
Logique floue application
Logique floue application Logique floue application
Logique floue application
 
La méthode amdec
La méthode amdecLa méthode amdec
La méthode amdec
 
Amdec
Amdec Amdec
Amdec
 
Chap XII Analyse Numerique
Chap XII Analyse NumeriqueChap XII Analyse Numerique
Chap XII Analyse Numerique
 
OCTO 2012 : Les pratiques des geants du web
OCTO 2012 : Les pratiques des geants du web OCTO 2012 : Les pratiques des geants du web
OCTO 2012 : Les pratiques des geants du web
 
OCTO - Les pratiques des geants du web
OCTO - Les pratiques des geants du webOCTO - Les pratiques des geants du web
OCTO - Les pratiques des geants du web
 
Les pratiques des geants du web
Les pratiques des geants du webLes pratiques des geants du web
Les pratiques des geants du web
 
Chap III : Cours de Modélisation & Simulation des systèmes
Chap III : Cours de Modélisation & Simulation des systèmesChap III : Cours de Modélisation & Simulation des systèmes
Chap III : Cours de Modélisation & Simulation des systèmes
 
L'Agilité en 4D - Christophe Battu
L'Agilité en 4D - Christophe BattuL'Agilité en 4D - Christophe Battu
L'Agilité en 4D - Christophe Battu
 
Management de projets (Cours Niveau 1) Généralités
Management de projets (Cours Niveau 1) GénéralitésManagement de projets (Cours Niveau 1) Généralités
Management de projets (Cours Niveau 1) Généralités
 
PRESENTATION SIX SIGMA01-04-2024 2.41.ppt
PRESENTATION SIX SIGMA01-04-2024 2.41.pptPRESENTATION SIX SIGMA01-04-2024 2.41.ppt
PRESENTATION SIX SIGMA01-04-2024 2.41.ppt
 
Reinforcement Learning - Apprentissage par renforcement
Reinforcement Learning - Apprentissage par renforcementReinforcement Learning - Apprentissage par renforcement
Reinforcement Learning - Apprentissage par renforcement
 
8 trend dsi pharma vf
8 trend dsi pharma vf8 trend dsi pharma vf
8 trend dsi pharma vf
 
Définir un cadre méthodologique
Définir un cadre méthodologiqueDéfinir un cadre méthodologique
Définir un cadre méthodologique
 
Atelier technique de la technopôle de Rouen le 8 décembre 2015, Conférence de...
Atelier technique de la technopôle de Rouen le 8 décembre 2015, Conférence de...Atelier technique de la technopôle de Rouen le 8 décembre 2015, Conférence de...
Atelier technique de la technopôle de Rouen le 8 décembre 2015, Conférence de...
 
Introduction aux BRMS
Introduction aux BRMSIntroduction aux BRMS
Introduction aux BRMS
 
71368830 correction-td-systeme-d-information
71368830 correction-td-systeme-d-information71368830 correction-td-systeme-d-information
71368830 correction-td-systeme-d-information
 

Intelligence Artificielle - Algorithmes de recherche

  • 1. II. REPRÉSENTATION ET RÉSOLUTION DE PROBLÈMES LES ALGORITHMES DE RECHERCHE INTELLIGENCE ARTIFICIELLE ET SYSTÈMES EXPERTS Mohamed Heny SELMI medheny.selmi@esprit.tn
  • 2. COMMENT RÉSOUDRE UN PROBLÈME ?  Recenser les états d’un système donné et trouver parmi ces états une ou plusieurs solutions.  Le passage d’un état à un autre se fait par l’application d’une action donnée.  Développement d’un arbre de recherche  Appliquer une stratégie de recherche ESPRIT 2012-2013 Mohamed Heny SELMI © Objectif : Concevoir un système de résolution automatique de problèmes qui soit indépendant du problème à résoudre Démarche :  Considérer qu’il existe des méthodes générales permettant de résoudre n’importe quel type de Pb!  La méthode doit être "neutre" sur le domaine concerné  La méthode sépare les connaissances du Pb et sa résolution
  • 3. PROBLÈME EN IA ?  Un sujet est confronté à un ‘problème’ dès qu'il doit produire une action non réflexe (non prévisible) sur son environnement ESPRIT 2012-2013 Mohamed Heny SELMI ©  On a un problème quand : i. On se trouve dans une certaine situation : état ii. On a un but à atteindre : état ayant des caractéristiques données iii. On ne voit pas immédiatement la suite d’actions à accomplir pour atteindre ce but : résoudre le problème  La Résolution de Problème s’effectue en progressant, de situation en situation, d’une hypothèse initiale jusqu’à la solution but
  • 4. EXEMPLE DE RECHERCHE ESPRIT 2012-2013 Mohamed Heny SELMI © Résoudre ce Pb : revient à partir de Pi (pierre initiale) de proposer une stratégie permettant de parcourir l'espace d'états (les pierres) pour trouver l'état Pf (pierre finale)  Les états sont les pierres  Pour passer d'une pierre à l'autre, on utilise le prédicat ‘sauter’  On peut atteindre certaines pierres et pas d'autres  A chaque état Pi on associe Pj qu’on peut atteindre à partir de Pi  On peut se tromper et arriver sur une pierre à partir de la quelle nos forces nous interdisent d'atteindre la suivante  On peut revenir en arrière et essayer un autre chemin (backtracking strategy)  Chaque opérateur nous fait passer d'un état à un autre qui nous rapproche, en principe, de Pf
  • 5. ESPRIT 2012-2013 Mohamed Heny SELMI © 3L 5L 9L 0 0 0 start 3 0 0 0 0 3 3 0 3 0 0 6 3 0 6 0 3 6 3 3 6 1 5 6 0 5 7 goal “WATER JUGS PROBLEM” 7 L 3 L 5 L 9 L
  • 6. ESPRIT 2012-2013 Mohamed Heny SELMI © “WATER JUGS PROBLEM” Une autre Solution : 3L 5L 9L 0 0 0 start 0 5 0 3 2 0 3 0 2 3 5 2 3 0 7 goal 7 L 3 L 5 L 9 L
  • 7. ESPRIT 2012-2013 Mohamed Heny SELMI © “WATER JUGS PROBLEM” Solution 1: 3L 5L 9L 0 0 0 start 3 0 0 0 0 3 3 0 3 0 0 6 3 0 6 0 3 6 3 3 6 1 5 6 0 5 7 goal Solution 2: 3L 5L 9L 0 0 0 start 0 5 0 3 2 0 3 0 2 3 5 2 3 0 7 goal
  • 8. ESPRIT 2012-2013 Mohamed Heny SELMI © “WATER JUGS PROBLEM” Solution Optimale : 3L 5L 9L 0 0 0 start 0 0 9 0 5 4 3 5 4 0 5 7 goal 7 L 3 L 5 L 9 L
  • 9. (0 0 0) (3 0 0) (0 5 0) (0 0 9) (0 0 3)(0 3 0) (3 0 9)(3 5 0) (0 5 4) (3 0 6)(0 5 9)(3 2 0) (0 0 5) (3 0 3) (0 3 9) (3 3 0) (0 5 3) (3 5 9) (3 0 5) (3 0 2) (3 2 9) (0 5 5) (3 5 4) (3 5 6) (3 2 4) (3 5 1) (0 3 6)(0 2 3) (0 5 7) (0 2 7) UN ARBRE D’ÉTATS DU PROBLÈME “WATER JUGS” ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 10. PROBLÈMES DU MONDE RÉEL  Recherche d'un trajet (coût de chemin : distance, temps, fuel, etc.) - Routage dans les réseaux informatiques - Systèmes de synchronisation dans les transports en commun - Navigation d'un robot ESPRIT 2012-2013 Mohamed Heny SELMI ©  Entreprise / Economie: - Changer le système informatique de l’entreprise - Racheter une P.M.E. - Mettre sur le marché une nouvelle gamme de produits  Faire un diagnostic  Traduire un texte  Construire un système de reconnaissance d’un visage dans une image digitale  Etc.
  • 11. PROBLÈMES DU MONDE RÉEL  Jeu d'échecs - Recherche parmi un ensemble de déplacements - Trouver un déplacement qui améliore le positionnement ESPRIT 2012-2013 Mohamed Heny SELMI ©  Itinéraire - Recherche parmi un ensemble de chemins - Trouver un chemin qui minimise la distance à parcourir  Preuve de théorème - Recherche parmi un ensemble d'étapes de raisonnement - Trouver un raisonnement qui permet de prouver le théorème
  • 12. LES CONCEPTS DE LA RÉSOLUTION D'UN PB Variable d’état - variable décrivant un certain ensemble d’objets ou de situations relatifs à un problème donné - le problème est décrit sous forme de variables d’états - Structure de donné ou une formule du langage de prédicats de 1er ordre ESPRIT 2012-2013 Mohamed Heny SELMI © Espace d'états - chaque état est une représentation abstraite de l'environnement - l'espace d'état est discret État initial - habituellement l'état courant - parfois un ou plusieurs états hypothétiques Test-solution (ou test de but) - habituellement une condition à satisfaire - parfois la description explicite d'un état
  • 13. LES CONCEPTS DE LA RÉSOLUTION D'UN PB Opérateur - transforme une situation en une autre qui la rapproche d'une situation solution (degré de solution) - Le programme de résolution de problème choisit l'opérateur qui minimise au mieux ce degré - règle de production: si …alors - opérateur : <Précondition, Post-condition, coût>  Précondition : Condition à vérifier lors de l’appel d’un opérateur  Post-condition : effet de l’application de l’opérateur  coût : coût du chemin(optionnel); distance, temps, énergie, etc. ESPRIT 2012-2013 Mohamed Heny SELMI © Fonction "successeur" - fonction : [ état → sous-ensemble d'états ] - une représentation abstraite des actions possibles
  • 14. LES CONCEPTS DE LA RÉSOLUTION D'UN PB Espace d’états (EE) - Postulat de base de la RP : l’ensemble de tous les états possibles pour le problème considéré - Les nœuds représentent les états qu’on peut atteindre - Les liens sont des transitions légales entre états - L’espace d’états représente tous les états et les opérateurs du problème ESPRIT 2012-2013 Mohamed Heny SELMI © C'est un quadruple [N,A,I,F] : - N : l'ensemble des Nœuds : états - A : l'ensemble des Arcs : opérateurs - I : l'ensemble des états Initiaux - F : l'ensemble des états Finaux Les éléments de F sont décris par : - Propriétés mesurables des états établis lors de la recherche (puzzle) - Propriétés mesurables d'un chemin développé lors de la recherche (labyrinthe)
  • 15. EXERCICE WATER JUGS PROBLEM ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 16. ESPRIT 2012-2013 Mohamed Heny SELMI © EXERCICE WATER JUGS PROBLEM
  • 17. ESPRIT 2012-2013 Mohamed Heny SELMI © EXERCICE WATER JUGS PROBLEM
  • 18. ESPRIT 2012-2013 Mohamed Heny SELMI © EXERCICE WATER JUGS PROBLEM
  • 19. DÉMARCHE GÉNÉRALE DE RÉSOLUTION DE PROBLÈMES ESPRIT 2012-2013 Mohamed Heny SELMI ©  Trouver une bonne représentation du problème  Trouver des opérateurs pour manipuler cette représentation  Effectuer un contrôle de stratégie (algorithme de recherche)  Démarche classique : programme = suite d'instructions  l’usager doit préciser les opérations à appliquer  l’usager doit indiquer dans quel ordre les appliquer  Démarche de GPS : l’application des opérateurs est universelle  l’usager doit spécifier tous les opérateurs applicables  le GPS choisit l'opérateur selon le contexte (selon l’alg. de reche. )
  • 20. PROBLÈMES – ESPACE D’ÉTATS ESPRIT 2012-2013 Mohamed Heny SELMI ©  Formuler le problème  identifier les objets et les variables d’états du problème  décider des états et des actions à considérer étant donné un but  c’est la partie modélisation des données et des opérateurs  Explorer l'espace de recherche  déterminer une séquence d'actions qui permet d'atteindre le but  c’est la seule partie algorithmique Dans la vie courante, une telle recherche est la conséquence d’un manque de connaissances. C’est vrai également en I.A; le "GPS" est un outil pour "attaquer" (résoudre) les problèmes qui ne peuvent pas être résolus d’une autre façon (algorithmique)
  • 21. REPRÉSENTATION FORMELLE ESPRIT 2012-2013 Mohamed Heny SELMI ©  Énoncé type : soit un état initial, un(des) état(s) terminal(aux), un ensemble d’opérateurs de changement d’états, trouver une séquence d’opérateurs permettant de passer de l’état initial à l’état final. Pour un même problème, plusieurs représentations par graphe d'états sont possibles •Modélisation Énoncé informel du problème •Recherche Représentation formelle du problème •Décision Solution : état spécifique
  • 22. L’ÉTAPE LA PLUS IMPORTANTE : LA FORMULATION DU PROBLÈME ESPRIT 2012-2013 Mohamed Heny SELMI © ►Mettre en évidence les caractéristiques essentielles d’un problème pour les rendre accessibles à une procédure de résolution de problèmes :  Graphes (arbres) d’états  Calcul de prédicats (logique du 1er Ordre) ►La représentation d’un problème est la capture des éléments essentiels du problème :  Supprimer les détails de la représentation  Conserver le minimum nécessaire pour la résolution du problème
  • 23. L’ABSTRACTION D’UNE REPRÉSENTATION ESPRIT 2012-2013 Mohamed Heny SELMI ©  L’abstraction de la représentation est essentielle pour réduire la complexité  Abstraire également les actions  La représentation doit être efficace et expressive  L’abstraction est utile si elle simplifie la réalisation de la solution  L’abstraction est valide si on peut projeter (développer) la solution dans le monde réel  La méthode générale pour choisir un opérateur ou construire un opérateur consiste à essayer de combler le fossé entre les états Si et Sj. C'est ce que "Simon" appelle la "réduction de la différence"  C’est du rapprochement mental entre Si et Sj que naît l'opérateur  Les raisons qui font passer d'un état à l'autre résultent d'une appréciation des différences entre ces états et de l'idée qu’on fait du chemin qui nous permettra de passer
  • 24. LE CHOIX D’UNE BONNE REPRÉSENTATION ESPRIT 2012-2013 Mohamed Heny SELMI ©  le choix est souvent justifié par référence à des notions telles que le caractère naturel d’une représentation pour un Pb  Le choix d’une représentation porte surtout sur : - la manière de modéliser (abstraire) le Pb à résoudre - les données à prendre en compte - La manière d’élaborer les alternatives(var. d’états et opérateurs) - La manière d’exprimer les contraintes(souvent niveau opérateurs)  En formalisant le processus de RP, l’IA a certainement contribué à clarifier le processus de formulation de Pb
  • 25. COMPOSANTES D’UN GENERAL PROBLEM SOLVER ESPRIT 2012-2013 Mohamed Heny SELMI © ►Une base de connaissances contenant: i. Des informations sur l’état actuel (Base de Faits) ii. Un ensemble d’opérateurs permettant de transformer les états (Base de Règles) ►Une stratégie de contrôle permettant de choisir l’opérateur à appliquer dans un état particulier durant la résolution du problème (Moteur d’Inférences) ►Ressemblance avec les Systèmes Experts !
  • 26. STRATÉGIE DE RECHERCHE ESPRIT 2012-2013 Mohamed Heny SELMI ©  Représentation du problème sous forme d’états et opérateurs permettant de passer d’un état à un autre.  La solution du problème est une séquence d’application d’opérateurs qui transforment l’état initial en état final.  Retrouver cette séquence requière la recherche dans l’espace d’états en générant un chemin reliant l’état initial à l’état final
  • 27. IMPLÉMENTATION D’UN ALGORITHME DE RECHERCHE ESPRIT 2012-2013 Mohamed Heny SELMI © Function General-Search(problem, Queuing-Fn) returns a solution, or failure // initialize the search tree using the initial state problem nodes  make-queue(make-node(initial-state[problem])) loop do // there are no candidates if node is empty then return failure // choose a leaf node node  Remove-Front(nodes) // the node contains a goal state if Goal-Test[problem] applied to State(node) succeeds then return node // expand the node nodes  Queuing-Fn(nodes, Expand(node, Operators[problem])) end  Queuing-Fn(queue, elements) : fonction d’insertion d’éléments en queue d’une liste et détermine l’ordre des nœuds exploités.  La spécificité d’insertion en queue dépend essentiellement de la variété de l’algorithme de recherche
  • 28. EVALUATION D’UN ALGORITHME DE RECHERCHE ESPRIT 2012-2013 Mohamed Heny SELMI © m Gb d ►les algorithmes de recherche sont généralement évalués selon 4 critères : i. Complétude: est-ce que ça aboutie toujours à une solution, si elle existe? ii. Complexité en temps: combien de nœuds faut-il produire pour trouver la solution? iii. Complexité en espace: nombre maximum de nœuds à conserver en mémoire pour trouver la solution ? iv. Optimalité: est-ce que la méthode trouve la meilleure solution s'il en existe plusieurs?
  • 29. ÉVITER LES REDONDANCE DES ÉTATS ESPRIT 2012-2013 Mohamed Heny SELMI © Dans l’ordre croissant de l’efficacité et du temps de calcul:  Ne pas retourner à l’état duquel on vient: développer la fonction qui peut sauter certains successeurs qui ont le même nœud parent.  Ne pas créer des chemins avec des cycles: développer la fonction peut sauter certains successeurs qui sont dans la liste des nœuds exécutés  Ne pas générer un état qui a déjà été développé: garder en mémoire l’historique de tous les nœuds exploités, à moins que le coût du nœud exploité est inférieur au dernier coût
  • 30. STRATÉGIES DE RECHERCHE Solutions raisonnables - On cherche pas si la solution est meilleur - Distance parcourue non prise en compte Tout chemin Trouver des chemins minimaux - Lorsque le coût du parcours d'un chemin est primordial Chemin optimal Processus adversaires Jeux ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 32. RECHERCHE EN PROFONDEUR D’ABORD « DEPTH FIRST SEARCH » ESPRIT 2012-2013 Mohamed Heny SELMI © ►Principe: i. Sélectionner une possibilité à chaque nœud ii. Descendre jusqu’à ce qu’on atteigne le but ou une feuille iii. En cas d’impasse, reprendre la recherche de l’ancêtre le plus proche dont au moins un fils n’a pas encore été exploré Algorithme: (Représentation Pile) 1. Empiler la racine 2. Jusqu'à ce que la pile soit vide ou nœud but soit atteint Déterminer si sommet pile=but 2-a Si oui ne rien faire 2-b Sinon dépiler le 1er élément et empiler ses fils, s’il en a, de d à g 3. La recherche aboutit si nœud but a été atteint et échoue sinon
  • 33. S A D B D A E C E E B B F D F B F C E A C G G C G F 14 19 19 17 17 15 15 13 G 25 11 ESPRIT 2012-2013 Mohamed Heny SELMI © DEPTH-FIRST SEARCH
  • 34. SIMULATION DEPTH-FIRST SEARCH ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 35. SIMULATION DEPTH-FIRST SEARCH ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 36. SIMULATION DEPTH-FIRST SEARCH ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 37. SIMULATION DEPTH-FIRST SEARCH ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 38. SIMULATION DEPTH-FIRST SEARCH ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 39. SIMULATION DEPTH-FIRST SEARCH ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 40. SIMULATION DEPTH-FIRST SEARCH ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 41. SIMULATION DEPTH-FIRST SEARCH ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 42. PROPRIÉTÉS DU DEPTH-FIRST SEARCH ESPRIT 2012-2013 Mohamed Heny SELMI ©  L’algorithme est incapable de profiter de la structure du problème pour éviter certains chemins absurdes  L’algorithme peut dans certains cas parcourir tout l'espace d'état avant de trouver une solution  Utilise moins de mémoire que BFS et plus performant dans un environnement de mémoire limitée  Plus rapide dans le cas où il y a beaucoup de chemins conduisant à la solution, et surtout s’ils sont relativement longs
  • 43. SATISFACTION DES CRITÈRES D’ÉVALUATION ESPRIT 2012-2013 Mohamed Heny SELMI © i. Complétude: - Oui : si on évite les états répétés ou si l’espace de recherche est fini - Non : si la profondeur est infini, s’il y a des cycles ii. Complexité en temps: L’algorithme explore tous les nœuds 1 + b + b2+ b3+ …+bd= O (bd) : exponentielle en d iii. Complexité en espace: nombre de nœuds conservés (pire des cas) - A chaque profondeur p<d on a (b-1) nœuds - A la profondeur d on a b nœuds - Totale = (d-1) * (b-1) + b = O (bd) : linéaire en d iv. Optimalité: NON
  • 44. RECHERCHE EN LARGEUR D’ABORD « BREADTH FIRST SEARCH » ESPRIT 2012-2013 Mohamed Heny SELMI © ►Principe: i. Chercher le but souhaité parmi tous les nœuds d’un niveau(i) donné avant d’aller consulter leurs fils (niveaui+1) ii. Continuer, niveau par niveau jusqu’au but Algorithme: (Représentation File) 1. Mettre la racine en tête de file 2. Jusqu'à ce que la file soit vide ou but atteint Déterminer si le 1erélément de la file est le but 2-a Si oui ne rien faire 2-b Sinon le retirer de la file et enfiler ses fils, s’il en a, de g à d 3. La recherche aboutit si nœud but a été atteint et échoue sinon
  • 45. BREADTH-FIRST SEARCH S A D B D A E C E E B B F D F B F C E A C G G C G F 14 19 19 17 17 15 15 13 G 25 11 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 46. SIMULATION BREADTH-FIRST SEARCH ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 47. ESPRIT 2012-2013 Mohamed Heny SELMI © SIMULATION BREADTH-FIRST SEARCH
  • 48. ESPRIT 2012-2013 Mohamed Heny SELMI © SIMULATION BREADTH-FIRST SEARCH
  • 49. ESPRIT 2012-2013 Mohamed Heny SELMI © SIMULATION BREADTH-FIRST SEARCH
  • 50. ESPRIT 2012-2013 Mohamed Heny SELMI © SIMULATION BREADTH-FIRST SEARCH
  • 51. ESPRIT 2012-2013 Mohamed Heny SELMI © SIMULATION BREADTH-FIRST SEARCH
  • 52. ESPRIT 2012-2013 Mohamed Heny SELMI © SIMULATION BREADTH-FIRST SEARCH
  • 53. ESPRIT 2012-2013 Mohamed Heny SELMI © SIMULATION BREADTH-FIRST SEARCH
  • 54. ESPRIT 2012-2013 Mohamed Heny SELMI © SIMULATION BREADTH-FIRST SEARCH
  • 55. PROPRIÉTÉS DU BREADTH-FIRST SEARCH ESPRIT 2012-2013 Mohamed Heny SELMI ©  La solution trouvée est la moins profonde, garantie de trouver une solution même s’il existe un cycle  Coûteux lorsque plusieurs branches mènent au but, à des profondeurs pratiquement identiques  DFS descend directement au fond de l’arbre de recherche, BFS descend uniformément dans l’arbre  BFS effectue plus rapidement une recherche qui tente de déterminer le chemin le plus court à la solution, alors que DFS visitera tous les enfants de chaque nœud de la pile
  • 56. SATISFACTION DES CRITÈRES D’ÉVALUATION ESPRIT 2012-2013 Mohamed Heny SELMI © i. Complétude: - Oui : si b est fini ii. Complexité en temps: L’algorithme explore tout les nœuds 1 + b + b2+ b3+ …+bd= O (bd) : exponentielle en d iii. Complexité en espace: nombre de nœuds conservés (pire des cas) - combien de nœuds peuvent être dans la liste (pire des cas) - A la profondeur d-1 on a bd nœuds inexplorés dans la liste : O (bd) iv. Optimalité: NON
  • 57. EXEMPLE 1 : 8-PUZZLE ESPRIT 2012-2013 Mohamed Heny SELMI © ►déterminer :  Les états :  L’état initial :  Les actions :  L’état but :  Le coût du chemin : NB: l’obtention d’une solution optimale du 8-Puzzle est un problème NP complet
  • 58. 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 78 1 3 5 6 8 1 3 4 5 6 7 82 4 7 2 1 2 3 4 5 6 7 8 Si les états autorisés sont déjà exploités, L’arbre de recherche peut être infini même lorsque l’espace d’états est fini ESPRIT 2012-2013 Mohamed Heny SELMI © EXEMPLE 1 : 8-PUZZLE
  • 59. Nœud parent 1 2 3 4 5 6 7 8 ETAT ... Nœuds fils EXEMPLE 1 : 8-PUZZLE ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 60. ESPRIT 2012-2013 Mohamed Heny SELMI © EXEMPLE 1 : 8-PUZZLE 12 14 11 15 10 13 9 5 6 7 8 4321 12 15 11 14 10 13 9 5 6 7 8 4321 ?  Si un problème n’admet pas de solution  l’espace d’état est infini  possibilité d’examiner arbitrairement des états plus qu’une fois  l’algorithme BFS peut fonctionner en boucle infinie
  • 61. EXEMPLE 2 : « RIVER TEST PRO » ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 62. EXEMPLE 2 : « RIVER TEST PRO » ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 63. EXEMPLE 2 : « RIVER TEST PRO » ESPRIT 2012-2013 Mohamed Heny SELMI © FORMULATION DU PROBLÈME ► déterminer :  Les états :  L’état initial :  Les actions :  L’état but :  Le coût du chemin : ► une proposition de formulation :  Les états : ne considérer que la côte gauche de la rivière : (W,S,C,B)  L’état initial : (W,S,C,B)  Les actions : Transporter(B, … )  L’état but : (-, -, -, -)
  • 64. EXEMPLE 2 : « RIVER TEST PRO » ESPRIT 2012-2013 Mohamed Heny SELMI © W s C B
  • 65. (W, S, C, B) (W, C) (W, C, B) (W) (C) (W, S, B) (C, S, B) (S) (S, B) () ESPRIT 2012-2013 Mohamed Heny SELMI © EXEMPLE 2 : « RIVER TEST PRO » GRAPHE D’ÉTATS
  • 66. EXEMPLE 3 : « FROG PUZZLE » ESPRIT 2012-2013 Mohamed Heny SELMI © ► proposer une structure de données qui servira pour la formulation du problème ! ► en déduire :  L’espace d’états :  L’état initial :  Les actions :  L’état but :  Un graphe du chemin de la solution :
  • 67. EXEMPLE 3 : « FROG PUZZLE » ESPRIT 2012-2013 Mohamed Heny SELMI © ►lequel de ces états est un état qui ne doit pas être exploité par un algorithme de recherche aveugle ? 1 2 3
  • 68. ALGORITHMES DE RECHERCHE INFORMÉS ESPRIT 2012-2013 Mohamed Heny SELMI © Méthodes Heuristiques
  • 69. OBJECTIFS DE LA RECHERCHE INFORMÉE ESPRIT 2012-2013 Mohamed Heny SELMI © ► pourquoi ?  Éviter le parcours complet de l’espace des états  Éviter le parcours complet de l’espace des actions  Éviter l’énumération complète des solutions ► comment ?  Coupant les solutions partielles mauvaises  Explorant d’abord les solutions partielles prometteuses ► critères ?  Critères de choix liés au problème (recherche guidée)  Prend en compte le non-déterminisme lors du choix de l'alternative  Employée lorsque le coût est primordial  Peut estimer si un nœud est plus prometteur qu’un autre
  • 70. CHOIX D’UN NŒUD NÉCESSITE UNE HEURISTIQUE ESPRIT 2012-2013 Mohamed Heny SELMI © ► Une stratégie d’organisation de recherche ne permet pas de prendre en compte des connaissances supplémentaires sur la manière de trouver l’état but depuis un état quelconque de l’Espace d’états. ►Un algorithme de recherche efficace doit guider la recherche du chemin solution en faisant des choix et en gérant la révision de ces choix pour éviter l’explosion combinatoire ►On utilise des Heuristiques pour guider ces choix en ordonnant dynamiquement la liste des successeurs selon leur "promesse de rapprocher d’un but"
  • 71. PROPRIÉTÉS DES HEURISTIQUES ESPRIT 2012-2013 Mohamed Heny SELMI © ► Connaissance spécifique au Pb à résoudre, indépendante de l’algorithme de recherche, et non généralisable ►Une règle d'estimation, une stratégie, une astuce, une simplification ou autre règle permettant de guider les choix non-déterministes ►Permet de détecter grâce à une fonction d'évaluation le nœud qui semble potentiellement meilleur que les autres et de se concentrer sur ce nœud par la suite en ordonnant la liste de successeurs d'un état ►Une recherche exhaustive n’est pas réalisable pour des problèmes complexes (échec, etc.). La notion de complexité conduit naturellement à la notion d'heuristique ►A la différence des algorithmes aveugles, les heuristiques sont tirées de l’expérience, de l’abstraction ou d’un apprentissage plutôt que d'une analyse scientifique
  • 72. EXEMPLE INTRODUCTIF ESPRIT 2012-2013 Mohamed Heny SELMI © Largeur d’abord : Chemin : S, B, G Coût : 8 Profondeur d’abord : Chemin : S, A, E, G Coût : 15 À propos ? Chemin : S, C, F, G Coût : 7
  • 73. RECHERCHE MEILLEUR D’ABORD ESPRIT 2012-2013 Mohamed Heny SELMI © « BEST FIRST SEARCH »  Combinaison entre recherche en profondeur et en largeur.  En profondeur : solution trouvée sans avoir besoin de calculer tous les nœuds  En largeur : ne risque pas de rester pris dans une ‘impasse’  L'algorithme “recherche meilleur-d’abord” permet d'explorer les nœuds dans l'ordre (croissant/décroissant) de leurs valeurs heuristiques  étendre le nœud le plus prometteur selon sa valeur heuristique.
  • 74. Closed list Open list S ESPRIT 2012-2013 Mohamed Heny SELMI © SIMULATION BEST FIRST SEARCH
  • 75. Closed list Open list S S B, S, 2 C, S, 4 A, S, 5 ESPRIT 2012-2013 Mohamed Heny SELMI © SIMULATION BEST FIRST SEARCH
  • 76. Closed list Open list S S B, S, 2 B, S, 2 C, S, 4 A, S, 5 G, B, 8 ESPRIT 2012-2013 Mohamed Heny SELMI © SIMULATION BEST FIRST SEARCH
  • 77. Closed list Open list S S B, S, 2 B, S, 2 C, S, 4 C, S, 4 A, S, 5 F, C, 6 G, B, 8 ESPRIT 2012-2013 Mohamed Heny SELMI © SIMULATION BEST FIRST SEARCH
  • 78. Closed list Open list S S B, S, 2 B, S, 2 C, S, 4 C, S, 4 A, S, 5 A, S, 5 F, C, 6 G, B, 8 E, A, 9 D, A, 14 ESPRIT 2012-2013 Mohamed Heny SELMI © SIMULATION BEST FIRST SEARCH
  • 79. Closed list Open list S S B, S, 2 B, S, 2 C, S, 4 C, S, 4 A, S, 5 A, S, 5 F, C, 6 F, C, 6 G, F, 7 G, B, 8 E, A, 9 D, A, 14 ESPRIT 2012-2013 Mohamed Heny SELMI © SIMULATION BEST FIRST SEARCH
  • 80. Closed list Open list S S B, S, 2 B, S, 2 C, S, 4 C, S, 4 A, S, 5 A, S, 5 F, C, 6 F, C, 6 G, F, 7 G, F, 7 G, B, 8 E, A, 9 D, A, 14 Path: S, C, F, G Cost: 7 ESPRIT 2012-2013 Mohamed Heny SELMI © SIMULATION BEST FIRST SEARCH
  • 81. PROPRIÉTÉS DU BEST FIRST SEARCH ESPRIT 2012-2013 Mohamed Heny SELMI ©  Exploite les caractéristiques de chaque état, afin d’estimer à quel point ce nœud est prometteur.  Une fonction d’évaluation F est utilisées au cours de la recherche, et associée à chaque nœud N : F(N)  Généralement, la plus petite valeur de F(N) est celle la plus prometteuse.  Le terme “best” réfère à la valeur de F, et non pas à la qualité du chemin actuel traversé  L’algorithme “Best-first search” ne génère pas nécessairement le chemin optimal
  • 82. SATISFACTION DES CRITÈRES D’ÉVALUATION ESPRIT 2012-2013 Mohamed Heny SELMI © i. Complétude : - NON : peut être immobilisé dans une boucle infinie ii. Complexité en temps : O (bm) : exponentielle en m : mais une bonne heuristique peut fournir une grande amélioration iii. Complexité en espace : tous les nœuds sont gardés en mémoire - O (bm) iv. Optimalité : NON
  • 83. CONSTRUCTION DE LA FONCTION D’ÉVALUATION ESPRIT 2012-2013 Mohamed Heny SELMI ©  La fonction d’heuristique h(N) estime la distance de ETAT(N) à l’état BUT.  Sa valeur est indépendante de l’Arbre de recherche actuel, elle dépend uniquement de l’état ETAT(N) et l’état BUT à tester.  Il n'y a aucune limitation sur f. N'importe quelle fonction choisie aléatoirement est acceptable. Mais aidera-t-il l'algorithme de recherche ?  L'approche classique est de construire f (N) comme étant une estimation du chemin de la solution à partir du nœud N
  • 84. ESPRIT 2012-2013 Mohamed Heny SELMI © EXEMPLE 1 : «8-PUZZLE» 14 7 5 2 63 8 STATE(N) 64 7 1 5 2 8 3 Goal state ►Proposer une fonction heuristique :  Selon l’emplacement des pièces :  Selon les actions amenant au but :
  • 85. ESPRIT 2012-2013 Mohamed Heny SELMI © EXEMPLE 1 : «8-PUZZLE» 14 7 5 2 63 8 STATE(N) 64 7 1 5 2 8 3 Goal state ►Proposer une fonction heuristique :  Selon l’emplacement des pièces : h1(N) = nombre des pièces mal placées  Selon les actions amenant au but : h2(N) = somme des distances de Manhattan
  • 86. ESPRIT 2012-2013 Mohamed Heny SELMI © EXEMPLE 1 : «8-PUZZLE» 14 7 5 2 63 8 STATE(N) 64 7 1 5 2 8 3 Goal state ►Proposer une fonction heuristique :  Selon l’emplacement des pièces : h1(N) = nombre des pièces mal placées = 6  Selon les actions amenant au but : h2(N) = somme des distances de Manhattan
  • 87. ESPRIT 2012-2013 Mohamed Heny SELMI © EXEMPLE 1 : «8-PUZZLE» 14 7 5 2 63 8 STATE(N) 64 7 1 5 2 8 3 Goal state ►Proposer une fonction heuristique :  Selon l’emplacement des pièces : h1(N) = nombre des pièces mal placées = 6  Selon les actions amenant au but : h2(N) = somme des distances de Manhattan = 2 + 3 + 0 + 1 + 3 + 0 + 3 + 1 = 13
  • 88. 4 5 5 3 3 4 3 4 4 2 1 2 0 3 4 3 f(N) = h1(N) = nombre de pions qui ne sont pas dans leurs cases EXEMPLE 1 : «8-PUZZLE» ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 89. 5 6 6 4 4 2 1 2 0 5 5 3 f(N) = h2(N) = la somme des nombres minimaux de déplacements pour amener chaque pion à sa case finale EXEMPLE 1 : «8-PUZZLE» ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 90. xN yN N xg yg 2 2 g g1 N Nh (N) = (x -x ) +(y -y ) (Euclidean distance) h2(N) = |xN-xg| + |yN-yg| (Manhattan distance) EXEMPLE 2 : «ROBOT NAVIGATION» ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 91. INCONVÉNIENTS DU BEST FIRST SEARCH ESPRIT 2012-2013 Mohamed Heny SELMI ©  Si l’espace d’états est fini et il n’y a pas de redondances des états expoiltés : la recherche est complète, mais n'est pas en général optimale  Si l’espace d’états est fini et il y’a possibilité de redondance des états visités : la recherche est non complète  Si l’espace d’états est infini, la recherche est non complète BEST-FIRST  EFFICACITÉ Problème du minimum local
  • 92. INFORMATION HEURISTIQUE ESPRIT 2012-2013 Mohamed Heny SELMI ©  Si h(X) > h(Y) cela va affecter le choix !  Comment utiliser cet estimé ?  En l’ajoutant à la longueur du chemin obtenu jusqu’à maintenant  Si on sait combien cela nous coûte d’arriver à un nœud et que l’on peut estimer combien cela va nous coûter de ce nœud au but, la somme des deux sera donc un estimé de la distance totale de ce chemin.  N est un nœud dans l’arbre de recherche, soit G le coût obtenu jusqu’à N, et H l’estimé du coût restant pour le chemin de N au But : Idée : utiliser un algorithme de recherche en utilisant comme fonction heuristique : F = G + H
  • 93. ESPRIT 2012-2013 Mohamed Heny SELMI © H : fonction heuristique [Indépendante de l’arbre de recherche] G : Coût du meilleur chemin trouvé jusqu’à le nœud courant [Dépendante de l’arbre de recherche] F(N)= H(N)+G(N) AMÉLIORATION CLASSIQUE DE LA FONCTION D’ÉVALUATION
  • 94. PRINCIPE GÉNÉRAL : ÉVALUATION DU COÛT TOTAL D’UN SOMMET Coût total (F) = Coût depuis la source (G) + Coût vers la destination (H) G : Coût depuis la source Algorithmes classiques (Ford, Bellman, Dijkstra) Gi = min Gj + Cij / i prédecesseur de j Cij coût de l’arc (i,j) H : Coût vers la destination Difficile puisque le reste du chemin (vers la destination) est encore inconnu. ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 95. COÛT VERS LA DESTINATION Pourquoi évaluer un coût vers la destination ?  Afin de resserrer l’ensemble des sommets à explorer en privilégiant les sommets « qui semblent » nous rapprocher de la destination.  Dans le cas d’un algorithme de recherche plus classique (Dijsktra), on effectue une recherche exhaustive parmi TOUS les sommets.  l’algorithme A* est plus performant que n’importe quel autre algorithme puisqu’il diminue l’ensemble des sommets à explorer. ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 96. OBJECTIFS DE L’ESTIMÉ DE LA DISTANCE AU BUT ESPRIT 2012-2013 Mohamed Heny SELMI © Start Goal
  • 97. OBJECTIFS DE L’ESTIMÉ DE LA DISTANCE AU BUT ESPRIT 2012-2013 Mohamed Heny SELMI © Start Goal
  • 98. L’ALGORITHME A* A* SEARCH ESPRIT 2012-2013 Mohamed Heny SELMI ©  L’ [open-list] sera ordonnéé selon la fonction d’évaluation : F(n) = G(n) + H(n)  C’est un algorithme “best-first search” utilisant la fonction d’évaluation F  Si on arrrive à un nœud avec une chemin ayant un coût a et après d’autres exécutions on arrive à redécouvrir le même nœud avec un chemin ayant un coût < a, on doit éliminer le premier chemin et ne considérer que le 2ème  Le cas idéal est de travailler avec une heuristique h consistante  A* est complet et optimal
  • 99. 0+4 1+5 1+5 1+3 3+3 3+4 3+4 3+2 4+1 5+2 5+0 2+3 2+4 2+3 f(N) = g(N) + h(N), où :  h(N) = nombre des pièces mal placées  g(n) = coût jusqu’au nœud courant APPLICATION : 8-PUZZLE ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 100.  soit h*(N) le coût du chemin de N vers le noeud but  la fonction heuristique h(N) est admissible si: 0  h(N)  h*(N)  une fonction heuristique admissible est toujours optimale G est le nœud BUT  h(G) = 0 HEURISTIQUE ADMISSIBLE ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 101. HEURISTIQUE : ADMISSIBILITÉ ESPRIT 2012-2013 Mohamed Heny SELMI ©  h*(n) : le véritable coût pour atteindre l’objectif à partir de n  h(n) : coût estimé du chemin le moins cher entre n et le but  h(n) estimation de h *(n)  h est une heuristique admissible (minorante) si : h(n) ≤ h*(n) (h sous estime h*)  Solution optimale: la "meilleure" solution, mesurée relativement à h  h1(n) : nombre de pièces mal placées par rapport à la configuration finale = 6  h2(n): la somme des nombres minimaux de déplacements =13  Si une pièce peut être déplacée à tout endroit alors h1 donne la solution optimale  Si une pièce peut être déplacée dans toute cellule adjacente alors h2 donne la solution optimale  Si n h2(n)≥h1(n) (les deux étant admissibles), alors h2 domine h1 et par conséquent h2 est meilleure pour la recherche que h1  H2 est préférable à h1 si elle conduit à explorer moins d’alternative que h1 (h2 est plus proche à h* que h1)
  • 102. HEURISTIQUE : ADMISSIBILITÉ ESPRIT 2012-2013 Mohamed Heny SELMI © H=1 H=0 H=100 732 1 1 H=0 Que se passe-t-il si h n’est pas admissible ? Dans l’exemple suivant, il ne coute que 3 pour aller de l’état initial au but : Mais nous avons h(x)=100! De l’autre côté, cela nous coûte 73 pour aller a Y, mais h(x)=1 seulement (coût estimé = coût réel) Dans cet exemple, h n’est pas admissible : g(X)+h(X) = 102 g(Y)+h(Y) = 74 Le chemin optimal n’est pas trouve!
  • 103. CONSTRUCTION D’HEURISTIQUES ESPRIT 2012-2013 Mohamed Heny SELMI ©  On considère un sous problème  On élimine certaines contraintes du problème  En proposant plusieurs heuristiques, on choisit celle qui domine les autres  Apprentissage d’heuristiques :  Réseaux de Neurones  Arbres de Décisions  Modèles Prédictifs mathématiques du Data Mining
  • 104. FONCTION HEURISTIQUE CONSISTANTE Une heuristique h est consistante si 1. Pour tout nœud N et tout nœud successeur N’ de N : h(N)  c(N,N’) + h(N’) 2. Pour tout nœud BUT G: h(G) = 0  l’heuristique est dite monotone N N’ h(N) h(N’) c(N,N’) ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 105. ESPRIT 2012-2013 Mohamed Heny SELMI © EXEMPLE 1 : «ROBOT NAVIGATION» Start
  • 106. 0 211 58 7 7 3 4 7 6 7 6 3 2 8 6 45 23 3 36 5 24 43 5 54 6 5 6 4 5 ESPRIT 2012-2013 Mohamed Heny SELMI © EXEMPLE 1 : «ROBOT NAVIGATION» f(N) = h(N), avec h(N) = Manhattan distance to the goal (not A*) Start
  • 107. 0 211 58 7 7 3 4 7 6 7 6 3 2 8 6 45 23 3 36 5 24 43 5 54 6 5 6 4 5 f(N) = h(N), avec h(N) = Manhattan distance to the goal (not A*) 7 0 ESPRIT 2012-2013 Mohamed Heny SELMI © EXEMPLE 1 : «ROBOT NAVIGATION» Start
  • 108. f(N) = g(N)+h(N), avec h(N) = distance de Manhattan (A*) 0 211 58 7 7 3 4 7 6 7 6 3 2 8 6 45 23 3 36 5 24 43 5 54 6 5 6 4 57+0 6+1 6+1 8+1 7+0 7+2 6+1 7+2 6+1 8+1 7+2 8+3 7+2 6+36+3 5+45+4 4+54+5 3+63+6 2+7 8+3 7+47+4 6+5 5+6 6+3 5+6 2+7 3+8 4+7 5+6 4+7 3+8 4+7 3+83+8 2+92+9 3+10 2+9 3+8 2+9 1+101+10 0+110+11 ESPRIT 2012-2013 Mohamed Heny SELMI © EXEMPLE 1 : «ROBOT NAVIGATION» Start
  • 109. SATISFACTION DES CRITÈRES D’ÉVALUATION ESPRIT 2012-2013 Mohamed Heny SELMI © i. Complétude : - Oui, sauf s’il y a une infinité de nœuds tels que f ≤ f (G) ii. Complexité en temps : exponentielle selon la longueur de la solution Complexité en espace : - exponentielle (garde tous les nœuds en mémoire) - Habituellement, on manque d’espace bien avant de manquer de temps Optimalité : OUI 