Vous êtes sur la page 1sur 6

Sommaire

• Introduction
ALGORITHMES • Algorithme d’approximation
D’APPROXIMATION • Approximation de VERTEX-COVER

© L. B. Romdhane Ph.D.

ISITCom / U. de Sousse / Tunisie


© L. B. Romdhane; ISITCom Calculabilité & Décidabilité L2

Introduction (1) Introduction (2)


• Plusieurs problèmes informatiques NP-
Complets ont des applications directes
– Télécommunication: switching
– Médecine: alignement de séquence ADN
– Industries: planning, fabrications de circuits
électroniques
– …..
• Comment contourner cette NP-Complétude ?

© L. B. Romdhane; ISITCom Calculabilité & Décidabilité 3 © L. B. Romdhane; ISITCom Calculabilité & Décidabilité 4
Introduction (3) Algorithme d’approximation (1)
1. Les données du problèmes ne sont pas de • Soit P un problème d’optimisation avec une
grande taille fonction de coût C(.)
– Un algorithme NP-Complet s’exécutant en un temps
exponentiel est acceptable • Soit A un algorithme permettant de résoudre
2. Les problèmes à résoudre ont certaines P d’une manière approchée
propriétés particulières (symétrie, ….) – A cherche une solution « sous-optimale » S de P
– On peut écrire des algorithmes polynomiaux pour au lieu de la solution optimale S*
résoudre ces cas particuliers – Ainsi, A va chercher une solution S qui dont le
3. En pratique, une solution « acceptable » est coût s’approche du coût de la solution optimale S*
suffisante • Maximisation : C(S) ≤ C(S*)
– Ecrire des algorithmes qui cherchent des solutions • Minimisation : C(S) ≥ C(S*)
approximatives
© L. B. Romdhane; ISITCom Calculabilité & Décidabilité 5 © L. B. Romdhane; ISITCom Calculabilité & Décidabilité 6

Algorithme d’approximation (2) Algorithme d’approximation (3)


• A possède un taux d’approximation δ(n), avec • δ(n) = 1 : L’algorithme A produit la solution
n étant la taille du problème P; si le coût C de exacte
la solution produite par A est à un facteur δ(n) • Une grande valeur de δ(n) : L’algorithme A
du coût C* de la solution optimale produit une solution qui est « très mauvaise »
(trop loint de la solution optimale)
 C C* 
max * ;  ≤ δ (n ) • Certains problèmes NP-Complets possèdent
C C  des algorithmes d’approximation polynomiaux
 δ (n ) ≥ 1
– La « qualité » de la solution obtenue dépend de la
précision demandée
© L. B. Romdhane; ISITCom Calculabilité & Décidabilité 7 © L. B. Romdhane; ISITCom Calculabilité & Décidabilité 8
Algorithme d’approximation (4) Algorithme d’approximation (5)
• Schéma d’approximation
– un algorithme d’approximation A prenant comme  ε2 
A est O n 
ε = 0.2; A est O n10 ( )

paramètres
• une instance du problème à résoudre; ET   ε = 0.1; A est O n 20 ( )
• la précision souhaitée ε
– On dit que l’algorithme A est (1 + ε )-approché
• Un schéma d’approximation est polynomial,  1 
A est O 2 n 3 
ε = 0.2; A est O 25n 3 ( )

si pour une constante fixée ε>0; l’algorithme A ε  ε = 0.1; A est O 100n 3 ( )
s’exécute en un temps polynomial

© L. B. Romdhane; ISITCom Calculabilité & Décidabilité 9 © L. B. Romdhane; ISITCom Calculabilité & Décidabilité 10

VERTEX-COVER (1) VERTEX-COVER (2)


• Définition-Rappel • Problème: trouver une couverture minimale
– Une couverture des sommets (vertex cover) d’un • Théorème (rappel) – VERTEX-COVER
graphe G(V,E) est un ensemble C ⊆ V tel que – VERTEX-COVER ∈ NP
chaque arête de G est incidente à au moins un
sommet de C

