IFT-66975 - PowerPoint PPT Presentation

About This Presentation
Title:

IFT-66975

Description:

IFT-66975 Contourner la NP-compl tude – PowerPoint PPT presentation

Number of Views:52
Avg rating:3.0/5.0
Slides: 107
Provided by: pates16
Category:
Tags: ift

less

Transcript and Presenter's Notes

Title: IFT-66975


1
IFT-66975
  • Contourner la NP-complétude

2
Que faire face à la NP-complétude?
  • Pour une application précise, je veux trouver la
    plus grande clique possible dans un graphe ou
    répartir une tâche de façon optimale, ou
    satisfaire simultanément un ensemble de clauses
    booléennes.
  • Mais CLIQUE, SWI, SAT sont NP-complets! Est-ce la
    fin du monde?
  • R Peut-être... mais il y a un peu despoir si on
    réduit nos exigences ou nos attentes.

3
  • Sassurer que lon ne fait pas face à un sous-cas
    relativement simple dun problème NP-complet.
  • Lapplication nous fournit-elle des informations
    additionnelles sur les instances?
  • problèmes sur des classes de graphes relativement
    simples
  • 2-SAT, Horn-SAT, 2-COL, ...
  • Algorithmes pseudo-polynomiaux et NP-complétude
    forte.

4
  • Pour les problèmes doptimisation, on peut
    souvent obtenir un algorithme efficace qui trouve
    une solution quasi-optimale.
  • Possible dans plusieurs cas mais avec une qualité
    dapproximation très variable.
  • Nouvelles classes de problèmes PTAS, FPTAS, APX.
  • Résultats dinapproximabilité.

5
  • Réduire lexplosion du temps de calcul à un
    paramètre relativement petit.
  • Par exemple trouver une couverture par sommets
    de taille k est réalisable en temps O(1.27k
    V). Pas si mal si on cherche des petites
    couvertures dans un grand graphe.
  • Un temps O(f(k) ? nc) nest pas déraisonnable si
    k est très petit mais O(nf(k)) ne lest pas.
  • Problèmes traitables pour paramètre fixe (FPT),
    réductions paramétrées.
  • W1-complétude.

6
  • Heuristiques
  • ? faire un peu nimporte quoi et espérer que tout
    aille pour le mieux.
  • Heuristiques spécifiques à un problème.
  • Fouille aléatoire, algorithmes génétiques.
  • Complexité des problèmes à boîte noire.

7
Lanalyse de sous-problèmes
  • En pratique, les problèmes que nous avons à
    résoudre ont souvent beaucoup de structure quon
    a tendance à oublier lors dune première analyse.
  • Lorsquun problème qui nous intéresse est
    NP-complet, la première étape est de sassurer
    que lon ne fait pas face à un sous-cas plus
    simple. Dans ce cas, il y a peut-être un
    algorithme polynomial pour ce sous-cas.

8
Exemples
  • Le théorème de Schaefer nous donne 6 variantes
    polynomiales de SAT.
  • SAT est résoluble en temps polynomial si chaque
    variable apparaît dans au plus 2 clauses.

9
  • DLP est NP-complet.
  • DLP est résoluble en temps polynomial pour les
    graphes acycliques.
  • TSP est NP-complet.
  • TSP2 est NP-complet.
  • TSP2,? est NP-complet.
  • TSP2,?,sym est NP-complet.

10
  • De nombreux problèmes de graphe qui sont
    NP-complets ont des algorithmes polynomiaux
    lorsquon les restreints aux
  • graphes de degré borné
  • graphes de nombre chromatique borné (nombre de
    couleurs nécessaires pour un coloriage valide)
  • graphes acycliques
  • arbres
  • forêts
  • graphes planaires
  • graphes bipartis.

11
Démontrer quun sous-cas est NP-complet
  • Parfois, notre démonstration que A est NP-complet
    montre en fait un résultat plus fort si on en
    fait une analyse détaillée.
  • Preuve que HC ?p TSP montrait en fait HC ?p
    TSP2,?,sym
  • Preuve que 3-SAT ?p DLP montrait en fait 3-SAT ?p
    DLP-source-cible.
  • Parfois il faut raffiner nos réductions.

12
  • On a déjà vu que 3-COL est NP-complet.
  • Est-ce que le problème reste NP-complet lorsquon
    restreint le problème aux graphes planaires?
  • Notre réduction de 3-SAT vers 3-COL produit un
    graphe qui en général nest pas planaire.
  • On va montrer que 3-COL ?p 3-COLplan.

13
  • Le défi est de transformer un graphe G en un
    graphe planaire G tel que G est 3-COL si et
    seulement si G est 3-COL.
  • Lidée est de remplacer localement les arêtes
    avec des croisements par des gadgets planaires
    qui simulent larête.

14
Essayons de colorier le gadget suivant lorsque le
point de droite est rouge.
15
2 cas possibles pour colorier le troisième point
incident.
Fait à noter, les points extrèmes ont des
couleurs égales 2 à 2.
16
Second cas... Donne lieu à deux sous-sous-cas,
selon la couleur du sommet du haut.
Les 4 sommets extrèmes ont la même couleur.
17
Dernier cas...
Impossible de colorier le dernier point! Donc les
2 cas précédents sont les seuls coloriages
possibles, à une permutation des couleurs près.
18
  • Le gadget P a les propriétés suivantes.
  • Dans tout 3-coloriage de P, les points extrèmes
    ont des couleurs égales 2 à 2.
  • Si on colorie les points extrèmes avec des
    couleurs égales 2 à 2, alors on peut légalement
    colorier les autres points de P.
  • P est planaire

