SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
Algorithmes d’approximation et
                  Algorithmes randomis´s
                                       e
                    Nicolas.Schabanel@ens-lyon.fr

                           5-6 mai 2003 – CIRM


Table des mati`res
              e

I    Algorithmes d’approximation                                             2

1 Pr´liminaires et d´finitions
     e               e                                                       2
  1.1 Algorithmes d’approximation vs algorithmes exacts . . . . . . .        2
  1.2 Vocabulaire et d´finitions . . . . . . . . . . . . . . . . . . . . .
                      e                                                      2

2 Un exemple : le probl`me du repr´sentant de commerce (TSP)
                        e            e                                       4
  2.1 Le TSP non-m´trique est non-approximable . . . . . . . . . . .
                    e                                                        5
  2.2 Un minorant pour le TSP m´trique . . . . . . . . . . . . . . . .
                                 e                                           5
  2.3 Une 2-approximation pour le TSP m´trique . . . . . . . . . . .
                                         e                                   6
  2.4 Exercice : Une 3/2-approximation pour le TSP m´trique . . . .
                                                      e                      7

3 2`me exercice : couverture par ensembles
   e                                                                         9


II   Algorithmes randomis´s
                         e                                                  11

4 D´finitions
   e                                                                        11

  ´
5 Evaluation d’un arbre de jeu Bool´en
                                   e                                        12

6 Le probl`me de la coupe maximum
          e                                                                 14
  6.1 Un algorithme randomis´ pour la coupe maximum . . . . . . .
                              e                                             14
  6.2 Un paradigme de d´randomisation . . . . . . . . . . . . . . . .
                         e                                                  15
  6.3 Un algorithme glouton pour la coupe maximum . . . . . . . . .         17
  6.4 Exercice : Algorithme randomis´ et d´randomis´ pour Max-SAT
                                    e     e        e                        18




                                      1
Premi`re partie
     e
Algorithmes d’approximation
1        Pr´liminaires et d´finitions
           e               e
1.1        Algorithmes d’approximation vs algorithmes exacts
   L’approche en algorithmique d’approximation diff`re assez largement de
                                                            e
celle de l’algorithmique exacte. Contrairement ` la r´solution d’un probl`me
                                                   a      e                     e
de la classe P , o` la solution est connue et o` il s’agit de l’obtenir le plus vite
                  u                            u
possible, l’approximation d’un probl`me d’optimisation N P -difficile (grosso
                                        e
modo, insoluble en temps polynomial, ` moins que P = N P , ce qui serait une
                                          a
petite r´volution) repose sur l’obtention d’informations sur une solution qu’on
        e
ne connait pas, et qu’on ne pourra jamais connaˆ (sauf par une irr´alisable
                                                    ıtre                   e
´num´ration exponentielle).
e     e
   L’id´e est, en g´n´ral, de r´soudre un autre probl`me que le probl`me ori-
        e           e e         e                        e                  e
ginal, puis de transformer la solution optimale du second probl`me en une
                                                                       e
solution du premier. Tout l’art de l’approximation est d’assurer qu’` chaque
                                                                           a
´tape, on ne s’´loigne pas trop de l’optimum original. Voici une illustration du
e               e
principe g´n´ral de l’approche :
           e e

                                                        Solution optimale inconnue
                                                OPT
                                                        Contrairement à l'algorithmique exacte,
                 mais on garantit qu'on n'est                       on ne sait pas où elle est...
        pas loin de la solution optimale  


    Solution approchée
                                                             Solution optimale connue
                                                      OPT'
                                                             d'un problème plus simple, dit relâché



    Le second probl`me est souvent qualifi´ de relˆch´, car il est souvent ob-
                     e                     e     a e
tenu en relˆchant des contraintes du probl`me original. Les sections suivantes
            a                              e
illustrent ces principes sur des exemples.

1.2        Vocabulaire et d´finitions
                           e
    Commen¸ons par quelques d´finitions.
          c                  e

D´finition 1 Nous cherchons ` r´soudre des probl`mes d’optimisation, i.e.,
  e                           a e               e
nous recherchons dans un ensemble fini A, muni d’une fonction de poids 1
sur ses ´l´ments, un ´l´ment a ∈ A de poids minimum, dans le cas d’un
        ee           ee
probl`me de minimisation, ou de poids maximum, dans le cas d’un probl`me
     e                                                               e
de maximisation. Voici quelques exemples :
   – Dans un graphe non-orient´ G = (V, E),2 muni d’une fonction de poids
                               e
    1
     ou de coˆt, les deux termes sont utilis´s indiff´remment.
              u                             e       e
    2
     Rappel : On appelle graphe G = (V, E) une relation binaire non-r´flexive E sur un
                                                                             e
ensemble fini de sommets V . Les relations (u, v) ∈ E sont appel´es les arˆtes du graphe.
                                                                     e         e
Lorsque la relation E est sym´trique, on dit que le graphe est non-orient´, et chaque arˆte
                               e                                             e               e
(u, v) est not´e simplement uv. Lorsque la relation E n’est pas sym´trique, on dit que le
               e                                                         e
graphe est orient´, et les arˆtes sont appel´es des arcs. Un graphe non-orient´ est habituel-
                   e         e               e                                   e
lement repr´sent´ par des traits reliant des points : les points sont les sommets et les traits,
            e     e
les relations. Lorsque le graphe est orient´, chaque arc (u, v) est repr´sent´ par une fl`che
                                            e                             e    e           e
partant de u et pointant vers v. On note habituellement n = |V | le nombre de sommets, et


                                                 2
sur ses arˆtes, rechercher l’arbre couvrant de poids minimum. Il s’agit ici
               e
     d’un probl`me de minimisation. A est l’ensemble des arbres couvrants de
                 e
     G et le poids d’un arbre est la somme des poids de ses arˆtes.
                                                               e
   – On se donne un graphe non-orient´ G = (V, E), muni d’une fonction de
                                          e
     poids sur les arˆtes. Une coupe de G est un ensemble C d’arˆtes tel qu’il
                      e                                          e
     existe une partition des sommets en deux ensembles S et V          S telle
     que C soit l’ensemble des arˆtes entre les deux composantes de cette
                                     e
     partition, i.e., C = {uv : u ∈ S et v ∈ V S}. On recherche une coupe
     de poids maximum. Il s’agit d’un probl`me de maximisation. Ici, A est
                                               e
     l’ensemble des coupes de G, et le poids d’une coupe est la somme des
     poids des arˆtes qui la composent.
                   e
   Le premier de ces deux exemples est « facile » : l’arbre couvrant de poids
minimum se trouve en temps O(m log n) (et mˆme O(m + n log n)) avec un
                                                   e
algorithme glouton. Ce probl`me est dit polynomial, car il se r´soud en un
                                e                                  e
temps polynomial en la taille de l’entr´e n + m. On note P la classe des
                                          e
probl`mes polynomiaux.
      e
   Le second exemple est « difficile » : le probl`me de la coupe maximum
                                                     e
est N P -difficile. La classe N P est l’ensemble des probl`mes dont on peut
                                                              e
v´rifier une solution en temps polynomial. Ici, on peut v´rifier en temps po-
 e                                                            e
lynomial qu’une coupe C a bien un poids sup´rieur ` une constante K. Bien
                                                 e        a
entendu, P ⊂ N P . Dans la classe N P , certains probl`mes sont consid´r´s
                                                            e               ee
comme « maximaux », ce sont les probl`mes N P -difficiles. Tous les autres
                                            e
probl`mes de la classe s’y r´duisent : si on sait r´soudre en temps polyno-
      e                       e                         e
mial un probl`me N P -difficile, alors tous les probl`mes de N P se r´solvent en
              e                                       e              e
temps polynomial grˆce ` cette r´duction. Le probl`me de la coupe maximum
                     a a          e                    e
                   `
est N P -difficile. A moins que P = N P , il est impossible de r´pondre ` la
                                                                   e        a
question “Existe-t-il une coupe de poids ≥ K dans G ?” en temps polynomial
pour tout K et G ; il est donc, en particulier, impossible de trouver une coupe
maximum. La conjecture P = N P est l’un des grands probl`mes ouverts en
                                                                e
