Algorithmes d’approximation et                  Algorithmes randomis´s                                       e            ...
Premi`re partie     eAlgorithmes d’approximation1        Pr´liminaires et d´finitions           e               e1.1       ...
sur ses arˆtes, rechercher l’arbre couvrant de poids minimum. Il s’agit ici               e     d’un probl`me de minimisat...
gorithme d’approximation, ou plus pr´cis´ment K-approximation. Parfois, le                                           e efa...
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 ...
2.3     Une 2-approximation pour le TSP m´trique                                         eD´finition 4 Un graphe Eul´rien e...
optimal, et un arbre couvrant de poids minimum avec un tour obtenu ` partir                                               ...
Voici l’algorithme : Algorithme 2 (TSP m´trique – 3/2-approximation)                    e    1. Calculer un arbre couvrant...
3        2`me exercice : couverture par ensembles          e       e                                      ´Probl`me 3 (Cou...
Th´or`me 8 L’algorithme glouton 3 est une Hn -approximation pour le probl`me   e e                                        ...
Deuxi`me partie      e Algorithmes randomis´s                     e 4     D´finitions        e     Un algorithme d´terminis...
5     ´      Evaluation d’un arbre de jeu Bool´en                                       eD´finition 7 On appelle arbre de j...
d’une analyse en moyenne pour une instance donn´e ; la moyenne est prise                                                  ...
Neumann peut ˆtre adapt´ au cadre des algorithmes randomis´s, et dit alors                 e          e                   ...
♦   Voici un algorithme randomis´ ´l´mentaire pour la coupe maximum.                               eee Algorithme 5 (Coupe...
L’esp´rance d’une variable al´atoire discr`te X conditionn´e par l’´v´nement     e                       e            e   ...
glouton polynomial, seulement si l’esp´rance conditionnelle se calcule en temps                                      epoly...
Exercice 6.5 Proposez une preuve directe du facteur d’approximation de l’al-gorithme glouton 6.                           ...
e                                                  ´Probl`me 6 (Satisfaction maximum (Max-SAT)) Etant donn´ un en-        ...
♦                                                  R´f´rences                                                   ee        ...
Prochain SlideShare
Chargement dans…5
×

Algorithme d'approximation

1 715 vues

Publié le

1 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
1 715
Sur SlideShare
0
Issues des intégrations
0
Intégrations
2
Actions
Partages
0
Téléchargements
62
Commentaires
1
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Algorithme d'approximation

  1. 1. Algorithmes d’approximation et Algorithmes randomis´s e Nicolas.Schabanel@ens-lyon.fr 5-6 mai 2003 – CIRMTable des mati`res eI Algorithmes d’approximation 21 Pr´liminaires et d´finitions e e 2 1.1 Algorithmes d’approximation vs algorithmes exacts . . . . . . . 2 1.2 Vocabulaire et d´finitions . . . . . . . . . . . . . . . . . . . . . e 22 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 73 2`me exercice : couverture par ensembles e 9II Algorithmes randomis´s e 114 D´finitions e 11 ´5 Evaluation d’un arbre de jeu Bool´en e 126 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. 2. Premi`re partie eAlgorithmes d’approximation1 Pr´liminaires et d´finitions e e1.1 Algorithmes d’approximation vs algorithmes exacts L’approche en algorithmique d’approximation diff`re assez largement de ecelle de l’algorithmique exacte. Contrairement ` la r´solution d’un probl`me a e ede la classe P , o` la solution est connue et o` il s’agit de l’obtenir le plus vite u upossible, l’approximation d’un probl`me d’optimisation N P -difficile (grosso emodo, insoluble en temps polynomial, ` moins que P = N P , ce qui serait une apetite r´volution) repose sur l’obtention d’informations sur une solution qu’on ene 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 eginal, puis de transformer la solution optimale du second probl`me en une esolution 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 due eprincipe g´n´ral de l’approche : e e Solution optimale inconnue OPT Contrairement à lalgorithmique exacte, mais on garantit quon nest on ne sait pas où elle est... pas loin de la solution optimale   Solution approchée Solution optimale connue OPT dun 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 etenu en relˆchant des contraintes du probl`me original. Les sections suivantes a eillustrent ces principes sur des exemples.1.2 Vocabulaire et d´finitions e Commen¸ons par quelques d´finitions. c eD´finition 1 Nous cherchons ` r´soudre des probl`mes d’optimisation, i.e., e a e enous recherchons dans un ensemble fini A, muni d’une fonction de poids 1sur ses ´l´ments, un ´l´ment a ∈ A de poids minimum, dans le cas d’un ee eeprobl`me de minimisation, ou de poids maximum, dans le cas d’un probl`me e ede 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 eensemble fini de sommets V . Les relations (u, v) ∈ E sont appel´es les arˆtes du graphe. e eLorsque 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 egraphe est orient´, et les arˆtes sont appel´es des arcs. Un graphe non-orient´ est habituel- e e e element repr´sent´ par des traits reliant des points : les points sont les sommets et les traits, e eles relations. Lorsque le graphe est orient´, chaque arc (u, v) est repr´sent´ par une fl`che e e e epartant de u et pointant vers v. On note habituellement n = |V | le nombre de sommets, et 2
  3. 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 poidsminimum se trouve en temps O(m log n) (et mˆme O(m + n log n)) avec un ealgorithme glouton. Ce probl`me est dit polynomial, car il se r´soud en un e etemps polynomial en la taille de l’entr´e n + m. On note P la classe des eprobl`mes polynomiaux. e Le second exemple est « difficile » : le probl`me de la coupe maximum eest N P -difficile. La classe N P est l’ensemble des probl`mes dont on peut ev´rifier une solution en temps polynomial. Ici, on peut v´rifier en temps po- e elynomial qu’une coupe C a bien un poids sup´rieur ` une constante K. Bien e aentendu, P ⊂ N P . Dans la classe N P , certains probl`mes sont consid´r´s e eecomme « maximaux », ce sont les probl`mes N P -difficiles. Tous les autres eprobl`mes de la classe s’y r´duisent : si on sait r´soudre en temps polyno- e e emial un probl`me N P -difficile, alors tous les probl`mes de N P se r´solvent en e e etemps 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 aquestion “Existe-t-il une coupe de poids ≥ K dans G ?” en temps polynomialpour tout K et G ; il est donc, en particulier, impossible de trouver une coupemaximum. La conjecture P = N P est l’un des grands probl`mes ouverts en einformatique (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 eprobl`me d’optimisation N P -difficile. Or, la plupart le sont : en biologie, en er´seau, en ´lectronique,... une immense majorit´ de ces probl`mes sont N P - e e e edifficiles. Une solution est de rechercher des heuristiques admettant des ga-ranties de performances. Un exemple de telle garantie est, pour un probl`me ede minimisation, que la solution construite par l’heuristique ait toujours unpoids ≤ K · OPT pour une certaine constante K > 1. Nous sommes alorssˆrs de ne jamais payer plus de K fois le poids optimal. Pour un probl`me de u emaximisation, une garantie ´quivalente est que l’heuristique produise toujours eune solution de poids ≥ K · OPT, pour une certaine constante K < 1.D´finition 2 On appelle facteur d’approximation d’une heuristique polyno- emiale A pour un probl`me de minimisation Π, la borne sup´rieure sur toutes e eles instances I du probl`me Π, du quotient du poids A(I) de solution construite epar 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 estborn´, major´ par une constante K (K > 1), l’heuristique est appel´e al- e e em = |E| le nombre d’arˆtes. Naturellement : m ≤ n(n − 1)/2 pour un graphe non-orient´. e eLe degr´ d(u) d’un sommet u d’un graphe non-orient´ G est le nombre d’arˆtes qui lui sont e e eincidentes : d(u) = |{e ∈ E : u ∈ e}|. 3
  4. 4. gorithme d’approximation, ou plus pr´cis´ment K-approximation. Parfois, le e efacteur d’approximation d´pend de la taille de l’instance du probl`me (v. sec- e etion 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 esym´triquement par : e inf{A(I)/ OPT(I) : I ∈ Π}.On parle de mˆme de K-approximation ou Kn -approximation, lorsque le fac- eteur 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 eK est proche de 1, meilleur est l’approximation. La constante K est souventle fruit d’une analyse des performances de l’algorithme. Pour d´terminer si ecette analyse est bonne, c’est-`-dire pr´cise, il est utile d’obtenir des instances a ecritiques.D´finition 3 Une instance critique d’une K-approximation A pour un pro- ebl`me d’optimisation Π, est une instance I telle que A(I)/ OPT(I) ≈ K. Une efamille 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- eprendre les faiblesses d’un algorithme ou de son analyse, et entreprendre leursam´liorations. eExercice 1.1 D´finissez “instance critique” et “famille d’instances critiques” epour une Kn -approximation : ♦ ` A l’instar des classes P et N P en algorithmique exacte, il existe diff´rentes eclasses 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 echacune de ces classes des probl`mes « maximaux », tels que si on sait les eapprocher ` un certain facteur, alors il en est de mˆme pour tous les probl`mes a e ede la classe. Les d´finitions et ´tudes de ces classes ne font pas l’objet de cette e ele¸on. c2 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- ephe complet G muni d’une fonction de poids positive sur les arˆtes, trouver eun 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. 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. e2.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 eTSP, ` moins que P = N P . aTh´or`me 1 Quelque soit α(n), calculable en temps polynomial, il n’existe e epas de α(n)-approximation pour TSP, ` moins que P = N P . aPreuve. L’id´e est de r´duire polynomialement, le probl`me N P -difficile de e e el’existence d’un cycle Hamiltonien,4 ` celui de la recherche d’un cycle court aou long. Prenons G = (V, E) une instance du cycle Hamiltonien. Construisonsle graphe complet G = (V, E ) sur le mˆme ensemble de sommets V , et o` le e upoids 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 eProbl`me 2 (Repr´sentant de commerce m´trique (TSP m´trique)) e e e eIl s’agit de la restriction du probl`me du repr´sentant de commerce aux graphes e emunis d’une fonction de poids m´trique sur les arˆtes, i.e., telle que pour tout e eu, 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 eun minorant du poids optimal d’un tour du repr´sentant de commerce de G. ePreuve. 4 Un cycle Hamiltonien d’un graphe G est un cycle qui passe par tous les sommets dugraphe, une fois et une seule. D´terminer si un graphe non-orient´ admet un cycle Hamilto- e enien est un probl`me N P -difficile. e 5
  6. 6. 2.3 Une 2-approximation pour le TSP m´trique eD´finition 4 Un graphe Eul´rien est un graphe, o` tous les sommets sont de e e udegr´ pair. Ces graphes sont exactement ceux qui admettent un cycle qui passe epar toutes les arˆtes, une fois et une seule. De plus, nous savons construire un etel 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 ed’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 edans le plan Euclidien. Sont illustr´s l’arbre de poids minimum, le graphe eEul´rien, et le tour obtenu en partant du sommet dessin´ en blanc. e eTh´or`me 3 L’algorithme 1 est une 2-approximation pour le probl`me du e e erepr´sentant de commerce m´trique (TSP m´trique). e e ePreuve.Exercice 2.1 Prouvez que la famille de graphes complets, illustr´e pour n = 6 eci-dessous, est une famille d’instances critiques pour cet algorithme. Les arˆtes een gras coˆtent 1, les autres coˆtent 2. Sont repr´sent´s, le graphe, un tour u u e e 6
  7. 7. optimal, et un arbre couvrant de poids minimum avec un tour obtenu ` partir ade 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 esens du poids) n´cessaires pour obtenir un graphe Eul´rien ` partir de l’arbre e e acouvrant de poids minimum.Lemme 4 Tout graphe G admet un nombre pair de sommets de degr´ impair. ePreuve.D´finition 5 Un couplage d’un graphe G = (V, E) est un ensemble d’arˆtes e eM ⊂ E tel que pour toutes arˆtes e, e ∈ M , e = e ⇒ e ∩ e = ∅. Un couplage eM 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 esimples pour calculer un couplage parfait de poids minimum dans un grapheayant un nombre pair de sommets. L’am´lioration de notre algorithme pour le TSP repose sur un nouveau eminorant du poids d’un tour optimal.Lemme 5 Soit M un couplage d’un sous-graphe induit par des sommets deG, alors le poids de M est inf´rieur ` la moiti´ du poids du tour optimal. e a ePreuve. 7
  8. 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 eensemble de points du plan Eul´rien. Sont illustr´s, l’arbre couvrant de poids e eminimum, l’arbre compl´t´ par un couplage de poids minimum, et le tour eeobtenu en partant du sommet dessin´ en blanc. eTh´or`me 6 (Christofides, 1976) L’algorithme 2 est une 3/2-approximation e epour le probl`me du repr´sentant de commerce. e ePreuve.Exercice 2.2 D´montrez que le graphe suivant d´finit une famille d’instance e ecritique 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. 9. 3 2`me exercice : couverture par ensembles e e ´Probl`me 3 (Couverture par ensembles) Etant donn´s un univers U de en ´l´ments, une collection de sous-ensembles de U , S = {S1 , . . . , Sk }, et une eefonction de coˆt c : S → Q+ , on appelle couverture par ensembles 5 de U , utout 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 ecoˆt minimum. u Voici un algorithme glouton : choisir l’ensemble de coˆt efficace mini- umum, ´liminer les ´l´ments couverts et it´rer jusqu’` ce que tous les ´l´ments e ee e a eesoient couverts. Soit C l’ensemble des ´l´ments d´j` couverts au d´but d’une ee ea eit´ration. Le coˆt efficace d’un ensemble S, durant cette it´ration, est le coˆt e u e umoyen auquel il couvre de nouveaux ´l´ments, i.e., c(S)/|S − C|. Le prix eed’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ˆte uest 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 uoptimal, mais le coˆt optimal directement. u Num´rotons u1 , . . . , un , les ´l´ments de U dans l’ordre dans lequel ils sont e eecouverts par l’algorithme (les ex æquo sont class´s arbitrairement). eLemme 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 ede la solution optimale couvrent les ´l´ments restants pour un coˆt total ee uinf´rieur ` OPT. Or il reste |C| ´l´ments ` couvrir, e a ee a 5 Set cover, en anglais. 9
  10. 10. Th´or`me 8 L’algorithme glouton 3 est une Hn -approximation pour le probl`me e e e 1 1de 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 etances critiques pour l’algorithme 3 (les poids sont indiqu´s ` cˆt´ des en- e a oesembles) : ... 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 eest essentiellement ce qu’on peut esp´rer de mieux pour le probl`me de la cou- e everture par ensembles, car obtenir une « meilleure » approximation conduiraita` une « catastrophe » similaire ` P = N P . a 10
  11. 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èmeInstance 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. 12. 5 ´ Evaluation d’un arbre de jeu Bool´en eD´finition 7 On appelle arbre de jeu Bool´en Tk , l’arbre binaire complet e ede 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 aProbl`me 4 (Arbre de jeu Bool´en) Une instance du probl`me est un e e earbre 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 aque la valeur d’un nœud est la conjonction ou la disjonction (suivant l’´tiquette edu 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 uNous mesurerons donc les performances de chaque algorithme par le nombrede feuilles visit´es sur la pire instance. eTh´or`me 9 Pour tout algorithme d´terministe ´valuant les arbres de jeu e e e eBool´ens Tk , il existe une instance de Tk telle que l’algorithme inspecte toutes eles 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 eeevisite beaucoup moins de feuilles quelque soit l’instance, i.e., ind´pendamment ede l’instance. Il ne s’agit pas d’analyse en moyenne sur les instances, mais 12
  13. 13. d’une analyse en moyenne pour une instance donn´e ; la moyenne est prise esur 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 earbre fils, il va ´valuer en premier : si le premier sous-arbre s’´value ` 1 et que e e al’´tiquette du nœud est “OU”, alors il renvoie 1, sans ´valuer le second ; si le e epremier sous-arbre s’´value ` 0 et que l’´tiquette est “ET”, alors il renvoie 0, e a esans ´valuer le second ; dans tous les autres cas, il ´value le second et en revoie e ela 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 einspect´es par l’algorithme randomis´ 4 est major´e par 3k = nlog3 2 = n≈0.793 . e e ePreuve. Notons Yk l’esp´rance du nombre de feuilles visit´es pour un arbre e eTk . Proc´dons par r´currence sur k. e e Notre algorithme visite donc en moyenne nlog3 2 = n≈0.793 feuilles, au lieu den pour n’importe quel algorithme d´terministe. On peut d´montrer qu’aucun e ealgorithme randomis´ ne peut faire mieux. La preuve utilise une adaptation du eth´or`me min-max de Von Neumann : Yao remarqua que le th´or`me de Von e e e e 13
  14. 14. Neumann peut ˆtre adapt´ au cadre des algorithmes randomis´s, et dit alors e e eque “l’esp´rance du temps de calcul sur la pire instance du meilleur algorithme erandomis´ est ´gale au temps de calcul du meilleur algorithme d´terministe e e epour la pire des distributions d’instances”. Ainsi en choisissant judicieusementune distribution pour les valeurs des feuilles des arbres Tk et en d´terminant eles performances du meilleur algorithme d´terministe pour cette distribution, enous obtenons le th´or`me suivant : e eTh´or`me 11 Pour tout algorithme randomis´, il existe une instance Tk pour e e elaquelle l’esp´rance du nombre de feuilles visit´es est Ω(3k ). e e6 Le probl`me de la coupe maximum e Soit G = (V, E) un graphe non-orient´, muni d’une fonction de poids sur eses arˆtes. eD´finition 8 Une coupe de G est un ensemble d’arˆtes C ⊂ E, tel qu’il e eexiste une partition des sommets en deux ensembles S et V S, telle queC soit l’ensemble des arˆtes entre les deux composantes de la partition, i.e., eC = {uv ∈ E : u ∈ S et v ∈ V S}. Le poids d’une coupe est la somme despoids des arˆtes qui la composent. e e ´Probl`me 5 (Coupe maximum (Max-Cut)) Etant donn´ un graphe non- eorient´ G avec des poids sur les arˆtes, trouver une coupe de G de poids e emaximum.6 Ce probl`me est N P -difficile. Nous recherchons donc des algorithmes d’ap- eproximation.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 eessentiellement deux types d’algorithmes d’approximation randomis´s. eD´finition 9 Un algorithme A est dit Las Vegas si son temps d’ex´cution e ed´pend de la suite de bits al´atoires, mais pas son r´sultat. Un algorithme A e e eest dit Monte-Carlo si son r´sultat d´pend de la suite de bits al´atoires, mais e e epas son temps de calcul. On dira qu’un algorithme randomis´ est polynomial esi 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). eD´finition 10 Soit A un algorithme randomis´ polynomial pour un probl`me e e ede minimisation Π. On appelle facteur d’approximation randomis´ de A, la eborne sup´rieure sur toutes les instances I, du quotient de l’esp´rance du poids e eE[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´ epar une constante K, on dit que A est une K-approximation randomis´e. Si la emajoration Kn du facteur d’approximation d´pend de la taille n de l’instance econsid´r´e, on dit que A est une Kn -approximation randomis´e. ee eExercice 6.1 D´finissez les notions de K-approximation randomis´e et Kn - e eapproximation randomis´e pour un probl`me de maximisation Π : e e 6 Maximum cut, en anglais. 14
  15. 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 ). eTh´or`me 12 L’algorithme 5 est une 1/2-approximation randomis´e pour le e e eprobl`me de la coupe maximum. ePreuve.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 ey ∈ Y . Montrez que l’ensemble des graphes bipartis est une famille d’instancescritiques pour cet algorithme. ♦6.2 Un paradigme de d´randomisation e Il existe des liens entre certains algorithmes randomis´s et certains algo- erithmes d´terministes. Ces liens peuvent s’´tablir en montrant que l’un est e eune version randomis´e ou d´randomis´e de l’autre. e e e Commen¸ons par quelques rappels sur les probabilit´s. c eD´finition 11 La probabilit´ d’un ´v´nement B conditionn´e par l’´v´nement e e e e e e eA est d´finie par : e Pr{A ∩ B} Pr{B|A} = Pr{A} 15
  16. 16. L’esp´rance d’une variable al´atoire discr`te X conditionn´e par l’´v´nement e e e e e eA est d´finie par : e E[X|A] = x Pr{X = x|A} xPropri´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 etechnique classique de d´randomisation est la m´thode de l’esp´rance condi- e e etionnelle. Il s’agit de remplacer chaque d´cision al´atoire par « le meilleur e echoix al´atoire ». Repr´sentons l’ex´cution d’un algorithme randomis´ par e e e eun arbre de d´cision dont les nœuds sont les tirages al´atoires et les fils e esont 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 epar les r´sultats des tirages al´atoires pr´c´dents. Pour chaque nœud x de e e e el’arbre, l’esp´rance conditionnelle en x est la moyenne des esp´rances condi- e etionnelles de ses fils. Ainsi, le fils ayant la plus grande esp´rance conditionnelle ea une esp´rance sup´rieure ` celle de son p`re. C’est donc, dans la perspective e e a ed’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 ela valeur du r´sultat, conditionn´e par les d´cisions pr´cedentes, on peut trans- e e e eformer un algorithme randomis´ en un algorithme glouton qui remplace chaque etirage al´atoire par le choix maximisant l’esp´rance conditionnelle de la valeur e edu r´sultat. Par r´currence imm´diate, la valeur du r´sultat de l’algorithme e e e eglouton sera sup´rieure ` l’esp´rance de la valeur du r´sultat de l’algorithme e a e erandomis´. e La figure suivante illustre la m´thode : en chaque sommet, l’algorithme erandomis´ va ` droite ou ` gauche ` pile-ou-face ; l’esp´rance conditionnelle e a a a edes nœuds est inscrite au centre de chaque nœud ; la valeur des feuilles estcelle du r´sultat de l’ex´cution de cette branche. La branche dessin´e en gras e e eest celle suivie par l’algorithme glouton maximisant l’esp´rance conditionnelle, eelle conduit ` une solution valant 20$, qui n’est pas la solution optimale (40$) amais 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 eoptimale : sur l’exemple ci-dessus, l’algorithme glouton trouve une solutionvalant 20$, alors que l’optimum est 40$. Ensuite, nous obtenons un algorithme 16
  17. 17. glouton polynomial, seulement si l’esp´rance conditionnelle se calcule en temps epolynomial.Exercice 6.4 Reprendre la m´thode de l’esp´rance conditionnelle dans le e ecadre d’un probl`me de minimisation. e ♦ Plutˆt que de th´oriser plus longuement, mettons cette m´thode en pratique o e esur notre algorithme randomis´ pour la coupe maximum. e6.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 : eE(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 etionn´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 eu ∈ 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 versiond´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 eeun corolaire direct du th´or`me 12. e eCorollaire 15 L’algorithme glouton 6 est une 1/2-approximation. 17
  18. 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 eque l’algorithme randomis´. L’exercice suivant d´montre qu’il n’en est rien. e eExercice 6.6 Montrez que le graphe suivant d´finit une famille d’instances ecritiques pour l’algorithme glouton 6, pour peu qu’il commence par les deuxsommets blancs. ... ♦Exercice 6.7 Pouvez-vous encore poursuivre la d´terminisation de l’algo- erithme 6 ? Quel serait l’algorithme obtenu ? Analysez-le et exhibez une familled’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 elitt´ral, une variable xi ou sa n´gation xi . Une clause est une disjonction de e elitt´raux : par exemple, x1 ∨ x2 ∨ x3 . La taille d’une clause est son nombre de elitt´raux. On ´limine les clauses triviales (e.g., x1 ∨ x2 ∨ x1 ) et les litt´raux e e eredondants (e.g., x1 ∨ x3 ∨ x1 ). 18
  19. 19. e ´Probl`me 6 (Satisfaction maximum (Max-SAT)) Etant donn´ un en- esemble de m clauses pond´r´es sur n variables Bool´ennes x1 , . . . , xn , trouver ee eune 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 eprobl`me de la satisfaction maximum. eExercice 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 agorithme 7 est une (1 − 2−k )-approximation randomis´e. eExercice 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 eatanci´es. En d´duire un algorithme glouton obtenu par d´randomisation de e e el’algorithme 7. Exhibez des familles d’instances critiques pour chacun de cesalgorithmes. 7 Maximum satisfaction, en anglais. 19
  20. 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 cCollection 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

×