Vous êtes sur la page 1sur 157

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

Vous aimerez peut-être aussi