19
Pour compléter notre réduction de 3-COL vers
3-COLplan, on considère une représentation de G
dans le plan. Soit (u,v) une arête de G qui
intersecte un certain nombre dautres arêtes.
On remplace cette arête par
...
u
v
...
u
v
u
P
P
P
À cause des propriétés de P, le graphe ainsi
obtenu est 3-coloriable si et seulement si le
graphe G est 3-coloriable.
20
Algorithmes pseudo-polynomiaux
  • Nous avons vu que le problème du sac à dos est
    NP-complet.
  • Maintenant nous allons voir que le problème du
    sac à dos est dans P.
  • !!??!??

21
  • Une instance du problème de sac à dos est
    spécifiée par n objets de valeur vi et de poids
    pi et une capacité du sac à dos C.
  • Algorithme de programmation dynamique on crée
    une table T de (n1) rangées (0 à n) et de C 1
    colonnes (0 à C).
  • On veut que lentrée Tk,w représente la valeur
    maximale atteinte en choisissant parmi les k
    premiers objets et sans dépasser le poids w.
    Lentrée Tn,C est la réponse que lon cherche.

22
0 1 2 3 ... C
0
1
2
?
n
On peut facilement remplir la première rangée et
la première colonne car T0,w 0 et Tk,0 0.
23
0 1 2 3 ... C
0 0 0 0 0 0 0
1 0
2 0
? 0
n 0
On complète maintenant le tableau rangée par
rangée. Supposons que les rangées 0 à k-1 ont été
remplies. Un choix optimal parmi les k premiers
objets contient ou ne contient pas lobjet k.
Donc Tk,w maxTk-1,w, Tk-1,w-pk vk.
24
  • Quelle est la complexité de lalgorithme?
  • Il y a O(Cn) entrées à remplir. Chaque entrée
    peut-être remplie en temps constant.
  • Donc lalgorithme a un temps dexécution très
    raisonnable.
  • À condition que C ne soit pas beaucoup plus grand
    que n!

25
  • 3-SAT ?p Subset-Sum ?p Knapsack.
  • Notre réduction de 3-SAT vers SS contruisait
    2n2m entiers avec nm décimales. Lentier cible
    C de linstance Knapsack ainsi construite est C ?
    10nm! Donc un algorithme de complexité O(Cn) est
    totalement inutilisable.

26
Problèmes sur grands entiers
  • On désigne (de façon floue) comme problème de
    décision sur les grands entiers tout problème
    dont les instances comportent des entiers dont la
    taille nest pas nécessairement borné par un
    polynôme de la longueur des données.
  • Exemples TSP, Network-flow, Knapsack, Partition,
    Bin-Packing, etc.
  • Non-exemples CLQ, VC, Primalité, Col, etc.

27
NP-complétude forte...
  • Un problème sur de grands entiers est fortement
    NP-complet si sa restriction aux instances où les
    entiers sont bornés par un polynôme p(n) de la
    taille totale de lentrée est également
    NP-complet.
  • Exemples Puisque TSP2 est NP-complet, TSP est
    fortement NP-complet. De la même façon TSP?,sym
    est fortement NP-complet.

28
... vs algorithmes pseudo-polynomiaux
  • Un algorithme pour un problème sur grands entiers
    est dit pseudo-polynomial si son temps
    dexécution est polynomial lorsque les entiers de
    linstance sont bornés par un polynôme p(n).
  • Exemple lalgorithme de programmation dynamique
    pour Knapsack est pseudo-polynomial. Partition et
    Subset-sum ont aussi des algorithmes
    pseudo-polynomiaux.

29
  • Théorème si P ? NP, alors les problèmes
    fortement NP-complets nadmettent pas
    dalgorithme pseudo-polynomial.
  • Pour démontrer quun problème A est fortement
    NP-complet on peut
  • Partir de la définition et montrer que la
    restriction de A aux instances avec de petits
    nombres est NP-complète.
  • Construire une réduction dun problème fortement
    NP-complet B vers A qui préserve la taille des
    entiers utilisés.

30
  • Le problème 3-partition est fortement NP-complet
    et est très utile pour montrer la NP-complétude
    forte dautres problèmes.
  • Entrée k seaux de taille b ? N et n 3k objets
    de taille ai ? N avec b/4 lt ai lt b/2.
  • Question Peut-on répartir les n éléments dans
    les k seaux?
  • À noter si cela est possible, alors chaque seau
    contient exactement 3 objets. (Doù le nom de
    3-Partition.)

31
  • Exemples
  • 3-PART ?p, Bin-Packing
  • En fait, 3-PART est clairement un cas particulier
    de Bin-Packing.
  • 3-PART ?p, SWI
  • Idée de la construction similaire à celle
    montrant que PART ?p SWI.
  • Nos n objets de taille ai deviennent des tâches
    Ai avec r(Ai) 0, d(Ai) kb k -1 et l(Ai)
    ai.
  • On introduit également des tâches F1, ..., Fk-1
    avec r(F_i) ib i -1, l(F_i) 1, d(F_i) ib
    i.

