Vous êtes sur la page 1sur 109

I NTELLIGENCE ARTIFICIELLE ET SYSTÈMES EXPERTS

II. REPRÉSENTATION ET RÉSOLUTION DE PROBLÈMES

LES
ALGORITHMES
DE RECHERCHE

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

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

ESPRIT 2012-2013
Mohamed Heny SELMI ©
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

 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

ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXEMPLE DE RECHERCHE
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 ©
“WATER JUGS PROBLEM”

3L 5L 9L 3L 5L 9L

0 0 0 start
3 0 0
0 0 3
3
0
0
0
3
6
7L
3 0 6
0 3 6
3 3 6
1 5 6
0 5 7 goal

ESPRIT 2012-2013
Mohamed Heny SELMI ©
“WATER JUGS PROBLEM”
Une autre Solution :
3L 5L 9L
3L 5L 9L
0 0 0 start
0 5 0
3 2 0 7L
3 0 2
3 5 2
3 0 7 goal

ESPRIT 2012-2013
Mohamed Heny SELMI ©
“WATER JUGS PROBLEM”

Solution 1: Solution 2:

3L 5L 9L 3L 5L 9L
0 0 0 start 0 0 0 start
3 0 0 0 5 0
0 0 3 3 2 0
3 0 3 3 0 2
0 0 6 3 5 2
3 0 6 3 0 7 goal
0 3 6
3 3 6
1 5 6
0 5 7 goal

ESPRIT 2012-2013
Mohamed Heny SELMI ©
“WATER JUGS PROBLEM”

3L 5L 9L

Solution Optimale :

3L 5L 9L 7L
0 0 0 start
0 0 9
0 5 4
3 5 4
0 5 7 goal

ESPRIT 2012-2013
Mohamed Heny SELMI ©
UN ARBRE D’ÉTATS DU PROBLÈME “WATER JUGS”

(0 0 0)

(3 0 0) (0 5 0) (0 0 9)

(0 0 3) (3 5 0) (3 2 0) (0 0 5) (3 0 9) (0 5 9) (0 5 4) (3 0 6)
(0 3 0)

(3 3 0) (3 0 3) (3 0 5) (0 2 3) (0 5 5) (3 5 4) (3 2 4) (0 3 6)

(0 3 9) (0 5 3) (3 5 9) (3 0 2) (3 2 9) (3 5 6) (3 5 1)

(0 5 7) (0 2 7)

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
 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.

ESPRIT 2012-2013
Mohamed Heny SELMI ©
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

 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

ESPRIT 2012-2013
Mohamed Heny SELMI ©
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
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

ESPRIT 2012-2013
Mohamed Heny SELMI ©
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.

Fonction "successeur"
- fonction : [ état → sous-ensemble d'états ]
- une représentation abstraite des actions possibles

ESPRIT 2012-2013
Mohamed Heny SELMI ©
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

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)
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

ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXERCICE WATER JUGS PROBLEM

ESPRIT 2012-2013
Mohamed Heny SELMI ©
DÉMARCHE GÉNÉRALE DE RÉSOLUTION DE PROBLÈMES

 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. )

ESPRIT 2012-2013
Mohamed Heny SELMI ©
PROBLÈMES – ESPACE D’ÉTATS
 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)

ESPRIT 2012-2013
Mohamed Heny SELMI ©
REPRÉSENTATION FORMELLE
 É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.

Représentation
formelle
•Modélisation du problème •Décision
•Recherche

Énoncé informel Solution :


du problème état spécifique

Pour un même problème, plusieurs représentations par graphe d'états sont possibles

ESPRIT 2012-2013
Mohamed Heny SELMI ©
L’ÉTAPE LA PLUS IMPORTANTE :
LA FORMULATION DU PROBLÈME
►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

ESPRIT 2012-2013
Mohamed Heny SELMI ©
L’ABSTRACTION D’UNE REPRÉSENTATION
 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

ESPRIT 2012-2013
Mohamed Heny SELMI ©
LE CHOIX D’UNE BONNE REPRÉSENTATION

 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

ESPRIT 2012-2013
Mohamed Heny SELMI ©
COMPOSANTES D’UN GENERAL PROBLEM SOLVER

►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 !

ESPRIT 2012-2013
Mohamed Heny SELMI ©
STRATÉGIE DE RECHERCHE

 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


ESPRIT 2012-2013
Mohamed Heny SELMI ©
IMPLÉMENTATION D’UN ALGORITHME DE RECHERCHE
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

ESPRIT 2012-2013
Mohamed Heny SELMI ©
EVALUATION D’UN ALGORITHME DE RECHERCHE

d
b m
G

►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?
ESPRIT 2012-2013
Mohamed Heny SELMI ©
ÉVITER LES REDONDANCE DES ÉTATS

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

ESPRIT 2012-2013
Mohamed Heny SELMI ©
STRATÉGIES DE RECHERCHE

Tout Chemin
Jeux
chemin optimal

Solutions Trouver des Processus


raisonnables chemins adversaires
minimaux

