• Aucun résultat trouvé

1 Algorithme de 2-approximation

N/A
N/A
Protected

Academic year: 2022

Partager "1 Algorithme de 2-approximation"

Copied!
1
0
0

Texte intégral

(1)

NP-complétude et approximation : Problème du voyageur de commerce

PVC

Entrée : G= (S, A), un graphe non orienté ;ω:A→Nun poids sur les arêtes.

Sortie : C= (s0, ...sn=s0) cycle deGpassant (une seule fois) par chaque sommet, de poids minimal.

Définition 0.1 (Algorithme d’approximation). Soit X un problème d’optimisation, et ρ > 1. On note v(X) la valeur optimale de X. On dit que A est un algorithme de ρ-approximation de X si pour toute instance de X, A retourne une solution de valeur inférieure à ρv(X).

1 Algorithme de 2-approximation

Dans le cas des graphes euclidiens, où la fonction de poids respecte l’inégalité triangulaire, on a l’algorithme suivant d’approximation.

2PVC(G, ω)

Trouver un arbre couvrant de poids minimal Algorithme de Prim Retourner les sommets dans l’ordre de parcours en profondeur Complexité linéaire Remarque Si on autorise de passer plusieurs fois par un même sommet, et qu’on définit

∀s, s0S2, ω0(s, s0) = min{ω(s→s0), s→s0 chemin desàs0}, on a une distance euclidienne.

Proposition 1.1 (Correction de l’algorithme). L’algorithme2PVC renvoie un chemin de poids total inférieur à2 fois la valeur optimale pour un graphe euclidien.

Démonstration. SoitC= (s0, ...sn =s0) renvoyé par l’algorithme etC0= (s00, ...s0n=s00) optimal.

1. Dans un parcours en profondeur de l’arbre, on parcourt deux fois chaque arête. Par inégalité triangulaire, ω(C)62ω(A) pourAarbre couvrant minimal donc pour tout arbre couvrant.

2. A0= (s00, ...s0n−1) est un arbre couvrant de poids inférieur àω(C0), doncω(C)62ω(A)62ω(A0)62ω(C0)

2 Cas général

Théorème 2.1 (Condition suffisante pour P = N P). Soit ρ > 1. S’il existe un algorithme polynomial de ρ- approximation deP V C, alors P=N P.

Démonstration. On réduit le problème N P-complet du cycle hamiltonien à PVC. SoitG = (S, A) une entrée de CycleHamiltonien. On définit alors :

ω(s, s0) =

1 si (s, s0)∈A ρ(|S|+ 1) sinon et on applique l’algorithme deρ-approximation à ((S, S2), ω)

1. Si le chemin retourné est de longueur|S|+ 1, alors c’est un cycle hamiltonien dans (S, A).

2. Sinon, le chemin retourné est de longueur strictement supérieure à ρ(|S|+ 1), donc il n’en existe pas de longueur inférieure ou égale à |S|+ 1, donc pas de cycle hamiltonien dans (S, A).

Si on dispose d’un algorithme polynomial deρ-approximation deP V C, alors on a un algorithme polynomial pour CycleHamiltonien doncP =N P.

Ref : Computers and Intractability : A guide to the Theory of NP-Completeness, Garey, Johnson

1

Références

Documents relatifs

- Syntaxe : ecrire (" message"); (ex: ecrire ("bonjour");) - Pour afficher la valeur d'une variable avec cette même. fonction, on utilise en fait ‘ecrire’ de la

De manière plus générale, on constate qu´un algorithme contenant une boucle simple est de complexité linéaire alors qu´une boucle imbriquée engendrera une complexité

On peut le réaliser à partir du parcours (récursif) en profondeur en partant d'un sommet sur lequel aucun arc n'aboutit dans le graphe dual. Il suffira

Si un sommet est égal à son point d'attache at(x), et si pour tout descendant y de x dans T, on a at(y) < y, alors l'ensemble des descendants de x forme

Résumé. — Nous présentons dans cet article un algorithme qui fournit une décomposition d'un graphe en sous-graphes faiblement interconnectés. Nous montrons que le résultat est

pour trouver l’arête de poids minimum sortante du fragment Les fragments sont fusionner entre eux. grâce à l’arête de poids minimum La démarche est

En déduire qu’un couplage de poids minimum sur les sommets de degré impair dans T est inférieur ou égal à la moitié du poids de C opt... Préambule : technique pour montrer

2/ Mission 1 : Initialiser le robot de sorte qu’il soit placé dans le coin Sud-Ouest et orienté vers le Nord.. Faire avancer Nono de