32
Optimisation et approximation
  • Définition Un problème doptimisation P associe
    à chaque instance x un ensemble de solutions S(x)
    et à chaque s ? S(x) une valeur v(x,s) ? N.
    Chaque problème doptimisation A est associé à
    deux problèmes algorithmiques
  • MAX-P Étant donné x, trouver s ? S(x) tel que
    v(x,s) soit maximal.
  • MIN-P Étant donné x, trouver s ? S(x) tel que
    v(x,s) soit minimal.

33
La classe NPO
  • Définition Un problème doptimisation P
    appartient à NPO sil existe un polynôme p tel
    que
  • pour tout x et tout s ? S(x) on a s ? p(x)
  • il existe un algorithme de complexité de temps
    p(n) qui étant donné (x,s) détermine si s ? S(x)
    et calcule v(x,s).
  • Note on dénote MAX-NPO et MIN-NPO les deux
    restrictions naturelles de NPO.

34
Exemples
  • MAX-CLIQUE, MAX-Independent-Set, MAX-k-SAT,
    MAX-KNAPSACK ? MAX-NPO.
  • MIN-TSP, MIN-Set-Cover, MIN-Bin-Packing, MIN-VC,
    MIN-GC ? MIN-NPO.
  • NPO contient la très grande majorité des
    problèmes algorithmiques les plus rencontrés en
    pratique.

35
Algorithme dapproximation
  • Un algorithme dapproximation pour un problème
    MAX-P doptimisation est un algorithme qui étant
    donné une instance x retourne une solution s ?
    S(x).
  • Soit vopt(x) maxs ? S(x) v(x,s).
  • La qualité dune solution s est le ratio
  • r(x,s) vopt(x)/v(x,s).

36
Algorithme dapproximation
  • Un algorithme dapproximation pour un problème
    MIN-P doptimisation est un algorithme qui étant
    donné une instance x retourne une solution s ?
    S(x).
  • Soit vopt(x) mins ? S(x) v(x,s).
  • La qualité dune solution s est le ratio
  • r(x,s) v(s,x)/vopt(x).

37
Qualité dun algorithme dapproximation
  • Le ratio dapproximation (ou qualité) dun
    algorithme dapproximation A est
  • rA(n) max r(x,s) x ? n ? A(x) s
  • On a toujours rA(n) ? 1. Un algorithme
    dapproximation est dautant plus performant que
    rA est petit.

38
  • Deux objectifs à atteindre dans la conception
    dalgorithmes dapproximation
  • Petit ratio dapproximation.
  • Temps de calcul polynomial.
  • Soit r N ? 1,?) une fonction croissante. On
    définit les classes suivantes
  • APX(r(n)) classe des problèmes de NPO pour
    lesquels il existe un algorithme dapproximation
    avec temps de calcul polynomial et ratio
    dapproximation rA(n) ? r(n).
  • APX union des classes APX(c) pour c ? 1.
  • APX intersection des classes APX(c) pour c gt 1.

39
  • APX contient les problèmes qui peuvent être
    approximés en temps polynomial pour nimporte
    quel ratio dapproximation constant.
  • On peut être encore plus exigeant en demandant à
    un algorithme dapproximation datteindre un
    ratio dapproximation spécifié en entrée par
    lusager.
  • Intuitivement clair plus on spécifie un ratio
    petit et plus lalgorithme va avoir besoin de
    temps!

40
  • Une stratégie dapproximation en temps polynomial
    (PTAS) pour le problème doptimisation P est un
    algorithme qui reçoit en entrée (x,?) où x est
    une instance de P et ? gt 0 est un rationnel qui
    et produit en temps polynomial dans la taille de
    x (mais dépendant possiblement de ?) une solution
    avec ratio dapproximation 1? dans le pire cas.
  • La classe de complexité PTAS est la classe des
    problèmes de NPO pour lesquels il existe un PTAS.

41
  • Une stratégie dapproximation en temps
    entièrement polynomial (FPTAS) pour le problème
    doptimisation P est un algorithme qui reçoit en
    entrée (x,?) où x est une instance de P et ? gt 0
    est un rationnel qui et produit en temps
    polynomial dans la taille de x et de 1/? une
    solution avec ratio dapproximation 1? dans le
    pire cas.
  • La classe de complexité FPTAS est la classe des
    problèmes de NPO pour lesquels il existe un FPTAS.

42
  • On a donc
  • P ? FPTAS ? PTAS ? APX ? APX ? NPO
  • Un problème qui possède un FPTAS est à toute fin
    pratique traitable. Un PTAS peut être acceptable
    et même un algorithme dapproximation APX avec un
    ratio dapproximation relativement faible peut
    nous suffire surtout si on a de fortes raisons de
    croire quil ny a pas de meilleure alternative.

