intelligence artificielle - algorithmes de recherche
TRANSCRIPT
II. REPRÉSENTATION ET RÉSOLUTION DE PROBLÈMES
LES
ALGORITHMES
DE RECHERCHE
INTELLIGENCE ARTIFICIELLE ET SYSTÈMES EXPERTS
Mohamed Heny SELMI [email protected]
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)
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 G b
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 ©
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
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 ©
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
7 8
1
3
5 6
8
1
3
4
5 6
7
8 2
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
4 3 2 1
12
15
11
14
10
13
9
5 6 7 8
4 3 2 1
?
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 ©
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 : (-, -, -, -)
(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
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 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»
1 4
7
5
2
6 3
8
STATE(N)
6 4
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»
1 4
7
5
2
6 3
8
STATE(N)
6 4
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»
1 4
7
5
2
6 3
8
STATE(N)
6 4
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»
1 4
7
5
2
6 3
8
STATE(N)
6 4
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 2g 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 ©
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
73 2
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 ©
0 2 1 1
5 8 7
7
3
4
7
6
7
6 3 2
8
6
4 5
2 3 3
3 6 5 2 4 4 3 5
5 4 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 2 1 1
5 8 7
7
3
4
7
6
7
6 3 2
8
6
4 5
2 3 3
3 6 5 2 4 4 3 5
5 4 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 2 1 1
5 8 7
7
3
4
7
6
7
6 3 2
8
6
4 5
2 3 3
3 6 5 2 4 4 3 5
5 4 6
5
6
4
5 7+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+3 6+3 5+4 5+4 4+5 4+5 3+6 3+6 2+7
8+3 7+4 7+4 6+5
5+6
6+3 5+6
2+7 3+8
4+7
5+6 4+7
3+8
4+7 3+8 3+8 2+9 2+9 3+10
2+9
3+8
2+9 1+10 1+10 0+11 0+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