Académique Documents
Professionnel Documents
Culture Documents
SYSTEMES DE RESOLUTION
DE PROBLEMES
• 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.
Approche constructive
Procéder à chaque étape en plaçant une ke reine sans prise sur un
échiquier où figurent k-1 reines.
Approche constructive
Colorer un ke pays, lorsque k-1 le sont déjà, en le différenciant de
ses voisins déjà colorés.
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.
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
• 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.
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é)
sous contraintes :
3 x1 9 x2 81
4 x1 5 x2 55
2 x x 20
1 2
x1 , x2 0
n
n
- 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)
– Problème 2SAT
– Problème Max2SAT
• Instance : m clauses Ci formées d’au plus deux littéraux à
l’aide de n variables, un entier K
• 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
• Apprentissage
• Autres applications
• cryptographie
• model checking (vérification de modèles)
• ...
A D
C
S 5 5
G
4
E 3
D F
2 4
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
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 :
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.
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 :
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
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 :
10,4 A D 8,9
S
2
A D
3 S
A D
B D A E
A D
B D A E
C E B F
10,4 A C G 0,0
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 :
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).
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 :
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.
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.
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 :
...
...
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
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 :
...
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.
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 nœud choisi pour l ’extension est toujours celui pour lequel f* est
minimum.
Cours IA Dr W. Chaari
103
Remarques sur l ’algorithme A*
• Ainsi on a :
h*(n) h(n) condition d ’admissibilité
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.
Position du problème
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.
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.
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 :
Cours IA Dr W. Chaari
120
Algorithme d’élagage a-
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.
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.
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...)
• 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.
Recuit Simulé
?
50% 50%
Problème à
résoudre
- Coopération : Traces de
phéromones artificielles
Analogie Solutions
♦ Modéliser le problème
Recherche d’un chemin optimal dans un graphe appelé
graphe de construction
Dépôt de phéromone
Evaporation
• Réseaux de communication
• Routage de véhicules
• Satisfaction de contraintes
• Appariement de graphes
• Partitionnement de graphes
• ...
voisinage
point final
point initial
plateau
minimum local
optimum
T1
T2
• Planification et ordonnancement
• Optimisation de graphes
• Télécommunications
– Individus différents
– Hérédité