C ⊆ V / ∀ (u, v ) ∈ E; on a u ∈ C ou v ∈ C S*={B, C, F}

© L. B. Romdhane; ISITCom Calculabilité & Décidabilité 11 © L. B. Romdhane; ISITCom Calculabilité & Décidabilité 12
VERTEX-COVER (3) VERTEX-COVER (4)
• Principe de base •C* = {b; d; e} : couverture
– initialement, on part d’une couverture de optimale
sommets vide : C ←φ
•taille (C*) = 3
– on prend une arête (u, v) du graphe G en entrée;
et on ajoute les deux sommets u et v à C
– par la suite, on supprime les nœuds u et v de G,
ainsi que toutes les arêtes incidentes
– on répète ces étapes jusqu’à l’obtention d’un
graphe vide
C={b,c} C={b, c , e, f}

© L. B. Romdhane; ISITCom Calculabilité & Décidabilité 13 © L. B. Romdhane; ISITCom Calculabilité & Décidabilité 14

VERTEX-COVER (5) VERTEX-COVER (6)

C={b, c , e, f, d, g}; taille(C) = 6

L’algorithme possède une approximation sur cet


exemple de :

6 3
max ;  = 2
3 6
© L. B. Romdhane; ISITCom Calculabilité & Décidabilité 15 © L. B. Romdhane; ISITCom Calculabilité & Décidabilité 16
VERTEX-COVER (7) VERTEX-COVER (8)
• Théorème • Théorème
– Pour un graphe G(V,E), ApproxVertexCover – VertexCoverApprox est un algorithme 2-approché.
s’exécute en un temps qui est O(m*n); m= |E| et Autrement, la taille de la couverture est au pire le
n= |V| double de la solution optimale

• Remarque • Proof
– on désigne par F l’ensemble des arêtes choisies par
– En utilisant une liste d’adjacence pour le graphe,
l’algorithme (ligne 4)
l’algorithme ApproxVertexCover aura une
– Remarquons qu’il n’existe pas dans F deux arêtes qui
complexité de O(m+n)
partagent le même sommet (cela est du à la ligne 6)
– on désigne par C*, une couverture minimale de G

© L. B. Romdhane; ISITCom Calculabilité & Décidabilité 17 © L. B. Romdhane; ISITCom Calculabilité & Décidabilité 18

VERTEX-COVER (9)
• C* couvre, par définition, toutes les arêtes F ⊆ G
• Ainsi, on peut déduire que chaque sommet de C* couvre une
et une seule arête de F; sinon on va avoir dans F des arêtes
qui sont couverts (partagent) les mêmes sommets
 C* ≥ F
• Chaque fois qu’on choisit une arête (ligne 4) pour l’ensemble MÉTAHEURISTIQUES
F, on ajoute ces deux sommets dans la couverture calculée C
(ligne 5)
 C =2F
• Ainsi, on peut déduire que:
C
 C* ≥  C ≤ 2C*
2
© L. B. Romdhane; ISITCom Calculabilité & Décidabilité 19 © L. B. Romdhane; ISITCom Calculabilité & Décidabilité 20
Principe général Quelques approches
• Chercher une solution dans l’espace de • Apprentissage (machine learning): réseaux de
recherche en se guidant neurones artificiels, etc.
– Par des propriétés de la solution recherchée • Modèles probabilistes: chaines de Markov,
– Certaines propriétés du problème à résoudre Réseaux Bayésiens, etc.
– …. • SVM : Support Vector Machines
• Dans la majorité des cas, ses propriétés sont • Algorithmes génétiques
modélisées sous forme d’une fonction objectif
• PSO (Particle Swarm Optimisation)
à optimiser
• …..

© L. B. Romdhane; ISITCom Calculabilité & Décidabilité 21 © L. B. Romdhane; ISITCom Calculabilité & Décidabilité 22

© L. B. Romdhane; ISITCom Calculabilité & Décidabilité 23

Vous aimerez peut-être aussi