Professional Documents
Culture Documents
CARACTERISATION DU PROBLEME
Etant donn une fonction f valeurs numriques dfinie sur X et un ensemble fini F(P) inclus
dans X, trouver un lment x de F(P) qui atteint l'optimum de f
Les lments de F(P) sont appeles solutions ralisables
CARACTERISATION DU PROBLEME
Optimiser (maximiser ou minimiser) la fonction objectif f dfinie sur X, l'optimum - appel x* -
devant appartenir au domaine F(P) X
La condition x F(P) X est appele contrainte
SAT (problme SAT: satisfiable):
tant donne une formule logique : existe-t il une interprtation qui la satisfasse ?
x1 x2 boolens: expression (x1 ou x2) et (non(x1) ou non(x2))
n
complexit en 2
Problme du sac dos:
Tableau d'objets/proprits
O1 O2 O3... On
P1 b1
P2 b2
...
Pm bm
max cjxj
xi = 0 si Oj n'est pas dans le sac
xi = 1 si Oj est dans le sac
aijxj bj (contraintes)
Le fait que les xi vaillent 0 ou 1 empche une rsolution numrique.
Rsolution approche:
- mthodes de relaxation: exemple: xi [0,1[ dans le problme du sac dos, rsolution
numrique, puis choix si xi > 0.5 alors xi = 1, sinon xi = 0.
- heuristiques: guides par astuces
- mta-heuristiques : indpendantes du problme trait
P ?= NP
Cook (1971): tout problme peut se rduire SAT en temps polynomial (reformulation).
(Informatique quantique ?)
Problmes de dcision = problmes doptimisation
Problmes de dcision : 2 rponses : oui/non
Classes P et NP
Exemples :
- a) parit dun nombre entier,
- b) plus court chemin G dans un graphe, a et b sommets de G et B un nombre entier. Question :
existe til un chemin entre a et b de longueur infrieure B.
-c) Question : existe til un chemin lmentaire (cad ne passant pas 2 fois par un mme sommet)
entre a et b de longueur suprieure B ?
-d) G admet il un cycle hamiltonien (cad passant une fois et une seule par chaque sommet) ?
Classe P : classes de problmes de dcision polynomiaux. Un problme appartient P si il peut
tre rsolu par un algorithme A de complexit O(Nk) o k est une constante et N la taille du
problme.
Problmes ci dessus :
- a) O(1) -> division par 2
- b) O(N2)
- c) et d) jusquici pas trouv
NP : classes de problme de dcision pouvant tre rsolus en temps polynomial par un algo non
dterministe
Df : un problme appartient NP ssi pour tout jeu de donnes du problme ayant pour rponse
oui , il existe un certificat permettant avec un algorithme polynomial, de vrifier que la
rponse au problme est effectivement oui .
Problmes c) et d) : la vrification, si on donne le chemin ou lhamiltonien est faite en temps
polynomial.
- problme de la non primalit : n est il divisible par un nombre autre que 1 et lui mme ?
Ce problme appartient NP car :
- si on considre une instance o la rponse est oui , cad que n nest pas premier, il admet
un diviseur a et en prenant a comme certificat, la division par a (en temps polnomial)
vrifie la rponse au problme, donc ce problme appartient NP
Complmentaire : n est il premier ? : Ici la dtermination dun certificat est moins aise (mais
la dmonstration existe).
Note : P est inclus dans NP
NP complets : en 1970, Cook a montr que parmi les problmes de dcision, certains taient plus
difficiles rsoudre que dautres. Conjecture : seuls des algorithmes numratifs de complexit
au moins O(2N) permettent la rsolution de ces problmes NP complets . Les problmes c) et
d) dans un graphe quelconque sont NP complets. Par contre, dans un graphe sans circuit, le
problme c) est en O(m), m tant le nombre darcs.
Problmes doptimisation NP difficiles :
Problme b) : trouver un chemin entre a et b de longueur minimale
Problme c) : trouver un chemin entre a et b de longueur maximale
Les versions optimisation sont au moins aussi difficiles rsoudre que les versions
dcision . Si le problme de dcision est NP complet , la version optimisation sera
qualifie de NP difficiles (numration de type sparation et valuation).
Heuristiques
Recherche guide par des "astuces" qui dpendent du problme trait
Mta-heuristiques
Mthodes de recherche indpendantes du problme trait (recuit simul, tabou search, ...)
Pour les problmes intressants, i.e. les problmes NP,on ne connait pas d'algorithmes exacts et
rapides permettant de rsoudre la question pose
EXPONENTIEL versus POLYNOMIAL
n=1 n=10 n=100 n=500 n=1000
Exponentielle 1,1 2593 13780,61 4,969.1020 2,469.1041
Polynomiale 1 1010 1020 9,765.1026 1030
CADRE DE TRAVAIL:
LE PROBLEME A "RESOUDRE"
f : E > R
LE VOISINAGE
Notion de voisinage : l'espace est structur
A chaque lment x de E, on associe un voisinage. Un voisinage est un ensemble d'lments de E
E = 26 = 64
xE
0 1 0 1 0 1
Voisinage de x: inverser
successivement chacun des bits
1 1 0 1 0 1
0 0 0 1 0 1
0 1 1 1 0 1
0 1 0 0 0 1
0 1 0 1 1 1
0 1 0 1 0 0
LA DESCENTE (recherche d'un minimum)
choisir une solution initiale s
LA DESCENTE (EXEMPLE)
[4]
[3.5]
[5]
[3]
[4]
[2] [3]
[2]
[1]
[2] [3]
0 0 0 1 0 1
Croisement
0 1 0 1 0 1
1 1 0 1 0 0
1 1 0 1 0 1 0 1 0 1 0 0
Algorithme gnral :
Choisir la taille t de la population
Gnrer la population initiale P // i.e. un ensemble de solutions
WHILE {le critre d'arrt n'est pas satisfait}
Mutations et Recombinaisons par croisements
Calcul pour chaque individu xi de la fonction de fitness f(xi)
(et de S, la somme totale des f(xi))
Pour chaque xi calcul de p(xi)=f(xi)/S
Reproduction des individus de P selon les p(xi),
cest dire slection probabiliste de t
individus selon leur p(xi)
Mise jour de P
ENDWHILE
Le choix de la reprsentation en bits est primordial, car les croisements peuvent tre inadapts.
On peut tre amen choisir par exemple un code o les chiffres successifs ne diffrent que dun
bit (utile en lectronique, o on veut viter que plusieurs contacts ne sinversent lorsquon passe
dun nombre un nombre juste suprieur, car on passe alors par des intermdiaires). Le code de
Gray (Franck Gray, 1953) est un tel code.
Le code de Gray, galement appel binaire rflchi, est un type de codage binaire permettant
de ne modifier qu'un seul bit la fois quand un nombre est augment d'une unit.
Codage dcimal Codage binaire naturel Codage Gray ou binaire rflchi
0 0000 0000
1 0001 0001
2 0010 0011
3 0011 0010
4 0100 0110
5 0101 0111
6 0110 0101
7 0111 0100
Pour passer d'une ligne la suivante, on inverse le bit le plus droite possible conduisant un
nombre nouveau.
Une autre mthode de calcul permettant de passer d'un nombre de Gray au suivant, et qui
prsente l'avantage de ne pas ncessiter de connatre l'ensemble des nombres prcdents est la
suivante :
si le nombre de 1 est pair, il faut inverser le dernier chiffre.
si le nombre de 1 est impair, il faut inverser le chiffre situ gauche du 1 le plus droite.
Et enfin, la mthode la plus simple consiste calculer le OU Exclusif (symbolis ici par le
caractre ^) entre le binaire de dpart et ce mme binaire dcal d'un rang droite.
Exemples : On veut reprsenter 7 en code de Gray.
7 s'crit 0111 en base 2.
0111
^ 0011
-----
0100
HARMONY SEARCH
La recherche dharmonie ( harmony search , Geem et al., 2001) est inspire par le processus
dimprovisation des musiciens, et ressemble aux algorithmes gntiques. Elle fait partie de la
mme famille des algorithmes volutionnaires.
Il sagit donc de trouver le vecteur x qui minimise/maximise la fonction f(x) (x est un vecteur de
taille n).
Algorithme :
Pas 0 : On gnre alatoirement hms vecteurs n (hms: harmony memory size) quon garde en
mmoire.
Pas 1 : on gnre un nouveau vecteur x dont les composantes xi sont tirs comme suit :
- avec une probabilit hmcr ( harmony memory considering rate; 0 hmrc 1), on prend
la valeur xi dun vecteur choisi au hasard uniformment parmi les vecteurs en mmoire
- avec une probabilit 1-hmcr on tire le xi au hasard dans lintervalle permis
Pas 2 : si le xi tir au pas 1 provient de la mmoire (dun vecteur existant) :
- avec une probabilit par (pitch adjusting rate; 0 par 1), modifier xi dune petite
valeur pour une variable discrte, ou fwuniform(-1,1) (avec lespace entre deux
variables discrtes voisines, et fw (fret width, formerly bandwidth) le changement
maximum dans lajustement du pitch, en gnral 0.01 0.001 lintervalle permis
- avec la probabilit (1-par) on ne fait rien
Pas 3 : si x est meilleur que le plus mauvais vecteur en mmoire, on le garde et on retire le
plus mauvais vecteur.
Pas 4 : on rpte les pas 1 3 jusqu ce que le critre darrt (maximum ditrations) soit atteint.
CONCLUSION
Convergence ( la limite) des Mta-heuristiques
Robustesse aux conditions initiales
Ncessit d'automatiser le processus d'initialisation des paramtres
Plus on injecte de la "culture" dans la dfinition du voisinage, meilleurs sont les rsultats
O l'heuristique irrigue la Mta-heuristique
Combiner les Mta-Heuristiques entre elles
"Au pays des Z'heuristiques, l'inceste n'est pas tabou"
Existence d'autres Meta-Heuristiques (Bruitage, etc.)