43
Algorithmes dapproximation classiques
Problème Algorithme dapproximation
MAX-CLIQUE O(n/log2n)
MIN-VC 2
MAX-3-SAT 8/7
MIN-BIN-PACKING 3/2
MIN-TSP? 3/2
MIN-VCplanaire PTAS
MAX-KNAPSACK FPTAS
44
  • Algorithme dapproximation pour MAX-3-SAT avec
    ratio 8/7.
  • Rappel Max-3-SAT est la recherche dune
    assignation aux xi qui maximise le nombre de
    clauses satisfaites. Chaque clause contient
    exactement 3 litéraux distincts.
  • Idée de départ Considérons une assignation
    aléatoire aux xi et appelons Cj la variable
    aléatoire qui est 1 si la clause cj est
    satisfaite par cette assignation et 0 sinon.
    Alors PrCj 1 7/8 donc E(Cj) 7/8. Donc si
    C ? Cj on a
  • E( clauses satisfaites) E(C) ? E(Cj) 7m/8.
  • Une assignation moyenne satisfait 7/8 des
    clauses. Il suffit den trouver une qui atteint
    la moyenne.

45
  • Algorithme soit x1, ..., xn les variables
    booléennes de ?.
  • Pour i 1, ..., n on considère les deux valeurs
    possibles 0,1 pour xi.
  • Pour les clauses cj, calculer E(Cj xi b).
    Supposons que cj contient k litéraux.
  • Si cj ne contient k ni xi, ni ?i, alors E(Cj
    xi 1) E(Cj) (2k-1)/2k.
  • Si cj contient xi alors E(Cj xi 1) 1.
  • Si cj contient ?i alors E(Cj xi 1)
    (2k-1-1)/2k-1.
  • Comparer E(C xi 0) et E(C xi 1). Choisir
    xi b tel que E(C xi b) soit maximal.
  • Répéter 1 à 3 sur la formule ? où les occurrences
    de xi sont remplacées par 0 ou 1.

46
  • Remarques
  • Lalgorithme sexécute en temps O(mn).
  • E(C) ½ E(C x1 1) ½ E(C x1 0). Or E(C)
    7/8 m donc soit E(C x1 1) ? 7/8 m soit E(C
    x1 0) ? 7/8 m.
  • À la seconde étape notre algorithme calcule E(C
    x1 b1 x2 1) et E(C x1 b1 x2 0). Par
    le même raisonnement, une de ces deux quantités
    est au moins 7/8 m.
  • Lalgorithme construit donc une assignation qui
    satisfait 7/8 des clauses. Mais vopt(?) ? m donc
    le ratio dapproximation est 8/7 dans le pire cas.

47
  • Algorithmes dapproximation pour MIN-BP. (Objets
    de taille p1, ..., pn et seaux de taille c. Quel
    est le nombre minimal de seau nécessaire pour
    placer tous les objets?)
  • Idée pour des algorithmes corrects (sans plus)
    on suit les idées les plus naturelles. Dans ce
    cas, des algorithmes voraces.

48
  • Idée 1 Placer chaque objet dans un nouveau seau
    à moins quil tienne dans un seau qui nest pas
    encore rempli à pleine capacité.
  • Quel ratio peut-on garantir? Chaque seau est
    forcément rempli au moins jusquà la moitié. Donc
    rA ? 2.
  • En fait, cet algorithme retourne un s tel que
    v(x,s) ? ?1.7 vopt(x)?.
  • On peut construire des instances avec vopt
    arbitrairement grand mais sur lesquelles
    lalgorithme retourne une solution s avec v(s,x)
    ? 1.7 (vopt(x) -1).

49
  • Supposons que la capacité de chaque seau est 1 et
    quon a 18m objets.
  • 6m objets de taille 1/7 ?
  • 6m objets de taille 1/3 ?
  • 6m objets de taille 1/2 ?
  • On peut utiliser 6m seaux avec un objet de chaque
    type.
  • Notre algorithme va en fait créer m seaux avec 6
    petits objets, 3m seaux avec 2 objets moyens et
    6m seaux avec des grands objets. 10m seaux en
    tout pour une qualité de solution 5/3.

50
  • Idée 2 Placer chaque objet dans un nouveau seau
    à moins quil tienne dans un seau qui nest pas
    encore rempli à pleine capacité. Dans ce cas,
    placer lobjet dans le seau dont la capacité
    non-utilisée est la plus proche de la taille de
    lobjet.
  • Quel ratio peut-on garantir?
  • Essentiellement le même en pire cas!

51
  • Idée 3 Trier les objets. Placer chaque objet
    dans un nouveau seau à moins quil tienne dans un
    seau qui nest pas encore rempli à pleine
    capacité.
  • Quel ratio peut-on garantir?
  • v(x,sA) ? 11/9 vopt (x) 4
  • Lorsque vopt 1, cela ne garantit que rA 47/9!
    Mais asymptotiquement, le ratio tend vers 11/9.
  • De même, le meilleur algorithme connu a un ratio
    dapproximation borné par
  • 1 O(log2 vopt/ vopt)
  • qui tend vers 1. (FPTAS asymptotique)

52
  • Algorithme dapproximation pour MIN-TSP?.
  • Trouver en temps polynomial un arbre de
    recouvrement de poids minimal.
  • Traverser larbre de recouvrement pour couvrir
    toutes les villes. Ce circuit passe 2 fois par
    chaque ville mais on peut utiliser des raccourcis
    pour éviter ce problème.

