intelligence artificielle - algorithmes de recherche

109
II. REPRÉSENTATION ET RÉSOLUTION DE PROBLÈMES LES ALGORITHMES DE R ECHERCHE I NTELLIGENCE ARTIFICIELLE ET SYSTÈMES EXPERTS Mohamed Heny SELMI [email protected]

Upload: mohamed-heny-selmi

Post on 13-Jan-2017

1.147 views

Category:

Science


11 download

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)

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

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

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 ©

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»

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 ©

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

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 ©

ESPRIT 2012-2013

Mohamed Heny SELMI ©

EXEMPLE 1 : «ROBOT NAVIGATION»

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

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