informatique (sa r´solution a d’ailleurs ´t´ mise ` prix pour 1 000 000 $).
                   e                     ee         a
   Il est donc d´sesp´r´ de trouver un algorithme efficace pour r´soudre un
                 e    ee                                             e
probl`me d’optimisation N P -difficile. Or, la plupart le sont : en biologie, en
      e
r´seau, en ´lectronique,... une immense majorit´ de ces probl`mes sont N P -
 e         e                                       e             e
difficiles. Une solution est de rechercher des heuristiques admettant des ga-
ranties de performances. Un exemple de telle garantie est, pour un probl`me e
de minimisation, que la solution construite par l’heuristique ait toujours un
poids ≤ K · OPT pour une certaine constante K > 1. Nous sommes alors
sˆrs de ne jamais payer plus de K fois le poids optimal. Pour un probl`me de
 u                                                                       e
maximisation, une garantie ´quivalente est que l’heuristique produise toujours
                             e
une solution de poids ≥ K · OPT, pour une certaine constante K < 1.

D´finition 2 On appelle facteur d’approximation d’une heuristique polyno-
  e
miale A pour un probl`me de minimisation Π, la borne sup´rieure sur toutes
                        e                                    e
les instances I du probl`me Π, du quotient du poids A(I) de solution construite
                        e
par A sur l’instance I, par le poids OPT(I) de la solution optimale pour I :
                            sup{A(I)/ OPT(I) : I ∈ Π}.
Pour une heurisitique polynomiale, lorsque le facteur d’approximation est
born´, major´ par une constante K (K > 1), l’heuristique est appel´e al-
    e       e                                                       e
m = |E| le nombre d’arˆtes. Naturellement : m ≤ n(n − 1)/2 pour un graphe non-orient´.
                         e                                                             e
Le degr´ d(u) d’un sommet u d’un graphe non-orient´ G est le nombre d’arˆtes qui lui sont
        e                                         e                     e
incidentes : d(u) = |{e ∈ E : u ∈ e}|.


                                           3
gorithme d’approximation, ou plus pr´cis´ment K-approximation. Parfois, le
                                           e e
facteur d’approximation d´pend de la taille de l’instance du probl`me (v. sec-
                              e                                      e
tion 3), i.e., il existe une suite Kn telle que sup{A(I)/ OPT(I) : I ∈ Π et |I| =
n} ≤ Kn , on parle alors de Kn -approximation.
   Pour un probl`me de maximisation, le facteur d’approximation se d´finit
                      e                                                     e
sym´triquement par :
    e
                                 inf{A(I)/ OPT(I) : I ∈ Π}.
On parle de mˆme de K-approximation ou Kn -approximation, lorsque le fac-
              e
teur d’approximation est minor´ par K ou Kn (ici, K < 1 et Kn < 1).
                              e
   Pour une K-approximation, K quantifie la qualit´ de l’approximation : plus
                                                       e
K est proche de 1, meilleur est l’approximation. La constante K est souvent
le fruit d’une analyse des performances de l’algorithme. Pour d´terminer si
                                                                       e
cette analyse est bonne, c’est-`-dire pr´cise, il est utile d’obtenir des instances
                               a        e
critiques.

D´finition 3 Une instance critique d’une K-approximation A pour un pro-
  e
bl`me d’optimisation Π, est une instance I telle que A(I)/ OPT(I) ≈ K. Une
  e
famille F d’instances critiques est un ensemble infini d’instances tel que :
    – sup{A(I)/ OPT(I) : I ∈ F} = K, si Π est un probl`me de minimisation,
                                                        e
    – inf{A(I)/ OPT(I) : I ∈ F } = K, si Π est un probl`me de maximisation.
                                                        e
   La recherche d’instances critiques est une activit´ cruciale pour bien com-
                                                     e
prendre les faiblesses d’un algorithme ou de son analyse, et entreprendre leurs
am´liorations.
   e

Exercice 1.1 D´finissez “instance critique” et “famille d’instances critiques”
                e
pour une Kn -approximation :




                                                                                 ♦
    `
    A l’instar des classes P et N P en algorithmique exacte, il existe diff´rentes
                                                                           e
classes pour les probl`mes d’optimisation, quantifiant leurs capacit´s ` ˆtre
                        e                                                e a e
« approxim´s » par des algorithmes polynomiaux. De mˆme, il existe dans
              e                                               e
chacune de ces classes des probl`mes « maximaux », tels que si on sait les
                                   e
approcher ` un certain facteur, alors il en est de mˆme pour tous les probl`mes
            a                                       e                        e
de la classe. Les d´finitions et ´tudes de ces classes ne font pas l’objet de cette
                    e           e
le¸on.
  c


2        Un exemple : le probl`me du repr´sentant de com-
                              e          e
         merce (TSP)
      e              e                                 ´
Probl`me 1 (Repr´sentant de commerce (TSP)) Etant donn´ un gra-  e
phe complet G muni d’une fonction de poids positive sur les arˆtes, trouver
                                                              e
un cycle de poids minimum passant par chaque sommet exactement une fois.
Un tel cycle est appel´ tour du repr´sentant de commerce.3
                      e             e
    3
        Traveling salesman problem, en anglais.


                                                  4
Voici un ensemble de points du plan et son tour optimal. Sur cet exemple,
le poids de chaque arˆte est sa longueur dans le plan Euclidien.
                     e




2.1    Le TSP non-m´trique est non-approximable
                   e
  Dans toute sa g´n´ralit´, on ne peut garantir aucune approximation pour
                 e e     e
TSP, ` moins que P = N P .
     a

Th´or`me 1 Quelque soit α(n), calculable en temps polynomial, il n’existe
   e e
pas de α(n)-approximation pour TSP, ` moins que P = N P .
                                    a

Preuve. L’id´e est de r´duire polynomialement, le probl`me N P -difficile de
                e          e                              e
l’existence d’un cycle Hamiltonien,4 ` celui de la recherche d’un cycle court
                                       a
ou long. Prenons G = (V, E) une instance du cycle Hamiltonien. Construisons
le graphe complet G = (V, E ) sur le mˆme ensemble de sommets V , et o` le
                                         e                               u
poids de l’arˆte e est 1 si e ∈ E, et α(n) · n sinon.
             e
    Supposons par l’absurde qu’il existe une α(n)-approximation pour le TSP.




2.2    Un minorant pour le TSP m´trique
                                e
Probl`me 2 (Repr´sentant de commerce m´trique (TSP m´trique))
        e                e                           e                 e
Il s’agit de la restriction du probl`me du repr´sentant de commerce aux graphes
                                    e          e
munis d’une fonction de poids m´trique sur les arˆtes, i.e., telle que pour tout
                                     e               e
u, v, w ∈ V , poids(uw) ≤ poids(uv) + poids(vw).

Lemme 2 Si G est m´trique, le poids minimum d’un arbre couvrant de G est
                     e
un minorant du poids optimal d’un tour du repr´sentant de commerce de G.
                                              e

Preuve.




   4
    Un cycle Hamiltonien d’un graphe G est un cycle qui passe par tous les sommets du
graphe, une fois et une seule. D´terminer si un graphe non-orient´ admet un cycle Hamilto-
                                e                                e
nien est un probl`me N P -difficile.
                  e


                                            5
2.3     Une 2-approximation pour le TSP m´trique
                                         e
D´finition 4 Un graphe Eul´rien est un graphe, o` tous les sommets sont de
  e                            e                      u
degr´ pair. Ces graphes sont exactement ceux qui admettent un cycle qui passe
     e
par toutes les arˆtes, une fois et une seule. De plus, nous savons construire un
                  e
tel cycle tr`s facilement, par un simple parcours des arˆtes en temps lin´aire.
            e                                             e               e

   L’algorithme suivant pour le TSP m´trique, repose sur la transformation
                                     e
d’un arbre couvrant de poids minimum de G en un graphe Eul´rien.
                                                             e


 Algorithme 1 (TSP m´trique – 2-approximation)
                    e
      1. Calculer un arbre couvrant de poids minimum T de G.
      2. Dupliquer toutes les arˆtes de T pour obtenir un graphe Eul´rien.
                                e                                   e
      3. Calculer un cycle Eul´rien T de ce graphe.
                              e
      4. Retourner le cycle C qui passe par tous les sommets de G dans l’ordre
         de leur premi`re occurence dans T .
                      e


  Voici un exemple d’ex´cution de cet algorithme sur notre ensemble de points
                         e
dans le plan Euclidien. Sont illustr´s l’arbre de poids minimum, le graphe
                                    e
Eul´rien, et le tour obtenu en partant du sommet dessin´ en blanc.
   e                                                    e




Th´or`me 3 L’algorithme 1 est une 2-approximation pour le probl`me du
   e e                                                         e
repr´sentant de commerce m´trique (TSP m´trique).
    e                     e             e


Preuve.




Exercice 2.1 Prouvez que la famille de graphes complets, illustr´e pour n = 6
                                                                   e
ci-dessous, est une famille d’instances critiques pour cet algorithme. Les arˆtes
                                                                             e
en gras coˆtent 1, les autres coˆtent 2. Sont repr´sent´s, le graphe, un tour
           u                      u                  e     e

                                         6
optimal, et un arbre couvrant de poids minimum avec un tour obtenu ` partir
                                                                   a
de cet arbre couvrant :




                                                                              ♦

2.4   Exercice : Une 3/2-approximation pour le TSP m´trique
                                                    e
   L’id´e de cet algorithme est de n’ajouter que le minimum d’arˆtes (au
       e                                                             e
sens du poids) n´cessaires pour obtenir un graphe Eul´rien ` partir de l’arbre
                e                                    e     a
couvrant de poids minimum.

Lemme 4 Tout graphe G admet un nombre pair de sommets de degr´ impair.
                                                             e

Preuve.




D´finition 5 Un couplage d’un graphe G = (V, E) est un ensemble d’arˆtes
   e                                                                        e
M ⊂ E tel que pour toutes arˆtes e, e ∈ M , e = e ⇒ e ∩ e = ∅. Un couplage
                               e
M est dit parfait, s’il couvre tous les sommets de G, i.e., si pour tout x ∈ V ,
il existe e ∈ M , telle que x ∈ e. Il existe des algorithmes polynomiaux tr`s e
simples pour calculer un couplage parfait de poids minimum dans un graphe
ayant un nombre pair de sommets.

  L’am´lioration de notre algorithme pour le TSP repose sur un nouveau
       e
minorant du poids d’un tour optimal.

Lemme 5 Soit M un couplage d’un sous-graphe induit par des sommets de
G, alors le poids de M est inf´rieur ` la moiti´ du poids du tour optimal.
                              e      a         e

Preuve.




                                       7
Voici l’algorithme :

 Algorithme 2 (TSP m´trique – 3/2-approximation)
                    e
    1. Calculer un arbre couvrant de poids minimum T de G.
    2. Calculer un couplage parfait de coˆt minimal M du sous-graphe induit
                                         u
       par les sommets de degr´ impair de T . Ajouter M ` T pour obtenir un
                              e                         a
       graphe Eul´rien.
                  e
    3. Calculer un cycle Eul´rien T de ce graphe.
                            e
    4. Retourner le cycle C qui passe par les sommets de G dans l’ordre de
       leur premi`re occurrence dans T .
                 e


   Les figures ci-dessous illustrent le d´roulement de cet algorithme sur notre
                                        e
ensemble de points du plan Eul´rien. Sont illustr´s, l’arbre couvrant de poids
                                 e               e
minimum, l’arbre compl´t´ par un couplage de poids minimum, et le tour
                         ee
obtenu en partant du sommet dessin´ en blanc.
                                      e




Th´or`me 6 (Christofides, 1976) L’algorithme 2 est une 3/2-approximation
   e e
pour le probl`me du repr´sentant de commerce.
             e          e

Preuve.




Exercice 2.2 D´montrez que le graphe suivant d´finit une famille d’instance
                 e                                e
critique pour cet algorithme. Il a n sommets, avec n impair :

                                  1             ...             1
                      1       1       1                     1       1       1
                          1               1     ...     1               1

                                              (n+1)/2



  L’arbre couvrant trouv´ ` la premi`re ´tape est dessin´ en gras.
                        ea          e e                 e




                                                                                ♦

                                                8
3        2`me exercice : couverture par ensembles
          e
       e                                      ´
Probl`me 3 (Couverture par ensembles) Etant donn´s un univers U de
                                                         e
n ´l´ments, une collection de sous-ensembles de U , S = {S1 , . . . , Sk }, et une
  ee
fonction de coˆt c : S → Q+ , on appelle couverture par ensembles 5 de U ,
              u
tout sous-ensemble C de S qui couvre tous les ´l´ments de U , i.e., tel que
                                                ee
  S∈C S = U . Le probl`me est de trouver une couverture par ensembles de
                        e
coˆt minimum.
  u

    Voici un algorithme glouton : choisir l’ensemble de coˆt efficace mini-
                                                             u
mum, ´liminer les ´l´ments couverts et it´rer jusqu’` ce que tous les ´l´ments
       e           ee                     e         a                 ee
soient couverts. Soit C l’ensemble des ´l´ments d´j` couverts au d´but d’une
                                       ee         ea                e
it´ration. Le coˆt efficace d’un ensemble S, durant cette it´ration, est le coˆt
  e             u                                          e                 u
moyen auquel il couvre de nouveaux ´l´ments, i.e., c(S)/|S − C|. Le prix
                                        ee
d’un ´l´ment est le coˆt efficace moyen auquel il peut ˆtre couvert. De fa¸on
      ee               u                                e                  c
´quivalente, on peut imaginer que, quand un ensemble S est choisi, son coˆt
e                                                                            u
est r´parti uniform´ment parmi les nouveaux ´l´ments couverts.
     e              e                         ee


 Algorithme 3 (Couverture par ensembles)
        1. C ← ∅.
        2. Tant que C = U faire
              Soit S, l’ensemble de coˆt efficace minimum de l’it´ration courante.
                                      u                        e
                           coˆt(S)
                              u
              Poser α =     |S−C| ,   le coˆt efficace de S.
                                           u
              S´lectionner S et, pour chaque u ∈ S − C, poser prix(u) = α.
               e
              C ← C ∪ S.
        3. Retourner les ensembles s´lectionn´s.
                                    e        e


   L’analyse de cet algorithme n’utilise pas de minoration explicite du coˆt     u
optimal, mais le coˆt optimal directement.
                    u
   Num´rotons u1 , . . . , un , les ´l´ments de U dans l’ordre dans lequel ils sont
        e                           ee
couverts par l’algorithme (les ex æquo sont class´s arbitrairement).
                                                    e

Lemme 7 Pour tout k ∈ {1, . . . , n}, prix(uk ) ≤ OPT/(n − k + 1).

Preuve. Remarquons qu’` la k-`me it´ration, les ensembles non-s´lectionn´s
                            a     e    e                       e        e
de la solution optimale couvrent les ´l´ments restants pour un coˆt total
                                       ee                         u
inf´rieur ` OPT. Or il reste |C| ´l´ments ` couvrir,
   e      a                      ee       a




    5
        Set cover, en anglais.


                                                 9
Th´or`me 8 L’algorithme glouton 3 est une Hn -approximation pour le probl`me
   e e                                                                   e
                                                      1           1
de la couverture par ensembles minimum, avec Hn = 1 + 2 + · · · + n .

Preuve.




Exercice 3.1 D´montrez que l’instance suivante d´finit une famille d’ins-
                 e                                  e
tances critiques pour l’algorithme 3 (les poids sont indiqu´s ` cˆt´ des en-
                                                           e a oe
sembles) :



                                       ...
                                                             1+ε


               1/n   1/(n-1) 1/(n-2)            1/2     1




                                                                            ♦

   De fa¸on surprenante, on peut d´montrer que l’algorithme naturel ci-dessus
         c                          e
est essentiellement ce qu’on peut esp´rer de mieux pour le probl`me de la cou-
                                      e                         e
verture par ensembles, car obtenir une « meilleure » approximation conduirait
a
` une « catastrophe » similaire ` P = N P .
                                 a




                                       10
Deuxi`me partie
      e
 Algorithmes randomis´s
                     e
 4     D´finitions
        e
     Un algorithme d´terministe base ses d´cisions sur le r´sultat de tests, essen-
                    e                     e                e
 tiellement des comparaisons d’entiers ou de rationnels. Un algorithme rando-
 mis´ prend certaines d´cisions « au hasard ». On peut formaliser un algorithme
     e                 e
 randomis´ ainsi.
           e


 D´finition 6 Un algorithme randomis´ est un algorithme (d´terministe !) qui
    e                                    e                     e
 prend deux entr´es : la suite de bits de l’instance du probl`me ` r´soudre ;
                  e                                            e  a e
 et une suite de bits al´atoires, tir´s uniform´ment et ind´pendamment dans
                        e            e          e          e
 {0, 1}. La suite de bits al´atoires est diff´rentes pour chaque ex´cution de
                            e                 e                    e
 l’algorithme. Notez que l’algorithme randomis´ s’ex´cutera de la mˆme fa¸on
                                                  e  e              e     c
 si on lui soumet la mˆme suite de bits al´atoires pour la mˆme instance.
                      e                     e                e

                                                  Instance du
                                                   problème
Instance du    Un algorithme                                     Un algorithme
                                 Résultat                                        Résultat
 problème      déterministe                                       randomisé
                                                 Suite de bits
                                                  aléatoires


    Les performances d’un algorithme randomis´ se mesurent selon diff´rents
                                                      e                        e
 param`tres :
        e
    – Performance en temps : L’esp´rance du temps de calcul sur une ins-
                                             e
      tance donn´e, o` la moyenne est prise sur la suite de bits al´atoires. Quel
                  e     u                                             e
      est le temps moyen d’ex´cution de l’algorithme en fonction de la taille de
                                 e
      l’instance du probl`me ?
                           e
    – Performance en recours ` l’al´atoire : L’esp´rance du nombres de
                                       a      e               e
      bits al´atoires utilis´s, o` la moyenne est prise sur la suite de bits al´atoi-
             e              e u                                                e
      res. Quel est le nombre de bits al´atoires requis par l’algorithme en fonc-
                                            e
      tion de la taille de l’instance du probl`me ? Les bits al´atoires doivent-ils
                                                 e                e
      ˆtre totalement ind´pendants, ou seulement 2-`-2 ind´pendants, k-`-k
      e                      e                              a       e            a
      ind´pendants,... ?
          e
    – Qualit´ de la solution : Pour un probl`me d’optimisation, l’esp´rance
               e                                    e                         e
      du poids de la solution produite pour une instance donn´e, o` la moyenne
                                                                    e u
      est prise sur la suite de bits al´atoires. Quelle est la valeur du quotient
                                          e
      de l’esp´rance du poids de la solution construite sur le poids optimal, en
               e
      fonction de la taille de l’instance du probl`me ?
                                                      e
    Les algorithmes randomis´s sont plus puissants que les algorithmes d´-
                                 e                                                 e
 terministes, car tout algorithme d´terministe est un algorithme randomis´,
                                        e                                          e
 qui choisit d’ignorer la suite de bits al´atoires. On peut donc en esp´rer de
                                              e                              e
 meilleures performances. Les algorithmes randomis´s sont souvent bien plus
                                                          e
 simples ` ´crire et ` analyser que leurs ´quivalents d´terministes.
          ae          a                       e            e
    La section 5 pr´sente un probl`me qu’un algorithme randomis´ r´sout beau-
                    e                e                                e e
 coup vite que n’importe quel algorithme d´terministe. La section 6 pr´sente
                                                  e                            e
 une 1/2-approximation randomis´e pour le probl`me de la coupe maximum.
                                      e                 e
 Cette section aborde ´galement un point important : la d´randomisation, i.e.
                         e                                      e
 une m´thode pour ´liminer le recours ` l’al´atoire dans un algorithme rando-
        e             e                     a     e
 mis´, et obtenir une 1/2-approximation d´terministe et non randomis´e.
    e                                           e                           e

                                            11
5     ´
      Evaluation d’un arbre de jeu Bool´en
                                       e
D´finition 7 On appelle arbre de jeu Bool´en Tk , l’arbre binaire complet
  e                                           e
de profondeur 2k, dont les nœuds internes ` distance paire de la racine sont
                                            a
´tiquet´s “ET”, et les noeuds internes ` distance impaire, “OU”.
e      e                               a

Probl`me 4 (Arbre de jeu Bool´en) Une instance du probl`me est un
       e                               e                              e
arbre de jeu Tk muni de valeurs Bool´ennes sur ses n = 2
                                          e                      2k = 4k feuilles.

Le but est d’´valuer Tk , c’est-`-dire de calculer la valeur de la racine, sachant
              e                 a
que la valeur d’un nœud est la conjonction ou la disjonction (suivant l’´tiquette
                                                                         e
du nœud) des valeurs de ses enfants.

    Voici une instance du probl`me pour k = 2 :
                               e



                                                        ET




                                  OU                                          OU




                       ET                    ET                    ET                    ET




                 OU         OU         OU         OU         OU         OU         OU         OU


                 0 1        1 0        0 0        1 0        1 1        0 0        1 0        0 1


             ´
Exercice 5.1 Evaluez l’arbre ci-dessus.

   Imaginons qu’obtenir la valeur d’une feuille soit une op´ration tr`s coˆteuse.
                                                           e         e    u
Nous mesurerons donc les performances de chaque algorithme par le nombre
de feuilles visit´es sur la pire instance.
                 e

Th´or`me 9 Pour tout algorithme d´terministe ´valuant les arbres de jeu
    e e                                 e             e
Bool´ens Tk , il existe une instance de Tk telle que l’algorithme inspecte toutes
     e
les n = 4k feuilles.

Exercice 5.2 Prouvez ce th´or`me.
                          e e




                                                                                                    ♦

   Nous allons d´montrer qu’il existe un algorithme randomis´ ´l´mentaire, qui
                 e                                              eee
visite beaucoup moins de feuilles quelque soit l’instance, i.e., ind´pendamment
                                                                    e
de l’instance. Il ne s’agit pas d’analyse en moyenne sur les instances, mais

                                                        12
d’une analyse en moyenne pour une instance donn´e ; la moyenne est prise
                                                        e
sur la suite de bits al´atoires donn´e en entr´e.
                       e             e          e
    L’algorithme ´value l’arbre r´cursivement, mais choisit au hasard quel sous-
                   e             e
arbre fils, il va ´valuer en premier : si le premier sous-arbre s’´value ` 1 et que
                 e                                                e      a
l’´tiquette du nœud est “OU”, alors il renvoie 1, sans ´valuer le second ; si le
  e                                                        e
premier sous-arbre s’´value ` 0 et que l’´tiquette est “ET”, alors il renvoie 0,
                       e      a             e
sans ´valuer le second ; dans tous les autres cas, il ´value le second et en revoie
      e                                               e
la valeur.

 Algorithme 4 (Arbre de jeu Bool´en)     e
                  ´
   1. Proc´dure Evalue nœud(x) :
           e
      Si x est une feuille, alors Retourner la valeur de x,
      sinon :
        Tirer uniform´ment r ∈ {0, 1}.
                     e
        Si r = 1,
                      ´
            alors v ← Evalue nœud(fils gauche de x),
                      ´
            sinon v ← Evalue nœud(fils droit de x).
        Si (´tiquette(x)=“OU” et v = 1) ou (´tiquette(x)=“ET” et v = 0),
            e                                e
            alors Retourner v,
            sinon si r = 1,
                               ´
               alors Retourner Evalue nœud(fils droit de x),
                               ´
               sinon Retourner Evalue nœud(fils gauche de x).
       ´
    2. Evalue nœud(racine).



Th´or`me 10 Pour toute instance de Tk , l’esp´rance du nombre de feuilles
   e e                                           e
inspect´es par l’algorithme randomis´ 4 est major´e par 3k = nlog3 2 = n≈0.793 .
       e                            e            e

Preuve. Notons Yk l’esp´rance du nombre de feuilles visit´es pour un arbre
                          e                              e
Tk . Proc´dons par r´currence sur k.
         e          e




   Notre algorithme visite donc en moyenne nlog3 2 = n≈0.793 feuilles, au lieu de
n pour n’importe quel algorithme d´terministe. On peut d´montrer qu’aucun
                                    e                      e
algorithme randomis´ ne peut faire mieux. La preuve utilise une adaptation du
                    e
th´or`me min-max de Von Neumann : Yao remarqua que le th´or`me de Von
  e e                                                           e e

                                        13
Neumann peut ˆtre adapt´ au cadre des algorithmes randomis´s, et dit alors
                 e          e                                     e
que “l’esp´rance du temps de calcul sur la pire instance du meilleur algorithme
           e
randomis´ est ´gale au temps de calcul du meilleur algorithme d´terministe
          e    e                                                      e
pour la pire des distributions d’instances”. Ainsi en choisissant judicieusement
une distribution pour les valeurs des feuilles des arbres Tk et en d´terminant
                                                                      e
les performances du meilleur algorithme d´terministe pour cette distribution,
                                            e
nous obtenons le th´or`me suivant :
                     e e

Th´or`me 11 Pour tout algorithme randomis´, il existe une instance Tk pour
   e e                                          e
laquelle l’esp´rance du nombre de feuilles visit´es est Ω(3k ).
              e                                 e


6        Le probl`me de la coupe maximum
                 e
   Soit G = (V, E) un graphe non-orient´, muni d’une fonction de poids sur
                                       e
ses arˆtes.
      e

D´finition 8 Une coupe de G est un ensemble d’arˆtes C ⊂ E, tel qu’il
  e                                                  e
existe une partition des sommets en deux ensembles S et V       S, telle que
C soit l’ensemble des arˆtes entre les deux composantes de la partition, i.e.,
                         e
C = {uv ∈ E : u ∈ S et v ∈ V S}. Le poids d’une coupe est la somme des
poids des arˆtes qui la composent.
            e

       e                                         ´
Probl`me 5 (Coupe maximum (Max-Cut)) Etant donn´ un graphe non-
                                                          e
orient´ G avec des poids sur les arˆtes, trouver une coupe de G de poids
      e                            e
maximum.6
   Ce probl`me est N P -difficile. Nous recherchons donc des algorithmes d’ap-
           e
proximation.

6.1        Un algorithme randomis´ pour la coupe maximum
                                 e
   Commen¸ons par d´finir la notion de K-approximation randomis´e. Il existe
            c         e                                        e
essentiellement deux types d’algorithmes d’approximation randomis´s.
                                                                 e

D´finition 9 Un algorithme A est dit Las Vegas si son temps d’ex´cution
   e                                                                    e
d´pend de la suite de bits al´atoires, mais pas son r´sultat. Un algorithme A
  e                          e                       e
est dit Monte-Carlo si son r´sultat d´pend de la suite de bits al´atoires, mais
                            e         e                          e
pas son temps de calcul. On dira qu’un algorithme randomis´ est polynomial
                                                              e
si l’esp´rance de son temps de calcul est polynomial en la taille de l’instance
        e
(cette d´finition s’applique aux deux types d’algorithmes).
         e

D´finition 10 Soit A un algorithme randomis´ polynomial pour un probl`me
  e                                              e                          e
de minimisation Π. On appelle facteur d’approximation randomis´ de A, la
                                                                      e
borne sup´rieure sur toutes les instances I, du quotient de l’esp´rance du poids
          e                                                      e
E[A(I)] de la solution construite par A pour I sur le poids optimal OPT(I)
d’une solution pour I : sup{E[A(I)]/ OPT(I) : I ∈ Π}. Si ce facteur est major´ e
par une constante K, on dit que A est une K-approximation randomis´e. Si la
                                                                         e
majoration Kn du facteur d’approximation d´pend de la taille n de l’instance
                                               e
consid´r´e, on dit que A est une Kn -approximation randomis´e.
      ee                                                        e

Exercice 6.1 D´finissez les notions de K-approximation randomis´e et Kn -
                e                                             e
approximation randomis´e pour un probl`me de maximisation Π :
                      e               e
    6
        Maximum cut, en anglais.


                                      14
♦

   Voici un algorithme randomis´ ´l´mentaire pour la coupe maximum.
                               eee


 Algorithme 5 (Coupe max – 1/2-approximation randomis´e)
                                                     e
      1. S ← ∅ et S ← ∅.
      2. Pour chaque sommet u ∈ V , placer ` pile-ou-face u dans S ou dans S .
                                           a
      3. Retourner la coupe C d´finie par la partition (S, S ).
                               e




Th´or`me 12 L’algorithme 5 est une 1/2-approximation randomis´e pour le
   e e                                                       e
probl`me de la coupe maximum.
     e

Preuve.




Exercice 6.2 Quel majorant de OPT avons-nous utilis´ dans cette analyse ?
                                                   e

                                                                             ♦

Exercice 6.3 On appelle graphe biparti tout graphe G = (X ∪ Y, E) non-
orient´, tel que X ∩ Y = ∅ et tel que pour tout e ∈ E, e = xy avec x ∈ X et
      e
y ∈ Y . Montrez que l’ensemble des graphes bipartis est une famille d’instances
critiques pour cet algorithme.



                                                                             ♦

6.2     Un paradigme de d´randomisation
                         e
   Il existe des liens entre certains algorithmes randomis´s et certains algo-
                                                          e
rithmes d´terministes. Ces liens peuvent s’´tablir en montrant que l’un est
           e                                  e
une version randomis´e ou d´randomis´e de l’autre.
                       e      e          e
   Commen¸ons par quelques rappels sur les probabilit´s.
             c                                         e

D´finition 11 La probabilit´ d’un ´v´nement B conditionn´e par l’´v´nement
 e                        e      e e                   e        e e
A est d´finie par :
       e
                                     Pr{A ∩ B}
                       Pr{B|A} =
                                       Pr{A}

                                        15
L’esp´rance d’une variable al´atoire discr`te X conditionn´e par l’´v´nement
     e                       e            e               e        e e
A est d´finie par :
       e
                       E[X|A] =       x Pr{X = x|A}
                                           x

Propri´t´ 13 Soient X et Y deux variables al´atoires discr`tes :
      e e                                   e             e

            E[X] =        Pr{Y = y}E[X|Y = y] ≤ max E[X|Y = y]
                                                                 y
                      y

    Pla¸ons-nous dans la perspective d’un probl`me de maximisation. Une
       c                                              e
technique classique de d´randomisation est la m´thode de l’esp´rance condi-
                                 e                    e                e
tionnelle. Il s’agit de remplacer chaque d´cision al´atoire par « le meilleur
                                                  e       e
choix al´atoire ». Repr´sentons l’ex´cution d’un algorithme randomis´ par
          e                     e               e                             e
un arbre de d´cision dont les nœuds sont les tirages al´atoires et les fils
                     e                                             e
sont les diff´rentes ex´cutions possibles suivant le r´sultat du tirage al´atoire.
               e             e                          e                   e
´
Etiquetons chaque nœud par l’esp´rance de la valeur du r´sultat, conditionn´e
                                           e                     e              e
par les r´sultats des tirages al´atoires pr´c´dents. Pour chaque nœud x de
           e                            e         e e
l’arbre, l’esp´rance conditionnelle en x est la moyenne des esp´rances condi-
                 e                                                    e
tionnelles de ses fils. Ainsi, le fils ayant la plus grande esp´rance conditionnelle
                                                                 e
a une esp´rance sup´rieure ` celle de son p`re. C’est donc, dans la perspective
            e              e        a             e
d’un probl`me de maximisation, le « meilleur choix al´atoire » !
              e                                              e
    Ainsi, lorsqu’il est possible de calculer, en temps polynomial, l’esp´rance de
                                                                          e
la valeur du r´sultat, conditionn´e par les d´cisions pr´cedentes, on peut trans-
                  e                     e         e        e
former un algorithme randomis´ en un algorithme glouton qui remplace chaque
                                       e
tirage al´atoire par le choix maximisant l’esp´rance conditionnelle de la valeur
          e                                         e
du r´sultat. Par r´currence imm´diate, la valeur du r´sultat de l’algorithme
     e                   e                e                  e
glouton sera sup´rieure ` l’esp´rance de la valeur du r´sultat de l’algorithme
                       e        a     e                       e
randomis´.  e
    La figure suivante illustre la m´thode : en chaque sommet, l’algorithme
                                             e
randomis´ va ` droite ou ` gauche ` pile-ou-face ; l’esp´rance conditionnelle
            e       a              a           a                e
des nœuds est inscrite au centre de chaque nœud ; la valeur des feuilles est
celle du r´sultat de l’ex´cution de cette branche. La branche dessin´e en gras
            e                  e                                         e
est celle suivie par l’algorithme glouton maximisant l’esp´rance conditionnelle,
                                                                e
elle conduit ` une solution valant 20$, qui n’est pas la solution optimale (40$)
                a
mais qui est sup´rieure ` l’esp´rance de l’algorithme randomis´ (14$).
                       e       a      e                              e



                                               14$



                               13$                         15$



                          4$         22$             10$         20$




                               4$              40$




Plusieurs remarques. Cette m´thode ne permet pas de trouver la solution
                                   e
optimale : sur l’exemple ci-dessus, l’algorithme glouton trouve une solution
valant 20$, alors que l’optimum est 40$. Ensuite, nous obtenons un algorithme

                                               16
glouton polynomial, seulement si l’esp´rance conditionnelle se calcule en temps
                                      e
polynomial.


Exercice 6.4 Reprendre la m´thode de l’esp´rance conditionnelle dans le
                             e            e
cadre d’un probl`me de minimisation.
                e




                                                                                 ♦

   Plutˆt que de th´oriser plus longuement, mettons cette m´thode en pratique
       o           e                                       e
sur notre algorithme randomis´ pour la coupe maximum.
                                e

6.3     Un algorithme glouton pour la coupe maximum
   Pour u ∈ V et A ⊂ V , notons E(u, A) l’ensemble des arˆtes entre u et A :
                                                         e
E(u, A) = {e ∈ E : e = uv et v ∈ A}.
   Commen¸ons par ´valuer l’esp´rance du poids de la coupe finale condi-
            c          e           e
tionn´es par les d´cisions pr´c´dentes.
     e            e          e e

          ´
Lemme 14 Etant donn´s S, S ⊂ V dans l’algorithme randomis´ 5, pour tout
                   e                                     e
u ∈ V (S ∪ S ),

 E[poids de la coupe|u ∈ S, S, S ]
      = E[poids de la coupe|u ∈ S , S, S ] + poids(E(u, S )) − poids(E(u, S)).

Preuve.




   Nous en concluons que l’algorithme glouton naturel suivant est la version
d´randomis´e de l’algorithme randomis´ 5 ! Ces deux algorithmes sont donc
 e        e                             e
“les mˆmes”, ce qui n’´tait pas ´vident au premier regard.
      e               e         e


 Algorithme 6 (Coupe maximum – 1/2-approximation gloutonne)
      1. S ← ∅ et S ← ∅.
      2. Pour chaque sommet u ∈ V , placer u dans la composante, S ou S , qui
         maximise le poids de la coupe courante entre S et S .
      3. Retourner la coupe C d´finie par la partition (S, S ).
                               e



   Par la m´thode de l’esp´rance conditionnelle, la propri´t´ suivante est un
            e              e                              ee
un corolaire direct du th´or`me 12.
                         e e

Corollaire 15 L’algorithme glouton 6 est une 1/2-approximation.

                                        17
Exercice 6.5 Proposez une preuve directe du facteur d’approximation de l’al-
gorithme glouton 6.




                                                                                ♦

  On pourrait penser que l’algorithme glouton d´randomis´ est bien meilleur
                                                 e        e
que l’algorithme randomis´. L’exercice suivant d´montre qu’il n’en est rien.
                         e                      e

Exercice 6.6 Montrez que le graphe suivant d´finit une famille d’instances
                                                e
critiques pour l’algorithme glouton 6, pour peu qu’il commence par les deux
sommets blancs.




                                        ...




                                                                                ♦

Exercice 6.7 Pouvez-vous encore poursuivre la d´terminisation de l’algo-
                                                     e
rithme 6 ? Quel serait l’algorithme obtenu ? Analysez-le et exhibez une famille
d’instances critiques.




                                                                                ♦


6.4   Exercice : Algorithme randomis´ et d´randomis´ pour Max-
                                    e     e        e
      SAT
   e              ´
D´finition 12 Etant donn´es n variables Bool´ennes x1 , . . . , xn , on appelle
                             e                      e
litt´ral, une variable xi ou sa n´gation xi . Une clause est une disjonction de
    e                             e
litt´raux : par exemple, x1 ∨ x2 ∨ x3 . La taille d’une clause est son nombre de
    e
litt´raux. On ´limine les clauses triviales (e.g., x1 ∨ x2 ∨ x1 ) et les litt´raux
    e           e                                                            e
redondants (e.g., x1 ∨ x3 ∨ x1 ).

                                       18
e                                                  ´
Probl`me 6 (Satisfaction maximum (Max-SAT)) Etant donn´ un en-          e
semble de m clauses pond´r´es sur n variables Bool´ennes x1 , . . . , xn , trouver
                          ee                        e
une instanciation des xi qui maximise le poids total des clauses satisfaites.7

   On propose l’algorithme randomis´ na¨ suivant :
                                   e ıf


 Algorithme 7 (Max-SAT – 1/2-approximation randomis´e)
                                                   e
      1. Pour chaque variable xi , tirez la valeur de xi uniform´ment dans {0, 1}.
                                                                e
      2. Retourner l’instanciation calcul´e.
                                         e



              `
Lemme 16 A la fin de l’algorithme 7, pour toute clause c, si taille(c) = k,
alors Pr{c est satisfaite} = 1 − 2−k .

Exercice 6.8 Prouvez ce lemme.




                                                                                 ♦

Th´or`me 17 L’algorithme 7 est une 1/2-approximation randomis´e pour le
   e e                                                       e
probl`me de la satisfaction maximum.
     e

Exercice 6.9 Prouvez ce th´or`me.
                          e e




                                                                                 ♦

Propri´t´ 18 Si toutes les clauses sont de tailles sup´rieures ` k, alors l’al-
       e e                                            e        a
gorithme 7 est une (1 − 2−k )-approximation randomis´e.
                                                      e

Exercice 6.10 Prouvez cette propri´t´.
                                  ee




                                                                                 ♦

Exercice 6.11 Proposez un algorithme pour calculer, en temps polynomial,
l’esp´rance du poids de l’instanciation conditionn´e par les variables d´j` in-
     e                                            e                     ea
tanci´es. En d´duire un algorithme glouton obtenu par d´randomisation de
      e        e                                            e
l’algorithme 7. Exhibez des familles d’instances critiques pour chacun de ces
algorithmes.




  7
      Maximum satisfaction, en anglais.


                                          19
♦


                                                  R´f´rences
                                                   ee
                                                  [1] T. Cormen, C. Leiserson, et C. Stein. Introduction to algorithms, 2`mee
                    Vijay V. Vazirani
                                                      ´dition. MIT press, 2001, ISBN 0-262-03293-7. Traduit en fran¸ais : Dunod,
                                                      e                                                            c
Collection IRIS                                       2002, ISBN 2-100-03922-9.
                                                  [2] R. Motwani et P. Raghavan. Randomized algorithms. Cambrige university
                                                      press, 1995, ISBN 0-521-47465-5.
                                                  [3] V. V. Vazirani. Approximation algorithms, 2`me ´dition. Springer, 2003,
                                                                                                 e   e
                                                      ISBN 3-540-65367-8.
                                                  [4] V. V. Vazirani. Algorithmes d’approximation. Traduction de [3] par N.
                  Algorithmes                         Schabanel. Springer, ` paraˆ en d´cembre 2003.
                                                                           a     ıtre   e
                  d’approximation
                  Traduction: Nicolas Schabanel




                                                                                       20

Contenu connexe

Tendances

M2 An 1986 20 3 371 0
M2 An 1986  20 3 371 0M2 An 1986  20 3 371 0
M2 An 1986 20 3 371 0guest8b8369
 
Equations différentielles, DUT MP, CM 2
Equations différentielles, DUT MP, CM 2Equations différentielles, DUT MP, CM 2
Equations différentielles, DUT MP, CM 2Christophe Palermo
 
Chapitre vi np complétude
Chapitre vi np complétudeChapitre vi np complétude
Chapitre vi np complétudeSana Aroussi
 
Chap13 fin--ts-exp
Chap13  fin--ts-expChap13  fin--ts-exp
Chap13 fin--ts-expsikora233
 
Equations différentielles, DUT MP, CM1
Equations différentielles, DUT MP, CM1Equations différentielles, DUT MP, CM1
Equations différentielles, DUT MP, CM1Christophe Palermo
 
Localisation d’une source émettrice par un réseau d’antennes
Localisation d’une source émettrice par un réseau d’antennesLocalisation d’une source émettrice par un réseau d’antennes
Localisation d’une source émettrice par un réseau d’antennesAhmed Ammar Rebai PhD
 
Eval cm2 2010 france math
Eval cm2 2010 france mathEval cm2 2010 france math
Eval cm2 2010 france mathJCROLL
 
Ch7 algorithmes NP-Copmlétude
Ch7 algorithmes NP-CopmlétudeCh7 algorithmes NP-Copmlétude
Ch7 algorithmes NP-Copmlétudelotfibenromdhane
 
Convex Multi-Task Feature Learning
Convex Multi-Task Feature LearningConvex Multi-Task Feature Learning
Convex Multi-Task Feature LearningSakher BELOUADAH
 

Tendances (14)

M2 An 1986 20 3 371 0
M2 An 1986  20 3 371 0M2 An 1986  20 3 371 0
M2 An 1986 20 3 371 0
 
Equations différentielles, DUT MP, CM 2
Equations différentielles, DUT MP, CM 2Equations différentielles, DUT MP, CM 2
Equations différentielles, DUT MP, CM 2
 
Chapitre vi np complétude
Chapitre vi np complétudeChapitre vi np complétude
Chapitre vi np complétude
 
Oc1 2013
Oc1 2013Oc1 2013
Oc1 2013
 
Chap13 fin--ts-exp
Chap13  fin--ts-expChap13  fin--ts-exp
Chap13 fin--ts-exp
 
Oc3 2013
Oc3 2013Oc3 2013
Oc3 2013
 
Equations différentielles, DUT MP, CM1
Equations différentielles, DUT MP, CM1Equations différentielles, DUT MP, CM1
Equations différentielles, DUT MP, CM1
 
Localisation d’une source émettrice par un réseau d’antennes
Localisation d’une source émettrice par un réseau d’antennesLocalisation d’une source émettrice par un réseau d’antennes
Localisation d’une source émettrice par un réseau d’antennes
 
Eval cm2 2010 france math
Eval cm2 2010 france mathEval cm2 2010 france math
Eval cm2 2010 france math
 
Expo DESA
Expo DESAExpo DESA
Expo DESA
 
Analyse2 00
Analyse2 00Analyse2 00
Analyse2 00
 
Rapport
RapportRapport
Rapport
 
Ch7 algorithmes NP-Copmlétude
Ch7 algorithmes NP-CopmlétudeCh7 algorithmes NP-Copmlétude
Ch7 algorithmes NP-Copmlétude
 
Convex Multi-Task Feature Learning
Convex Multi-Task Feature LearningConvex Multi-Task Feature Learning
Convex Multi-Task Feature Learning
 

En vedette

Algorithmes d'approximation
Algorithmes d'approximationAlgorithmes d'approximation
Algorithmes d'approximationmohamed_SAYARI
 
Les algorithmes d’approximation
Les algorithmes d’approximationLes algorithmes d’approximation
Les algorithmes d’approximationWael Ismail
 
Serie algos approximationx
Serie algos approximationxSerie algos approximationx
Serie algos approximationxmohamed_SAYARI
 
Devoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 siDevoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 siNarûtö Bàl'Sèm
 
Exercices pascal tous les chapitres
Exercices pascal tous les chapitresExercices pascal tous les chapitres
Exercices pascal tous les chapitresborhen boukthir
 
Sujets de preparation bac tp (sayari)
Sujets de preparation bac tp (sayari)Sujets de preparation bac tp (sayari)
Sujets de preparation bac tp (sayari)mohamed_SAYARI
 
Math Analyse numérique
Math Analyse numérique Math Analyse numérique
Math Analyse numérique Rami Jenhani
 
LES ALGORITHMES D’APPROXIMATION
LES ALGORITHMES D’APPROXIMATIONLES ALGORITHMES D’APPROXIMATION
LES ALGORITHMES D’APPROXIMATIONborhen boukthir
 
Les algorithmes recurrents
Les algorithmes recurrentsLes algorithmes recurrents
Les algorithmes recurrentsmohamed_SAYARI
 
Bac info 2000-2015 (Tunisie)
Bac info 2000-2015 (Tunisie)Bac info 2000-2015 (Tunisie)
Bac info 2000-2015 (Tunisie)salah fenni
 
Exercices en turbo pascal sur les nombres
Exercices en turbo pascal sur les nombresExercices en turbo pascal sur les nombres
Exercices en turbo pascal sur les nombressalah fenni
 
L'ou que no s'enfonsa
L'ou que no s'enfonsaL'ou que no s'enfonsa
L'ou que no s'enfonsanuriacandi
 

En vedette (20)

Algorithmes d'approximation
Algorithmes d'approximationAlgorithmes d'approximation
Algorithmes d'approximation
 
Les algorithmes d’approximation
Les algorithmes d’approximationLes algorithmes d’approximation
Les algorithmes d’approximation
 
Serie algos approximationx
Serie algos approximationxSerie algos approximationx
Serie algos approximationx
 
Devoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 siDevoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 si
 
Exercices pascal tous les chapitres
Exercices pascal tous les chapitresExercices pascal tous les chapitres
Exercices pascal tous les chapitres
 
Correction
CorrectionCorrection
Correction
 
Sujets de preparation bac tp (sayari)
Sujets de preparation bac tp (sayari)Sujets de preparation bac tp (sayari)
Sujets de preparation bac tp (sayari)
 
Exo algo
Exo algoExo algo
Exo algo
 
Resumer sur les tris
Resumer sur les trisResumer sur les tris
Resumer sur les tris
 
Math Analyse numérique
Math Analyse numérique Math Analyse numérique
Math Analyse numérique
 
LES ALGORITHMES D’APPROXIMATION
LES ALGORITHMES D’APPROXIMATIONLES ALGORITHMES D’APPROXIMATION
LES ALGORITHMES D’APPROXIMATION
 
Serie
SerieSerie
Serie
 
Serie2
Serie2Serie2
Serie2
 
Les algorithmes recurrents
Les algorithmes recurrentsLes algorithmes recurrents
Les algorithmes recurrents
 
Bac info 2000-2015 (Tunisie)
Bac info 2000-2015 (Tunisie)Bac info 2000-2015 (Tunisie)
Bac info 2000-2015 (Tunisie)
 
Exercices en turbo pascal sur les nombres
Exercices en turbo pascal sur les nombresExercices en turbo pascal sur les nombres
Exercices en turbo pascal sur les nombres
 
Code de vie
Code de vie Code de vie
Code de vie
 
L'ou que no s'enfonsa
L'ou que no s'enfonsaL'ou que no s'enfonsa
L'ou que no s'enfonsa
 
Element 1
Element 1Element 1
Element 1
 
Palais de versailles
Palais de versaillesPalais de versailles
Palais de versailles
 

Similaire à Algorithme d'approximation

Algorithmes récursifs : une introduction pragmatique pour un enseignement au ...
Algorithmes récursifs : une introduction pragmatique pour un enseignement au ...Algorithmes récursifs : une introduction pragmatique pour un enseignement au ...
Algorithmes récursifs : une introduction pragmatique pour un enseignement au ...RichardTerrat1
 
Chap4 Récursivité en python
Chap4 Récursivité en pythonChap4 Récursivité en python
Chap4 Récursivité en pythonMariem ZAOUALI
 
optimisation cours.pdf
optimisation cours.pdfoptimisation cours.pdf
optimisation cours.pdfMouloudi1
 
Bandits Algo KL-UCB par Garivier
Bandits Algo KL-UCB par GarivierBandits Algo KL-UCB par Garivier
Bandits Algo KL-UCB par GarivierCdiscount
 
Réseau de préférences Conditionnelles et logique possibiliste
Réseau de préférences Conditionnelles et logique possibilisteRéseau de préférences Conditionnelles et logique possibiliste
Réseau de préférences Conditionnelles et logique possibilisteFayçal Touazi
 
Sur les bases d'une mécanique quantique complété et relativiste ..pdf
Sur les bases d'une mécanique quantique complété et relativiste ..pdfSur les bases d'une mécanique quantique complété et relativiste ..pdf
Sur les bases d'une mécanique quantique complété et relativiste ..pdfFabriceBresil
 
Conception d'algorithmes pour l'approximation de la "Cut-Norm" avec l'inégali...
Conception d'algorithmes pour l'approximation de la "Cut-Norm" avec l'inégali...Conception d'algorithmes pour l'approximation de la "Cut-Norm" avec l'inégali...
Conception d'algorithmes pour l'approximation de la "Cut-Norm" avec l'inégali...ImadBerkani1
 
fctusuelle-1.pdf
fctusuelle-1.pdffctusuelle-1.pdf
fctusuelle-1.pdfTARIQBARKI3
 
chap 3 complexité (3).pdf
chap 3 complexité (3).pdfchap 3 complexité (3).pdf
chap 3 complexité (3).pdfdonixwm
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite completChahrawoods Dmz
 
Cours algorithmique et complexite
Cours algorithmique et complexite Cours algorithmique et complexite
Cours algorithmique et complexite Saddem Chikh
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite completChahrawoods Dmz
 

Similaire à Algorithme d'approximation (19)

Algorithmes récursifs : une introduction pragmatique pour un enseignement au ...
Algorithmes récursifs : une introduction pragmatique pour un enseignement au ...Algorithmes récursifs : une introduction pragmatique pour un enseignement au ...
Algorithmes récursifs : une introduction pragmatique pour un enseignement au ...
 
Chap4 Récursivité en python
Chap4 Récursivité en pythonChap4 Récursivité en python
Chap4 Récursivité en python
 
Lmfi1
Lmfi1Lmfi1
Lmfi1
 
Td psy38 x2-stats-4
Td psy38 x2-stats-4Td psy38 x2-stats-4
Td psy38 x2-stats-4
 
optimisation cours.pdf
optimisation cours.pdfoptimisation cours.pdf
optimisation cours.pdf
 
Bandits Algo KL-UCB par Garivier
Bandits Algo KL-UCB par GarivierBandits Algo KL-UCB par Garivier
Bandits Algo KL-UCB par Garivier
 
PLNE.pptx
PLNE.pptxPLNE.pptx
PLNE.pptx
 
Réseau de préférences Conditionnelles et logique possibiliste
Réseau de préférences Conditionnelles et logique possibilisteRéseau de préférences Conditionnelles et logique possibiliste
Réseau de préférences Conditionnelles et logique possibiliste
 
ef-solutions.pdf
ef-solutions.pdfef-solutions.pdf
ef-solutions.pdf
 
Sur les bases d'une mécanique quantique complété et relativiste ..pdf
Sur les bases d'une mécanique quantique complété et relativiste ..pdfSur les bases d'une mécanique quantique complété et relativiste ..pdf
Sur les bases d'une mécanique quantique complété et relativiste ..pdf
 
NP-complet.ppt
NP-complet.pptNP-complet.ppt
NP-complet.ppt
 
Conception d'algorithmes pour l'approximation de la "Cut-Norm" avec l'inégali...
Conception d'algorithmes pour l'approximation de la "Cut-Norm" avec l'inégali...Conception d'algorithmes pour l'approximation de la "Cut-Norm" avec l'inégali...
Conception d'algorithmes pour l'approximation de la "Cut-Norm" avec l'inégali...
 
fctusuelle-1.pdf
fctusuelle-1.pdffctusuelle-1.pdf
fctusuelle-1.pdf
 
cours algorithme
cours algorithmecours algorithme
cours algorithme
 
chap 3 complexité (3).pdf
chap 3 complexité (3).pdfchap 3 complexité (3).pdf
chap 3 complexité (3).pdf
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite complet
 
Cours algorithmique et complexite
Cours algorithmique et complexite Cours algorithmique et complexite
Cours algorithmique et complexite
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite complet
 
Comparaison
ComparaisonComparaison
Comparaison
 

Algorithme d'approximation

  • 1. Algorithmes d’approximation et Algorithmes randomis´s e Nicolas.Schabanel@ens-lyon.fr 5-6 mai 2003 – CIRM Table des mati`res e I Algorithmes d’approximation 2 1 Pr´liminaires et d´finitions e e 2 1.1 Algorithmes d’approximation vs algorithmes exacts . . . . . . . 2 1.2 Vocabulaire et d´finitions . . . . . . . . . . . . . . . . . . . . . e 2 2 Un exemple : le probl`me du repr´sentant de commerce (TSP) e e 4 2.1 Le TSP non-m´trique est non-approximable . . . . . . . . . . . e 5 2.2 Un minorant pour le TSP m´trique . . . . . . . . . . . . . . . . e 5 2.3 Une 2-approximation pour le TSP m´trique . . . . . . . . . . . e 6 2.4 Exercice : Une 3/2-approximation pour le TSP m´trique . . . . e 7 3 2`me exercice : couverture par ensembles e 9 II Algorithmes randomis´s e 11 4 D´finitions e 11 ´ 5 Evaluation d’un arbre de jeu Bool´en e 12 6 Le probl`me de la coupe maximum e 14 6.1 Un algorithme randomis´ pour la coupe maximum . . . . . . . e 14 6.2 Un paradigme de d´randomisation . . . . . . . . . . . . . . . . e 15 6.3 Un algorithme glouton pour la coupe maximum . . . . . . . . . 17 6.4 Exercice : Algorithme randomis´ et d´randomis´ pour Max-SAT e e e 18 1
  • 2. Premi`re partie e Algorithmes d’approximation 1 Pr´liminaires et d´finitions e e 1.1 Algorithmes d’approximation vs algorithmes exacts L’approche en algorithmique d’approximation diff`re assez largement de e celle de l’algorithmique exacte. Contrairement ` la r´solution d’un probl`me a e e de la classe P , o` la solution est connue et o` il s’agit de l’obtenir le plus vite u u possible, l’approximation d’un probl`me d’optimisation N P -difficile (grosso e modo, insoluble en temps polynomial, ` moins que P = N P , ce qui serait une a petite r´volution) repose sur l’obtention d’informations sur une solution qu’on e ne connait pas, et qu’on ne pourra jamais connaˆ (sauf par une irr´alisable ıtre e ´num´ration exponentielle). e e L’id´e est, en g´n´ral, de r´soudre un autre probl`me que le probl`me ori- e e e e e e ginal, puis de transformer la solution optimale du second probl`me en une e solution du premier. Tout l’art de l’approximation est d’assurer qu’` chaque a ´tape, on ne s’´loigne pas trop de l’optimum original. Voici une illustration du e e principe g´n´ral de l’approche : e e Solution optimale inconnue OPT Contrairement à l'algorithmique exacte, mais on garantit qu'on n'est on ne sait pas où elle est... pas loin de la solution optimale   Solution approchée Solution optimale connue OPT' d'un problème plus simple, dit relâché Le second probl`me est souvent qualifi´ de relˆch´, car il est souvent ob- e e a e tenu en relˆchant des contraintes du probl`me original. Les sections suivantes a e illustrent ces principes sur des exemples. 1.2 Vocabulaire et d´finitions e Commen¸ons par quelques d´finitions. c e D´finition 1 Nous cherchons ` r´soudre des probl`mes d’optimisation, i.e., e a e e nous recherchons dans un ensemble fini A, muni d’une fonction de poids 1 sur ses ´l´ments, un ´l´ment a ∈ A de poids minimum, dans le cas d’un ee ee probl`me de minimisation, ou de poids maximum, dans le cas d’un probl`me e e de maximisation. Voici quelques exemples : – Dans un graphe non-orient´ G = (V, E),2 muni d’une fonction de poids e 1 ou de coˆt, les deux termes sont utilis´s indiff´remment. u e e 2 Rappel : On appelle graphe G = (V, E) une relation binaire non-r´flexive E sur un e ensemble fini de sommets V . Les relations (u, v) ∈ E sont appel´es les arˆtes du graphe. e e Lorsque la relation E est sym´trique, on dit que le graphe est non-orient´, et chaque arˆte e e e (u, v) est not´e simplement uv. Lorsque la relation E n’est pas sym´trique, on dit que le e e graphe est orient´, et les arˆtes sont appel´es des arcs. Un graphe non-orient´ est habituel- e e e e lement repr´sent´ par des traits reliant des points : les points sont les sommets et les traits, e e les relations. Lorsque le graphe est orient´, chaque arc (u, v) est repr´sent´ par une fl`che e e e e partant de u et pointant vers v. On note habituellement n = |V | le nombre de sommets, et 2
  • 3. sur ses arˆtes, rechercher l’arbre couvrant de poids minimum. Il s’agit ici e d’un probl`me de minimisation. A est l’ensemble des arbres couvrants de e G et le poids d’un arbre est la somme des poids de ses arˆtes. e – On se donne un graphe non-orient´ G = (V, E), muni d’une fonction de e poids sur les arˆtes. Une coupe de G est un ensemble C d’arˆtes tel qu’il e e existe une partition des sommets en deux ensembles S et V S telle que C soit l’ensemble des arˆtes entre les deux composantes de cette e partition, i.e., C = {uv : u ∈ S et v ∈ V S}. On recherche une coupe de poids maximum. Il s’agit d’un probl`me de maximisation. Ici, A est e l’ensemble des coupes de G, et le poids d’une coupe est la somme des poids des arˆtes qui la composent. e Le premier de ces deux exemples est « facile » : l’arbre couvrant de poids minimum se trouve en temps O(m log n) (et mˆme O(m + n log n)) avec un e algorithme glouton. Ce probl`me est dit polynomial, car il se r´soud en un e e temps polynomial en la taille de l’entr´e n + m. On note P la classe des e probl`mes polynomiaux. e Le second exemple est « difficile » : le probl`me de la coupe maximum e est N P -difficile. La classe N P est l’ensemble des probl`mes dont on peut e v´rifier une solution en temps polynomial. Ici, on peut v´rifier en temps po- e e lynomial qu’une coupe C a bien un poids sup´rieur ` une constante K. Bien e a entendu, P ⊂ N P . Dans la classe N P , certains probl`mes sont consid´r´s e ee comme « maximaux », ce sont les probl`mes N P -difficiles. Tous les autres e probl`mes de la classe s’y r´duisent : si on sait r´soudre en temps polyno- e e e mial un probl`me N P -difficile, alors tous les probl`mes de N P se r´solvent en e e e temps polynomial grˆce ` cette r´duction. Le probl`me de la coupe maximum a a e e ` est N P -difficile. A moins que P = N P , il est impossible de r´pondre ` la e a question “Existe-t-il une coupe de poids ≥ K dans G ?” en temps polynomial pour tout K et G ; il est donc, en particulier, impossible de trouver une coupe maximum. La conjecture P = N P est l’un des grands probl`mes ouverts en e informatique (sa r´solution a d’ailleurs ´t´ mise ` prix pour 1 000 000 $). e ee a Il est donc d´sesp´r´ de trouver un algorithme efficace pour r´soudre un e ee e probl`me d’optimisation N P -difficile. Or, la plupart le sont : en biologie, en e r´seau, en ´lectronique,... une immense majorit´ de ces probl`mes sont N P - e e e e difficiles. Une solution est de rechercher des heuristiques admettant des ga- ranties de performances. Un exemple de telle garantie est, pour un probl`me e de minimisation, que la solution construite par l’heuristique ait toujours un poids ≤ K · OPT pour une certaine constante K > 1. Nous sommes alors sˆrs de ne jamais payer plus de K fois le poids optimal. Pour un probl`me de u e maximisation, une garantie ´quivalente est que l’heuristique produise toujours e une solution de poids ≥ K · OPT, pour une certaine constante K < 1. D´finition 2 On appelle facteur d’approximation d’une heuristique polyno- e miale A pour un probl`me de minimisation Π, la borne sup´rieure sur toutes e e les instances I du probl`me Π, du quotient du poids A(I) de solution construite e par A sur l’instance I, par le poids OPT(I) de la solution optimale pour I : sup{A(I)/ OPT(I) : I ∈ Π}. Pour une heurisitique polynomiale, lorsque le facteur d’approximation est born´, major´ par une constante K (K > 1), l’heuristique est appel´e al- e e e m = |E| le nombre d’arˆtes. Naturellement : m ≤ n(n − 1)/2 pour un graphe non-orient´. e e Le degr´ d(u) d’un sommet u d’un graphe non-orient´ G est le nombre d’arˆtes qui lui sont e e e incidentes : d(u) = |{e ∈ E : u ∈ e}|. 3
  • 4. gorithme d’approximation, ou plus pr´cis´ment K-approximation. Parfois, le e e facteur d’approximation d´pend de la taille de l’instance du probl`me (v. sec- e e tion 3), i.e., il existe une suite Kn telle que sup{A(I)/ OPT(I) : I ∈ Π et |I| = n} ≤ Kn , on parle alors de Kn -approximation. Pour un probl`me de maximisation, le facteur d’approximation se d´finit e e sym´triquement par : e inf{A(I)/ OPT(I) : I ∈ Π}. On parle de mˆme de K-approximation ou Kn -approximation, lorsque le fac- e teur d’approximation est minor´ par K ou Kn (ici, K < 1 et Kn < 1). e Pour une K-approximation, K quantifie la qualit´ de l’approximation : plus e K est proche de 1, meilleur est l’approximation. La constante K est souvent le fruit d’une analyse des performances de l’algorithme. Pour d´terminer si e cette analyse est bonne, c’est-`-dire pr´cise, il est utile d’obtenir des instances a e critiques. D´finition 3 Une instance critique d’une K-approximation A pour un pro- e bl`me d’optimisation Π, est une instance I telle que A(I)/ OPT(I) ≈ K. Une e famille F d’instances critiques est un ensemble infini d’instances tel que : – sup{A(I)/ OPT(I) : I ∈ F} = K, si Π est un probl`me de minimisation, e – inf{A(I)/ OPT(I) : I ∈ F } = K, si Π est un probl`me de maximisation. e La recherche d’instances critiques est une activit´ cruciale pour bien com- e prendre les faiblesses d’un algorithme ou de son analyse, et entreprendre leurs am´liorations. e Exercice 1.1 D´finissez “instance critique” et “famille d’instances critiques” e pour une Kn -approximation : ♦ ` A l’instar des classes P et N P en algorithmique exacte, il existe diff´rentes e classes pour les probl`mes d’optimisation, quantifiant leurs capacit´s ` ˆtre e e a e « approxim´s » par des algorithmes polynomiaux. De mˆme, il existe dans e e chacune de ces classes des probl`mes « maximaux », tels que si on sait les e approcher ` un certain facteur, alors il en est de mˆme pour tous les probl`mes a e e de la classe. Les d´finitions et ´tudes de ces classes ne font pas l’objet de cette e e le¸on. c 2 Un exemple : le probl`me du repr´sentant de com- e e merce (TSP) e e ´ Probl`me 1 (Repr´sentant de commerce (TSP)) Etant donn´ un gra- e phe complet G muni d’une fonction de poids positive sur les arˆtes, trouver e un cycle de poids minimum passant par chaque sommet exactement une fois. Un tel cycle est appel´ tour du repr´sentant de commerce.3 e e 3 Traveling salesman problem, en anglais. 4
  • 5. Voici un ensemble de points du plan et son tour optimal. Sur cet exemple, le poids de chaque arˆte est sa longueur dans le plan Euclidien. e 2.1 Le TSP non-m´trique est non-approximable e Dans toute sa g´n´ralit´, on ne peut garantir aucune approximation pour e e e TSP, ` moins que P = N P . a Th´or`me 1 Quelque soit α(n), calculable en temps polynomial, il n’existe e e pas de α(n)-approximation pour TSP, ` moins que P = N P . a Preuve. L’id´e est de r´duire polynomialement, le probl`me N P -difficile de e e e l’existence d’un cycle Hamiltonien,4 ` celui de la recherche d’un cycle court a ou long. Prenons G = (V, E) une instance du cycle Hamiltonien. Construisons le graphe complet G = (V, E ) sur le mˆme ensemble de sommets V , et o` le e u poids de l’arˆte e est 1 si e ∈ E, et α(n) · n sinon. e Supposons par l’absurde qu’il existe une α(n)-approximation pour le TSP. 2.2 Un minorant pour le TSP m´trique e Probl`me 2 (Repr´sentant de commerce m´trique (TSP m´trique)) e e e e Il s’agit de la restriction du probl`me du repr´sentant de commerce aux graphes e e munis d’une fonction de poids m´trique sur les arˆtes, i.e., telle que pour tout e e u, v, w ∈ V , poids(uw) ≤ poids(uv) + poids(vw). Lemme 2 Si G est m´trique, le poids minimum d’un arbre couvrant de G est e un minorant du poids optimal d’un tour du repr´sentant de commerce de G. e Preuve. 4 Un cycle Hamiltonien d’un graphe G est un cycle qui passe par tous les sommets du graphe, une fois et une seule. D´terminer si un graphe non-orient´ admet un cycle Hamilto- e e nien est un probl`me N P -difficile. e 5
  • 6. 2.3 Une 2-approximation pour le TSP m´trique e D´finition 4 Un graphe Eul´rien est un graphe, o` tous les sommets sont de e e u degr´ pair. Ces graphes sont exactement ceux qui admettent un cycle qui passe e par toutes les arˆtes, une fois et une seule. De plus, nous savons construire un e tel cycle tr`s facilement, par un simple parcours des arˆtes en temps lin´aire. e e e L’algorithme suivant pour le TSP m´trique, repose sur la transformation e d’un arbre couvrant de poids minimum de G en un graphe Eul´rien. e Algorithme 1 (TSP m´trique – 2-approximation) e 1. Calculer un arbre couvrant de poids minimum T de G. 2. Dupliquer toutes les arˆtes de T pour obtenir un graphe Eul´rien. e e 3. Calculer un cycle Eul´rien T de ce graphe. e 4. Retourner le cycle C qui passe par tous les sommets de G dans l’ordre de leur premi`re occurence dans T . e Voici un exemple d’ex´cution de cet algorithme sur notre ensemble de points e dans le plan Euclidien. Sont illustr´s l’arbre de poids minimum, le graphe e Eul´rien, et le tour obtenu en partant du sommet dessin´ en blanc. e e Th´or`me 3 L’algorithme 1 est une 2-approximation pour le probl`me du e e e repr´sentant de commerce m´trique (TSP m´trique). e e e Preuve. Exercice 2.1 Prouvez que la famille de graphes complets, illustr´e pour n = 6 e ci-dessous, est une famille d’instances critiques pour cet algorithme. Les arˆtes e en gras coˆtent 1, les autres coˆtent 2. Sont repr´sent´s, le graphe, un tour u u e e 6
  • 7. optimal, et un arbre couvrant de poids minimum avec un tour obtenu ` partir a de cet arbre couvrant : ♦ 2.4 Exercice : Une 3/2-approximation pour le TSP m´trique e L’id´e de cet algorithme est de n’ajouter que le minimum d’arˆtes (au e e sens du poids) n´cessaires pour obtenir un graphe Eul´rien ` partir de l’arbre e e a couvrant de poids minimum. Lemme 4 Tout graphe G admet un nombre pair de sommets de degr´ impair. e Preuve. D´finition 5 Un couplage d’un graphe G = (V, E) est un ensemble d’arˆtes e e M ⊂ E tel que pour toutes arˆtes e, e ∈ M , e = e ⇒ e ∩ e = ∅. Un couplage e M est dit parfait, s’il couvre tous les sommets de G, i.e., si pour tout x ∈ V , il existe e ∈ M , telle que x ∈ e. Il existe des algorithmes polynomiaux tr`s e simples pour calculer un couplage parfait de poids minimum dans un graphe ayant un nombre pair de sommets. L’am´lioration de notre algorithme pour le TSP repose sur un nouveau e minorant du poids d’un tour optimal. Lemme 5 Soit M un couplage d’un sous-graphe induit par des sommets de G, alors le poids de M est inf´rieur ` la moiti´ du poids du tour optimal. e a e Preuve. 7
  • 8. Voici l’algorithme : Algorithme 2 (TSP m´trique – 3/2-approximation) e 1. Calculer un arbre couvrant de poids minimum T de G. 2. Calculer un couplage parfait de coˆt minimal M du sous-graphe induit u par les sommets de degr´ impair de T . Ajouter M ` T pour obtenir un e a graphe Eul´rien. e 3. Calculer un cycle Eul´rien T de ce graphe. e 4. Retourner le cycle C qui passe par les sommets de G dans l’ordre de leur premi`re occurrence dans T . e Les figures ci-dessous illustrent le d´roulement de cet algorithme sur notre e ensemble de points du plan Eul´rien. Sont illustr´s, l’arbre couvrant de poids e e minimum, l’arbre compl´t´ par un couplage de poids minimum, et le tour ee obtenu en partant du sommet dessin´ en blanc. e Th´or`me 6 (Christofides, 1976) L’algorithme 2 est une 3/2-approximation e e pour le probl`me du repr´sentant de commerce. e e Preuve. Exercice 2.2 D´montrez que le graphe suivant d´finit une famille d’instance e e critique pour cet algorithme. Il a n sommets, avec n impair : 1 ... 1 1 1 1 1 1 1 1 1 ... 1 1 (n+1)/2 L’arbre couvrant trouv´ ` la premi`re ´tape est dessin´ en gras. ea e e e ♦ 8
  • 9. 3 2`me exercice : couverture par ensembles e e ´ Probl`me 3 (Couverture par ensembles) Etant donn´s un univers U de e n ´l´ments, une collection de sous-ensembles de U , S = {S1 , . . . , Sk }, et une ee fonction de coˆt c : S → Q+ , on appelle couverture par ensembles 5 de U , u tout sous-ensemble C de S qui couvre tous les ´l´ments de U , i.e., tel que ee S∈C S = U . Le probl`me est de trouver une couverture par ensembles de e coˆt minimum. u Voici un algorithme glouton : choisir l’ensemble de coˆt efficace mini- u mum, ´liminer les ´l´ments couverts et it´rer jusqu’` ce que tous les ´l´ments e ee e a ee soient couverts. Soit C l’ensemble des ´l´ments d´j` couverts au d´but d’une ee ea e it´ration. Le coˆt efficace d’un ensemble S, durant cette it´ration, est le coˆt e u e u moyen auquel il couvre de nouveaux ´l´ments, i.e., c(S)/|S − C|. Le prix ee d’un ´l´ment est le coˆt efficace moyen auquel il peut ˆtre couvert. De fa¸on ee u e c ´quivalente, on peut imaginer que, quand un ensemble S est choisi, son coˆt e u est r´parti uniform´ment parmi les nouveaux ´l´ments couverts. e e ee Algorithme 3 (Couverture par ensembles) 1. C ← ∅. 2. Tant que C = U faire Soit S, l’ensemble de coˆt efficace minimum de l’it´ration courante. u e coˆt(S) u Poser α = |S−C| , le coˆt efficace de S. u S´lectionner S et, pour chaque u ∈ S − C, poser prix(u) = α. e C ← C ∪ S. 3. Retourner les ensembles s´lectionn´s. e e L’analyse de cet algorithme n’utilise pas de minoration explicite du coˆt u optimal, mais le coˆt optimal directement. u Num´rotons u1 , . . . , un , les ´l´ments de U dans l’ordre dans lequel ils sont e ee couverts par l’algorithme (les ex æquo sont class´s arbitrairement). e Lemme 7 Pour tout k ∈ {1, . . . , n}, prix(uk ) ≤ OPT/(n − k + 1). Preuve. Remarquons qu’` la k-`me it´ration, les ensembles non-s´lectionn´s a e e e e de la solution optimale couvrent les ´l´ments restants pour un coˆt total ee u inf´rieur ` OPT. Or il reste |C| ´l´ments ` couvrir, e a ee a 5 Set cover, en anglais. 9
  • 10. Th´or`me 8 L’algorithme glouton 3 est une Hn -approximation pour le probl`me e e e 1 1 de la couverture par ensembles minimum, avec Hn = 1 + 2 + · · · + n . Preuve. Exercice 3.1 D´montrez que l’instance suivante d´finit une famille d’ins- e e tances critiques pour l’algorithme 3 (les poids sont indiqu´s ` cˆt´ des en- e a oe sembles) : ... 1+ε 1/n 1/(n-1) 1/(n-2) 1/2 1 ♦ De fa¸on surprenante, on peut d´montrer que l’algorithme naturel ci-dessus c e est essentiellement ce qu’on peut esp´rer de mieux pour le probl`me de la cou- e e verture par ensembles, car obtenir une « meilleure » approximation conduirait a ` une « catastrophe » similaire ` P = N P . a 10
  • 11. Deuxi`me partie e Algorithmes randomis´s e 4 D´finitions e Un algorithme d´terministe base ses d´cisions sur le r´sultat de tests, essen- e e e tiellement des comparaisons d’entiers ou de rationnels. Un algorithme rando- mis´ prend certaines d´cisions « au hasard ». On peut formaliser un algorithme e e randomis´ ainsi. e D´finition 6 Un algorithme randomis´ est un algorithme (d´terministe !) qui e e e prend deux entr´es : la suite de bits de l’instance du probl`me ` r´soudre ; e e a e et une suite de bits al´atoires, tir´s uniform´ment et ind´pendamment dans e e e e {0, 1}. La suite de bits al´atoires est diff´rentes pour chaque ex´cution de e e e l’algorithme. Notez que l’algorithme randomis´ s’ex´cutera de la mˆme fa¸on e e e c si on lui soumet la mˆme suite de bits al´atoires pour la mˆme instance. e e e Instance du problème Instance du Un algorithme Un algorithme Résultat Résultat problème déterministe randomisé Suite de bits aléatoires Les performances d’un algorithme randomis´ se mesurent selon diff´rents e e param`tres : e – Performance en temps : L’esp´rance du temps de calcul sur une ins- e tance donn´e, o` la moyenne est prise sur la suite de bits al´atoires. Quel e u e est le temps moyen d’ex´cution de l’algorithme en fonction de la taille de e l’instance du probl`me ? e – Performance en recours ` l’al´atoire : L’esp´rance du nombres de a e e bits al´atoires utilis´s, o` la moyenne est prise sur la suite de bits al´atoi- e e u e res. Quel est le nombre de bits al´atoires requis par l’algorithme en fonc- e tion de la taille de l’instance du probl`me ? Les bits al´atoires doivent-ils e e ˆtre totalement ind´pendants, ou seulement 2-`-2 ind´pendants, k-`-k e e a e a ind´pendants,... ? e – Qualit´ de la solution : Pour un probl`me d’optimisation, l’esp´rance e e e du poids de la solution produite pour une instance donn´e, o` la moyenne e u est prise sur la suite de bits al´atoires. Quelle est la valeur du quotient e de l’esp´rance du poids de la solution construite sur le poids optimal, en e fonction de la taille de l’instance du probl`me ? e Les algorithmes randomis´s sont plus puissants que les algorithmes d´- e e terministes, car tout algorithme d´terministe est un algorithme randomis´, e e qui choisit d’ignorer la suite de bits al´atoires. On peut donc en esp´rer de e e meilleures performances. Les algorithmes randomis´s sont souvent bien plus e simples ` ´crire et ` analyser que leurs ´quivalents d´terministes. ae a e e La section 5 pr´sente un probl`me qu’un algorithme randomis´ r´sout beau- e e e e coup vite que n’importe quel algorithme d´terministe. La section 6 pr´sente e e une 1/2-approximation randomis´e pour le probl`me de la coupe maximum. e e Cette section aborde ´galement un point important : la d´randomisation, i.e. e e une m´thode pour ´liminer le recours ` l’al´atoire dans un algorithme rando- e e a e mis´, et obtenir une 1/2-approximation d´terministe et non randomis´e. e e e 11
  • 12. 5 ´ Evaluation d’un arbre de jeu Bool´en e D´finition 7 On appelle arbre de jeu Bool´en Tk , l’arbre binaire complet e e de profondeur 2k, dont les nœuds internes ` distance paire de la racine sont a ´tiquet´s “ET”, et les noeuds internes ` distance impaire, “OU”. e e a Probl`me 4 (Arbre de jeu Bool´en) Une instance du probl`me est un e e e arbre de jeu Tk muni de valeurs Bool´ennes sur ses n = 2 e 2k = 4k feuilles. Le but est d’´valuer Tk , c’est-`-dire de calculer la valeur de la racine, sachant e a que la valeur d’un nœud est la conjonction ou la disjonction (suivant l’´tiquette e du nœud) des valeurs de ses enfants. Voici une instance du probl`me pour k = 2 : e ET OU OU ET ET ET ET OU OU OU OU OU OU OU OU 0 1 1 0 0 0 1 0 1 1 0 0 1 0 0 1 ´ Exercice 5.1 Evaluez l’arbre ci-dessus. Imaginons qu’obtenir la valeur d’une feuille soit une op´ration tr`s coˆteuse. e e u Nous mesurerons donc les performances de chaque algorithme par le nombre de feuilles visit´es sur la pire instance. e Th´or`me 9 Pour tout algorithme d´terministe ´valuant les arbres de jeu e e e e Bool´ens Tk , il existe une instance de Tk telle que l’algorithme inspecte toutes e les n = 4k feuilles. Exercice 5.2 Prouvez ce th´or`me. e e ♦ Nous allons d´montrer qu’il existe un algorithme randomis´ ´l´mentaire, qui e eee visite beaucoup moins de feuilles quelque soit l’instance, i.e., ind´pendamment e de l’instance. Il ne s’agit pas d’analyse en moyenne sur les instances, mais 12
  • 13. d’une analyse en moyenne pour une instance donn´e ; la moyenne est prise e sur la suite de bits al´atoires donn´e en entr´e. e e e L’algorithme ´value l’arbre r´cursivement, mais choisit au hasard quel sous- e e arbre fils, il va ´valuer en premier : si le premier sous-arbre s’´value ` 1 et que e e a l’´tiquette du nœud est “OU”, alors il renvoie 1, sans ´valuer le second ; si le e e premier sous-arbre s’´value ` 0 et que l’´tiquette est “ET”, alors il renvoie 0, e a e sans ´valuer le second ; dans tous les autres cas, il ´value le second et en revoie e e la valeur. Algorithme 4 (Arbre de jeu Bool´en) e ´ 1. Proc´dure Evalue nœud(x) : e Si x est une feuille, alors Retourner la valeur de x, sinon : Tirer uniform´ment r ∈ {0, 1}. e Si r = 1, ´ alors v ← Evalue nœud(fils gauche de x), ´ sinon v ← Evalue nœud(fils droit de x). Si (´tiquette(x)=“OU” et v = 1) ou (´tiquette(x)=“ET” et v = 0), e e alors Retourner v, sinon si r = 1, ´ alors Retourner Evalue nœud(fils droit de x), ´ sinon Retourner Evalue nœud(fils gauche de x). ´ 2. Evalue nœud(racine). Th´or`me 10 Pour toute instance de Tk , l’esp´rance du nombre de feuilles e e e inspect´es par l’algorithme randomis´ 4 est major´e par 3k = nlog3 2 = n≈0.793 . e e e Preuve. Notons Yk l’esp´rance du nombre de feuilles visit´es pour un arbre e e Tk . Proc´dons par r´currence sur k. e e Notre algorithme visite donc en moyenne nlog3 2 = n≈0.793 feuilles, au lieu de n pour n’importe quel algorithme d´terministe. On peut d´montrer qu’aucun e e algorithme randomis´ ne peut faire mieux. La preuve utilise une adaptation du e th´or`me min-max de Von Neumann : Yao remarqua que le th´or`me de Von e e e e 13
  • 14. Neumann peut ˆtre adapt´ au cadre des algorithmes randomis´s, et dit alors e e e que “l’esp´rance du temps de calcul sur la pire instance du meilleur algorithme e randomis´ est ´gale au temps de calcul du meilleur algorithme d´terministe e e e pour la pire des distributions d’instances”. Ainsi en choisissant judicieusement une distribution pour les valeurs des feuilles des arbres Tk et en d´terminant e les performances du meilleur algorithme d´terministe pour cette distribution, e nous obtenons le th´or`me suivant : e e Th´or`me 11 Pour tout algorithme randomis´, il existe une instance Tk pour e e e laquelle l’esp´rance du nombre de feuilles visit´es est Ω(3k ). e e 6 Le probl`me de la coupe maximum e Soit G = (V, E) un graphe non-orient´, muni d’une fonction de poids sur e ses arˆtes. e D´finition 8 Une coupe de G est un ensemble d’arˆtes C ⊂ E, tel qu’il e e existe une partition des sommets en deux ensembles S et V S, telle que C soit l’ensemble des arˆtes entre les deux composantes de la partition, i.e., e C = {uv ∈ E : u ∈ S et v ∈ V S}. Le poids d’une coupe est la somme des poids des arˆtes qui la composent. e e ´ Probl`me 5 (Coupe maximum (Max-Cut)) Etant donn´ un graphe non- e orient´ G avec des poids sur les arˆtes, trouver une coupe de G de poids e e maximum.6 Ce probl`me est N P -difficile. Nous recherchons donc des algorithmes d’ap- e proximation. 6.1 Un algorithme randomis´ pour la coupe maximum e Commen¸ons par d´finir la notion de K-approximation randomis´e. Il existe c e e essentiellement deux types d’algorithmes d’approximation randomis´s. e D´finition 9 Un algorithme A est dit Las Vegas si son temps d’ex´cution e e d´pend de la suite de bits al´atoires, mais pas son r´sultat. Un algorithme A e e e est dit Monte-Carlo si son r´sultat d´pend de la suite de bits al´atoires, mais e e e pas son temps de calcul. On dira qu’un algorithme randomis´ est polynomial e si l’esp´rance de son temps de calcul est polynomial en la taille de l’instance e (cette d´finition s’applique aux deux types d’algorithmes). e D´finition 10 Soit A un algorithme randomis´ polynomial pour un probl`me e e e de minimisation Π. On appelle facteur d’approximation randomis´ de A, la e borne sup´rieure sur toutes les instances I, du quotient de l’esp´rance du poids e e E[A(I)] de la solution construite par A pour I sur le poids optimal OPT(I) d’une solution pour I : sup{E[A(I)]/ OPT(I) : I ∈ Π}. Si ce facteur est major´ e par une constante K, on dit que A est une K-approximation randomis´e. Si la e majoration Kn du facteur d’approximation d´pend de la taille n de l’instance e consid´r´e, on dit que A est une Kn -approximation randomis´e. ee e Exercice 6.1 D´finissez les notions de K-approximation randomis´e et Kn - e e approximation randomis´e pour un probl`me de maximisation Π : e e 6 Maximum cut, en anglais. 14
  • 15. Voici un algorithme randomis´ ´l´mentaire pour la coupe maximum. eee Algorithme 5 (Coupe max – 1/2-approximation randomis´e) e 1. S ← ∅ et S ← ∅. 2. Pour chaque sommet u ∈ V , placer ` pile-ou-face u dans S ou dans S . a 3. Retourner la coupe C d´finie par la partition (S, S ). e Th´or`me 12 L’algorithme 5 est une 1/2-approximation randomis´e pour le e e e probl`me de la coupe maximum. e Preuve. Exercice 6.2 Quel majorant de OPT avons-nous utilis´ dans cette analyse ? e ♦ Exercice 6.3 On appelle graphe biparti tout graphe G = (X ∪ Y, E) non- orient´, tel que X ∩ Y = ∅ et tel que pour tout e ∈ E, e = xy avec x ∈ X et e y ∈ Y . Montrez que l’ensemble des graphes bipartis est une famille d’instances critiques pour cet algorithme. ♦ 6.2 Un paradigme de d´randomisation e Il existe des liens entre certains algorithmes randomis´s et certains algo- e rithmes d´terministes. Ces liens peuvent s’´tablir en montrant que l’un est e e une version randomis´e ou d´randomis´e de l’autre. e e e Commen¸ons par quelques rappels sur les probabilit´s. c e D´finition 11 La probabilit´ d’un ´v´nement B conditionn´e par l’´v´nement e e e e e e e A est d´finie par : e Pr{A ∩ B} Pr{B|A} = Pr{A} 15
  • 16. L’esp´rance d’une variable al´atoire discr`te X conditionn´e par l’´v´nement e e e e e e A est d´finie par : e E[X|A] = x Pr{X = x|A} x Propri´t´ 13 Soient X et Y deux variables al´atoires discr`tes : e e e e E[X] = Pr{Y = y}E[X|Y = y] ≤ max E[X|Y = y] y y Pla¸ons-nous dans la perspective d’un probl`me de maximisation. Une c e technique classique de d´randomisation est la m´thode de l’esp´rance condi- e e e tionnelle. Il s’agit de remplacer chaque d´cision al´atoire par « le meilleur e e choix al´atoire ». Repr´sentons l’ex´cution d’un algorithme randomis´ par e e e e un arbre de d´cision dont les nœuds sont les tirages al´atoires et les fils e e sont les diff´rentes ex´cutions possibles suivant le r´sultat du tirage al´atoire. e e e e ´ Etiquetons chaque nœud par l’esp´rance de la valeur du r´sultat, conditionn´e e e e par les r´sultats des tirages al´atoires pr´c´dents. Pour chaque nœud x de e e e e l’arbre, l’esp´rance conditionnelle en x est la moyenne des esp´rances condi- e e tionnelles de ses fils. Ainsi, le fils ayant la plus grande esp´rance conditionnelle e a une esp´rance sup´rieure ` celle de son p`re. C’est donc, dans la perspective e e a e d’un probl`me de maximisation, le « meilleur choix al´atoire » ! e e Ainsi, lorsqu’il est possible de calculer, en temps polynomial, l’esp´rance de e la valeur du r´sultat, conditionn´e par les d´cisions pr´cedentes, on peut trans- e e e e former un algorithme randomis´ en un algorithme glouton qui remplace chaque e tirage al´atoire par le choix maximisant l’esp´rance conditionnelle de la valeur e e du r´sultat. Par r´currence imm´diate, la valeur du r´sultat de l’algorithme e e e e glouton sera sup´rieure ` l’esp´rance de la valeur du r´sultat de l’algorithme e a e e randomis´. e La figure suivante illustre la m´thode : en chaque sommet, l’algorithme e randomis´ va ` droite ou ` gauche ` pile-ou-face ; l’esp´rance conditionnelle e a a a e des nœuds est inscrite au centre de chaque nœud ; la valeur des feuilles est celle du r´sultat de l’ex´cution de cette branche. La branche dessin´e en gras e e e est celle suivie par l’algorithme glouton maximisant l’esp´rance conditionnelle, e elle conduit ` une solution valant 20$, qui n’est pas la solution optimale (40$) a mais qui est sup´rieure ` l’esp´rance de l’algorithme randomis´ (14$). e a e e 14$ 13$ 15$ 4$ 22$ 10$ 20$ 4$ 40$ Plusieurs remarques. Cette m´thode ne permet pas de trouver la solution e optimale : sur l’exemple ci-dessus, l’algorithme glouton trouve une solution valant 20$, alors que l’optimum est 40$. Ensuite, nous obtenons un algorithme 16
  • 17. glouton polynomial, seulement si l’esp´rance conditionnelle se calcule en temps e polynomial. Exercice 6.4 Reprendre la m´thode de l’esp´rance conditionnelle dans le e e cadre d’un probl`me de minimisation. e ♦ Plutˆt que de th´oriser plus longuement, mettons cette m´thode en pratique o e e sur notre algorithme randomis´ pour la coupe maximum. e 6.3 Un algorithme glouton pour la coupe maximum Pour u ∈ V et A ⊂ V , notons E(u, A) l’ensemble des arˆtes entre u et A : e E(u, A) = {e ∈ E : e = uv et v ∈ A}. Commen¸ons par ´valuer l’esp´rance du poids de la coupe finale condi- c e e tionn´es par les d´cisions pr´c´dentes. e e e e ´ Lemme 14 Etant donn´s S, S ⊂ V dans l’algorithme randomis´ 5, pour tout e e u ∈ V (S ∪ S ), E[poids de la coupe|u ∈ S, S, S ] = E[poids de la coupe|u ∈ S , S, S ] + poids(E(u, S )) − poids(E(u, S)). Preuve. Nous en concluons que l’algorithme glouton naturel suivant est la version d´randomis´e de l’algorithme randomis´ 5 ! Ces deux algorithmes sont donc e e e “les mˆmes”, ce qui n’´tait pas ´vident au premier regard. e e e Algorithme 6 (Coupe maximum – 1/2-approximation gloutonne) 1. S ← ∅ et S ← ∅. 2. Pour chaque sommet u ∈ V , placer u dans la composante, S ou S , qui maximise le poids de la coupe courante entre S et S . 3. Retourner la coupe C d´finie par la partition (S, S ). e Par la m´thode de l’esp´rance conditionnelle, la propri´t´ suivante est un e e ee un corolaire direct du th´or`me 12. e e Corollaire 15 L’algorithme glouton 6 est une 1/2-approximation. 17
  • 18. Exercice 6.5 Proposez une preuve directe du facteur d’approximation de l’al- gorithme glouton 6. ♦ On pourrait penser que l’algorithme glouton d´randomis´ est bien meilleur e e que l’algorithme randomis´. L’exercice suivant d´montre qu’il n’en est rien. e e Exercice 6.6 Montrez que le graphe suivant d´finit une famille d’instances e critiques pour l’algorithme glouton 6, pour peu qu’il commence par les deux sommets blancs. ... ♦ Exercice 6.7 Pouvez-vous encore poursuivre la d´terminisation de l’algo- e rithme 6 ? Quel serait l’algorithme obtenu ? Analysez-le et exhibez une famille d’instances critiques. ♦ 6.4 Exercice : Algorithme randomis´ et d´randomis´ pour Max- e e e SAT e ´ D´finition 12 Etant donn´es n variables Bool´ennes x1 , . . . , xn , on appelle e e litt´ral, une variable xi ou sa n´gation xi . Une clause est une disjonction de e e litt´raux : par exemple, x1 ∨ x2 ∨ x3 . La taille d’une clause est son nombre de e litt´raux. On ´limine les clauses triviales (e.g., x1 ∨ x2 ∨ x1 ) et les litt´raux e e e redondants (e.g., x1 ∨ x3 ∨ x1 ). 18
  • 19. e ´ Probl`me 6 (Satisfaction maximum (Max-SAT)) Etant donn´ un en- e semble de m clauses pond´r´es sur n variables Bool´ennes x1 , . . . , xn , trouver ee e une instanciation des xi qui maximise le poids total des clauses satisfaites.7 On propose l’algorithme randomis´ na¨ suivant : e ıf Algorithme 7 (Max-SAT – 1/2-approximation randomis´e) e 1. Pour chaque variable xi , tirez la valeur de xi uniform´ment dans {0, 1}. e 2. Retourner l’instanciation calcul´e. e ` Lemme 16 A la fin de l’algorithme 7, pour toute clause c, si taille(c) = k, alors Pr{c est satisfaite} = 1 − 2−k . Exercice 6.8 Prouvez ce lemme. ♦ Th´or`me 17 L’algorithme 7 est une 1/2-approximation randomis´e pour le e e e probl`me de la satisfaction maximum. e Exercice 6.9 Prouvez ce th´or`me. e e ♦ Propri´t´ 18 Si toutes les clauses sont de tailles sup´rieures ` k, alors l’al- e e e a gorithme 7 est une (1 − 2−k )-approximation randomis´e. e Exercice 6.10 Prouvez cette propri´t´. ee ♦ Exercice 6.11 Proposez un algorithme pour calculer, en temps polynomial, l’esp´rance du poids de l’instanciation conditionn´e par les variables d´j` in- e e ea tanci´es. En d´duire un algorithme glouton obtenu par d´randomisation de e e e l’algorithme 7. Exhibez des familles d’instances critiques pour chacun de ces algorithmes. 7 Maximum satisfaction, en anglais. 19
  • 20. R´f´rences ee [1] T. Cormen, C. Leiserson, et C. Stein. Introduction to algorithms, 2`mee Vijay V. Vazirani ´dition. MIT press, 2001, ISBN 0-262-03293-7. Traduit en fran¸ais : Dunod, e c Collection IRIS 2002, ISBN 2-100-03922-9. [2] R. Motwani et P. Raghavan. Randomized algorithms. Cambrige university press, 1995, ISBN 0-521-47465-5. [3] V. V. Vazirani. Approximation algorithms, 2`me ´dition. Springer, 2003, e e ISBN 3-540-65367-8. [4] V. V. Vazirani. Algorithmes d’approximation. Traduction de [3] par N. Algorithmes Schabanel. Springer, ` paraˆ en d´cembre 2003. a ıtre e d’approximation Traduction: Nicolas Schabanel 20