- On cherche pas si la - Lorsque le coût du


solution est meilleur parcours d'un chemin est
primordial
- Distance parcourue
non prise en compte

ESPRIT 2012-2013
Mohamed Heny SELMI ©
ALGORITHMES
DE RECHERCHE
NON-INFORMÉS
Méthodes Aveugles

ESPRIT 2012-2013
Mohamed Heny SELMI ©
RECHERCHE EN PROFONDEUR D’ABORD
« DEPTH FIRST SEARCH »
►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

ESPRIT 2012-2013
Mohamed Heny SELMI ©
DEPTH-FIRST SEARCH
S

A D

B D A E

C E E B B F
11

D F B F C E A C G
14 17 15 15 13
G C G F
19 19 17 G 25
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 ©
SIMULATION DEPTH-FIRST SEARCH

ESPRIT 2012-2013
Mohamed Heny SELMI ©
PROPRIÉTÉS DU DEPTH-FIRST SEARCH

 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

ESPRIT 2012-2013
Mohamed Heny SELMI ©
SATISFACTION DES CRITÈRES D’ÉVALUATION

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

ESPRIT 2012-2013
Mohamed Heny SELMI ©
RECHERCHE EN LARGEUR D’ABORD
« BREADTH FIRST SEARCH »
►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

ESPRIT 2012-2013
Mohamed Heny SELMI ©
BREADTH-FIRST SEARCH
S

A D

B D A E

C E E B B F
11

D F B F C E A C G
14 17 15 15 13
G C G F
19 19 17 G 25
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

ESPRIT 2012-2013
Mohamed Heny SELMI ©
SIMULATION BREADTH-FIRST SEARCH

ESPRIT 2012-2013
Mohamed Heny SELMI ©
PROPRIÉTÉS DU BREADTH-FIRST SEARCH

 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

ESPRIT 2012-2013
Mohamed Heny SELMI ©
SATISFACTION DES CRITÈRES D’ÉVALUATION

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

ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXEMPLE 1 : 8-PUZZLE

►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


ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXEMPLE 1 : 8-PUZZLE

8 2
3 4 7
5 1 6

8 2 7
3 4 Si les états autorisés sont déjà exploités,
L’arbre de recherche peut être infini
5 1 6 même lorsque l’espace d’états est fini

8 2 8 2 8 4 2 8 2
3 4 7 3 4 7 3 7 3 4 7
5 1 6 5 1 6 5 1 6 5 1 6

ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXEMPLE 1 : 8-PUZZLE

8 2
ETAT
3 4 7 Nœud parent

5 1 6

Nœuds fils

...

ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXEMPLE 1 : 8-PUZZLE
 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

1 2 3 4 1 2 3 4

5 6 7 8 ? 5 6 7 8

9 10 11 12 9 10 11 12

13 14 15 13 15 14
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 ©
EXEMPLE 2 : « RIVER TEST PRO »
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 : (-, -, -, -)

ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXEMPLE 2 : « RIVER TEST PRO »

B
s
W
C
ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXEMPLE 2 : « RIVER TEST PRO »
GRAPHE D’ÉTATS

(W) (W, S, B)

(W, S, C, B) (W, C) (W, C, B) (S)

(C) (C, S, B)

() (S, B)

ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXEMPLE 3 : « FROG PUZZLE »

► 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 :

ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXEMPLE 3 : « FROG PUZZLE »
►lequel de ces états est un état qui ne doit pas être exploité par un algorithme de recherche aveugle ?

ESPRIT 2012-2013
Mohamed Heny SELMI ©
ALGORITHMES
DE RECHERCHE
INFORMÉS
Méthodes Heuristiques

ESPRIT 2012-2013
Mohamed Heny SELMI ©
OBJECTIFS DE LA RECHERCHE INFORMÉE
► 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

ESPRIT 2012-2013
Mohamed Heny SELMI ©
CHOIX D’UN NŒUD NÉCESSITE UNE HEURISTIQUE
► 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"

ESPRIT 2012-2013
Mohamed Heny SELMI ©
PROPRIÉTÉS DES HEURISTIQUES
► 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

ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXEMPLE INTRODUCTIF

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

ESPRIT 2012-2013
Mohamed Heny SELMI ©
RECHERCHE MEILLEUR D’ABORD
« 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.

ESPRIT 2012-2013
Mohamed Heny SELMI ©
SIMULATION BEST FIRST SEARCH

Closed list Open list

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

Path: S, C, F, G E, A, 9
Cost: 7
D, A, 14

ESPRIT 2012-2013
Mohamed Heny SELMI ©
PROPRIÉTÉS DU BEST FIRST SEARCH

 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

ESPRIT 2012-2013
Mohamed Heny SELMI ©
SATISFACTION DES CRITÈRES D’ÉVALUATION

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

ESPRIT 2012-2013
Mohamed Heny SELMI ©
CONSTRUCTION DE LA FONCTION D’ÉVALUATION

 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»

5 8 1 2 3
4 2 1 4 5 6
7 3 6 7 8
STATE(N) 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»