53
  • Quel ratio dapproximation peut-on garantir?
  • Le coût du tour optimal est plus petit que
    larbre minimal de recouvrement.
  • À cause de linégalité du triangle, lutilisation
    de raccourcis ne peut augmenter le coût du tour
    qui suit larbre de recouvrement minimal.
  • Donc rA ? 2.
  • On peut raffiner le même type dalgorithme et
    obtenir rA ? 3/2.
  • Lorsque les villes sont des points dans Rd avec
    les distances usuelles (TSPd-euclid) il existe
    même un PTAS.

54
  • Il existe un FPTAS pour le problème du sac à dos
    (analyse délicate nécessaire).
  • Par programmation dynamique, on a un algorithme
    pseuso-polynomial pour Max-KS. Il ne fonctionne
    en temps polynomial que pour une capacité de sac
    borné par un polynôme. Il existe aussi un
    algorithme en temps polynomial dans la taille des
    valeurs des objets.
  • Si les valeurs sont trop grandes, on peut
    tronquer ces valeurs après t bits significatifs
    et utiliser lalgorithme polynomial.

55
  • Min-KS pour les nuls. (algorithme dapproximation
    polynomial avec r 2)
  • Ordonner les objets selon le ratio (vi / pi).
  • Tant que la liste des objets nest pas épuisé,
    rajouter lobjet i dans le sac à dos sil tient
    dans la place restante.
  • Comparer la solution obtenue à la solution qui
    contient lobjet de plus grande valeur. Retourner
    la meilleure.

56
  • Min-KS pour les un peu moins nuls. (PTAS, ratio ?
    1 1/k)
  • Former tous les ensembles possibles de k objets.
  • Pour chaque ensemble, ajouter des objets grâce à
    lalgorithme précédent.
  • Retourner la meilleure valeur obtenue.
  • Le temps de calcul est O(nk1).

57
Limites de lapproximabilité
  • Comment peut-on démontrer quun problème
    doptimisation P ne peut-être approximé en temps
    polynomial au delà dune certaine limite de
    qualité.
  • Si on peut démontrer quun algorithme
    dapproximation pour P avec rA lt r(n) implique la
    possibilité de résoudre en temps polynomial un
    NP-complet, on aura de bonnes raisons de croire
    quun tel algorithme nexiste pas.

58
Technique du fossé
  • Théorème
  • Supposons que P ? NPO est tel que pour chaque x
    et chaque s ? S(x) on a v(x,s) ? a ou v(x,s) ? b.
    Supposons aussi quil est NP-ardu de différencier
    le cas vopt(x) ? a du cas vopt(x) ? b.
  • Alors si P ? NP, il nexiste pas dalgorithme
    dapproximation pour P avec ratio dapproximation
    plus petit que b/a.

59
  • Démonstration
  • Supposons quun tel algorithme existe. Puisquil
    est NP-ardu de différencier les instances x de P
    avec vopt(x) ? a de celles avec vopt(x) ? b, il
    existe pour tout L ? NP, une f calculable en
    temps polynomial tel que si w ? L alors
    vopt(f(w)) ? a mais si w ? L alors vopt(f(w)) ?
    b.
  • Supposons que P est un problème de minimisation.
    On peut en temps polynomial obtenir une solution
    s pour f(w) telle que v(f(w),s) lt b/a ?
    vopt(f(w)).
  • Si v(f(w),s) lt b alors vopt(f(w)) lt b et donc
    vopt(f(w)) ? a.
  • Si v(f(w),s) ? b alors vopt(f(w)) gt a/b ?
    v(f(w),s) ? a et donc vopt(f(w)) ? b.
  • Donc w ? L si et seulement si vopt(f(w)) ? a, si
    et seulement si v(f(w),s) lt b. Ainsi L ? P.

60
  • Mais comment peut-on trouver des problèmes
    doptimisation avec cette propriété de fossé?
  • Dans certains cas en faisant simplement une
    analyse précise des réductions démontrant la
    NP-complétude dun problème.

61
  • Un fossé pour Min-TSP
  • Revenons à notre réduction de HC vers TSP. On
    transforme un graphe G (V,E) en une matrice de
    distance entre les vi en prenant dij 1 si
    (vi,vj) ? E et dij 2 si (vi,vj) ? E.
  • Si un circuit Hamiltonien existe dans G, il
    existe un tour de coût n V. Sinon, tout tour
    a un coût dau moins n1.

62
  • Un fossé pour Min-TSP
  • Soyons plus radicaux dij 1 si (vi,vj) ? E et
    dij n2n si (vi,vj) ? E.
  • Si un circuit Hamiltonien existe dans G, il
    existe un tour de coût n. Sinon, tout tour a un
    coût dau moins n2n.
  • Puisque HC est NP-complet, il est NP-ardu de
    différencier les instances où le coût optimal est
    ? n de ceux ou le coût optimal est ? n2n.
  • ? si P ? NP, Min-TSP ne peut être approximé avec
    un ratio 2n. Donc Min-TSP ? APX.

63
  • Critique possible de ce résultat oui mais si on
    a seulement des petites distances?
  • On peut repenser les notions utiles pour les
    algorithmes pseudo-polynomiaux et la
    NP-complétude forte.
  • Un problème doptimisation est dit problème avec
    petites valeur de solution si v(x,s) est toujours
    borné par un polynôme p(x).

