Université Manouba ENSI
SYSTEMES DE RESOLUTION
DE PROBLEMES
II2 / FILIERE ISID
Dr Wided Lejouad Chaari
Dr Ahlem Ben Hassine
Dr Inès Alaya
Cours SRP Dr W. Chaari
1
BIBLIOGRAPHIE
• Henri Farreny, Malik Ghallab. Eléments d ’intelligence artificielle.
Traité des Nouvelles Technologies, HERMES, 1990.
Cote I-35
• Avron Barr, Edward A. Feigenbaum. Le manuel de l ’Intelligence
Artificielle. Tome I, EYROLLES, 1986.
Cote I-80
• Jean-Louis Laurière. Intelligence Artificielle - représentation des
connaissances. Tome II, EYROLLES, 1988.
Cote I-110
Cours SRP Dr W. Chaari
2
INTRODUCTION
GENERALE
Cours SRP Dr W. Chaari
3
Naissance de l’IA
• 1956 : Naissance de la discipline
• Logic Theorist [Newell, Shaw, Simon] : démonstration
de théorèmes de la logique des propositions.
• A partir de 1956 plusieurs travaux ont vu le jour :
- Jeux d ’échecs
- Démonstration de théorèmes en géométrie
- Traduction automatique, …
• Programmes et budgets de recherche :
Institute for new generation COmputer Technology
500 millions de dollars (82-90)
Strategic Computer Initiative de la DARPA
1 milliard de dollars (83-90)
Cours SRP Dr W. Chaari
4
L ’IA : une science cognitive
• Le champ d ’investigation de l ’IA est le raisonnement :
l ’IA cherche à comprendre les mécanismes de compréhension.
• Les sciences cognitives d ’intéressent à ce champ :
psychologie, linguistique, philosophie, neurosciences
• L ’IA vérifie ses modèles et ses théories sur la connaissance et le
raisonnement en programmant et non pas en expérimentant sur
des sujets humains.
• Thèse populaire au début des années 70 au MIT [Minsky &
Winston].
• Selon Charniak et McDermott, l ’IA est l ’étude des facultés
mentales à travers l ’utilisations de modèles calculatoires.
Cours SRP Dr W. Chaari
5
L ’IA : une branche de l ’informatique
• L ’ordinateur n ’est pas seulement un outil d ’investigation, il est
l ’objet de la recherche.
• La question fondamentale de l ’IA :
Comment rendre les ordinateurs plus habiles ?
• L ’IA cherche à concevoir des méthodes exploitant les possibilités
propres des ordinateurs pour leur faire réaliser des fonctions
nécessitant de l ’intelligence :
accomplir des tâches considérées comme une faculté
humaine et qui impliquent du raisonnement symbolique...
• L ’IA cherche à concevoir des programmes en mesure de traiter
des problèmes pour lesquels on ne connaît pas de méthodes de
résolution directes et assurées.
Cours SRP Dr W. Chaari
6
Nature de la discipline
• L ’IA est une science : elle cherche à découvrir le réel, les
mécanismes de raisonnement et de compréhension.
Interpréter, déduire, généraliser, apprendre, …
• L ’IA est une technique : elle exploite les possibilités du réel, les
chercheurs en IA font de l ’ingénierie de la machine intelligente.
Démontrer un théorème, diagnostiquer une maladie ou
une défaillance dans un équipement, planifier la réalisation
d ’une tâche complexe, analyser une image et identifier
son contenu, piloter un robot dans un univers inconnu, ...
Cours SRP Dr W. Chaari
7
Applications de l ’IA
• Les systèmes experts,
• La reconnaissance de la parole,
• Les interfaces homme-machine,
• La vision par ordinateur,
• La robotique,
• La productique,
• Tâches assistées par ordinateur : conception, traduction,
enseignement, …
Cours SRP Dr W. Chaari
8
REPRESENTATION
DES PROBLEMES
Cours SRP Dr W. Chaari
9
Exemples de problèmes
Problème des 8 reines
Trouver une configuration de 8 reines sans prise sur un échiquier.
Aucune ligne, colonne, ou diagonale ne doit comporter plus d ’une
reine.
Approche par transformation de solution potentielle
Partir d ’une configuration, la tester, si elle ne constitue pas une
solution, la modifier localement, et recommencer.
Approche constructive
Procéder à chaque étape en plaçant une ke reine sans prise sur un
échiquier où figurent k-1 reines.
Cours SRP Dr W. Chaari
10
Problème des 4 couleurs
Colorer une carte géographique sans que deux pays voisins ne soient
identiquement colorés.
Approche par transformation de solution potentielle
Partir d ’une coloration complète, la tester et modifier localement
si de part et d ’autre d ’une frontière on trouve la même couleur.
Approche constructive
Colorer un ke pays, lorsque k-1 le sont déjà, en le différenciant de
ses voisins déjà colorés.
Cours SRP Dr W. Chaari
11
Plan de voyage
La recherche d ’un itinéraire et d ’un plan de voyage entre deux points
géographiquement éloignés.
S ’intéresser au moyen de quitter le local où l ’on se trouve !!!
Décomposition du problème en sous-problèmes
Choisir le principal mode de transport et les étapes intermédiaires
qu ’il impose : changement de continent, ports ou aéroports de
départ et d ’arrivée, …
Le même problème se pose entre le point de départ et la première de
ces étapes, que l ’on peut décomposer à son tour en recherche
d ’itinéraires plus simples ...
Cours SRP Dr W. Chaari
12
Tours de Hanoi
On dispose de trois axes verticaux, sur le premier sont empilés N
disques par ordre de rayon strictement décroissant. Le problème
consiste à obtenir le même empilement sur le 3e axe en déplaçant
les disques un à un sans superposer à aucun moment un disque sur
un autre plus petit.
Décomposition en sous-problèmes :
- déplacer l ’empilement des (n-1) plus petits disques de l ’axe 1 à
l ’axe 2;
- déplacer le plus grand disque de l ’axe 1 à l ’axe 3;
- déplacer l ’empilement des (n-1) plus petits disques de l ’axe 2 à
l ’axe 3.
Cours SRP Dr W. Chaari
13
En résumé deux ingrédients sont nécessaires à la mise en œuvre
d ’une procédure constructive de résolution d ’un problème :
- un ensemble de moyens de transformation du problème depuis une
situation (initiale ou intermédiaire) en une ou plusieurs autres
situations intermédiaires;
- un ensemble de moyens de test des situations obtenues par rapport
à l ’objectif.
La représentation d ’un problème consiste à définir formellement ces
ingrédients:
- les états du problème (situations initiale et intermédiaires);
- l ’objectif à atteindre;
- les opérateurs de transformation que l ’on choisit.
Cours SRP Dr W. Chaari
14
Représentation par graphe d ’états
• On structure l ’ensemble des états du problème par un graphe orienté.
• Un sommet du graphe est un état du problème.
• Il y a un arc du nœud u au nœud v, ssi on dispose d ’un opérateur
permettant de transformer l ’état u en l ’état v.
• Pour un même problème donné plusieurs représentations par graphe
d ’états sont possibles.
Cours SRP Dr W. Chaari
15
Représentation par graphe d ’états
Les 8 reines
• La position des pièces sur l ’échiquier définit complètement l ’état
du problème.
• Description de chaque état par un tableau :
échiquier(i, j) {vide, reine} avec i et j entre 1 et 8
• Un opérateur est nécessaire :
« placer-reine (i, j) :
si échiquier (i, j) = vide alors échiquier (i, j) reine »
• 2 tests complètent la représentation du problème :
« échiquier-sans-prise » : au plus 1 reine par ligne, colonne ou
diagonale.
« échiquier-complet » : total de 8 reines dans l ’échiquier.
Cours SRP Dr W. Chaari
16
• Du nœud initial (échiquier vide) partent 64 arcs (diverses façons de
placer une reine).
• De chacun des successeurs partent 63 arcs (placer une 2e reine) …
• Ce graphe comporte des cycles (il est possible d ’atteindre le même
état de diverses façons).
1- Une solution au problème est un chemin du graphe reliant le nœud
initial à un nœud quelconque vérifiant les 2 tests.
- Tous les nœuds sur un tel chemin doivent vérifier la condition :
« échiquier-sans-prise ».
- Une grande partie des 264 états de la représentation précédente est
inutile : tout état avec une reine en prise ou tout successeur d ’un
tel état.
Cours SRP Dr W. Chaari
17
Il faut inclure le test « échiquier-sans-prise » dans les conditions
d ’application de l ’opérateur « placer-reine ».
2- Intégrer une partie des contraintes du problème à la représentation :
La description suivante par un vecteur à 8 composantes :
« ligne(i) = j si la iè ligne de l ’échiquier comporte une reine en
colonne j,
et ligne(i) = 0 si cette ligne est vide »
ne permet pas de représenter un état de l ’échiquier avec plus
d ’une reine par ligne.
Il reste à tester l ’absence de prise en colonne et diagonale.
Ainsi on réduit l ’espace d ’états.
Cours SRP Dr W. Chaari
18
Représentation par graphe d ’états
Génération de plans
• Dans un univers de cubes, un bras articulé muni d ’une pince
permet de saisir un objet, de le déplacer, de le poser sur un plan
de travail ou de l ’empiler sur d ’autres objets.
• La pince ne peut prendre qu ’un seul objet à la fois, seul un objet
sur lequel rien n ’est empilé peut être saisi.
• Partant d ’un ensemble d ’objets dans une configuration initiale,
on désire obtenir la séquence d ’opérations élémentaires qui
permet de les réarranger dans une configuration donnée.
Cours SRP Dr W. Chaari
19
• On dispose de n objets (numérotés de 1 à n) :
- accessible (k) {vrai, faux}
- posé-sur (k) {plan-de-travail} {1, 2, …, n}
- pince-tient {vide} {1, 2, …, n}
• L ’objectif à atteindre est donné comme un état explicite par rapport
auquel on teste l ’état courant.
• Une solution au problème est un chemin dans le graphe entre le
nœud initial et le nœud final : le plan recherché est la séquence
d ’opérateurs, étiquetant les arcs de ce chemin.
(voir la partie du graphe d ’états)
Cours SRP Dr W. Chaari
20
- Saisir (x) : Si pince-tient = vide et accessible (x) = vrai et
posé-sur (x) = plan-de-travail
alors faire : pince-tient x ; accessible (x) faux
Si pince-tient = vide et accessible (x) = vrai et
posé-sur (x) = y et y plan-de-travail
alors faire : pince-tient x ; accessible (x) faux ;
accessible (y) vrai
- Poser (x) : Si pince-tient = x
alors faire : posé-sur (x) plan-de-travail;
accessible (x) vrai; pince-tient vide
- Poser (x,y) : Si pince-tient = x et accessible (y) = vrai
alors faire : posé-sur (x) y; accessible (y) faux ;
accessible (x) vrai ; pince-tient vide
Cours SRP Dr W. Chaari
21
• Les opérateurs de modification d ’état sont exprimés sous forme de
règles.
• La partie condition détermine si un opérateur est applicable en un
état u.
• La partie action décrit comment passer de u à l ’état en lequel u est
transformé par la règle.
• Ces transformations sont données dans les exemples sous forme
d ’affectation de valeurs aux variables d ’état.
Cours SRP Dr W. Chaari
22
Représentation par graphe de sous-problèmes
• Dans cette représentation, la notion principale est celle de
décomposition. L ’état initial ou courant est un problème à résoudre.
• Une règle ou un opérateur valide en cet état, est une décomposition
possible du problème en plusieurs sous-problèmes.
• La résolution du problème initial, ou d ’un sous-problème
quelconque, ne peut se faire que s ’il se décompose en
sous-problèmes tous résolus.
• Les états terminaux sont des problèmes trivialement résolus.
• Différence :
- Dans la RGE, les opérateurs transforment un état u en un
seul autre état v.
- Dans la RGS, les opérateurs transforment un état u en
plusieurs états v1, …, vk.
Cours SRP Dr W. Chaari
23
• Exemple : soient les 7 règles suivantes :
R1 a :=> b, c
R2 d :=> a, e, f
R3 d :=> a, k
R4 f :=> i
R5 f :=> c, j
R6 d :=> g, h
R7 k :=> e, l
• Le symbole « :=> » est un opérateur de décomposition.
• La règle R2 dit : le problème d se décompose en les sous-problèmes
« a », « e » et « f ».
Cours SRP Dr W. Chaari
24
• La décomposition peut s ’interpréter :
- soit d ’une façon séquentielle : l ’ordre de résolution des
sous-problèmes doit être celui indiqué par la règle de
décomposition ;
- soit avec un niveau de parallélisme : l ’ordre de résolution
des sous-problèmes n ’est pas contraignant.
• Admettons que l ’ensemble des sous-problèmes terminaux soit
T = {b, c, e, j, l} et que l ’on cherche à résoudre le problème
initial «d ».
• Construction du graphe ET/OU.
Cours SRP Dr W. Chaari
25
• D ’un nœud associé à un problème p partent autant d ’arcs qu ’il y
a de règles valides pour p.
• Chacun de ces arcs est étiqueté par le nom de la règle Ri
correspondante.
• Les arcs reliés par un double trait signifient que tous les
sous-problèmes auxquels ils mènent doivent être résolus pour que
p le soit.
• On parle de graphe ET/OU, dans la mesure où il possède deux
types de nœuds :
- OU (disjonction sur les règles valides pour un problème).
- ET (conjonction sur tous les sous-problèmes).
Cours SRP Dr W. Chaari
26
• Une autre représentation fait l’économie des nœuds de
décomposition, on y utilise deux entités :
- des nœuds associés à des problèmes,
- des connecteurs.
• Du nœud p partent autant de connecteurs qu ’il y a de règles
valides en p.
• Dans une représentation par graphe d ’états, une solution au
problème correspond à un chemin du graphe.
Ici, une solution au problème sera un sous-graphe particulier.
• Les deux solutions possibles.
Cours SRP Dr W. Chaari
27
Choix d ’une « bonne » représentation
• Le choix est souvent justifié par référence à des notions telles que
la caractère «naturel» d ’une représentation pour un problème.
• Le choix d ’une représentation porte surtout sur :
- la manière de modéliser le problème à résoudre,
- les données à prendre en compte,
- la manière d ’élaborer les alternatives,
- la manière d ’exprimer les contraintes.
• Un problème bien posé est à moitié résolu.
• En formalisant le processus de résolution de problèmes, l ’IA a
certainement contribué à clarifier le processus de formulation de
problèmes.
Cours SRP Dr W. Chaari
28
Autres Formalismes
Programmation Linéaire en Nombres Entiers (PLNE)
• Utilisé également en RO.
• Modéliser un problème consiste à identifier:
- Les variables intrinsèques (inconnues),
- Les différentes contraintes auxquelles sont soumises ces
variables,
- L'objectif visé.
• Dans un problème de PL les contraintes et l'objectif sont des
fonctions linéaires des variables.
Cours SRP Dr A. Ben Hassine
29
Autres Formalismes
Programmation Linéaire en Nombres Entiers (PLNE)
• Exemple : Une usine fabrique 2 produits P1 et P2 nécessitant des
ressources, disponibles en quantités limitées :
équipement, main d’œuvre, et matière première.
P1 P2 Disponibilité
Equipement 3 9 81
Main d’œuvre 4 5 55
Matière Première 2 1 20
• Les prix de vente : P1 (6 dinars/unité), P2 (4 dinars/unité)
Quelles quantités de P1 et P2 doit produire l'usine pour maximiser
son chiffre d’affaires ?
Cours SRP Dr A. Ben Hassine
30
Autres Formalismes
Programmation Linéaire en Nombres Entiers (PLNE)
• Ce problème de production se modélise en utilisant la PLNE, ainsi :
max [ F ( x1 , x2 ) 6 x1 4 x2 ]
( x1 , x2 )
sous contraintes :
3 x1 9 x2 81
4 x1 5 x2 55
2 x x 20
1 2
x1 , x2 0
Cours SRP Dr A. Ben Hassine
31
Autres Formalismes
Programmation Linéaire en Nombres Entiers (PLNE)
• Forme Générale d’un PLNE: Forme Canonique Mixte
n
max [ F ( x1 , , x n ) c1 x1 c n x n
( x1 ,, xn )
c
j 1
j xj]
n
- Contraintes d' inégalité : i I1 , a ij x j a i1 x1 a in x n bi
j 1
n
- Contraintes d' égalité : i I 2 , a ij x j bi
j 1
- Contraintes de signes : j J 1 , x j 0
- j J 2 , x j de signe quelconque
avec I1 I 2 ensemble des indices des Contraintes,
J 1 J 2 ensemble des indices des Variables.
Cours SRP Dr A. Ben Hassine
32
Autres Formalismes
Programmation Linéaire en Nombres Entiers (PLNE)
• Autres formes d’un PLNE :
-Un programme linéaire est dit sous forme canonique pure s'il
s’écrit uniquement avec des contraintes d’inégalités.
-Un programme linéaire est dit sous forme standard s’il
s’écrit uniquement avec des contraintes d’égalités.
• Résolution d’un PLNE :
- Cas de 2 variables : Résolution graphique
* Le maximum de F est atteint en un sommet du polygone
convexe des contraintes.
- Cas de n variables: méthode Simplex [Dantzig47].
Cours SRP Dr A. Ben Hassine
33
Résolution Graphique
PLNE à 2 variables
Cours SRP Dr A. Ben Hassine
34
Résolution Graphique
PLNE à 2 variables
• L’intersection est un ensemble convexe.
• La région grisée = la région des solutions admissibles
• Il s'agit donc de chercher à l'intérieur de ce domaine,
le couple (x1 , x2) maximisant la fonction objectif
• En particulier, la droite 6x1 + 4x2 = 0
- Passe par l'origine et,
- Donne une valeur nulle à la fonction.
• Pour augmenter la valeur de la constante et donc la fonction objectif,
il suffit d'éloigner de l'origine la droite.
Cours SRP Dr W. CHAARI
35
Résolution Graphique
PLNE à 2 variables
• Pour respecter les contraintes :
cette droite sera déplacée jusqu'à l'extrême limite où il n'y aura
plus qu'un point d'intersection (éventuellement un segment) avec
la région des solutions admissibles.
• On remarquera que la solution optimale se trouve nécessairement
sur le pourtour de la région des solutions admissibles.
Cours SRP Dr W. CHAARI
36
Autres Formalismes
Problème de Satisfaction de Contraintes (CSP)
• Formellement, un problème de satisfaction de contraintes (ou
CSP pour Constraint Satisfaction Problem) est défini par :
– Un ensemble fini de variables X1, …, Xn.
• Chaque variable Xi a un domaine Di de valeurs permises.
– Un ensemble fini de contraintes C1, …, Cm sur les variables.
• Une contrainte restreint les valeurs possibles des variables.
• Un état d’un problème CSP est défini par une assignation de
valeurs à certaines variables ou à toutes les variables,
{Xi=vi, Xn=vn,…}.
Cours SRP Dr A. Ben Hassine
37
Autres Formalismes
Problème de Satisfaction de Contraintes (CSP)
• Une assignation qui ne viole aucune contrainte est dite consistante
• Une assignation est complète si elle concerne toutes les variables.
• Une solution à un CSP est une assignation complète et consistante.
• Parfois, la solution doit en plus maximiser une fonction objectif
donnée.
Cours SRP Dr A. Ben Hassine
38
Autres Formalismes
Problème de Satisfaction de Contraintes (CSP)
Exemple 1 :
Problème de Coloriage de Graphe
Cours SRP Dr A. Ben Hassine
39
Autres Formalismes
Problème de Satisfaction de Contraintes (CSP)
Problème CSP :
– Les variables sont les états : V = { WA, NT, Q, NSW, V,
SA, T }
– Le domaine de chaque variable est l’ensemble des trois
couleurs: DWA=DNT=DQ=DNSW =DV =DSA =DT ={R, G, B}
– Contraintes : Les régions frontalières doivent avoir des
couleurs différentes : WA≠ NT, …, NT≠ Q, …
Solution: { WA=R, NT=G ,Q=R, NSW=G,V=R, SA= B, T=G}
Cours SRP Dr A. Ben Hassine
40
Autres Formalismes
Problème de Satisfaction de Contraintes (CSP)
Exemple 2 :
Problème de N-Reines
• Variables : Q1 … Qn correspondant aux lignes 1, …, N.
• Domaines : chaque variable a le domaine de valeurs {1, …., N}
La ligne i a la valeur k si la reine (Queen) dans la ligne i
est dans la colonne k.
• Contraintes : Pas deux reines sur même colonne ou diagonale.
Cours SRP Dr A. Ben Hassine
41
Autres Formalismes
Problème de Satisfaction de Contraintes (CSP)
• CSP binaire = CSP dont toutes les contraintes sont unaires ou
binaires (arité = 2 ; arité = |vi|)
• CSP n-aire = CSP dont au moins une contrainte est n-aire
Il existe une transformation polynomiale qui permet de passer d’un
CSP n-aire à un CSP binaire
• Un CSP binaire peut être représenté par un Graphe de Contraintes
(X, C) :
• sommets = les variables
• arêtes = les contraintes
Cours SRP Dr A. Ben Hassine
42
Autres Formalismes
Problème de Satisfaction de Contraintes (CSP)
• Les extensions du CSP pour les problèmes sur-contraints :
- Le Partial Constraint Satisfaction Problem (PCSP), qui permet
de relaxer les contraintes du problèmes.
- DisCSP problèmes distribués.
- VCSP problèmes sur-contraints.
- DCSP problèmes dynamiques.
Cours SRP Dr A. Ben Hassine
43
Autres Formalismes
Problème de Satisfiabilité (SAT)
• Le problème SAT est un problème de logique propositionnelle.
• Le problème SAT consiste à décider si une formule en Forme
Normale Conjonctive (FNC) est satisfiable :
s’il existe une assignation de valeur de vérité
({true; false}) aux variables telle que toutes les clauses
soient true.
Cours SRP Dr A. Ben Hassine
44
Autres Formalismes
Problème de Satisfiabilité (SAT)
• Formellement, SAT (Satisfiability) :
– Instance : m clauses Ci formées à l’aide de n variables
logiques (littéraux)
– Question : la formule = C1 ^ C2 ^ ::: ^ Cm est-elle
satisfiable ?
• Par exemple, la formule (x y z) (x y) (x z)
est satisfaite avec l’assignation (x) = true et (y) = false.
Cours SRP Dr A. Ben Hassine
45
Autres Formalismes
Problème de Satisfiabilité (SAT)
• Variantes autour de SAT :
– Problème 2SAT
• Instance : m clauses Ci formées d’au plus deux littéraux à
l’aide de n variables
• Question : la formule = C1 ^ C2 ^ ::: ^ Cm est-elle
satisfiable ?
• Problème 2SAT est polynomial
Cours SRP Dr A. Ben Hassine
46
Autres Formalismes
Problème de Satisfiabilité (SAT)
• Variantes autour de SAT:
– Problème Max2SAT
• Instance : m clauses Ci formées d’au plus deux littéraux à
l’aide de n variables, un entier K
• Question : existe-t-il une assignation des variables qui
satisfasse au moins K clauses ?
– Problème kSAT est un problème SAT où toutes les clauses ont
exactement k littéraux (k >= 2).
Cours SRP Dr A. Ben Hassine
47
Autres Formalismes
Problème de Satisfiabilité (SAT)
Quelques applications de SAT
• Satisfaction de contraintes
• planification, emploi du temps
• raisonnement temporel (Allen 1983)
• conception et vérification de circuits (VLSI) (Larrabee 1992)
• ...
• Raisonnement (déductif)
S a ssi S a est unsatisfiable
Cours SRP Dr A. Ben Hassine
48
Autres Formalismes
Problème de Satisfiabilité (SAT)
• Autres modèles de raisonnement en IA
• diagnostic / abduction
• raisonnement par défaut,
• révision de croyances
• ...
• Apprentissage
• Autres applications
• cryptographie
• model checking (vérification de modèles)
• ...
Cours SRP Dr A. Ben Hassine
49
Autres Formalismes
Problème de Satisfiabilité (SAT)
Exemple : problème des pigeons
Soient les variables propositionnelles :
p(i, j) « le pigeon i est dans le pigeonnier j », i=1..n, j=1..n-1
• Ne pas laisser un pigeon libre :
( p(1,1) p(1,2) … p(1,n-1) )
( p(2,1) p (2,2) … p(2,n-1) )
…
( p(n,1) p(n,2) … p(n,n-1) )
Cours SRP Dr A. Ben Hassine
50
Autres Formalismes
Problème de Satisfiabilité (SAT)
• Mettre exactement un pigeon par pigeonnier
(p(1,1) p(2,1) ) … (p(1,1) p(n,1) )
(p(2,1) p(3,1) ) … (p(2,1) p(n,1) ) …
(p(n-1,1) p(n,1) )
…
(p(1,n-1) p(2,n-1)) … (p(1,n-1) p(n,n-1) )
(p(2,n-1) p(3,n-1)) … (p(2,n-1) p(n,n-1) ) …
(p(n-1,n-1) p(n,n-1) )
Cours SRP Dr A. Ben Hassine
51
TD1
Représentation des problèmes
EXPOSER L’ENONCE DU TD1
- Le problème du Fermier
- Le problème des 4 Reines
- Le problème du Singe et des Bananes
- Réflexions sur la formalisation en CSP des
exercices 2 & 3
Cours SRP Dr W. CHAARI
52
LA RESOLUTION DES
PROBLEMES
Cours SRP Dr W. CHAARI
53
Notion d ’heuristique
• Après la phase de choix et de formulation d ’une représentation
d ’un problème, on aborde celle de sa résolution.
• Chaque étape de la résolution reposera sur deux opérations-clés :
- l ’opération de développement des alternatives;
- l ’opération de choix d ’une alternative.
• Il s ’agit de déterminer tous les opérateurs qui s ’appliquent à une
situation donnée :
si l ’on se trouve dans l ’état (ou sous-problème) u de
l ’espace de recherche U, on voudra savoir tout ce qu ’il
est possible de faire à partir de là.
Cours SRP Dr W. Chaari
54
• L ’existence de plusieurs alternatives choix non déterministe.
Le non-déterminisme correspond à l ’absence d ’un moyen de
choix irrévocable.
• Il faut gérer les alternatives à chaque étape de résolution en se
donnant la possibilité de revenir sur les choix déjà faits :
complexité.
• La tâche essentielle d ’un algorithme de recherche est de prendre
en charge le non-déterminisme :
guider la recherche d ’une solution en faisant des choix
et en gérant les retours sur ces choix tout en évitant
l ’explosion combinatoire.
Cours SRP Dr W. Chaari
55
• Une heuristique est un moyen :
- un critère,
- une procédure,
- un ensemble de règles
destiné à réduire les alternatives et guider les choix
non-déterministes que doit faire un algorithme de recherche.
• Le plus souvent, une heuristique exploite une information
spécifique au problème posé non généralisable.
• Des techniques générales d ’élaboration d ’heuristiques ont pu
être dégagées, elles sont loin d ’être formelles.
Cours SRP Dr W. Chaari
56
Un problème de navigation
• Pour un robot mobile, déterminer le meilleur itinéraire pour
atteindre un lieu donné dans un environnement supposé connu.
• L ’environnement est décomposé et modélisé sous forme
d ’un graphe planaire non orienté.
• Chaque nœud u est une zone d ’espace à l ’intérieur de laquelle
la navigation est un problème trivial.
• Deux nœuds u et v sont adjacents s ’il est possible au robot de
passer de la zone u à la zone v.
Cours SRP Dr W. Chaari
57
Exemple de navigation d’un robot
A D
C
Cours SRP Dr W. Chaari
58
• Si le robot se trouve en A et cherche à atteindre B : le premier
choix doit se faire entre les alternatives C, D et E.
Pour ne pas faire un choix au hasard :
H1 : Examiner l ’alternative correspondant à la zone la plus
proche de celle où l ’on se trouve.
Idée : pour minimiser l ’itinéraire, commencer par
minimiser la première étape.
H2 : Simplifions. Admettons un environnement sans contrainte
où le robot peut se déplacer droit au but.
Examiner comme 1ère alternative la zone la plus proche
à vol d ’oiseau du but (infos métriques du pb initial).
H3 : Combiner. On choisit l ’itinéraire minimal, selon lequel
la première étape s ’effectuerait dans l ’environnement
réel et se poursuivrait à vol d ’oiseau.
Cours SRP Dr W. Chaari
59
• L ’heuristique est le plus souvent fondée sur une simplification
du problème initial, sur une relaxation des contraintes qui font
que ce problème est difficile.
• La simplification la plus grossière fournit en général l ’heuristique
la plus pauvre et la moins efficace pour guider la recherche.
• La simplification la plus élaborée conduit à une heuristique plus
complexe à évaluer. Le compromis est difficile à apprécier.
• La qualité d ’une heuristique peut se mesurer en termes de
réduction de la complexité de la recherche :
une heuristique h1 est préférable à h2, si dans tous les
cas h1 conduit à explorer moins d ’alternatives que h2.
Cours SRP Dr W. Chaari
60
Stratégies d ’organisation de la recherche
• La difficulté essentielle que résout un algorithme de recherche porte
sur l ’étape de choix parmi l ’ensemble des états connus et
susceptibles d ’être développés, de celui qui le sera effectivement.
• Ce choix est déterminé par la stratégie d ’organisation de la
recherche qu ’utilise l ’algorithme.
• Les principales stratégies procèdent en combinant un des 2 types
de développement d ’état et un des 3 types d ’organisation des
alternatives suivants :
Cours SRP Dr W. Chaari
61
Stratégies d ’organisation de la recherche
• Développement d ’état
A chaque étape, l ’état choisi sera
a- complètement développé : tous ses successeurs seront
engendrés et toutes les alternatives issues de cette étape sont
considérées pour participer au choix suivant;
b- partiellement développé : on s ’arrête au premier successeur
engendré, cette étape n ’a pas été entièrement explorée, et le
ou les nouveaux états s ’ajoutent aux alternatives connues.
• Organisation des alternatives (choix de l ’état)
L ’ensemble des alternatives est ordonné sous forme d ’une pile,
avec trois organisations possibles :
1- dernier rentrant premier sortant (LIFO)
2- premier rentrant premier sortant (FIFO)
3- recherche ordonnée (par ordre de coût croissant).
Cours SRP Dr W. Chaari
62
1- Dernier rentrant premier sortant (LIFO)
on poursuit la recherche sur la dernière alternative en date
trouvée.
2- Premier rentrant premier sortant (FIFO)
on développe parmi l ’ensemble des alternatives la première
en date engendrée.
3- Recherche ordonnée (par ordre de coût croissant)
l ’état choisi sera celui pour lequel la fonction d ’évaluation
de coût est minimale.
Cours SRP Dr W. Chaari
63
• Les algorithmes utilisant des développements de type (a) sont les plus
décrits dans la littérature.
• Les algorithmes rencontrés dans les SBR reposent le plus souvent sur
des développements de type (b).
• Les organisations de type (1) sont dites recherche en profondeur, car
elles conduisent à poursuivre sur un successeur de l ’état qui vient
juste d ’être développé (simples à implanter).
• Les organisations de type (2) ne se rencontrent que dans la
formulation (2-a). Elles sont appelées recherche en largeur : tous les
successeurs d ’un état seront développés avant qu ’un de leurs
successeurs ne le soit (moins efficaces, lourdes à mettre en œuvre).
• Les plus intéressantes sont les stratégies de type (3) (plus
performantes que les autres).
Cours SRP Dr W. Chaari
64
Méthodes de recherche
Chercher
Tout chemin Un chemin optimal Jeux
R. en profondeur Proc. du British Museum MINMAX
R. en prof. ordonnée R. heuristique Elagage a -
R. en largeur Programmation dynamique Approf. prog.
R. en faisceau Procédure A* Elagage h.
R. du meilleur premier Poursuite h.
Cours SRP Dr W. Chaari
65
Recherche de chemins
4 4
A B C
3
S 5 5
G
4
E 3
D F
2 4
Trouver un chemin dans un réseau de villes reliées par des routes.
Le chemin doit commencer à la ville source S et se terminer à la
ville but G.
Cours SRP Dr W. Chaari
66
Recherche de chemins
• La difficulté de la recherche d ’un chemin se mesure à 2 niveaux :
- La découverte d ’un chemin (le plus court ou quelconque).
- Le parcours effectif de ce chemin.
• Si parcours fréquent du chemin entre S et G, trouver un bon chemin.
Si parcours une seule fois et si le réseau est complexe, se satisfaire
du premier chemin venu (des chemins plus efficaces seraient obtenus
en cherchant mieux).
• Nous considérons d ’abord la recherche d ’un chemin quelconque,
nous présentons ensuite la recherche de chemins optimaux.
• Il faut organiser la recherche selon une technique d ’archivage
permettant l ’exploration de tous les chemins possibles suivant un
ordre donné.
• Un tel procédé doit interdire de décrire un cycle : S - A - D - S - A -
D - S - A - D, ...
Cours SRP Dr W. Chaari
67
Transformer le réseau en arbre
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
Cours SRP Dr W. Chaari
68
Transformer le réseau en arbre
• On trace tous les chemins possibles dans le réseau, et pour chacun,
on s ’arrête lorsque le chemin repasse par un point déjà exploré.
• Les connexions entre nœuds sont appelées les liens dans un réseau, et
les branches dans un arbre.
• S est la racine, un nœud père dont les fils sont A et D, un nœud
ancêtre puisque tous les autres nœuds de l ’arbre sont des descendants.
• Les nœuds sans fils sont les feuilles.
• Les nombres écrits sous les feuilles sont les sommes des distances
parcourues.
• On développe un nœud en explicitant ses descendants. Un nœud non
encore développé est dit ouvert; un nœud déjà développé est dit fermé.
• Dans l ’exemple, le but est atteint par quatre chemins distincts.
Cours SRP Dr W. Chaari
69
Recherche en profondeur depth-first search
• On sélectionne une possibilité S
à chaque nœud pour continuer A
la descente jusqu ’à ce qu ’on
atteigne le but ou une feuille.
B
Dans ce cas d ’impasse,
on reprend la recherche à
C E
l’ancêtre le plus proche
dont au moins un fils n ’a pas
encore été exploré. D F
Cours SRP Dr W. Chaari
70
Procédure de recherche en profondeur
Pour effectuer une recherche en profondeur à l ’aide d ’une pile :
1 Empiler la racine.
2 Jusqu ’à ce que la pile soit vide ou que le nœud but soit atteint,
déterminer si le sommet de la pile est égal au nœud but :
2a Si oui, ne rien faire à cette étape.
2b Si non, dépiler le premier élément et empiler ses fils, s ’il en a,
depuis celui le plus à droite jusqu’à celui le plus à gauche.
3 La recherche aboutit si le nœud but a été atteint et échoue sinon.
Cours SRP Dr W. Chaari
71
Procédure de recherche en profondeur
• La recherche en profondeur peut conduire vers des chemins
infiniment longs sans succès.
Recherche de hauteur-première
• La hauteur d ’un nœud peut se définir ainsi :
1. La hauteur du nœud initial est 0.
2. La hauteur d ’un autre nœud vaut 1 de plus que celle de son
prédécesseur.
• L ’arbre d ’espace d ’états peut avoir une hauteur infinie. Pour éviter
de prendre en compte des voies trop longues, un maximum de hauteur
est posé à l ’extension des nœuds.
• Tout nœud atteignant cette limite est traité comme n ’ayant pas de
successeurs.
Cours SRP Dr W. Chaari
72
Recherche en profondeur ordonnée
hill climbing
• Il s ’agit d ’une recherche informée en profondeur d ’abord.
• L’objectif est d’améliorer l’efficacité d’une recherche si l’on
dispose d’un moyen d’examiner en premier “ les choix les plus
prometteurs ”.
• On procède comme pour la recherche en profondeur, mais on
ordonne les choix selon une mesure heuristique de la distance
restant à parcourir.
Cours SRP Dr W. Chaari
73
Recherche en profondeur ordonnée
S
A 10,4 D 8,9
A 10,4 E 6,9
• La Distance Euclidienne
(distance à vol d’oiseau) 3,0
B 6,7 F
est un exemple de mesure
heuristique de la distance restant
G
à parcourir depuis un nœud.
• Les nombres à côté des nœuds sont les distances qui les séparent à
vol d’oiseau du nœud but.
Cours SRP Dr W. Chaari
74
Procédure de recherche en profondeur
ordonnée
Pour effectuer une recherche en profondeur ordonnée :
1 Empiler la racine.
2 Jusqu’à ce que la pile soit vide ou que le nœud but soit atteint,
déterminer si le sommet de la pile est égal au nœud but :
2a Si oui, ne rien faire à cette étape.
2b Si non, dépiler le premier élément et empiler ses fils, s ’il en a,
dans l’ordre décroissant de leur distance au but.
3 La recherche aboutit si le nœud but a été atteint et échoue sinon.
Cours SRP Dr W. Chaari
75
Recherche en largeur breath first search
S
A D
B D A E
C E E B B F
D F B F C E A C G
• Elle cherche le but souhaité parmi tous les nœuds d’un niveau donné
avant d’aller consulter leurs fils.
Cours SRP Dr W. Chaari
76
Recherche en largeur breath first search
• Le nœud D sera essayé aussitôt après le nœud A. La procédure va
ainsi continuer, niveau après niveau, pour atteindre le nœud G au
4ème niveau de descente à compter de la racine.
• La procédure de recherche en largeur ressemble à celle de la
recherche en profondeur simple :
La différence réside dans l’endroit d’insertion des nouveaux
éléments.
Cours SRP Dr W. Chaari
77
Procédure de recherche en largeur
Pour effectuer une recherche en largeur :
1 Mettre la racine en tête de la file.
2 Jusqu’à ce que la file soit vide ou que le nœud but soit atteint,
déterminer si le premier élément de la file est le nœud but :
2a Si oui, ne rien faire à cette étape.
2b Si non, le retirer de la file et placer ses fils, s’il en a, en fin de
file, dans l’ordre gauche-droite naturel.
3 La recherche aboutit si le nœud but a été atteint et échoue sinon.
Cours SRP Dr W. Chaari
78
Recherche en faisceau beam search
• Il s ’agit d ’une recherche informée en largeur d ’abord. La recherche
en faisceau ou recherche rayonnée ressemble à la recherche en
largeur : elle progresse par niveaux successifs.
• Elle n’explore un niveau inférieur qu’à partir des w meilleurs nœuds
à chaque niveau et ignore les autres.
• Le nombre de nœuds explorés reste acceptable, même en cas de
recherche très profonde ou ramifiée.
• Si l ’on utilise une recherche en faisceau de largeur w sur un arbre de
degré b, on n ’explorera au plus que wb nœuds à chaque niveau :
nombre inférieur à celui auquel conduirait une recherche en largeur
sur le même arbre.
Cours SRP Dr W. Chaari
79
Recherche en faisceau beam search
w=2
1 S
10,4 A D 8,9
S
2
A D
6,7 B 8,9 D A 10,4 E 6,9
Cours SRP Dr W. Chaari
80
Recherche en faisceau beam search
3 S
A D
B D A E
4,0 C E 6,9 6,7 B F 3,0
Cours SRP Dr W. Chaari
81
Recherche en faisceau beam search
4 S
A D
B D A E
C E B F
10,4 A C G 0,0
Cours SRP Dr W. Chaari
82
Recherche du meilleur premier best first search
• Il s ’agit d ’une recherche informée du meilleur d ’abord.
• Dans la recherche ordonnée, on se dirige vers le fils du nœud
courant offrant les meilleures possibilités.
• Dans la recherche du meilleur premier, on avance à partir du
meilleur nœud ouvert à cet instant, quel que soit l ’endroit où il se
situe dans l ’arbre partiel développé.
• Les chemins trouvés lors de la recherche du meilleur premier sont
souvent plus courts que ceux trouvés par d ’autres méthodes.
• La RMP nécessite le tri de toute la file.
Cours SRP Dr W. Chaari
83
Procédure de recherche du meilleur premier
Pour effectuer une recherche du meilleur premier :
1 Mettre la racine en tête de la file.
2 Jusqu ’à ce que la file soit vide ou que le nœud but soit atteint,
déterminer si le premier élément de la file est le nœud but :
2a Si oui, ne rien faire à cette étape.
2b Si non, le retirer de la file, placer ses fils, s ’il en a, dans la file,
et trier la file entière par ordre croissant des distances calculées
au but.
3 La recherche aboutit si le nœud but a été atteint et échoue sinon.
Cours SRP Dr W. Chaari
84
TD2
Résolution des problèmes
EXPOSER L’ENONCE DU TD2
- Les parcours dans le problème du Singe et des
Bananes
- Best First et B&B pour le problème de navigation
d’un robot
- La décomposition du problème des cubes
Cours SRP Dr W. CHAARI
85
Procédure du British Museum
• Elle est aussi appelée procédure de l ’énumération explicite.
• Une technique pour trouver le chemin le plus court dans un réseau
consiste à rechercher tous les chemins possibles, puis à ne conserver
que le plus court.
• Pour trouver tous les chemins possibles, les procédures de recherche
en profondeur ou en largeur conviendrait mais la recherche ne doit pas
s ’arrêter dès que l ’on a trouvé le premier chemin conduisant au but.
• Tout va bien tant que la largeur et la profondeur de l ’arbre restent
raisonnables.
Cours IA Dr W. Chaari
86
La recherche heuristique branch-and-bound
• Dans une recherche heuristique, on développe le nœud situé à la fin
du plus court chemin conduisant à un nœud ouvert. Il s ’agit d ’une
recherche d ’une solution optimale (de coût uniforme).
• Le développement se poursuit jusqu’à ce qu ’il existe un chemin
reliant le but de longueur inférieure ou égale à celles de tous les
chemins partiels menant à des nœuds ouverts.
• Prenons un exemple simple de réseau (a). En (b) et (c), des arbres de
recherche partiellement développés (les nombres inscrits sont les
distances cumulées) :
- En b, même s ’il se trouvait un chemin satisfaisant passant
par B, il pourrait en exister un plus court passant par A.
- En c, il n ’y aurait aucun intérêt à développer B.
Cours IA Dr W. Chaari
87
La recherche heuristique branch-and-bound
B
a 5
2
S A G
2 2
b c S
S
A 2 B 5 A 2 B 5
G 4
Cours IA Dr W. Chaari
88
Procédure de recherche heuristique
Pour effectuer une recherche heuristique :
1 Initialement, la file des chemins partiels contient le chemin d ’ordre
zéro, de longueur nulle et reliant la racine à nulle part.
2 Jusqu’à ce que la file soit vide ou que le nœud but soit atteint,
regarder si le premier chemin de la file atteint le but :
2a Si c’est le cas, ne rien faire.
2b Si le premier chemin de la file n’aboutit pas au but :
2b1 Le supprimer de la file.
2b2 Former les nouveaux chemins obtenus en prolongeant
d ’un niveau le chemin supprimé.
Cours IA Dr W. Chaari
89
Procédure de recherche heuristique
2b3 Insérer ces nouveaux chemins dans la file.
2b4 Le coût d ’un chemin étant égal à la somme des distances
déjà parcourues sur celui-ci, trier la file par coûts
croissants.
3 La recherche aboutit si le nœud but a été atteint et échoue sinon.
--------------------------
Considérons de nouveau le problème de la carte routière et examinons
le comportement de la recherche heuristique : le coût d ’un nœud j fils
d ’un nœud i est défini par s
- f(j) = g(i) + c(i, j) g(i)
- g(i) est le coût du trajet reliant le nœud initial à i. i
- c(i, j) est le coût de l ’arc reliant i à j. c(i, j)
j
Cours IA Dr W. Chaari
90
Procédure de recherche heuristique
S
1
A 3 D 4
2 A D 4
B 7 D 8
...
Cours IA Dr W. Chaari
91
Recherche heuristique et estimations
minorantes
• L ’efficacité de la recherche heuristique peut être améliorée :
si l ’on utilise d ’une part des estimations des distances
restant à parcourir et d ’autre part la longueur du chemin
déjà parcouru.
• Une sous-estimation de la distance restante conduit à une
sous-estimation de la longueur totale du chemin :
S(long totale du chemin) = d(déjà parcouru) + S(distance restante)
• Dans le cas de parcours d ’un réseau de villes, la distance à vol
d ’oiseau fournit une sous-estimation de la distance réelle.
Cours IA Dr W. Chaari
92
Recherche heuristique et estimations
minorantes
1 S
A 13,4 D 12,9
2 A 13,4 D
A 19,4 E 12,9
Cours IA Dr W. Chaari
93
Recherche heuristique et estimations
minorantes
S
3
A 13,4 D
A 19,4 E
Les nombres inscrits à côté des
nœuds représentent la somme de
17,7 B F 13,0
la distance parcourue et d ’un
minorant de la distance restante.
On développe moins de nœuds ...
Cours IA Dr W. Chaari
94
Recherche heuristique et estimations
minorantes
S
4
A 13,4 D 12,9
A 19,4 E 12,9
17,7 B F 13,0
G 13,0
Cours IA Dr W. Chaari
95
Procédure de recherche heuristique
avec minoration
Pour effectuer une recherche heuristique avec minoration :
...
2b4 Le coût de chaque chemin étant la somme de la distance
déjà parcourue et d ’une estimation minorante de la
distance restant à parcourir, trier la file par coûts
croissants.
...
Cours IA Dr W. Chaari
96
Recherche heuristique dynamique
• Il s ’agit de supprimer les chemins redondants :
Prochain nœud à
A 3 D 4
développer
B 7 D 8
Inutile de développer
Les nombres inscrits représentent les distances cumulées.
Cours IA Dr W. Chaari
97
Recherche heuristique dynamique
1 S
A 3 D 4
S
2
A 3 D 4
B 7 D 8
...
Cours IA Dr W. Chaari
98
Procédure de recherche heuristique
dynamique
Pour effectuer une recherche heuristique par programmation
dynamique :
...
2b4 Le coût de chaque chemin étant la distance déjà
parcourue, trier la file par coûts croissants.
2b5 Si deux chemins ou plus atteignent le même nœud,
ne conserver que celui ayant la longueur minimale.
...
Cours IA Dr W. Chaari
99
Procédure A*
• La procédure A* est une recherche heuristique avec estimation de
la distance restante, combinée avec le principe de le programmation
dynamique.
• Pour effectuer une procédure A* avec estimation minorante :
...
2b4 Le coût de chaque chemin étant la somme de la distance
déjà parcourue et d ’une estimation minorante de la
distance restant à parcourir, trier la file par coûts
croissants.
2b5 Si deux chemins ou plus atteignent le même nœud,
ne conserver que celui ayant la longueur minimale.
...
Cours IA Dr W. Chaari
100
Procédure A*
1 S
A 13,4 D 12,9
S
2
A 13,4 D
A 19,4 E 12,9
...
Cours IA Dr W. Chaari
101
Remarques sur l ’algorithme A*
• L ’algorithme s ’intéresse au problème de trouver la voie au coût
minimal reliant le nœud initial à un nœud terminal dans un graphe
d ’espace d ’états.
• Le caractère distinctif de l ’algorithme est sa définition de la fonction
d ’évaluation f*.
• Le nœud choisi pour l ’extension est toujours celui pour lequel f* est
minimum.
• f* considère la valeur de chaque nœud n comme ayant deux
composantes :
- le coût pour atteindre n à partir du nœud initial.
- le coût pour atteindre le nœud final à partir de n.
Cours IA Dr W. Chaari
102
Remarques sur l ’algorithme A*
• Ainsi on a :
f*(n) = g*(n) + h*(n)
g* évalue le coût minimum d ’une voie allant du nœud initial à n.
h* évalue le coût minimum d ’une voie allant de n au nœud terminal.
Les coûts réels sont exprimés par f, g et h respectivement.
• La fonction f*, appliquée au nœud n considéré pour l ’extension, est
calculée comme le coût réel du nœud initial s au nœud n le long de la
voie la moins chère trouvée jusque-là par l ’algorithme.
g* peut s ’égarer dans le sens d ’une surestimation du coût minimal.
h* doit être non négatif, et ne jamais surestimer le coût de la voie
allant du nœud en cours d ’évaluation au nœud terminal
Cours IA Dr W. Chaari
103
Remarques sur l ’algorithme A*
• Ainsi on a :
h*(n) h(n) condition d ’admissibilité
• Si h* satisfait à la condition d ’admissibilité et que si, tous les coûts
d ’arcs sont positifs et tendent vers un nombre positif,
alors A* garantit de trouver une voie de solution d ’un coût minimal, si
une voie de solution existe. propriété d ’admissibilité
• Plus h* tendra vers h, mieux s ’exécutera l ’algorithme.
• Deux algorithmes similaires, A1 et A2, peuvent être comparés par
rapport à leurs choix de la fonction h*, disons h1* et h2*.
A1 est dit mieux informé que A2, si lorsqu ’un nœud n est évalué,
h1* (n) > h2*(n).
Cours IA Dr W. Chaari
104
TD3
Algorithme A*
EXPOSER L’ENONCE DU TD3
- Le problème du taquin
- Le problème des pions
Cours SRP Dr W. CHAARI
105
Recherches à partir de GSP
• Les techniques de recherche d ’une solution reviennent à parcourir
des arbres spéciaux ET/OU.
• Elles consistent à prendre :
- tous les nœuds à l ’alternative ET,
- un seul nœud à l ’alternative OU.
• Les techniques aveugles se rapprochent de celles déjà développées.
• Les techniques heuristiques se basent sur l ’algorithme AO*.
Cours IA Dr W. Chaari
106
Principe de l ’algorithme AO*
• Il s ’agit d ’un algorithme de recherche heuristique avec une fonction
de coût h(n) dans les graphes ET/OU.
• Une solution d ’un graphe ET/OU est un sous-graphe démontrant que
le nœud de départ est résolu.
• Le coût d ’un arbre de solution peut se définir par chacune des deux
façons :
- Le coût total d ’un arbre de solution est la somme de tous les
les coûts des arcs dans l ’arbre.
- Le coût maximum d ’un arbre de solution est la somme des
coûts des arcs situés sur la voie la plus chère de la racine au
nœud terminal.
• Si l ’espace de recherche entier a été exploré, alors un arbre de
solution optimal peut se construire et son coût se mesurer comme suit.
Cours IA Dr W. Chaari
107
Principe de l ’algorithme AO*
• Soit c(n, m) le coût d ’un arc allant du nœud n à un nœud successeur
m. Une fonction h(n) se définit par :
1. Si n est un nœud terminal (pb. primitif), alors h(n)=0.
2. Si n a des successeurs en OU, alors h(n) est le minimum, par
dessus tous ses successeurs m, de c(n, m) + h(m).
3. Si n a des successeurs en ET et si les coûts totaux sont
utilisés, alors h(n) est la sommation, par dessus tous les
successeurs m, de c(n, m) + h(m).
4. Si n a des successeurs en ET et si les coûts maximums sont
utilisés, alors h(n) est le maximum, par dessus tous les
successeurs m, de c(n, m) + h(m).
5. Si n est un nœud non terminal sans successeurs, alors h(n) est
infini.
Cours IA Dr W. Chaari
108
Application de l ’algorithme
• Considérons l ’arbre ET/OU suivant :
S
1 2
A B
1 6 2 1 3
t1 t2 t3 C D
1 1 1 2
u1 t4 u2 E
t - nœud terminal
1 1
u - nœud insoluble
t5 t6
...
Cours IA Dr W. Chaari
109
• Si les coûts totaux sont utilisés, les valeurs de h sont telles que
montrées sur la figure ci-dessous, et la solution optimale est le
sous-graphe comprenant les nœuds : S, B, D, E, t5 et t6 .
S
1 h=9 2
h=7
h=9 A B
1 6 2 1 3
t1 t2 t3 C h=inf D h=4
h=0 h=0 h=0 1 1 1 2
u1 t4 u2 E h=2
h=inf h=0 h=inf
1 1
t5 t6
h=0 h=0
Cours IA Dr W. Chaari
110
• Si les coûts maximum sont utilisés, les valeurs de h sont telles que
montrées sur la figure ci-dessous, et la solution optimale est le
sous-graphe comprenant les nœuds : S, A, t1 , t2 et t3 .
S
1 h=7 2
h=6
h=6 A B
1 6 2 1 3
t1 t2 t3 C h=inf D h=3
h=0 h=0 h=0 1 1 1 2
u1 t4 u2 E h=1
h=inf h=0 h=inf
1 1
N.B. On peut parler de h*
une estimation de h. t5 t6
h=0 h=0
Cours IA Dr W. Chaari
111
Algorithmes de Jeux
Jeux avec adversaires et recherches
La nouveauté vient du fait que 2 joueurs, agissant comme des
adversaires, prennent des décisions à tour de rôle.
Chaque joueur a une information explicite sur la position de son
adversaire (jeu de dames, jeu d ’échecs, …)
Il est absolument hors de question d ’employer la procédure du
British Museum pour parcourir les arbres de jeu.
La nature combinatoire des jeux réels fait que la génération complète
d ’un arbre depuis le nœud de départ vers les nœuds terminaux est
irréalisable : environ 10120 nœuds (jeu échecs) et 1040 nœuds (jeu de
dames).
Cours IA Dr W. Chaari
112
Algorithmes de Jeux
Position du problème
La recherche se caractérise par le fait que, contrairement au cas
courant des Systèmes de Résolution de Problèmes (SRP), le
planificateur ne dispose pas de la maîtrise complète de
l ’enchaînement des opérateurs, puisque des décisions extérieures à
lui sont prises (par l ’adversaire).
Dans le cas du jeu, sur un terrain parfaitement formalisés, deux
planificateurs antagonistes construisent l ’évolution d ’une situation
avec des objectifs opposés.
Cours IA Dr W. Chaari
113
Algorithmes de Jeux
A partir d ’une situation donnée :
Le jeu possible pour un joueur A peut se développer sous forme
d ’un arbre appelé arbre de jeu.
A envisage les coups qu ’il peut jouer, les répliques possibles de B
et ses répliques en retour jusqu ’à un certain niveau de profondeur.
La représentation la mieux adaptée est celle par Espace d ’Etats
avec quelques particularités :
1. La représentation traduit le point de vue d ’un des 2 joueurs.
2. Les successeurs d ’un nœud sont les états qu ’on peut
atteindre en réalisant un coup autorisé par les règles de jeu.
3. Les joueurs se succèdent dans la réalisation des coups du
jeu.
Cours IA Dr W. Chaari
114
Algorithme MINMAX
• On suppose que l ’on dispose d ’un mode d ’analyse qui permette de
convertir toutes les appréciations sur les situations du jeu en une
évaluation numérique.
• On suppose par convention que :
un nombre positif indique un avantage pour l ’un des joueurs,
un nombre négatif indique un avantage pour l ’autre.
• La procédure qui détermine l ’évaluation numérique qualitative est
appelée évaluation statique (fonction d ’évaluation).
• le joueur cherchant à obtenir des valeurs positives est appelé le
maximiseur. Son adversaire est le minimiseur.
Cours IA Dr W. Chaari
115
Algorithme MINMAX
• Si le prochain joueur est le maximiseur, il va chercher un chemin à
une valeur positive la plus grande possible, il suppose que son
adversaire va essayer de forcer le jeu vers des situations d ’évaluation
statique fortement négatives.
• Les scores d ’un niveau donné déterminent l’action et le score effectif
au niveau immédiatement supérieur.
Soit l ’arbre de jeu miniature suivant ...
Cours IA Dr W. Chaari
116
Principe MINMAX
a max
min
max
2 7 1 8 b max
min
2 1
max
c 2
2 7 1 8 max
2 1 min
max
2 7 1 8
Cours IA Dr W. Chaari
117
Principe MINMAX
• Les évaluations statiques aux pseudo-feuilles de l ’arbre indiquent au
minimiseur qu ’il peut envisager des scores de 2 et 1 au niveau
immédiatement supérieur à celui de ces évaluations.
• Connaissant ces scores, le maximiseur peut choisir la meilleure façon
qu ’il a de jouer au niveau encore au-dessus.
• Le maximiseur se déplacera de toute évidence vers le branchement à
partir duquel le minimiseur ne pourra pas faire mieux que d ’abaisser
le score à 2.
• La procédure par laquelle le calcul des scores traverse de niveau en
niveau l ’arbre de jeu s ’appelle la procédure MINMAX :
Cours IA Dr W. Chaari
118
Procédure MINMAX
Pour appliquer le principe MINMAX :
1 Déterminer si la limite de recherche a été atteinte, si le niveau de jeu
est minimisant, ou s ’il est maximisant :
1a Si la limite de recherche a été atteinte, calculer l ’évaluation
statique de la position courante. Conserver le résultat.
1b Si le niveau de jeu est minimisant, appliquer la procédure
MINMAX aux fils du nœud courant. Conserver le minimum
des résultats trouvés.
1c Sinon, le niveau de jeu est maximisant. Appliquer la procédure
MINMAX aux fils du nœud courant. Conserver le maximum des
résultats trouvés.
Cours IA Dr W. Chaari
119
Remarques sur la Procédure MINMAX
• L ’idée générale repose sur la conversion en un nombre unique (la
valeur statique) de la qualité d ’une situation donnée.
• La mise en correspondance de la qualité et d ’une échelle numérique
unique présente un inconvénient :
un nombre ne donne aucune information sur la manière dont il
a été calculé. C ’est imposé par notre manque de connaissances
sur ce que nous devrions faire.
• Le calcul des valeurs statiques coûte cher.
• Le parcours de l ’arbre peut se faire selon les stratégies aveugles
de développement déjà vues.
Cours IA Dr W. Chaari
120
Algorithme d’élagage a-
• L ’algorithme a - élague l ’arbre de jeu. Il s ’agit d ’une procédure
qui se charge de réduire tant le nombre de branches de l ’arbre à
développer que celui d ’évaluations nécessaires.
• Observons l ’exemple qui suit ...
Cours IA Dr W. Chaari
121
Principe d’élagage a-
a max
min
max
b 2
2 7 max
min
=2
2 max
c =2
2 7 max
=2 1 min
max
2 7 1
Cours IA Dr W. Chaari
122
Principe d’élagage a-
• Considérons la figure a où la fonction d ’évaluation a déjà fourni des
scores pour les deux premières situations terminales.
L ’emploi de la procédure MINMAX sur les scores 2 et 7 va
déterminer que le joueur minimiseur est garanti d ’un score de 2.
Ceci garantit à son tour au maximiseur d ’avoir au moins un score de
2 au départ (indiqué à la racine sur la figure b).
Supposons que la valeur statique du prochain nœud terminal soit de 1.
Le minimiseur est sûr d ’avoir un score au moins aussi bon que 1.
• Est-il utile de descendre jusqu ’à la situation correspondant au nœud
final ? Non. Comme le maximiseur sait qu ’il est assuré d ’un score
de 2 en passant par la branche gauche, tout ce qu ’il a besoin de
savoir sur la branche droite est qu ’il ne peut pas espérer obtenir un
score supérieur à 1 en la prenant, sans plus.
Cours IA Dr W. Chaari
123
Principe d’élagage a-
• Cette stratégie nécessite l ’entretien de 2 valeurs :
- une borne inférieure sur la valeur qu ’un nœud maximisant
peut se voir attribuer (a);
- une borne supérieure sur la valeur qu ’un nœud minimisant
peut se voir attribuer ();
• L ’algorithme détermine la valeur minmax de la racine de l ’arbre de
jeu en traversant l ’arbre dans un ordre prédéterminé (de la gauche
vers la droite) sautant tous les nœuds qui ne peuvent plus influencer
la valeur minmax de la racine.
• Les nœuds sautés se trouvant à un niveau MAX (resp. MIN), sont
appelés des nœuds élagués par une coupure a (resp. ).
Cours IA Dr W. Chaari
124
Exemples d’élagage a-
max 1 15 1 max
min 2 3 10 2 3 min
17
15 a
max 4 5 4 5 27 max
10 17
6 7 min
27
Cours IA Dr W. Chaari
125
Les Algorithmes de Jeux et l ’IA
• Certains spécialistes estiment qu ’à part l ’examen de nombreux
coups et ripostes et l ’analyse de toutes leurs conséquences, bien
peu de savoir est nécessaire pour bien jouer.
• Pour d ’autres, une approche uniquement prévisionnelle ne peut
porter de stratégie de jeu très subtile;
Pour eux, cette démarche doit être complétée par une analyse
approfondie des mécanismes de compréhension des situations et de
réactions à différentes combinaisons de jeu.
• Ce qui fait un bon joueur n ’est pas tellement sa puissance de calcul
mais sa faculté à choisir les bons coups sans critère fixe mais
dépendant de la situation.
Cours IA Dr W. Chaari
126
• Les techniques d ’Intelligence Artificielle ont donc contribué au
développement de systèmes plus performants basés sur :
- Les techniques d ’apprentissage.
- La génération de plans.
- Les systèmes de production avec des règles d ’interprétation
de situations et des règles d ’actions.
- La programmation logique.
Cours IA Dr W. Chaari
127
Classification des Approches de Résolution
Quatre grandes approches :
1. Construction : instanciation successive des variables selon un
ordre statique ou dynamique (Prof, Larg, B&B, Min-Max, etc.)
2. Recherche locale : réparation itérative d'une configuration
complète par des modifications locales (descente, recuit simulé,
recherche tabou)
3. Evolution : évolution d'une population de solutions par des
opérations "génétiques" (sélection, croisement, et mutation), ex :
algorithmes génétiques
4. Hybridation : combinaison de différentes approches (évolution
+ RL, évolution + construction...)
Cours SRP Dr A. Ben Hassine
128
Heuristique Vs. Métaheuristique
• Heuristique
Une méthode approchée conçue pour un problème particulier pour
produire des solutions non nécessairement optimales (avec un temps
de calcul raisonnable).
• Métaheuristique
Une stratégie (règle) de choix pilotant une heuristique , introduite
initialement dans le contexte de la méthode taboue. C’est un
schéma de calcul heuristique, général et adaptable à un ensemble
de problèmes différents.
• Champs d’applications privilégiés
problèmes de recherche difficiles qu’on ne sait pas traiter autrement
Cours SRP Dr A. Ben Hassine
129
Méthodes Métaheuristiques
Chercher
Méthodes Approchées Méthodes Approchées
R. en profondeur
par par
Construction Recherche Locale
Colonies de Fourmis Recherche Tabou
Recuit Simulé
Cours SRP Dr W. Chaari
130
Algorithme de Colonies de Fourmis
► Source d’inspiration biologique
► Observation du comportement des espèces dans la
Nature
Cours SRP Dr I. Alaya
131
Source d’Inspiration
► Les Fourmis Réelles
Traces de phéromone: une
substance chimique que les fourmis
arrivent à détecter
Aptitude des fourmis à découvrir le plus court chemin
Cours SRP Dr I. Alaya
132
Source d’Inspiration
?
50% 50%
Cours SRP Dr I. Alaya
133
Optimisation par Colonies de Fourmis
Problème à
résoudre
- Coopération : Traces de
phéromones artificielles
- L’évaporation - Mémoire Privée
- Politique de transition -Vivent dans monde discret
probabiliste
- Dépôt de phéromone
- MAJ de phéromone guidée
par la qualité des solutions
A prévoir
générées
Analogie Solutions
Cours SRP Dr I. Alaya
134
Métaheuristique ACO
♦ Modéliser le problème
Recherche d’un chemin optimal dans un graphe appelé
graphe de construction
♦ Utiliser les fourmis artificielles
Recherche des ‘bons’ chemins
Construction stochastique de solutions guidée par les
traces de phéromone
♦ Mise à jour de phéromone
Cours SRP Dr I. Alaya
135
ANT SYSTEM M. Dorigo, 1991
Pour chaque fourmi
Choisir un noeud de départ
Choisir un noeud relativement à :
- Information heuristique
- Traces de phéromone
Pour chaque noeud
Dépôt de phéromone
Evaporation
Cours SRP Dr I. Alaya
136
ANT SYSTEM
• Problème du Voyageur de Commerce
• Représenté par un graphe de construction où les nœuds
sont les villes
• Le nœud de départ est choisi aléatoirement
• La solution de départ est vide (approche constructive)
• Le choix d’un nœud à ajouter à la solution partielle se fait
selon UNE PROBABILITE qui dépend de :
- l’information heuristique
- la quantité de phéromone
Cours SRP Dr I. Alaya
137
ANT SYSTEM
• L’algorithme comporte deux boucles :
- l’ensemble des nœuds par Fourmi
- l’ensemble des Fourmis
• Il s’agit d’une Solution / Fourmi
• Il y a 3 solutions obtenues
• La meilleure est présentée à la fin
Cours SRP Dr I. Alaya
138
Applications
• Réseaux de communication
• Routage de véhicules
• Satisfaction de contraintes
• Appariement de graphes
• Partitionnement de graphes
• ...
Cours SRP Dr I. Alaya
139
Attention !
L’ACO peut être appliquée à n’importe quel problème
d’optimisation combinatoire qui peut être formalisé
comme une recherche de chemin optimal dans un
graphe.
Un paramétrage non étudié de l’algorithme fourmi
peut mener à des solutions sous-optimales.
Cours SRP Dr I. Alaya
140
Recherche Locale : les principes de base
• Intensification ou exploitation: consiste à examiner en
profondeur une zone particulière de l’espace de recherche.
• Diversification ou exploration : consiste à examiner de nouvelles
zones prometteuses dans l’espace de recherche.
• Idée est de trouver un bon compris entre l’intensification et la
diversification.
• Moyen: les métaheuristiques
Cours SRP Dr A. Ben Hassine
141
Recherche Locale : Principe
voisinage
point final
point initial
Cours SRP Dr A. Ben Hassine
142
Recherche Locale : Principe
plateau
minimum local
optimum
Cours SRP Dr A. Ben Hassine
143
Recuit Simulé (Simulated Annealing) : Origine
• Le recuit est un processus physique de chauffage qui sert à
améliorer la qualité des solides.
• Selon la façon dont on diminue la température on obtient
différents solides
– Baisse brutale de la température produit une structure
amorphe, un verre (un minimum local d'énergie).
– Baisse progressive de la température produit une structure
stable, un cristal (un minimum global d'énergie).
• Une baisse progressive et trop rapide des défauts au niveau du
cristal.
Le recuit simulé repose sur l’analogie entre les phénomènes
physiques et les problèmes d’optimisation :
Etat stable d’un métal solution optimale.
Cours SRP Dr A. Ben Hassine
144
Recuit Simulé : Principe
• Le recuit simulé s'inspire de la thermodynamique (recuit
thermique). Cette méthode a été proposée en 1982 par S. Kirkpatrick
et al. à partir de la méthode de Métropolis (1953) qui était utilisée
pour modéliser les processus physiques.
• Objectif: Sortir d'un minimum local en acceptant avec une certaine
probabilité une augmentation de la fonction objectif.
• avec, p est la probabilité qu'un système physique passe d'un niveau
d'énergie E1 à un niveau E2.
Cours SRP Dr A. Ben Hassine
145
Recuit Simulé : Procédure Générale
• Etape 1 (initialisation)
a) choisir une solution initiale s S, une T assez-grande, une Tmin
b) s* s (init. s est l’optimum approximatif)
• Etape 2 (choix et terminaison)
a) choisir au hasard s' V(s) (s' n’est pas nécessairement
meilleure que s)
b) si f(s') f(s), alors accepter s, sinon accepter s avec une
probabilité p(f,T) critère de métropolis.
c) terminer si la condition d'arrêt est réalisée (T=Tmin, s* est l’opt.)
• Etape 3 (mise à jour)
a) s* s si f(s) < f(s*), réduire T.
b) aller à l'étape 2
Cours SRP Dr A. Ben Hassine
146
Recuit Simulé : Procédure Générale
T1
T2
Cours SRP Dr A. Ben Hassine
147
Recherche Tabou : Principe
• Méthode heuristique de recherche locale utilisée pour résoudre des
problèmes complexes et/ou de très grande taille.
• Principe de base : poursuivre la recherche de solutions même
lorsqu’un optimum local est rencontré et ce,
⇒ en permettant la détérioration de la solution,
⇒ en évitant les cycles mémoire.
Cours SRP Dr A. Ben Hassine
148
Recherche Tabou : Principe
• Mémoire est une liste tabou contenant les mouvements (ou
solutions) temporairement interdits
• Elle permet la diversification et l’intensification
• Il est possible de violer une interdiction (violer T) lorsqu’un
mouvement interdit permet d’obtenir la meilleure solution
enregistrée jusqu’à maintenant.
• Une liste T avec trop d’éléments peut devenir très restrictive.
• Une liste T contenant trop peu d’éléments peu s’avérer inutile et
mener à des mouvements cycliques.
SOLUTION : Critères d’aspiration a(i,m). Déterminent quand il
est avantageux d’entreprendre m, malgré son statut tabou.
Cours SRP Dr A. Ben Hassine
149
Recherche Tabou : Algorithme
• Etape 1 (initialisation)
a) choisir une solution initiale s S
b) s* s, liste_tabou
• Etape 2 (choix et terminaison)
a) choisir s' V(s) tq
s" V(s), f(s') f(s") (s' est le plus performant des
voisins de s, mais peut être moins performant que s) et
s' liste_tabou ou un des critères a(i, s’) est applicable
b) s s' (même si f(s') > f(s))
c) terminer si la condition d'arrêt est réalisée (nb. max d'itér)
• Etape 3 (mise à jour)
a) mettre à jour liste_tabou et les critères d’aspiration
b) s* s si f(s) < f(s*)
b) aller à l'étape 2
Cours SRP Dr A. Ben Hassine
150
Recherche Locale : Domaines Concernés
• Problèmes de transport
• Planification et ordonnancement
• Optimisation de la production et gestion des inventaires
• Problèmes d’affectation et de localisation
• Optimisation de graphes
• Télécommunications
• Logique et intelligence artificielle
Cours SRP Dr A. Ben Hassine
151
Algorithmes Génétiques : Origine
– Algorithmes Génétiques inspirés du paradigme évolution
(population, individu, chromosome, gène).
– Algorithme génétique simple (Holland 75)
– Notions principales
Evolution d'un ensemble de configurations (population)
Opérateurs d'évolution : Sélection, Croisement et Mutation
Cours SRP Dr A. Ben Hassine
152
Algorithmes Génétiques : Principe
• Algorithmes génétiques
– Individus différents
– Sélection des mieux adaptés
– Hérédité
Cours SRP Dr A. Ben Hassine
153
Algorithmes Génétiques : Principe de Base
• Intervention humaine
• Génération
• Création d’une population aléatoire
• Evaluation
• Comparaison des individus
• Sélection
• On ne garde que les meilleurs
• Croisement/Mutation
• On les fait se reproduire / Évoluer
• Retour à l’évaluation
Comment évaluer rapidement les
configurations de la population et
comment équilibrer l'exploitation et
l'exploration ?
Cours SRP Dr A. Ben Hassine
154
Algorithmes Génétiques : Modélisation
• Population
• Ensemble de suites de valeurs (solutions potentielles)
• Individu
• Suite de valeurs
• Gène
• Une des valeurs
• Les opérateurs nécessaires:
– Evaluation (calcul de f(x,y,z,…))
– Sélection (les meilleures solutions uniquement)
– Croisement (deux parents donnent deux enfants, monopoint,
bi-points, uniforme...)
– Mutation (modifier une valeur aléatoirement)
Cours SRP Dr A. Ben Hassine
155
Algorithmes Génétiques : Algorithme
• étape 1 : (initialisation)
– Choisir un ensemble de configurations initiales (population)
• étape 2 : (évolution)
– Evaluer chaque individu, Si obtention meilleur attendu alors arrêt.
– Sélection sur la population (meilleurs individus),
– Application d'opérateurs de Croisement et de Mutation
• Croisement : échange de bits entre deux config
1 1 0 1 0 1 1 1 0 1 1 0
parents X enfants
0 1 0 0 1 0 0 1 0 0 0 1
• Mutation : modification de valeurs de bits déterminés au hasard
d'une config. (enfant)
1 1 0 1 1 0 1 1 0 1 0 0
• étape 3 : (mise à jour)
– Réorganisation de la population,
– Aller étape 2.
Cours SRP Dr A. Ben Hassine
156
Algorithmes Génétiques : Performance
Théorique
• Preuves de convergence dans certains cas, difficilement utilisables
en pratique.
Pratique
• Résultats souvent faibles avec AG naïfs, i.e. mutation et
croisement aveugles
• Résultats fortement compétitifs avec AG spécialisés
– codage adapté au problème
– opérateurs “génétiques” intégrant des connaissances du
problème
• Résultats fortement compétitifs, même les meilleurs avec AG
hybrides
– hybridation avec l'approche de construction (ex, glouton)
– hybridation avec la recherche locale : GLS - Genetic Local
Search
Cours SRP Dr A. Ben Hassine
157