5 8 1 2 3
4 2 1 4 5 6
7 3 6 7 8
STATE(N) 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»

5 8 1 2 3
4 2 1 4 5 6
7 3 6 7 8
STATE(N) 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»

5 8 1 2 3
4 2 1 4 5 6
7 3 6 7 8
STATE(N) 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

ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXEMPLE 1 : «8-PUZZLE»
f(N) = h1(N) = nombre de pions qui ne sont pas dans leurs cases

3 3 4
5 3

4
2

4 2 1
3 3
0
4

5 4

ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXEMPLE 1 : «8-PUZZLE»
f(N) = h2(N) = la somme des nombres
minimaux de déplacements pour amener
chaque pion à sa case finale

6 5

5 2 1
4 3
0
4

6 5

ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXEMPLE 2 : «ROBOT NAVIGATION»

N
yN

yg

xN xg

h1 (N) = (xN -xg )2 +(yN -yg )2 (Euclidean distance)


h2(N) = |xN-xg| + |yN-yg| (Manhattan distance)
ESPRIT 2012-2013
Mohamed Heny SELMI ©
INCONVÉNIENTS DU BEST FIRST SEARCH
 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

ESPRIT 2012-2013
Mohamed Heny SELMI ©
INFORMATION HEURISTIQUE

 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 ©
AMÉLIORATION CLASSIQUE DE LA FONCTION D’ÉVALUATION

H : fonction
heuristique
[Indépendante de
l’arbre de recherche]

F(N)= H(N)+G(N)

G : Coût du
meilleur chemin
trouvé jusqu’à le
nœud courant
[Dépendante de l’arbre
de recherche]

ESPRIT 2012-2013
Mohamed Heny SELMI ©
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

Goal

Start

ESPRIT 2012-2013
Mohamed Heny SELMI ©
OBJECTIFS DE L’ESTIMÉ DE LA DISTANCE AU BUT

Goal

Start

ESPRIT 2012-2013
Mohamed Heny SELMI ©
L’ALGORITHME A*
A* SEARCH

 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

ESPRIT 2012-2013
Mohamed Heny SELMI ©
APPLICATION : 8-PUZZLE
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

3+3
1+5 2+3

3+4
5+2

0+4 3+2 4+1


1+3 2+3
5+0
3+4

1+5 2+4
ESPRIT 2012-2013
Mohamed Heny SELMI ©
HEURISTIQUE ADMISSIBLE

 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

ESPRIT 2012-2013
Mohamed Heny SELMI ©
HEURISTIQUE : ADMISSIBILITÉ
 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)
ESPRIT 2012-2013
Mohamed Heny SELMI ©
HEURISTIQUE : ADMISSIBILITÉ
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 :


2 73
g(X)+h(X) = 102
H=100 H=1
g(Y)+h(Y) = 74
1 1

Le chemin optimal n’est pas trouve!


H=0 H=0
ESPRIT 2012-2013
Mohamed Heny SELMI ©
CONSTRUCTION D’HEURISTIQUES

 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

ESPRIT 2012-2013
Mohamed Heny SELMI ©
FONCTION HEURISTIQUE
CONSISTANTE
Une heuristique h est consistante si

1. Pour tout nœud N et tout nœud successeur N’ de N :


N
h(N)  c(N,N’) + h(N’) c(N,N’)
h(N)
2. Pour tout nœud BUT G: N’
h(N’)
h(G) = 0

 l’heuristique est dite monotone

ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXEMPLE 1 : «ROBOT NAVIGATION»

Start

ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXEMPLE 1 : «ROBOT NAVIGATION»
f(N) = h(N), avec h(N) = Manhattan distance to the goal
(not A*)

8 7 6 5 4 3 2 3 4 5 6

7 5 4 3 5

6 3 2 1 0 1 2 4
Start 7 6 5
8 7 6 5 4 3 2 3 4 5 6

ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXEMPLE 1 : «ROBOT NAVIGATION»
f(N) = h(N), avec h(N) = Manhattan distance to the goal
(not A*)

8 7 6 5 4 3 2 3 4 5 6

7 5 4 3 5

6 3 2 1 00 1 2 4
Start 77 6 5
8 7 6 5 4 3 2 3 4 5 6

ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXEMPLE 1 : «ROBOT NAVIGATION»
f(N) = g(N)+h(N), avec h(N) = distance de Manhattan
(A*)

8+3
8 7+4
7 6+3
6+5
6 5+6
5 4+7
4 3+8
3 2+9
2 3+10
3 4 5 6
7+2
7 5+6
5 4+7
4 3+8
3 5
6+1
6 3 2+9
2 1+10
1 0+11
0 1 2 4
Start 7+0
7 6+1
6 5
8+1
8 7+2
7 6+3
6 5+4
5 4+5
4 3+6
3 2+7
2 3+8
3 4 5 6

ESPRIT 2012-2013
Mohamed Heny SELMI ©
SATISFACTION DES CRITÈRES D’ÉVALUATION

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 

ESPRIT 2012-2013
Mohamed Heny SELMI ©