64
  • Exemples de problèmes doptimisation avec petites
    valeurs de solution.
  • Max-CLIQUE, Min-VC, Max-3-SAT, Min-GC, Min-BP,
    Max-3DM, etc.
  • Min-TSP, Min-KS, etc. lorsque lon borne par un
    polynôme les entiers utilisés dans une instance.

65
  • Théorème
  • Si P ? NP, alors tout problème Q avec petites
    valeurs de solution qui est NP-ardu na pas de
    FPTAS.
  • Théorème très pratique pour abandonner rapidement
    la recherche dun FPTAS.

66
  • Démonstration
  • Supposons que Q ? Min-NPO (largument
    symmétrique fonctionne pour Max-NPO). Supposons
    quun FPTAS existe et que les valeurs de Q sont
    bornées par p(x). Prenons ?(n) 1/p(n) et
    supposons
  • Puisque Q est NP-ardu, le FPTAS ne peut pas
    toujours trouver la valeur optimale mais il
    retourne en temps polynomial une solution s avec
    v(x,s) ? (1?(x)) ? vopt(x).
  • Si x est une instance où la valeur calculée est
    sous-optimale alors r(n) ? p(n)/(p(n)-1) puisque
    les valeurs sont toutes entre 1 et p(n). Donc
    r(n) 1 1/(p(n) -1) gt 1 ?(n), ce qui est une
    contradiction.

67
  • Théorème
  • Si P ? NP, et Q est un problème de minimisation
    pour lequel il est déjà ardu de décider si
    vopt(x) ? k, alors aucun algorithme
    dapproximation en temps polynomial pour Q na un
    ratio inférieur à 1 1/k.

68
  • Théorème
  • Si P ? NP, et Q est un problème de maximisation
    pour lequel il est déjà ardu de décider si
    vopt(x) ? k1, alors aucun algorithme
    dapproximation en temps polynomial pour Q na un
    ratio inférieur à 1 1/k.

69
  • Démonstration
  • Supposons au contraire quun algorithme A existe
    avec un ratio inférieur à 11/k.
  • On veut utiliser A pour tester en temps
    polynomial si vopt(x) ? k.
  • Supposons que A(x) s et que v(x,s) ? k. Alors
    on sait que vopt(x) ? k.
  • Si v(x,s) ? k 1, alors puisque
    v(x,s)/vopt(x,s) lt 1 1/k (k1)/k
  • on a forcément vopt(x) gt k.
  • Donc vopt ? k ssi v(x,A(x)) ? k, ce qui donne
    une contradiction.

70
  • Quelques applications de ce théorème (si P ? NP)
  • Min-GC nest pas approximable en temps polynomial
    avec un ratio inférieur à 4/3 car 3-COL est
    NP-ardu.
  • Min-Bin-Packing nest pas approximable en temps
    polynomial avec un ratio inférieur à 3/2 car
    Partition est NP-ardu.

71
  • Comment raffiner létude de Min-GC pour montrer
    quon ne peut pas non plus atteindre le ratio 4/3
    asymptotiquement?
  • On sait que 3-COL est NP-ardu. À partir de là on
    veut montrer que pour tout k, il est aussi
    NP-ardu de distinguer en temps polynomial un
    graphe dont le nombre chromatique est ? 3k dun
    graphe dont le nombre chromatique est ? 4k.

72
  • Soit G (V,E) un graphe avec nombre chromatique
    ?(G). On construit en temps polynomial un graphe
    Gk de la façon suivante.
  • On crée k copies de G.
  • On rajoute des arêtes entre nimporte quels deux
    points de copies différentes de G.
  • Il est facile de constater que ?(Gk) k ? ?(G).
  • Donc si G est 3-coloriable, Gk est 3-coloriable
    mais sinon, Gk nécessite au moins 4k couleurs!
  • ? Si P ? NP, alors tout algorithme
    dapproximation en temps polynomial a un ratio
    asymptotique inférieur à 4/3.

73
  • On peut parfois montrer que lexistence dun
    algorithme avec un ratio dapproximation en
    dessous dune certaine limite implique en fait
    lexistence dun PTAS.
  • Cela arrive lorsque lon peut obtenir des
    auto-réductions qui agrandissent le fossé. (Un
    exemple suit!)

74
  • Théorème Si MAX-IS est approximable avec un
    ratio dapproximation r (donc MAX-IS ? APX),
    alors il existe un PTAS pour MAX-IS.
  • Démonstration
  • Considérons pour un graphe G (V,E), le graphe
    G2 (V?V, F) avec (u,u),(v,v) ? F si
  • u v et u,v ? E.
  • ou u,v ? E.

75
  • Montrons que G a un IS de k points si et
    seulement si G2 a un IS de k2 points.
  • ? si I est un IS de k points dans G, alors
    (u,v) u,v ? I est un IS de k2 points dans G2.
  • ? Si I2 est un IS de k2 points dans G, alors U
    u (u,v) ? I2 pour un v ? V est un IS de G.
    Pour chaque u ? U, lensemble Wu v (u,v) ?
    I2 est aussi un IS dans G. Un de ces ensembles a
    une taille au moins k.

