Poly Ia 2006
Poly Ia 2006
Poly Ia 2006
• Représentation de problèmes
– espaces d’états (méthodes aveugles, informées (heuristiques)).
– réduction de problèmes en sous-problèmes (arbres ET/OU)...
– recherche locale dans les problèmes à forte combinatoire
• Programmation d’une procédure de recherche à stratégie paramétrable • A la recherche de l’intelligence artificielle. Daniel Crevier, Champs
(largeur ou profondeur) Flammarion (Poche).
• Evolution de la procédure précédante en meilleurs d’abord, puis en • Intelligence artificielle et informatique théorique, Alliot et Schiex, Ed.
A*. Cepadues
• Performance du A* pour le problème du voyageur de commerce avec • Recherche heuristiquement ordonnée, Henry Farreny, Ed. Masson.
dix heuristiques et des instances aléatoires.
• Introduction à la calculabilité, Pierre WOLPER, InterEdition
• implémentation de méthodes de recherche “locales”, expérimentation
sur le problème du voyageur de commerce.
Résolution de problèmes et Intelligence artificielle Le match homme-machine
Les ordis c’est bon pour Les gens sont meilleurs pour
l’arithmétique perception, vision, parole, etc.
c’est quoi ? manipuler des chaînes de l’action
caractères
• une tentative de programmation des ordinateurs pour faire ce que l’humain fait les tâches répétitives comprendre et produire des
mieux (Rich & Knight) phrases en langage naturel
faire ce qu’on leur dit apprendre par exemples,
• une tentative de programmation des ordinateurs pour faire des choses dont on dit
observation,...
qu’elle nécessite de l”’intelligence” quand elles sont faites par des humains
le raisonnement de sens commun
• une étude des calculs qui rendent possible la perception, le raisonnement et les jeux
l’action (Winston) les mathématiques et la logique
• une façon d’étudier le cerveau humain formelle
• une quête du “sens commun” la conception et l’analyse
• une menace pour l’humanité (ingénierie, diagnostic médical,
architecture, planification, etc)
Souvent, ce qui est facile pour l’humain et difficile pour la machine (et
réciproquement).
4 5
raisonnement démonstration
automatique, • problèmes mal posés ou mal définis (langage,...)
planification
jeux • domaines en friche (apprentissage,...)
apprentissage
langage interfaces, recherche • problèmes complexes ou très larges
d’informations
vision extraction, • problèmes pour lesquels on ne connaît pas d’algorithmes “efficaces”
reconnaissances de (rapides) ou ne donnant pas de “bonnes” solutions.
formes, surveillance
diagnostic pannes, diagnostic
médical
base de données base de connaissances
4. évolution
ou logique)
2. représentation
8
1. modélisation d’un domaine ou d’un problème particulier (mathématique
Un exemple: chercher son chemin
Un exemple: chercher son chemin
9
Un exemple: chercher son chemin
CC
MM
B
C
M
CC
MM
B
C
C
MMM
B
C
MMM
CC
CCC
MMM
CC
CC
B
CCC
MMM C
MMM
B
Un exemple: chercher son chemin
16 17
20 21
• constantes
N=taille du problème qu’on peut résoudre aujourd’hui
• boucles (simples/doubles)
T(n) aujourd’hui si 100 fois plus vite si 1000 fois plus vite
n N 100N 1000N • tests (majorant)
n2 N 10N 32N
n3 N 4.6N 10N
n5 N 2.5N 4N Exemple: tri à bulle.
2n N N+7 N + 10
3n N N+4 N+6
f o r i :=1 t o n−1 do
f o r j : = n downto i +1 do
i f A [ j −1] > A [ j ] then
begin
temp = A [ j − 1 ] ;
a [ j −1] = A [ j ] ;
A [ j ] = temp Résultat = O(n2)
end ;
Exercice : tri par selection: Algorithmes récursifs
procedure t r i s e l ( v a r a : elem ; n : i n t e g e r ) ;
v a r i , j , p , min : i n t e g e r ;
Exemple : le tri par fusion (mergesort) d’une liste de n=2m nombres.
begin
f o r i : = 1 t o n−1 do
begin trifusion (L,n) =
min : = a [ i ] ; si n = 1 retour L
p := i ; s i n o n p a r t a g e r L en deux l i s t e s L1 e t L2 ;
f o r j : = i +1 t o n do r e t o u r f u s i o n ( t r i f u s i o n ( L1 , n / 2 ) ,
i f a [ j ] < min then t r i f u s i o n ( L2 , n / 2 ) )
begin
min : = a [ j ] ;
p := j ;
En supposant que le partage et la fusion sont en O(n), on estime un
end ; majorant :
a [ p ] := a [ i ] ; T (n) ≤ c1 si n = 1
a [ i ] : = min T (n) ≤ 2T (n/2) + c2n si n > 1
end
end
24 25
Pour résoudre les équations récurrentes classiques : la solution Pour les autres cas:
générale de T (n) = anb + c ∗ T (n/2)
• trouver un majorant, preuve par récurrence.
• si c < 2b alors l’algo est en O(nb)
• substitutions/ simplifications
• si c = 2b alors l’algo est en O(nb log n)
(exemple:
• si c > 2b alors l’algo est en O(nlog2 c)
T (n) = 2(T (n − 2)) + 4) => T (n) = 2nT (1) + 4n + a)
Résultat tri fusion: O(n log n)
Exercices Complexité théorique
→ “complexité théorique”.
28 29
La machine de Turing
La machine de turing est une idéalisation d’un processus de calcul
Exemples de problèmes : mécanisé. Elle consiste en :
– trier une liste d’entiers. • un ruban consitutée de cellules contenant les données.
– trouver le plus court chemin passant par n villes (voyageur de
commerce).
• une tête qui pointe sur une cellule du ruban
– trouver un modèle d’une formule en logique propositionnelle.
– montrer un thèorème de mathématique.
• un automate qui peut être dans un certain nombres d’états, et qui
peut faire les actions suivantes : se déplacer le long du ruban, lire ou
On peut diviser les problèmes en trois grandes catégories après ce que écrire le ruban, ou s’arrêter.
l’on a déjà vu (n étant la dimension des données d’entrées) :
Un algorithme est la définition exacte du comportement de l’automate
• la classe P : ceux pour lesquels il existe un algorithme en O(nk ). en fonction du ruban. Sa complexité en temps est le nombre
d’opérations qu’il doit effectuer avant de terminer avec succès.
• la classe E : ceux pour lesquels tous les algos sont minorés par an
32 33
– algo non déterministe : pour toute variable xi, le choix est entre
affecter la variable à vrai ou l’affecter à faux. Quand c’est fini, on teste
la formule (si vrai alors succès).
reconnaissance existe-t-il un circuit de longueur ≤ c donné. La classe NP est la classe des problèmes qui admettent un algorithme
non-déterministe avec un temps d’éxécution polynomial en fonction de
optimisation trouver le circuit optimal la taille du ruban d’entrée.
témoin trouver un circuit de longeur ≤ c donné La confusion est d’autant plus facile que les ordinateurs étant jusqu’à
présent uniquement déterministes, les problèmes de NP sont résolus
par des algos déterministes non-polynomiaux.
complexité : rec≤ témoin,val. optimale ≤ optimisation
On a donc de façon évidente P ⊆ NP.
36 37
retour sur SAT : SAT est dans NP s’il est dans NP et si tout problème de NP lui est réductible en temps
pôlynomial.
et il a étémontré (Cook, 1971) que :
P = NP ⇔ SAT ∈ P exemple de pbs NP complets:
On dit alors que SAT est NP-complet → tout un ensemble de problèmes • le déménageur (Binpacking)
de NP sont NP-complet.
• vehicle routing problem
• ordonnancement (scheduling)
• ...
Maîtriser l’explosion combinatoire Représentation de la connaissance : éléments de
théorie des graphes
Définition
quand on n’a pas le choix...
Graphe dirigé G = (N, A)
• garder la taille des données petite N est un ensemble de noeuds (ou sommets)
A est un ensemble d’arêtes, A ⊆ N × N
• approximations (quand c’est possible) ex: bin packing (v, w) ∈ A est une arête de v à w (les extrémités de l’arête).
Un graphe est donc une relation binaire sur l’ensemble N. 1.
• approche probabiliste: algo aléatoires + prières + instances a
40 41
Un graphe simple est le graphe d’une relation irréflexive (aucun noeud Propriétés
n’est relié à lui-même), symétrique.
Graphe non dirigé (i, j) ∈ A → (j, i) ∈ A • Pour un graphe non orienté (N, A) :
c’est un graphe pour lequel l’orientation n’a pas d’importance (on
X
représente tout lien par un lien simple). d(x) = 2|A|
x∈N
Graph complet
On appelle degré d’un sommet le nombre d’arêtes dont ce sommet est
une extrémité. • Pour un graphe orienté (N, A) :
X X
Si tous les sommets d’un graphe ont le même degré k, le graphe est dit d+(x) = d−(x) = |A|
k-régulier. x∈N x∈N
+
Pour un graphe orienté, on définit le degré entrant (d ) et le degré
sortant (d−) d’un noeud. n(n−1)
• Un graphe simple a au plus 2 arêtes.
Un graphe simple d’ordre n qui est (n-1)-régulier est dit complet. Deux
Sous-graphe soit un graphe G = (N, A), N 0 ⊆ N , A0 ⊆ A. G0 =
sommets quelconques sont alors adjacents.
(N 0, A0) est un sous-graphe de G si pour tout arête de A’, les extrémités
de l’arête dans G sont dans N’.
Parcours dans les graphes
Chemin Un chemin entre deux arêtes v et w d’un graphe (N, A) est
une suite C = (v, u1, . . . , un, w) de noeuds de N tels que (v, u1) ∈ A, composante connexe d’un graphe non dirigé: sous-graphe connecté
(ui, ui+1) ∈ A et (un, w) ∈ A. maximal
Si v = w, le chemin C est fermé. composante fortement connexe idem pour graphe orienté
Si ∀i, jui 6= uj , le chemin est simple.
graphe fortement connexe graphe dirigé connexe : il existe un chemin
Un cycle est un chemin fermé simple. pour toute paire de noeuds (u, v), u et v distincts (de u à v et de v à u).
Fermeture transitive la fermeture transitive d’un graphe dirigé G =
(N, A) est un graphe dirigé G∗ = (N, A∗) tel que : (v, w) ∈ A∗ ↔ il y a
un chemin de v à w dans G
44 45
On appelle exploration ou parcours d’un graphe un procédé Il consiste, à partir d’un noeud à toujours explorer un noeud voisin
déterministe qui permet de choisir un sommet à partir de l’ensemble jusqu’à ce qu’il n’y en ait plus, puis à remonter dans le parcours pour
des sommets déjà visités de manière à passer par tous les sommets du visiter les voisins laissés de côté au fur et à mesure.
graphe.
Pour cela il faut marquer les noeuds déjà visités. Un algorithme type est
Deux types simples de parcours exhaustif : le parcours en profondeur par exemple :
et le parcours en largeur. p r o f o n d e u r (G : graphe , x : p o i n t de dé p a r t )
marquer ( x ) ;
traitement ( x ) ;
P i l e <− ensemble des y t e l s que ( x , y ) e s t une a r e
t a n t que ( P i l e pas v i d e ) f a i r e
e n l e v e r un element y de P i l e
s i y pas marqué a l o r s p r o f o n d e u r (G, y ) ;
f i n t a n t que ;
48 49
Parcours en largeur
52 53
56 57
L’analyse de la structure du problème va généralement permettre Retour sur les cannibales et les missionaires
d’identifier des liens entre états qui permettent de les visiter tous de
façon systématique. Dans cette optique on va chercher :
• un langage formel (un ensembles de symboles) qui permet de Première étape de résolution : le codage du problème. Plusieurs
représenter le problème. solutions s’avèrent possibles :
• des outils de calcul capables de transformer un état en un autre • Un triplet (X,Y,P) où X est le nombre de missionnaires sur la rive
état et donc de permettre de balayer potentiellement tous les états gauche, Y celui de cannibales, et P la position du bateau (G ou D).
possibles de l’espace d’état.
• une liste des présents sur chaque rive (M, C ou B).
• une méthode d’organisation de ces transformations pour trouver
l’état solution le plus vite possible. Dans le premier cas quels sont les codages des états initiaux et finaux
et les contraintes portant sur les données ?
On peut dire que la dernière partie est la seule partie algorithmique
(c’est la stratégie de contrôle des opérations) alors que la résolution
d’un problème implique aussi fortement les deux premières : la
modélisation des données du problème et les opérateurs sur ces
données.
Opérateurs sur les données/ système de production
60 61
Exemple des M & C: Représentation formelle plus pratique : la représentation par arbre. A
Les opérateurs consistent à faire passer 1 ou 2 personnes à la fois de chaque fois que l’on génère un état on le relie à l’état précédent. (sans
l’autre côté du fleuve en respectant les contraintes du problème : tester si on génère un état déjà rencontré)
Les opérations valides sont donc par exemple : (2,2,G) (3,1,G) (3,2,G)
(X, Y, G) → (X − 2, Y, D) si X ≥ 2 et X − 2 ≥ Y ou X − 2 = 0
(3,3,D) (3,3,D) (3,2,D) (3,3,D)
ou (2, Y, G) → (0, Y, D)
Avec un graphe : même chose avec un test d’occurrence : si un état
a déjà été rencontré on ajoute un arc au graphe, sinon un noeud et un
arc.
(3,3,D)
(3,2,D)
Propriétés des systèmes de production Quelques rappels de dénombrement
Un système est commutatif s’il vérifie cette condition et qu’il est aussi
monotone.
64 65
On peut représenter ces deux possibilités par des arcs différents dans
le déménagement le graphe représentant l’espace de recherche :
- Les arcs qui représentent différentes possibilités dans la résolution
le gardien de musée d’un problème associés au noeud dont ils découlent sont des arcs OU
- Les arcs qui représentent différents sous-problèmes composant la
la couverture d’ensemble résolution d’un problème associés au noeud dont ils découlent sont des
arcs ET.
Exemple : diagnostic
68 69
Stratégies de contrôle
Lors d’une exploration l’ensemble des sommets du graphe de recherche Une recherche en profondeur peut se révéler dangereuse : l’algorithme
peut être divisé en quatre ensembles. risque de développer une branche infinie stérile sans que le mécanisme
de retour en arrière puisse se déclencher.On ajoute dans ce cas une
limite de profondeur.
• les sommets développés déjà vus
Recherche en largeur: Cette stratégie donne une plus grande priorité
• les sommets explorés non encore développés aux sommets les moins profonds du graphe de recherche en explorant
les sommets de même profondeur. L’ensemble OUVERT aura une
• les sommets générés mais pas encore explorés (en attente) structure de file.
72 73
haut
droite Exemples:
gauche
2 8 3 2 8 3 2 8 3
6 4
Hill-climbing
1 4 1 1 6 4
7 6 5 7 5 7 5
Meilleur d’abord
d h g
h h
b g d
2 3 2 8 3 2 8 3 2 8 3 2 8 3 2 8 3 2 8 3 2 8 3
Coût uniforme
1 8 4 1 6 4 1 4 1 4 6 4 1 6 4 1 6 1 6 4
7 6 5 7 5 7 6 5 7 6 5 1 7 5 7 5 7 5 4 7 5
X X X A∗
Figure 5: Le taquin
Hill-climbing (méthode de l’escalade)
76 77
manières : 45
41
40 42 17
50
le sommet 37 50
Dans tous les cas l’estimation est numérique et elle est calculée Figure 7: Meilleur d’abord
au moyen d’une fonction heuristique d’évaluation f(n) qui peut donc
dépendre de n (le noeud), du but, de l’information de toute la branche.
Graphes valués Le coût uniforme
chaque arc du graphe est muni d’un poids qui peut correspondre exemple somme colonnes matrices
80 81
u11
u4 9
• Si la longueur du chemin n’a pas d’importance on prend k=0
4
12
5
4 6 • Si on veut minimiser le nombre d’étapes, on prend k=1 pour tout arc.
7 3
u1 u14
2
15 3 7 9
4
u3 6 u6
11
La fonction h(n) tente d’estimer le minimum sur tous les chemins de n à
1 16 u15
84 85
Pni−nj ={ chemins de ni à nj }
heuristique monotone (ou consistante) si pour tout v descendant de
u, h(u) − h(v) ≤ k(u, v) Pn−Γ ={ chemins de n à Γ}
heuristique minorante ou admissible h(u) ≤ h∗(u) de même pni−nj , pn−γ Pn∗i−nj , chemins de coût minimum.
Chaque arc porte une étiquette de coût positif c(ni, nj ) > delta > 0 . Optimalité : un algorithme est optimal dans une classe d’algorithme
s’il domine tous les autres membres de sa classe.
88 89
• g(n)= le coût du chemin courant de u0 à n avec g(u0) = 0 Preuve : soit n∗ ∈ Pn∗−γ , il existe un chemin solution p passant par n
dont le coût est c∗. Sur ce chemin g ∗(n) + h∗(n) ≤ c∗. Si jamais on avait
• h(n)= une estimation du chemin restant h∗(n) avec h(solution)=0 g ∗(n) + h∗(n) < c∗, il existerait un chemin p0 tel que gp0 (n) + h0p(n) < c∗,
ce qui est en contradiction avec l’optimalité de c∗.
Notons γ une solution. Lorsqu’on voudra spécifier les coûts réels de Si n est un sommet qui n’appartient pas à un chemin optimal solution
Pu0−n et de Pn−γ sur un chemin particulier P on écrira gp(n) et hp(n). on a f ∗(n) > c∗
Pour tout chemin p on gp(n) ≥ g ∗(n) et hp(n) ≥ h∗(n)
Soit f ∗(n) = g ∗(n) + h∗(n), f ∗(n) est le coût optimal pour tous les
chemins solution passant par u0.
A∗ est admissible ssi il utilise une heuristique admissible 2. la tête de ouvert û est telle que
Si l’heuristique est parfaite, l’algo convergera immédiatement vers le f (û) ≤ f ∗(u0)
but (sans explorer de branches inutiles).
3. à l’arrêt de l’algorithme, û ∈ Γ, et donc f (û) = f ∗(û)
∗
Si h est minorante alors A trouvera toujours le chemin optimal.
4. f ∗(u0) = minu∈Γ (f ∗(u))
Dans le pire des cas la complexité en temps de A∗ est en 2N , N étant
le nombre de sommets du graphe d’état.
5. à l’arrêt f (û) = f ∗(uˆ0)
2
Si h est minorante la complexité est en N
92 93
Preuve (1):
monotone: ∀u, vh(u) − h(v) ≤ k(u, v)
soit (u0, u1, ...ut) un chemin optimal. si u1 a été rencontré, il est soit
dans ouvert soit dans fermé. s’il est dans fermé, u2 a été rencontré, il minorante ?: h(u) ≤ h∗(u)
est soit dans ouvert soit dans fermé, .... de même pour les autres ui.
comme ut n’est pas encore développé, il y a un uq avec q < t dans or h∗(u) = k(u, v1) + k(v1, v2) + ... + k(vf −1 , vf ) avec vf ∈ Γ
ouvert. le chemin (u0, ...uq ) est connu, et optimal de u0 à uq . donc et h(u) = h(u) − h(v1) + (h(v1) − h(v2)) + ... + h(vf −1 ) − h(vf ) (car
g(uq ) = g ∗(uq ) h(vf ) = 0)
Preuve (2)
si h monotone, pour tout vi, (h(vi) − h(vi+1)) ≤ k(vi, vi+1)
∗ ∗ ∗ ∗
f (û) ≤ f (uq ) = g(uq ) + h(uq ) ≤ g (uq ) + h (uq ) = f (uq ) = f (u0) d’où h(u) ≤ k(u, v1) + k(v1, v2) + ... + k(vf −1 , vf ) = h∗(u)
cqfd
Preuve (5) à l’arrêt, f (û) ≤ f ∗(uˆ0) (2) et donc d’après (3) f ∗(û) = f (û)
et f ∗(û) ≤ f ∗(uˆ0)
d’après (4) comme û ∈ Γ on a f ∗(uˆ0) ≤ f ∗(û)
d’où (5).
Monotone ⇒ f toujours croissante Exemple d’application de A∗: le taquin.
f (n0) = g(n0) + h(n0) = g(n) + k(n, n0) + h(n0) h(n)=distance de manatthan(n)+3*score de déplacement(n).
d’où f (n) − f (n0) = h(n) − h(n0) − k(n, n0) ≤ 0 score de déplacement de n= somme des scores des cases du taquin:
- le pavé central a une valeur de 1
- un pavé non central vaut 0 si son successeur se trouve juste après
lui en tournant dans le sens des aiguilles d’une montre
- tous les autres valent 2
Exemple:
1 3 4
manhattan=4
8 2
score de dep=7
7 6 5
96 97
• Représentation • on suppose que les joueurs sont rationnels et ont la même stratégie
MAX
heuristique: h(n)=(nb de lignes faisables par A)-(nb de lignes faisables
par B)
MIN
MAX
MIN
2 3 5 9 0 7 4 2 1 5 6
100 101
a
s = max(f ils) donc s ≥ a
Alpha-beta: schéma général Alpha-beta: schéma général
(coupe si z<=a)
z
z
104 105
A chaque niveau on garde 2 valeurs, et l’intervalle [α, β] contraint la exos avec autre arbre, 1) minmax, 2) a-b de G a D 3) a-b de D à G
suite:
• une valeur choisie au niveau max devient la borne sup (le beta) du
niveau min au-dessus
• initialement, α = β = ∞
Recherche locale dans les problèmes à forte Quelques Problèmes des méthodes exactes/complètes
combinatoire
1. Les méthodes complètes/exactes explorent de façon systématique
l’espace de recherche. → ne marche pas dans de nombreux
problèmes à cause explosion combinatoire.
108 109
Un autre principe: les méthodes incomplètes Une famille de méthodes incomplètes: les méthode
“locales”
• si on ne peut prouver que l’on a la meilleure solution,
Le principe d’une recherche locale est de
• et si ce n’est pas grave si on trouve un optimum le plus rapidement
possible, de façon assez bonne / à un critère déterminé. 1. partir d’une solution sinon approchée du moins potentiellement
bonne et d’essayer de l’améliorer itérativement.
Pour améliorer une solution on ne fait que de légers changements
on peux adopter deux types de stratégie : (on parle de changement local, ou de solution voisine).
• garder une méthode complète et stopper après un temps déterminé 2. relancer la méthode plusieurs fois en changeant le point de départ
(mais suivant les problèmes ça n’est pas toujours possible) pour avoir plus de couverture
• plonger dans l’arbre de recherche avec des heuristiques sans jamais 3. tout problème est considéré comme un problème d’optimisation
revenir en arrière (mais: comment être sur qu’on va trouver vite une (même les problèmes de satisfaction : le coût à optimiser est alors le
bonne solution ?) nombre de contraintes insatisfaites).
Quelques définitions Un algorithme de recherche locale typique
112 113
• max essais : le nombre d’essai à réaliser le hill-climbing Aussi appelé descente en gradient suivant le sens de
l’optimisation (min ou max recherché).
• max mouvements : ... choisir un voisin : choix aléatoire dans le voisinage courant.
acceptable : seulement s’il il y a une amélioration (d ≤ 0).
• creer une solution : génère une solution (en général aléatoirement) méthode opportuniste
116 117
3
• faut-il être opportuniste ou gourmand ?
2
0
• comment comparer les performances de deux méthodes différentes
? (qualité de la solution vs. temps consommé) -1
-2
-3
-4
-5 -4 -3 -2 -1 0 1 2 3
Illustration (2) Illustration (3)
0.8
f(x)
0.6
0.4
0.2
-0.2
-0.4
-0.6
-0.8
-10 -5 0 5 10
120 121
• initialisation ?
• pour l’essai en cours : nb de mouvements max ?
comment détecter un optimum local ?
• quel voisinage ? (échange de villes, échange d’arcs)
• pour la recherche elle-même : le nb max d’essai ?
coût de la solution convenable ? • complexité selon le choix opportuniste/gourmand
limite de temps atteinte.
Avidité ou opportuniste :
124 125
Pour éviter d’être coincé dans un optimum local, on peut ajouter du bruit basée sur une recherche par gradient
: une part de mouvements aléatoires pendant une recherche classique.
• choix dans le voisinage
Principe :
A ← solution initiale()
Développer l’algorithme avec |T ] = 1, puis |T | = 3, puis en conservant
Am ← A
les mouvements au lieu des états.
T←Ø
tantque non(condition de fin) faire
C ← voisinage(A)-T 0101 0100 1100 1101
0 1 9
Y ← min pour f sur C 4
si f(Y)≥f(A) alors
T ← T ∪{A} 0001 0000 1000 1001
2 8 7 9
si f(Y)<f(Am) alors
Am ← Y 0011 0010 1010 1011
3 9 5 6
A←Y
retourner Am, f(Am) 0111 0110 1110 1111
4 6 3 2
La condition de fin est soit une limite en temps ou en itération, soit une
condition de non amélioration de la solution.
128 129
132 133
• aucune évaluation de la distance à l’optimum (pas une approximation, L’intérêt principal est de couvrir l’espace de recherche plus largement.
trouve au pire un optimum local qui n’a rien à voir)
Trois opérations sont réalisées successivement sur la population :
• la sélection des meilleures solutions/individus en proportion/ de leur
adaptattion ou avec une proba proportionnelle ;
136 137
Les problèmes techniques importants sont : les méthodes incomplètes fournissent un ensemble de résolutions
empiriques variées, parfois trop, car l’absence de modélisation les rend
• celui du codage des configurations en binaire difficiles à adapter d’un problème à un autre (bricolage...).
• performances (temps, mémoire) → peuvent fournir un bon complément aux méthodes complètes.