76
  • Si MAX-IS est r-approximable avec r lt 2, par
    lalgo A en temps nc.
  • Appliquons cet algorithme au graphe G2. Cela se
    fait en temps n2c et fournit un IS de taille au
    moins k2/r.
  • Grâce à notre raisonnement précédent, on peut en
    obtenir un IS pour G de taille au moins k/?r.
  • Donc on obtient un algorithme dapproximation
    avec ratio ?r lt r.

77
Comparer la complexité dapproximation
  • On cherche des notions qui nous permettront
    dobtenir des résultats dinapproximabilité pour
    B à partir de résultats dinapproximabilité pour
    A.
  • Pour les problèmes de décision, les réductions
    polynomiales nous donnaient cette possibilité.

78
  • Définition Une réduction PTAS dun problème
    doptimisation A vers un problème doptimisation
    B (dénoté A ?PTAS B) est un triplet de fonctions
    (f,g,?) avec les propriétés
  • f transforme les instances x de A en instances
    f(x) de B et est calculable en temps polynomial.
  • Pour chaque triplet (x,s,?) où x est une instance
    de A, s ? SB(f(x)) et ? ? Q, g transforme
    (x,s,?) en une solution g(x,s,?) dans SA(x) et
    est calculable en temps polynomial.
  • ? Q ? Q est une fonction surjective
    calculable en temps polynomial.
  • Si rB(f(x),y)) ? 1 ?(?), alors rA(x,g(x,y,?)) ?
    1 ?.

79
  • Lemme
  • Supposons que A ?PTAS B. Alors
  • Si B ? PTAS alors A ? PTAS.
  • Si B ? APX alors A ? APX.

80
  • (Heureusement) certaines réductions entre
    problèmes de décision peuvent facilement être
    transformées en réductions PTAS pour des
    problèmes doptimisation correspondant.
  • MAX-3-SAT ?PTAS MAX-IS. (ens. indép.)
  • MAX-CLIQUE ?PTAS MAX-IS.

81
Complétude
  • Un problème doptimisation P ? NPO est C-complet
    pour C ? APX, Min-NPO, Max-NPO si P ? C et pour
    tout Q ? C, on a Q ?PTAS P.
  • On croit que les inclusions PTAS ? APX ? NPO sont
    strictes. Donc lAPX-complétude ou la
    NPO-complétude sont de fortes indications
    dinapproximabilité dun problème.

82
  • Théorème
  • MAX-3-SAT est APX-complet.
  • Mais la démonstration requiert le théorème PCP.

83
  • Théorème
  • MAX-W-SAT est MAX-NPO-complet.
  • Instance formule ? avec variables booléennes x1,
    ... , xn et poids wi ? N pour chaque xi.
  • Solutions Toute assignation aux variables. Si s
    ? S(?) et s ne satisfait pas ?, alors v(?,s) 1.
    Si s satisfait ? alors v(?,s) ?xi 1 wi.

84
  • Démonstration
  • On veut réutiliser intelligemment la
    démonstration de Cook-Levin.
  • Supposons que A ? MAX-NPO. Alors, il existe une
    m.t. non-déterministe M qui étant donné x choisit
    une solution potentielle s avec s ? p(x).
    Ensuite, M vérifie si s ? S(x) et si oui calcule
    v(x,s), écrit v(x,s) au début du ruban (en
    commençant par les bits les moins significatifs)
    écrit ensuite s, efface le reste du ruban et
    accepte. Sinon, M sarrête et rejette.

85
  • Appliquons la réduction du théorème de
    Cook-Levin. Si M sexécute en temps p(n) on peut
    construire pour chaque entrée x une formule ? qui
    est satisfiable si et seulement si M accepte x.
  • Dans ce cas, la variable booléenne cp(x),j,1
    est vraie lorsque la case j du ruban lors de la
    fin du calcul acceptant contient 1.
  • Supposons que les cases 1 à r sont utilisées pour
    encoder v(x,s). On attribue alors à cp(x),j,1
    le poids 2j. Toutes les autres variables ont un
    poids 0.

86
  • On a donc une fonction f calculable en temps
    polynomial qui transforme une instance x de A en
    une formule ? avec des poids.
  • Il faut définir s g(x,y,?) où x est une
    instance de A, y ? SB(f(x)) et s ? SA(x). Si y
    satisfait ? alors les variables encodent un
    calcul acceptant de M. Donc, on peut examiner la
    dernière ligne du tableau et retrouver le s ?
    SA(x) tel que le calcul de M sur x avec choix
    non-déterministe s correspond à y.
  • Finalement, on choisit ?(?) ?.

87
  • Dernier détail montrer que si rB(f(x),y) ? 1
    ?(?) alors rA(x,g(x,y,?)) ? 1 ?.
  • À cause de notre choix de poids, le poids de y
    est égal à v(x,s).

88
Étude de cas VC
  • Le problème de couverture par sommets est
    NP-complet. Que faire alors?
  • Considérons 3 options raisonnables.

89
  • Algorithme dapproximation.
  • Initialiser V ?.
  • Tant que V ne couvre pas toutes les arêtes,
  • choisir arête (u,v) non couverte.
  • V V ? u,v.
  • Temps dexécution ? O(E).

90
  • Qualité de lapproximation?
  • Soit V la plus petite VC du graphe et E les
    arêtes qui sont doublement couvertes par la VC
    V fournie par lalgo.
  • On a V ? E car aucune deux arêtes de E
    nont de sommet en commun.
  • Par définition V ? 2 E.
  • Donc V ? 2 V et le ratio dapproximation
    est 2.

91
  • Peut-on obtenir un meilleur ratio?
  • Il existe un algorithme avec ratio
    dapproximation
  • 2- (log log V / log V).
  • NP-ardu à approximer avec un ratio plus petit que
    7/6.

92
  • Algorithme heuristique
  • Initialiser V ?.
  • Tant que V nest pas une VC
  • Choisir v ? V couvrant un maximum darêtes
    non-couvertes.
  • V V ? v.
  • Temps dexécution ? O(E2).

93
  • Quelle est le ratio dapproximation?
  • Considérons un graphe G (V,E) dont les sommets
    sont répartis en k niveaux L1, ..., Lk.
  • Niveau Li contient ?k/i? sommets.
  • Chaque point du niveau 1 est relié à un point de
    chaque autre niveau et ces arêtes sont réparties
    uniformément. (donc le sommet j de L1 est
    connecté au sommet ?j/i? 1 du ième niveau.)
  • Pour j ? 2, tous les sommets de Lj (sauf
    peut-être un) ont un degré j. Les sommets de L1
    ont un degré k-1.

94
  • La VC optimale contient les k sommets du niveau
    L1.
  • Notre heuristique choisit dabord le sommet du
    niveau Lk car son degré est k.
  • Ensuite, les arêtes incidentes à ce point sont
    effacées donc les sommets de L1 ont degré k-2.
    Donc tous les sommets de Lk-1 sont ensuite
    choisis.
  • La taille de la VC construite par notre
    algorithme ? ? k/i ? k log k.
  • Le ratio dapproximation est donc ?(log k)!

95
  • Algorithme exact A pour VC. Graphe G (V,E) en
    entrée, VC optimal en sortie.
  • Entrée choisir une arête (u,v).
  • Soit Gu est le graphe dont on a effacé u et ses
    arêtes incidentes. Récursivement calculer VC
    optimal Vu pour Gu et Vv pour Gv.
  • Si Vu ? Vv retourner Vu ? u, sinon
    retourner Vv ? v.

96
  • Temps dexécution?
  • Note Si k est la taille de la VC optimale on
    peut borner la profondeur de récurrence par 2k.
  • Temps total dexécution O(V ? 4k).
  • En raffinant ce type didée, on peut même obtenir
    des temps O(1.27k kV).

97
Complexité paramétrée
  • Un problème de décision paramétré a des instances
    de la forme ? I, k ?.
  • On dit que ce problème est FPT sil existe un
    algorithme de complexité de temps O(Ic ? f(k))
    pour une constante c.

98
Exemples
  • k-Clique, k-IS sont des problèmes FPT.
  • Par contre, k-DS, k-weight-SAT et plusieurs
    autres ne sont probablement pas dans FPT.

99
Heuristiques universels
  • Soit A un problème de MIN-NPO dont les solutions
    s sont décrites par des chaînes de n bits s
    (s1, ..., sm).
  • On veut décrire deux algorithmes qui peuvent
    sappliquer à nimporte quel problème de ce type.

100
Algorithme Metropolis
  • Lalgorithme est spécifié pour une constante T
    judicieusement choisie.
  • Choisir une solution s au hasard et calculer
    v(x,s).
  • Créer une nouvelle solution s en choisissant
    aléatoirement un bit si de s et en changeant sa
    valeur.
  • Si v(x,s) ? v(x,s), alors garder s et
    abandonner s.
  • Si v(x,s) gt v(x,s) alors garder s avec
    probabilité
  • 2-(v(x,s) v(x,s))/T et garder s sinon.
  • Répéter 2-4 jusquà lépuisement.

101
Algorithme de simulation dalliage
  • Lalgorithme est spécifié par une température de
    départ T et un facteur de refroidissement ?.
  • Le principe est exactement le même que celui de
    lalgorithme Metropolis mais à létape i, on
    remplace T par ?i ? T.

102
Algorithmes génétiques
  • Large classe dalgorithmes qui maintiennent une
    liste de solutions avec leur valeur et génèrent
    de nouveaux points

103
Pourquoi utiliser autre chose?
  • Aucune garantie sur la qualité des solutions
    fournies.
  • Souvent utilisé aveuglément. Dautres
    alternatives sont souvent plus complexes à
    implémenter mais on de nombreuses qualités.

104
Un algorithme pour 3-SAT
  • Pour une 3-SAT formule avec n variables, il
    existe un algorithme probabiliste dont le temps
    dexécution est p(n)? (4/3)n pour un certain
    polynôme p.

105
  • Répéter 30 ? (4/3)n fois.
  • Choisir une assignation ? pour les xi au hasard.
  • Si ? satisfait ?, retourner 1. Sinon, choisir
    aléatoirement une clause non-satisfaite et
    changer la valeur dun des trois litéraux.
  • Répéter létape (2) 3n fois.
  • Si aucun ? na été trouvé satisfiant ? retourner
    0.

106
  • Il est clair que cet algorithme a le temps
    dexécution promis.
  • Aussi, si ? ? SAT alors lalgorithme retourne 0.
  • Quelle est la probabilité que lalgorithme
    retourne 0 si ? ? SAT?
Write a Comment
User Comments (0)
About PowerShow.com