NAKACHE 5808b6ed65e63 TH
NAKACHE 5808b6ed65e63 TH
NAKACHE 5808b6ed65e63 TH
THÈSE
pour l’obtention du
par
Elie Nakache
Composition du jury
Directeurs : M. Basile Couëtoux, Maı̂tre de conférences Aix-Marseille Université
M. Yann Vaxès, Professeur Aix-Marseille Université
Rapporteurs : M. Stéphane Bessy, Maı̂tre de conférences Université de Montpellier
M. Jérôme Monnot, Directeur de recherche CNRS LAMSADE
Examinateurs : M. Victor Chepoi, Professeur Aix-Marseille Université
M. Zoltán Szigeti, Professeur Ensimag INP Grenoble
Je tiens d’abord à remercier mes directeurs de thèse Basile Couëtoux et Yann Vaxès
pour à peu prêt tout. Je vais citer à la volée, leur patience, leurs connaissances, leur
soutien moral, leur aide dans la recherche, la rédaction... Je ne pense pas que j’aurais
achevé ce manuscrit sans eux. Vous êtes un binôme très complémentaire et j’espère vrai-
ment que vous continuerez à encadrer des étudiants ensemble.
Plus généralement, je remercie tous les gens du LIF, je pense qu’il n’y a pas une seule
personne avec qui je ne m’entends pas dans ce labo. J’ai vraiment passé 4 très bonnes
années et je suis assez triste de le quitter (au moins, j’évite la fusion). Merci à l’équipe
ACRO, j’ai beaucoup appris dans les séminaires, surtout que vue mon parcours, je ne
partais pas avec une grande connaissance de l’optimisation combinatoire. Merci à toutes
les secrétaires sans exception, je ne sais pas comment c’est dans un autre labo mais
nous, en tout cas, on a de la chance. Merci à tous mes cobureaux, il y en a eu beaucoup
vu le nombre de déménagements, voici une liste exhaustive (j’espère) par ordre chro-
nologique : Youssouf, Florent, Mathieu, Sébastien, Jérôme, Makki, Antoine, Worachet,
Christina, Eloi. Ca a pas du être facile pour vous vue que j’ai quand même souvent
envie de tchatcher comme on dit chez nous. Désolé d’avoir un peu ralenti votre thèse.
En tout cas, j’ai bien rigolé et c’est grâce à vous. Un merci aussi à l’équipe jeux de so-
ciété, c’était vraiment cool et j’espère que je continuerai à être invité. Merci à Arnaud qui
grâce à son gros travail sur le cours d’automates et circuits, à alléger le mien pour les Tds.
Je remercie aussi mes parents. J’ai la grande chance d’habiter à 20 minutes de chez
eux et vue le nombre de fois où j’ai eu besoin d’eux pendant cette thèse, c’était pas du
luxe. Ils savent m’aider sans être non plus envahissants et j’ai vraiment beaucoup de
chance.
Enfin, merci Emma, tu as été avec moi tout au long de ces 3 ans, ça a pas du être
facile tous les jours de me supporter et je pense que c’est aussi un peu ta thèse, tu vas
encore devoir subir des tonnes de répétitions (vengeance !). Une page se tourne mais
j’espère qu’il y aura encore tout un tas de pages.
i
ii
Sommaire
Introduction
Chapitre 1
Chemin le plus étiqueté
1.1 Préliminaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.1.1 Cadre de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.1.2 Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.1.3 Résultats sur les graphes étiquetés . . . . . . . . . . . . . . . . . . 11
1.2 Chemin le plus étiqueté est AP X-difficile . . . . . . . . . . . . . . . 14
1.2.1 Réductions et conditions . . . . . . . . . . . . . . . . . . . . . . . . 14
1.2.2 Résultat sur Chemin le plus étiqueté à partir des résultats sur
Max-3SAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.3 Inapproximabilité de Chemin le plus étiqueté . . . . . . . . . . . . . . 19
1.3.1 Cadre de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.3.2 Objectif et schéma de preuve . . . . . . . . . . . . . . . . . . . . . 20
1.3.3 Auto-réduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.3.4 Preuve du Théorème 1.4 . . . . . . . . . . . . . . . . . . . . . . . . 22
1.3.5 Preuve du Lemme 1.8 . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.4 Algorithme d’approximation avec un facteur √ 1 . . . . . . . . . . . . . 26
OP T
1.4.1 Idée de l’algorithme sur un exemple simple . . . . . . . . . . . . . 26
1.4.2 Algorithme Calcul du chemin . . . . . . . . . . . . . . . . . . . 27
1.4.3 Exemple serré pour l’analyse des performances de l’algorithme
Calcul du chemin . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1
1.5 OP T ǫ -approximation pour Chemin le plus étiqueté . . . . . . . . . . . 31
1.5.1 Préliminaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
iii
Sommaire
Chapitre 2
Arbres couvrants de poids minimum sous contraintes
iv
2.6.3 Correction et optimalité . . . . . . . . . . . . . . . . . . . . . . . . 57
2.7 Autres problèmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Chapitre 3
Réduction de distance
3.1 Préliminaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.1.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.1.2 Le problème Réduction de distances . . . . . . . . . . . . . . . 63
3.2 Résolution du problème Réduction de distances en temps polynomial 66
3.3 Sous-modularité et Réduction de distances . . . . . . . . . . . . . . . 68
3.3.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.3.2 Sous-modularité de la fonction de coût du problème Réduction
de distances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.4 Mécanisme de partage de coût sur Réduction de distances . . . . . . 70
3.4.1 Règle d’un mécanisme de partage de coût . . . . . . . . . . . . . . 71
3.4.2 Mécanisme de partage de coût pour les fonctions sous-modulaires . 72
3.4.3 Adaptation du mécanisme pour Réduction de distances . . . . 73
Conclusion
Bibliographie 81
v
Sommaire
vi
Introduction
1
Introduction
séparément par Moore [48], cet algorithme a la propriété supplémentaire de pouvoir trai-
ter des distances négatives sur les connexions du réseau. De nombreux autres problèmes
algorithmiques peuvent être formulés en utilisant les notions de distance et de connexité.
Pour la plupart d’entre eux, aucun algorithme efficace (polynomial) n’est connu. C’est
le cas, par exemple, du problème du voyageur de commerce qui consiste à trouver le
parcours le plus court qui visite toutes les villes exactement une fois et revient à la ville
de départ, c’est aussi le cas de bon nombre d’autres problèmes dans les réseaux, on peut
en retrouver un certain nombre dans [38]. Un autre problème difficile consiste à trouver
le réseau le plus économique parmi les réseaux connexes tels que la distance entre deux
villes spécifiées ne dépasse pas une certaine limite. C’est l’un des problèmes que nous
étudions dans cette thèse. Pour définir de manière formelle ces problèmes, nous utilisons
les notions de la théorie des graphes.
2
le sommet choisi comme origine du parcours. Dans ce manuscrit, nous ne considérons
que des chemins, chaînes, circuits et cycles élémentaires. Nous omettons donc le mot
élémentaire dans la suite. Dans un graphe non orienté G = (V, E), la relation C définie
sur V par uCv ⇔ {u = v ou il existe une chaîne joignant u et v} est une relation d’équi-
valence. Les classes d’équivalence C1 , C2 , ..., Cp de cette relation sont les composantes
connexes du graphe G. Un graphe est connexe si la relation C ne contient qu’une seule
classe d’équivalence, autrement dit pour tout couple de sommets u, v ∈ V , il existe une
chaîne joignant u et v. Un arbre est un graphe connexe sans cycle. Un arbre couvrant
T = (V, E ′ ) d’un graphe G = (V, E) est un graphe partiel de G qui est aussi un arbre.
Théorie de la complexité
La théorie de la complexité fournit un cadre formel pour évaluer la difficulté intrin-
sèque des problèmes d’algorithmique des graphes et réseaux. La classe N P est la classe
des problèmes de décision que l’on peut résoudre à l’aide d’un algorithme non détermi-
niste polynomial. A l’intérieur de cette classe, la classe P est la classe des problèmes
de décision que l’on peut résoudre à l’aide d’un algorithme déterministe polynomial. La
conjecture P 6= N P suppose que certains problèmes de N P ne peuvent pas être résolus
par un algorithme polynomial déterministe.
Un problème Π est dit N P -difficile si l’existence d’un algorithme polynomial déter-
ministe pour Π implique l’existence d’un algorithme polynomial pour n’importe quel
problème de N P . Un problème N P -difficile est dit N P -complet s’il appartient à N P .
Dans les années soixante dix, SA. Cook et LA.Levin ont simultanément prouvé que le
problème de satisfaction de contraintes SAT, issu de la logique, est N P -complet [15,46].
Pour prouver la N P -difficulté d’un problème Π∗ , on utilise la notion de réduction poly-
nomiale. On dit qu’un problème de décision Π se réduit polynomialement à un problème
de décision Π′ s’il existe un algorithme polynomial qui transforme toute instance I de
Π en une instance I ′ de Π′ de telle manière que I a une réponse oui si et seulement
si I ′ a une réponse oui. Si un problème N P -difficile Π se réduit polynomialement au
problème Π′ alors par transitivité tout problème de N P se réduit polynomialement à
Π′ . Par conséquent, Π′ est N P -difficile. Les problèmes d’optimisation n’appartiennent
ni à la classe N P , ni à la classe P car ce ne sont pas des problèmes de décision, ils
peuvent par contre appartenir à la classe des problèmes N P -difficiles. En général, on
montre qu’un problème d’optimisation est N P -difficile en montrant que le problème de
décision associé (qui consiste à décider s’il existe une solution admissible de valeur au
moins ou au plus une borne donnée) est N P -complet.
Approches algorithmiques
De très nombreux problèmes sont N P -difficiles, y compris parmi ceux étudiés dans
cette thèse. A moins que P = N P , il n’existe aucun algorithme polynomial pour ces pro-
blèmes qui renvoie une solution optimale sur toutes les instances. Différentes approches
sont envisageables pour traiter de tels problèmes. Dans cette thèse nous considérons les
trois approches suivantes.
3
Introduction
4
Théorie de l’approximation polynomiale
Nous détaillons maintenant plusieurs notions qui permettent de classifier de façon
plus fines les problèmes N P -difficiles et de formuler des résultats négatifs dans le domaine
de l’approximation polynomiale. C’est à dire de démontrer que sous certaines hypothèses
(par exemple P 6= N P ), un problème d’optimisation combinatoire ne peut pas être ap-
proximé avec un certain facteur en temps polynomial. Plusieurs classes d’approximation
ont été définies.
La classe APX contient les problèmes d’optimisation pour lesquels il existe un algo-
rithme avec un facteur constant. Un problème est APX-difficile s’il existe un réel ǫ tel
que si P 6= N P , il n’existe aucun algorithme avec un facteur (1 + ǫ) pour un problème de
minimisation et (1 − ǫ) pour un problème de maximisation. Etant donné un problème de
minimisation (resp. maximisation) Π, on dit que Π admet un PTAS (Polynomial-Time
Approximation Scheme), schéma d’approximation polynomial en français, s’il existe une
famille d’algorithmes (Aǫ )ǫ>0 telle que pour tout ǫ > 0, Aǫ est un algorithme avec un
facteur (1 + ǫ) (resp. (1 − ǫ)) pour Π. A moins que P = N P , un problème APX-difficile
n’admet aucun PTAS et réciproquement, un problème qui n’admet pas de PTAS est
APX-difficile.
Contributions
Nous terminons ce chapitre introductif par une présentation générale des résultats
et de l’organisation de la thèse.
Le Chapitre 1 porte sur le problème Chemin le plus étiqueté. Dans un graphe
orienté sans cycle dont les sommets sont étiquetés (une même étiquette peut apparaître
plusieurs fois), on recherche un chemin qui collecte un nombre maximum d’étiquettes
distinctes. A l’aide des résultats sur l’APX-difficulté du problème, nous prouvons que le
problème Chemin le plus étiqueté n’appartient pas à la classe APX, i.e qu’il n’existe
pas d’algorithme polynomial qui le résout avec un facteur constant. Dans la suite, nous
1
donnons donc un algorithme avec un facteur non constant √OP T
qui fonctionne aussi sur
le problème Chemin le plus étiqueté pondéré où les étiquettes du graphe ont toutes
un poids et où on cherche un chemin qui collecte un ensembles d’étiquettes distinctes
dont la somme des poids est maximum. Suite à cet algorithme, nous présentons la mé-
thode Construction par niveaux qui nous permet d’obtenir, à partir d’un algorithme
polynomial avec un certain facteur, un algorithme polynomial avec un meilleur facteur.
1
Ainsi, à partir de l’algorithme facteur √OP T
, pour tout ǫ > 0, on peut construire un algo-
rithme polynomial avec facteur OP1T ǫ . Nous étudions aussi le problème dual de collecter
toutes les étiquettes d’un graphe orienté étiqueté sans cycle avec un nombre minimum
de chemins. A l’aide des résultats sur Chemin le plus étiqueté, nous déduisons que
ce problème n’appartient pas à la classe APX et que pour tout ǫ > 0, on peut construire
un algorithme avec facteur ln(|L(D)|)|L(D)|ǫ , où |L(D)| est le nombre d’étiquettes du
graphe D. Pour finir le chapitre, nous présentons rapidement un algorithme exact FPT
avec pour paramètre le nombre d’étiquettes dans le graphe.
Dans le Chapitre 2, nous étudions des problèmes d’arbre couvrant de poids minimum
5
Introduction
sous contrainte. Plus précisément, dans un graphe dont les arêtes sont pondérées, on re-
cherche un arbre de poids minimum parmi ceux répondant à une certaine contrainte.
Nous étudions d’abord le problème Arbre couvrant minimum avec un sommet
intermédiaire, étant donné un graphe G = (V, E), un sommet central v ∈ V et un
ensemble de sommets spéciaux U ⊆ V , la contrainte supplémentaire impose que v doit
être sur la chaîne entre toute paire de sommets de U . Nous nous intéressons aussi au
problème Arbre couvrant minimum avec une k + -chaîne. Etant donné un graphe
G = (V, E), u, v ∈ V , la contrainte supplémentaire impose que la distance (le nombre
d’arêtes) entre u et v doit être au moins k, où k est un entier fixé (pas une entrée
du problème). Nous prouvons à l’aide de résultats sur les matroïdes, que ces deux pro-
blèmes se résolvent en temps polynomial. En substance, nous prouvons que ces deux
problèmes reviennent à résoudre un ou plusieurs problèmes de recherche d’un indépen-
dant de poids maximum commun à deux matroïdes. Nous étudions ensuite le problème
Arbre couvrant minimum avec une k − -chaîne. Etant donné un graphe G = (V, E),
deux sommets s, t ∈ V et un entier k ∈ N, la contrainte supplémentaire impose que la
distance (le nombre d’arêtes) entre s et t doit être au plus k. Dans un premier temps,
nous décrivons l’algorithme Complétion de la k − -chaîne. Cet algorithme est très
simple et il permet d’obtenir un facteur d’approximation 2. Dans un second temps, à
l’aide d’une réduction vers Chemin le plus étiqueté et des résultats du Chapitre 1,
nous prouvons que pour tout ǫ > 0, il ne peut exister d’algorithme polynomial avec un
facteur 2 − ǫ à moins que P = N P . Pour finir le chapitre, à l’aide d’un travail classique
de programmation dynamique nous décrivons un algorithme polynomial qui résout ce
problème sur la classe des graphes de largeur arborescente bornée.
6
à véracité garantie qui, à partir d’un montant bu que déclare chaque utilisateur, décide
quels utilisateurs obtiennent le service et à quel prix xu , avec xu ≤ bu . Un utilisateur
peut mentir et déclarer un montant bu différent de son utilité tu . Nous exhibons un mé-
canisme polynomial dans lequel les utilisateurs n’ont aucun intérêt à déclarer une offre
bu différente de leur utilité tu . A l’aide des résultats sur la polynomialité du problème et
la sous-modularité de la fonction de coût associée, nous pouvons adapter un mécanisme
pour les fonctions sous-modulaires présentés dans l’article [20] de manière à ce qu’il soit
polynomial pour la fonction de coût associée au problème Réduction de distances.
7
Introduction
8
Chapitre 1
Les problèmes d’optimisation de réseau sur des graphes étiquetés ont largement été
étudiés dans la littérature [10–13, 16, 19, 31, 32, 43, 47]. Nous détaillons certains des résul-
tats présents dans ces articles dans la Sous-section 1.1.3. Ces problèmes qui sont souvent
N P -difficiles ont été étudiés du point de vue l’approximation polynomiale. Plusieurs de
ces études considèrent des graphes dont les arêtes sont étiquetées (et non les sommets)
et où les étiquettes représentent des types de connexion différents. L’objectif est donc de
minimiser le nombre de types de connexions utilisées. Notre motivation est différente,
nous considérons des étiquettes sur les sommets, une étiquette représente l’appartenance
d’un sommet à une certaine composante. Notre but est de maximiser le nombre de com-
posantes visitées par un chemin dans un graphe orienté. Dans ce chapitre, nous utilisons
le voccabulaire des graphes colorés et étiquetés que l’on peut retrouver dans les ouvrages
cités plus haut. Ainsi, un graphe où toutes les étiquettes sont distinctes est un graphe
arc-en-ciel. Un graphe qui contient toutes les étiquettes est un graphe tropical. Enfin,
un graphe qui contient exactement une fois chaque étiquette est un graphe bien coloré.
Plus précisément, ce chapitre porte sur l’étude du problème suivant. Etant donné
un graphe orienté sans circuit D = (V, A), un ensemble d’étiquettes L et une fonction
d’étiquetage l : V → L, on cherche à trouver un chemin P de D tel que le nombre
d’étiquettes associées aux sommets de P est maximum. Pour simplifier, on dit qu’on
recherche un chemin qui collecte un maximum d’étiquettes.
Dans la Section 1.1, nous définissons les notions utiles pour la suite du chapitre, nous
donnons une application du problème et différents résultats sur les graphes étiquetés.
Dans la Section 1.2, à l’aide d’une réduction polynomiale à partir du problème Max-
3SAT, nous prouvons que le problème est AP X-difficile même sur des classes d’instances
particulières du problème. Avec ce résultat, nous démontrons dans la Section 1.3, à l’aide
d’une réduction du problème vers lui-même (auto-réduction), qu’il n’existe pas d’algo-
rithme polynomial qui résout le problème avec un facteur constant à moins que P = N P .
Le problème n’appartient donc pas à la classe AP X. Dans la suite du chapitre, nous
recherchons donc des algorithmes polynomiaux dont les facteurs ne sont pas constants.
1
Dans la Section 1.4, nous explicitons un algorithme avec un facteur √OP T
, où OP T est la
valeur d’une solution optimale du problème. Cet algorithme fonctionne aussi sur la ver-
9
Chapitre 1. Chemin le plus étiqueté
1.1 Préliminaires
1.1.1 Cadre de travail
Pour rappel, un DAG est un graphe orienté sans circuit.
Une propriété intéressante des DAG est que l’on peut définir un ordre partiel sur les
sommets. En effet, comme il ne peut y avoir de circuit, s’il existe un chemin d’un sommet
x vers un sommet y, il ne peut pas exister de chemin de y vers x. Cette constatation
nous conduit à introduire les définitions suivantes.
Lk est un sous-ensemble de l’ensemble des puits. Un chemin P est maximal par in-
clusion si et seulement si il connecte une source à un puits.
10
1.1. Préliminaires
Nous avons maintenant toutes les notions nécessaires pour définir le problème Che-
min le plus étiqueté dont l’étude est l’objectif principal de ce chapitre.
Chaque solution peut être étendue à un chemin maximal sans réduire le nombre
d’étiquettes collectées. On peut donc chercher un chemin maximum parmi les chemins
qui relient une source à un puits.
1.1.2 Application
Ce problème correspond à différentes situations concrètes. Prenons par exemple un
agent qui peut se déplacer sur les arêtes d’un réseau dans le but d’accomplir un ensemble
de tâches. Il connait le temps qu’il lui faut pour se déplacer sur une arête, le temps
requis pour exécuter une tâche et le sous-ensemble de nœuds où chaque tâche peut être
effectuée. Le but de l’agent est d’accomplir un maximum de tâches différentes en un
temps fixé. En utilisant une discrétisation du temps, ce problème se modélise comme
une instance de Chemin le plus étiqueté. Chaque sommet ut du DAG étiqueté (D, l)
correspond à la position de l’agent en u au temps t. Il existe un arc entre un sommet
ut et un sommet vt′ si, lorsque l’agent se trouve sur le sommet u au temps t, il peut
accomplir la tâche de u et rejoindre le sommet v avant le temps t′ . L’étiquette d’un
sommet ut correspond à la tâche qui peut être accompli en u au temps t, si plusieurs
tâches peuvent être accomplies en u au temps t, il suffit de séparer le sommet en plusieurs
copies reliées par un chemin que l’agent peut parcourir sans délai. Trouver un chemin qui
collecte un maximum d’étiquettes équivaut à trouver le chemin que doit suivre l’agent
pour accomplir un maximum de tâches. Nous donnons un exemple de cette application
sur la Figure 1.1.
11
Chapitre 1. Chemin le plus étiqueté
Figure 1.1 – Entre 9h et 10h, un livreur doit délivrer des paquets à Jacques (étiquette
J) Louis (étiquette L) et Pierre (étiquette P) en se déplaçant dans le graphe de gauche
où XM représente la maison de X et XT représente le lieu de travail de X. Il peut délivrer
un paquet à une personne seulement si elle est présente. Pierre est chez lui à 9h et au
travail à partir de 9h30. Jacques, au contraire, travaille de nuit jusqu’à 9h30 et rentre
chez lui pour 10h. Louis est sans emploi et reste chez lui. Le graphe de droite est le
graphe espace temps qui correspond aux données du problème. Si le livreur part de la
maison de Pierre à 9h, passe par le travail de Jacques à 9h30 et délivre le dernier paquet
chez Louis à 10h, il peut délivrer tout les paquets.
12
1.1. Préliminaires
13
Chapitre 1. Chemin le plus étiqueté
Nous séparons les réductions en deux sous-sections. Dans la première, nous expliquons
comment réduire l’ensemble des instances qui satisfont uniquement la condition (C2)
à l’ensemble des instances qui satisfont toutes les conditions (C1),...,(C4). Pour cela,
nous explicitons une suite de réductions qui nous donnent un lien entre les facteurs
d’algorithmes d’approximation sur les différentes classes d’instances.
Dans une deuxième sous-section, nous explicitons une réduction à partir de l’ensemble
des instances satisfaisables de Max-3SAT vers l’ensemble des instances de Chemin le
plus étiqueté qui satisfont les conditions (C2) et (*). Cette réduction, quant à elle,
préserve l’approximation.
Les résultats de ces deux sections, combinés avec l’AP X-difficulté des instances sa-
tisfaisables de Max-3SAT, impliquent l’AP X-difficulté de Chemin le plus étiqueté
pour les instances satisfaisant les conditions (C1) et (C4).
Lemme 1.1 Soit une instance (D, l) de Chemin le plus étiqueté, on peut construire
en temps polynomial une instance (D′ , l′ ) satisfaisant la condition (C1) et tel qu’il existe
14
1.2. Chemin le plus étiqueté est AP X-difficile
Résultats sur les instances satisfaisant (C1) et (C3) à partir des résultats sur
les instances satisfaisant (C1),(C2) et (*)
Lemme 1.2 Soit une instance (D, l) satisfaisant les conditions (C1),(C2) et (*), on peut
construire en temps polynomial une instance (D′ , l′ ) satisfaisant les conditions (C1) et
(C3). On a le rapport suivant entre les solutions, on pose r = k − |L| :
S’il existe un chemin dans (D, l) qui collecte n étiquettes alors il existe un chemin
dans (D′ , l′ ) qui collecte n + r étiquettes. S’il existe un chemin dans (D′ , l′ ) qui collecte
n étiquettes alors il existe un chemin dans (D, l) qui collecte au moins n − r étiquettes.
Preuve Soit un DAG sommet-étiqueté (D = (V, A), l) qui satisfait les conditions (C1)
(C2) et (*). Tout chemin maximal de D contient le même nombre k de sommets. Soit
m := |L| le nombre d’étiquettes des sommets de D. Comme (D, l) satisfait (C2), on sait
que m ≤ k. Nous construisons un DAG sommet-étiqueté (D′ , l′ ) de la manière suivante.
Pour chaque sommet v ∈ V (D), on fait correspondre l’ensemble {v0 , v1 , . . . , vr } ⊆ V (D′ ).
Le sommet v ∈ V (D) est l’antécédent des sommets {v0 , v1 , . . . , vr }. Un arc relie deux
sommets dans D′ si et seulement si un arc relie leur antécédent dans D.
Tout chemin maximal de D′ correspond à un chemin maximal de D, en particulier
il contient exactement k sommets. L’ensemble des étiquettes de D′ est L′ := L ∪ {m +
1, m + 2, . . . , m + r = k}. Pour chaque sommet v de D, l(v0 ) = l(v) et pour chaque entier
j ∈ {1, 2, . . . , r}, l’étiquette du sommet vj est m + j. Nous appelons l’instance (D′ , l′ )
l’extension de l’instance (D, l). Pour tout sommet v ∈ V , on ajoute r ≤ |V | sommets. Le
nombre de sommets ajoutés est donc polynomial et D′ se construit en temps polynomial.
15
Chapitre 1. Chemin le plus étiqueté
Lemme 1.3 S’il existe un algorithme polynomial qui produit un facteur α pour Chemin
le plus étiqueté restreint aux instances satisfaisant les conditions (C1) et (C3) alors
il existe un algorithme polynomial qui produit un facteur 3α − 2 pour Chemin le plus
étiqueté restreint aux instances satisfaisant les conditions (C1),(C2) et (*).
Preuve Supposons qu’il existe un algorithme polynomial ALG′ qui produit un fac-
teur α pour Chemin le plus étiqueté restreint aux instances (D′ , l′ ) satisfaisant
les conditions (C1) et (C3). Pour une telle instance (D′ , l′ ), l’algorithme calcule en
temps polynomial un chemin P ′ qui collecte αOP T (D′ , l′ ) où OP T (D′ , l′ ) est à la fois le
nombre k de sommets dans un chemin maximal de D′ et le nombre |L′ | d’étiquettes dans
(D′ , l′ ), i.e. OP T (D′ , l′ ) = |L′ | = k. Pour chaque instance (D, l) de Chemin le plus
étiqueté satisfaisant les conditions (C1),(C2) et (*), l’algorithme ALG suivant utilise
ALG′ comme routine et calcule un chemin P qui collecte (3α − 2)OP T (D, l) étiquettes
où OP T (D, l) = |L| est le nombre d’étiquettes de (D, l).
Algorithme 1 : ALG(D)
Données : Un DAG sommet-étiqueté (D, l)
Résultat : un chemin maximal de D qui collecte (3α − 2)OP T ((D, l)) étiquettes.
Calculer l’extension (D′ , l′ ) de l’instance (D, l) ;
Exécuter ALG′ sur (D′ , l′ ) pour produire un chemin P ′ qui collecte αOP T (D′ , l′ )
étiquettes de D′ ;
Retourner la projection P du chemin P ′ dans D ;
Pour prouver que l’algorithme ALG est correct, remarquons d’abord que l’extension
(D′ , l′ ) de (D, l) contient un chemin qui collecte chaque étiquette de (D′ , l′ ) exactement
une fois. En effet, par hypothèse, l’instance (D, l) satisfait la condition (C2). Il existe
donc un chemin tropical P ∗ dans D qui collecte m = |L| étiquettes. Par le Lemme 1.2,
l’extension de P ∗ dans (D′ , l′ ) collecte m + (k − m) = k = |L′ | étiquettes. Il nous reste à
prouver que le chemin P renvoyé par ALG collecte au moins (3α − 2)|L| étiquettes. Par
le facteur de l’algorithme ALG′ , P ′ collecte au moins αk étiquettes. Par le Lemme 1.2,
P collecte au moins αk − (k − m) = m + (α − 1)k étiquettes. Puisque D satisfait la
condition k ≤ 3m, P collecte au moins (3α − 2)m = (3α − 2)OP T (D, l) étiquettes.
16
1.2. Chemin le plus étiqueté est AP X-difficile
Résultats sur les instances satisfaisant (C1) et (C4) à partir des résultats sur
les instances satisfaisant (C1) et (C3)
Lemme 1.4 Etant donné une instance (D, l) satisfaisant les conditions (C1) et (C3), on
peut construire en temps polynomial une instance (D′ , l′ ) satisfaisant les conditions (C1)
et (C4) tel que il existe un chemin dans (D, l) qui collecte n étiquettes si et seulement
si il existe un chemin dans (D′ , l′ ) qui collecte n + r étiquettes, où r = 2p − k avec p le
plus petit entier tel que k ≤ 2p .
Preuve Considérons un DAG sommet-étiqueté (D, l) qui satisfait les conditions (C1)
et (C3). Tout chemin maximal de D contient le même nombre k = |L| de sommets.
L’ensemble L′ des étiquettes de (D′ , l′ ) est L ∪ {k + 1, . . . , k + r = 2p = k ′ }. Soit T
l’ensemble des puits de D. Considérons le DAG (D′ , l′ ) obtenu à partir de (D, l) en
ajoutant un chemin dirigé Q = (q1 , q2 , . . . , qr ) et en connectant chaque puits t ∈ T au
sommet q1 . Pour i = 1, . . . , r, on assigne au sommet qi une nouvelle étiquette k + i. Les
étiquettes des sommets de D′ qui appartiennent aussi à D restent inchangées. Il est clair
qu’à tout chemin de (D, l) qui collecte n étiquettes, correspond un chemin de (D′ , l′ ) qui
collecte n + r étiquettes et réciproquement.
Lemme 1.5 S’il existe un algorithme polynomial qui produit un facteur α pour Chemin
le plus étiqueté restreint aux instances satisfaisant les conditions (C1) et (C4) alors
il existe un algorithme polynomial qui produit un facteur 2α − 1 pour Chemin le plus
étiqueté restreint aux instances satisfaisant les conditions (C1) et (C3).
1.2.2 Résultat sur Chemin le plus étiqueté à partir des résultats sur
Max-3SAT
Nous passons maintenant à la réduction la plus importante. Dans un premier temps,
nous rappelons la définition du problème Max-3SAT ainsi que le résultat d’inapproxi-
mabilité donné par Håstad en 2001 pour ce problème [33].
Données: Une formule booléenne F , i.e une collection de clauses qui sont des disjonc-
tions d’au plus trois littéraux.
Problème: Trouver une affectation des variables de F qui satisfait un nombre maximum
de clauses.
17
Chapitre 1. Chemin le plus étiqueté
Une instance de Max-3SAT est satisfaisable s’il existe une affectation des variables
qui satisfait toutes les contraintes. Nous pouvons déjà voir le parallèle entre une formule
satisfaisable et un chemin tropical.
Le résultat suivant a été établi par Håstad en 2001.
Théorème 1.1 (Håstad [33]) A moins que P 6= N P , il n’existe aucun algorithme po-
lynomial avec un facteur supérieur à 78 pour Max-3SAT même restreint aux instances
satisfaisables du problème.
Preuve Etant donné une instance F de Max-3SAT, nous définissons une instance
(DF = (V, A), l) de Chemin le plus étiqueté comme suit. Soient {x1 , x2 , ..., xq }
l’ensembles des variables de F. Pour tout j ∈ {1, ..., q}, on note par Aj le nombre
d’occurrences du littéral xj et par Bj le nombre d’occurrences de sa négation. On crée
Aj + Bj sommets et les nommons xj,1 , xj,2 , ..., xj,Aj et ¬xj,1 , ¬xj,2 , ..., ¬xj,Bj . On crée
un chemins P (xj ) qui connecte les sommets qui représentent les littéraux xj , i.e. on
ajoute un arc (xj,i , xj,i+1 ) pour tout i ∈ {1, . . . , AJ − 1}. De la même manière, on crée un
chemins P (¬xj ) qui connecte les sommets qui représentent les littéraux ¬xj . Pour tout
j ∈ {1, ..., q − 1}, on connecte par un arc le dernier sommet de P (xj ) et de P (¬xj ) aux
premiers sommets de P (xj+1 ) et de P (¬xj+1 ). Définissons la fonction d’étiquetage l :
V → L := {1, . . . , m} où m est la cardinalité de l’ensemble des clauses {C1 , C2 , . . . , Cm }
de F. Il y a une correspondance directe entre les occurrences des littéraux dans les clauses
et les sommets de DF . Un sommet u reçoit l’étiquette j si et seulement si u correspond
à l’occurrence d’un littéral de la clause Cj (voir Fig. 1.2).
En appliquant la réduction aux instances satisfaisables F de Max-3SAT, nous obte-
nons une instance (DF , l) de Chemin le plus étiqueté qui contient un chemin tropical,
i.e qui satisfait la condition (C2). De plus, puisque chaque clause contient au plus trois
littéraux, le nombre k de sommets dans un chemin maximal de DF est au plus trois
fois le nombre m d’étiquettes, i.e. k ≤ 3m (condition (*)). Dans le graphe DF , chaque
chemin maximal P est un chemin reliant un sommet de {x1,1 , ¬x1,1 } à un sommet de
{xq,Aq , ¬xq,Bq } qui contient pour tout j ∈ {1, . . . , q} P (xj ) ou P (¬xj ) mais pas les deux.
Ainsi, P représente une affectation des variables (xj = vrai ⇔ P (xj ) ⊂ P ).
A partir du choix de l’étiquetage des sommets de DF , il est facile de vérifier qu’une
affectation des variable satisfaisant n clauses correspond à un chemin maximal contenant
n étiquettes. Cette transformation produit en temps polynomial l’instance (DF , l) satis-
faisant les conditions (C2) avec k ≤ 3|L| (*). De plus, en effectuant la transformation du
Lemme 1.1, on peut assurer que notre instance de Chemin le plus étiqueté satisfait
aussi la condition (C1).
En utilisant le Théorème 1.1, cela conclut la preuve du Théorème 1.2.
18
1.3. Inapproximabilité de Chemin le plus étiqueté
1 a1 ¬a1 2 1 a1 ¬a1 2
1 b1 ¬b1 3 1 b1 ¬b1 3
2 b2 2 b2 3
3
1 c1 ¬c1 2 1 c1 ¬c1 2
3 c2 3 c2 2
Pour la section suivante, nous avons besoin d’un résultat d’inapproximabilité sur les
instances de Chemin le plus étiqueté satisfaisant les conditions (C1) et (C4). Le
Lemme 1.3 et le Lemme 1.5 nous permettent d’étendre le résultat du Théorème 1.2 à
ces instances.
Il est important que le résultat négatif soit valable pour le sous-ensemble des instances
qui vérifient les conditions (C1) et (C4). En effet, l’auto-réduction que nous décrivons
dans la section suivante n’est valable que pour les instances satisfaisant ces conditions.
19
Chapitre 1. Chemin le plus étiqueté
prouvons qu’il n’existe pas d’algorithme d’approximation avec un facteur constant pour
le problème Chemin le plus étiqueté restreint à l’ensemble des instances satisfaisant
les conditions (C1) et (C4). Mais il est clair que tout résultat négatif sur ce sous-ensemble
d’instances s’étend directement à l’ensemble de toutes les instances.
Pour prouver le Théorème 1.4, nous raisonnons par l’absurde. Nous supposons qu’il
existe un algorithme polynomial avec un facteur α et nous prouvons que cela implique
qu’il existe un algorithme avec un facteur meilleur que 47
48 pour le problème Chemin le
plus étiqueté. Pour cela, nous montrons que si il existe un algorithme d’approximation
avec un facteur constant α, nous pouvons déduire un algorithme avec un facteur g(α),
où g est une fonction croissante définie ultérieurement. Ce résultat est obtenu à partir
d’une réduction du problème vers lui-même (auto-réduction). Cette réduction permet
d’obtenir un algorithme avec un facteur g(α) à partir d’un algorithme avec un facteur
α. A partir d’une instance (D, l), nous construisons une instance (D̃, ˜l) sur laquelle nous
calculons un chemin P̃ avec l’algorithme dont le facteur est α, et nous déduisons un
chemin P dans D qui collecte g(α)OP T ((D, l)) étiquettes.
20
1.3. Inapproximabilité de Chemin le plus étiqueté
1.3.3 Auto-réduction
1 3
c e
2 a f 4
b d cc ec ce ee
3 2
ac fc ae fe
S1,2 (1) S1,2 (3)
ca ea bc dc be de cf ef
ba da cb eb cd ed bf df
S1,2 (3) S1,2 (2)
ab fb ad fd
Da
bb db bd dd fd1 fd2 fd3 fd4
P (fd )
Figure 1.3 – Un exemple de graphe carré D̄ avec k = |L| = 4. Nous avons représenté
en gras un chemin optimal P de D et son chemin correspondant P̄ dans D̄. Dans le sous
graphe Da , chaque sommet v de D̄ est étiqueté par un sous ensemble d’étiquettes reçues
par les sommets du chemin P (v) de D̃. Dans D̃, le sommet fd de D̄ est remplacé par le
chemin P (fd ).
21
Chapitre 1. Chemin le plus étiqueté
Lemme 1.6 Il existe un chemin bien coloré dans D̃ qui collecte toutes les étiquettes de
L̃.
Preuve Soit P un chemin tropical de D qui collecte toutes les étiquettes de L. On
considère le chemin P̃ qui passe par chaque sous-graphe Du pour tout u ∈ P et tel que
le sous-chemin P̃u de P̃ à l’intérieur du sous-graphe Du passe par les sommets vu pour
tout v ∈ P (Voir Fig 1.3). Puisque P collecte chaque étiquette de L une fois, le sous
chemin P̃u collecte tous les sous-ensembles de la partition Sλ(u),l(u) . Ce qui implique que
P̃u collecte chaque étiquette de L̃l(u) exactement une fois. En appliquant cette assertion
à tous les sommets u ∈ P et en réutilisant que P collecte chaque étiquette de L, nous
S
concluons que P̃ collecte toutes les étiquettes de L̃ = u∈P L̃l(u) exactement une fois.
Le lemme précédent et le fait que |L̃| est une puissance de deux nous assurent que D̃
est une instance de Chemin le plus étiqueté satisfaisant les conditions (C1) et (C4).
De plus, l’instance D̃ peut être construite en temps polynomial à partir de l’instance D.
22
1.3. Inapproximabilité de Chemin le plus étiqueté
Lemme 1.7 Pour tout 0 < β < 1, la suite βn définie par β0 = β et βn+1 = g(βn ) a
pour limite 1.
Lemme 1.9 S’il existe un algorithme polynomial avec un facteur β pour Chemin le
plus étiqueté alors il existe un algorithme polynomial avec un facteur g(β) pour Che-
min le plus étiqueté.
Preuve Supposons qu’il existe un algorithme polynomial ALGβ qui produit un facteur
au moins β sur Chemin le plus étiqueté. Soit D une instance de Chemin le plus
étiqueté, nous utilisons l’algorithme suivant :
23
Chapitre 1. Chemin le plus étiqueté
D qui collecte g(β)k étiquettes. Dans le second cas, les sommets de Q qui appartiennent
au sous-graphe Du induisent un chemin dans D qui collecte g(β)k étiquettes. Ainsi, si
une des deux assertions est vraie, on peut dériver en temps polynomial un chemin P de
D qui collecte g(β)k étiquettes et la preuve du lemme est finie.
Supposons par contradiction qu’aucune de ces deux assertions ne soit vraie, |LQ | <
g(β)k et pour tout u ∈ V Q , αu < g(β). Soit c une étiquette de LQ . Nous notons
VcQ ⊆ V Q l’ensemble des sommets u ∈ V Q tels que l(u) = c et nous définissons αc :=
maxu∈V Q αu et uc := arg maxu∈V Q αu . Par hypothèse, αc < g(β). Dans Duc , Q collecte
P c
′ P c
2
Q |Sc,λ(u) (c )| = Q k = αc k étiquettes.
c ∈L
′
uc c ∈L
′
uc
[ [
Sc,λ(u) (c′ ) − Sc,λ(uc ) (c′′ ) = k− Sc,λ(u) (c′ ) ∩ Sc,λ(uc ) (c′′ ) (1.1)
c′′ ∈LQ
uc c′′ ∈LQ
uc
X
= k− Sc,λ(u) (c′ ) ∩ Sc,λ(uc ) (c′′ ) (1.2)
c′′ ∈LQ
uc
X
= k− 1 (1.3)
c′′ ∈LQ
uc
24 = k − αc k (1.4)
1.3. Inapproximabilité de Chemin le plus étiqueté
Nous déduisons (1.1) de Sc,λ(u) (c′ ) = k et des propriétés d’ensembles. Pour (1.2),
rappelons que la famille {Sc,λ(uc ) (c′′ ) : c′′ ∈ LQ
uc } est une partition L̃c . Le choix des parti-
tions utilisées pour définir la fonction d’étiquetage de D̃ assure que Sc,λ(u) (c′ ) ∩ Sc,λ(uc ) (c′′ ) =
1 et explique (1.3). Pour (1.4), nous utilisons |LQuc | = αc k. Nous concluons que le nombre
d’étiquettes collectées par Q dans Du et qui ne sont pas collectées par Q dans Duc est
|LQ Q
u |(k − αc k). Puisque (k − αc k) ≥ 0 et |Lu | = αu k ≤ αc k, ce nombre est au plus
αc k(k − αc k).
En utilisant la borne pour tous les sommets u ∈ VcQ − {uc } et le fait que αc k 2
étiquettes sont collectées par Q dans Duc , nous obtenons la borne suivante sur le nombre
d’étiquettes de L̃c collectées par Q :
En sommant sur toutes les étiquettes c ∈ LQ , nous obtenons que le nombre total
d’étiquettes collectées par Q est majoré comme suit :
X
L̃Q ≤ k2 αc + αc (|VcQ | − 1)(1 − αc )
c∈LQ
X
2
< k g(β) + αc (|VcQ | − 1)(1 − αc ) (∗)
c∈LQ
X 1
Q 2
L̃ < k g(β) + (|VcQ | − 1) (1.5)
4
c∈LQ
X
1 1 X
< k 2 g(β) − 1+ |VcQ | (1.6)
4 4
c∈LQ c∈LQ
1 1
< k2 g(β)k + k
g(β) − (1.7)
4 4
1 1
< k 3 g(β)2 − g(β) + (1.8)
4 4
3
< k (h(g(β))) (1.9)
3
< k β (1.10)
25
Chapitre 1. Chemin le plus étiqueté
Dans (1.7), nous déduisons la borne supérieure du membre de gauche de la somme par
P
la supposition initiale g(β)k > |LQ | = c∈LQ 1 et (g(β) − 41 ) ≥ 0. Comme tout chemin
P
entre s et t dans D contient exactement k sommets, nous obtenons que c∈LQ |VcQ | = k.
(1.10) contredit le choix de Q et conclut la preuve du cas g(β) ≥ 21 .
Supposons maintenant que g(β) < 21 . Puisque la fonction x(1 − x) est strictement
croissante sur l’intervalle ]0, 21 [ et |VcQ |−1 ≥ 0, pour tout c ∈ LQ , nous pouvons remplacer
αc par g(β) dans l’inéquation (∗) :
X
|L̃Q | < k 2 g(β) + g(β)(|VcQ | − 1) (1 − g(β)) (1.11)
c∈LQ
X
< k 2 g(β) 1 − (1 − g(β)) + |VcQ | (1 − g(β)) (1.12)
c∈LQ
X X
< k 2 g(β) g(β) 1 + (1 − g(β)) |VcQ | (1.13)
c∈LQ c∈LQ
< k 2 g(β) g(β)2 k + (1 − g(β)) k (1.14)
= k 3 g(β) g(β)2 − g(β) + 1 (1.15)
3
= k h(g(β)) (1.16)
3
< k β (1.17)
P P
Nous utilisons encore c∈LQ 1 < g(β)k et c∈LQ |VcQ | = k pour obtenir (1.14). (1.17)
contredit le choix de Q et conclut la preuve du cas g(β) < 12 .
Dans les deux cas, nous obtenons une contradiction avec la supposition que Q collecte
au moins βk 3 étiquettes. Ceci conclut la preuve du Lemme 1.8 et celle du Théorème 1.4.
Dans la section précédente, nous avons montré qu’il n’existe pas d’algorithme poly-
nomial avec un facteur constant pour le problème Chemin le plus étiqueté à moins
que P = N P . Dans cette section, nous présentons un algorithme d’approximation avec
un facteur non constant pour Chemin le plus étiqueté. Nous expliquons par la suite
comment améliorer ce facteur.
26
1.4. Algorithme d’approximation avec un facteur √ 1
OP T
B(v, j) l’ensemble des sommets des chemins d’origine v qui contiennent au plus j arêtes
(j + 1 sommets). P ∗ contient exactement une fois chaque étiquette du graphe donc, pour
tout sommet v de P ∗ et tout j ∈ {1, ..., k − λ(v)}, B(v, j) contient au moins j étiquettes.
Rappelons que λ(v) définit le niveau du sommet v dans le DAG.
Nous présentons d’abord une routine de nettoyage des sommets qui permet de ne
conserver que des sommets qui vérifient la propriété précédente.
Algorithme
L’algorithme est assez simple, nous le définissons de manière récursive. On pose v0 = s
la source du DAG. On note vj le sommet sur lequel on a collecté la jème étiquette. Comme
vj n’a pas été supprimé par la routine, B(vj , j + 1) contient au moins j + 1 étiquettes,
vj+1 ∈ B(vj , j + 1) est un sommet tel que, pour tout i ∈ [[1, j]], l(vj+1 ) 6= l(vi ).
Pour tout j, le chemin (v1 , ..., v2 , ..., v3 , ...., vj ) collecte au moins j étiquettes et
contient au plus 1 + 2 + ... + j = j(j+1)
2 < j 2 sommets.
Ainsi, si k est le nombre d’étiquettes et de niveaux, (v1 , ..., v2 , ..., v3 , ...., v⌊√k⌋ ) collecte
√
au moins ⌊ k⌋ étiquettes et contient au plus k sommets.
27
Chapitre 1. Chemin le plus étiqueté
Comme pour la version non pondérée du problème, le poids d’une étiquette qui
apparait plusieurs fois dans P ne compte qu’une fois dans la somme.
Cadre de travail
Pour simplifier la description de l’algorithme, nous supposons que le graphe contient
une unique source s et un unique puits t. Notre algorithme peut aisément être adapté
pour traiter le cas de plusieurs sources et plusieurs puits en introduisant une super source
S (resp. un super-puits T ) qui a un arc sortant (resp. entrant) vers chaque source (resp.
à partir de chaque puits) de D . Sans perte de généralité, nous pouvons aussi supposer
que (i) la source s de D a une étiquette de poids 0 (une instance équivalente satisfaisant
cette condition peut être obtenue en ajoutant à D une nouvelle source s′ dont l’étiquette
est de poids 0 et un arc s′ s) ; (ii) tous les autres sommets ont une étiquette de poids
strictement positif. On peut supprimer un sommet dont l’étiquette est de poids zéro en
remplaçant chaque chemin de longueur deux passant par ce sommet par un arc.
Pour tout u ∈ V , P (u) est un chemin qui réalise le maximum F (u), i.e. F (u) =
minxy∈P (u) F (x) + Γ(y, u).
Le lemme suivant montre que, pour chaque sommet u ∈ V, F (u) est bien une borne
supérieure du poids total des étiquettes qui peuvent être collectées par un su-chemin.
28
1.4. Algorithme d’approximation avec un facteur √ 1
OP T
Corollaire 1.1 F (t) ≥ OP T où OP T est le poids maximum des étiquettes qui peuvent
être collectées par un st-chemin.
Le lemme suivant est nécessaire pour prouver que l’algorithme Calcul du chemin
est correct.
29
Chapitre 1. Chemin le plus étiqueté
p 2
Lemme
p 1.11 Il existe un arc (xy) dans P (u) tel que F (x) ≤p (⌊ F (u)⌋ − 1) et F (y) ≥
2
(⌊ F (u)⌋ − 1) . De plus, si (xy) est un tel arc, Γ(y, u) ≥ ⌊ F (u)⌋.
p
Preuve
p La première assertion est vraie car F (s) = 0 ≤ (⌊ F (u)⌋ − 1)2 et F (u) ≥
(⌊pF (u)⌋ − 1)2 . Pour vérifier
p la seconde assertion, soit xy un arc tel que F (x) ≤
(⌊ F (u)⌋ − 1)2 et F (y) ≥ (⌊ F (u)⌋ − 1)p2 . Puisque xyp∈ P (u), F (x) + Γ(y,
p u) ≥ F (u).
Cela 2 2
p implique Γ(y, u) ≥ F (u) − F (x) ≥ ⌊ F (u)⌋ − (⌊ F (u)⌋ − 1) = 2⌊ F (u)⌋ − 1 ≥
⌊ F (u)⌋.
Théorème
p 1.5 Calcul du chemin(u) calcule un chemin P ′ .Q tel que c(P ′ .Q) ≥
⌊ F (u)⌋.
Preuve Nous procédons par induction sur le nombre d’appels récursifs. Si u = s l’al-
gorithme retourne le chemin (s) qui collecte l’étiquette l(s) de poids F (s) = 0. D’autre
part, la première
p assertion du Lemme p 1.11 assure2 que P (u) contient un arc xy tel que
2
F (x) ≤ (⌊ F (u)⌋ − 1) et F (y) ≥ (⌊ F (u)⌋ − 1) . Parphypothèse d’induction, p Calcul
du chemin(y) retourne un chemin P ′ tel que c(P ′ ) ≥ ⌊ F (u)⌋ − 1. Si c(P ′ ) ≥ ⌊ F (u)⌋,
p p
alors par suite, c(P ′ .Q) ≥ ⌊ F p(u)⌋. Maintenant, supposons que c(P ′ ) = ⌊ F (u)⌋ − 1.
Par le Lemme 1.11, Γ(y, u) ≥ ⌊ F (u)⌋. Ceci implique que Dy,u contient au moins une
étiquette non collectée par P ′ (et ainsi distincte de l(y)). Un parcours de Dy,u permet de
trouver un sommet v 6= y ayant cette étiquette et un chemin Q entre y et u passant par
v.pPuisque c(l(v)) ≥ 1, le chemin
p P ′ .Q collecte des étiquettes de poids total supérieur à
⌊ F (u)⌋ − 1 + c(l(v)) ≥ ⌊ F (u)⌋.
Pour conclure cette section, le théorème précédent ainsi que le Corollaire 1.1 nous
1
mène à la conclusion que Calcul du chemin est une √OP T
-approximation en temps
polynomial de Chemin le plus étiqueté pondéré.
30
1
1.5. OP T ǫ -approximation pour Chemin le plus étiqueté
entre y et t qui passe par v peut encore une fois être le yt-chemin du haut. Finalement,
Calcul du chemin(t) peut retourner le chemin du haut qui collecte 3 étiquettes alors
que l’optimum est le chemin du bas qui collecte 9 étiquettes. Des exemples arbitrairement
grands peuvent être obtenus en utilisant une construction analogue.
10 1 10 9 1 10 9
x x y v x x x
1 s t 9
x x x x x x x
2 3 4 5 6 7 8
1
1.5 OP T ǫ -approximation pour Chemin le plus étiqueté
Dans cette section, nous décrivons une méthode pour améliorer la performance de
1
notre √OP T
-approximation pour Chemin le plus étiqueté. Nous décrivons d’abord
la méthode pour le cas non pondéré que nous adaptons ensuite pour prendre en compte
le poids des étiquettes. Nous transformons un algorithme qui retourne un chemin col-
′
lectant c OP T α étiquettes en un algorithme qui retourne un chemin collectant c′ OP T α
1
étiquettes où α′ = 2−α et c′ est une constante dépendante de c et α. En commençant avec
1
notre √OP T
-approximation et en appliquant n fois cette transformation, nous obtenons
n
un algorithme qui retourne des chemins qui collectent au moins c(n)OP T n+1 étiquettes
où c(n) est une constante dépendante de n. Pour tout ǫ > 0, il existe un entier n tel
n
n
que n+1 > 1 − ǫ, ainsi, pour OP T assez grand, c(n)OP T n+1 ≥ OP T 1−ǫ . Si OP T est
borné, une solution optimale peut être calculée en temps polynomial par un algorithme
de programmation dynamique semblable à celui de la Section 1.7.
Théorème 1.6 Pour tout ǫ > 0 et toute instance (D, l) de Chemin le plus étiqueté,
on peut calculer en temps polynomial un chemin qui collecte OP T (D)1−ǫ étiquettes.
1.5.1 Préliminaires
Soit (D, l) une instance de Chemin le plus étiqueté, avec L comme ensemble
d’étiquettes. Soit un sous-ensemble des étiquettes L′ ⊆ L, la projection de l’instance D
sur L − L′ est l’instance D − L′ obtenue à partir de D en supprimant les étiquettes de
L′ . Dans l’instance projetée, des sommets peuvent ne pas avoir d’étiquette. Ces sommets
peuvent être supprimés en remplaçant chaque chemin de longueur deux qui passe par
un tel sommet par un arc (comme dans la Section 1.4.2 pour les sommets ayant une
étiquette de poids 0). Rappelons que pour toute paire de sommets x, y ∈ V, Dx,y est le
graphe induit par les sommets qui sont sur un xy-chemin. Un sommet y est dit couvert
par un sommet x si y ∈ V (Dx,t ). Par extension, y est dit couvert par un ensemble de
31
Chapitre 1. Chemin le plus étiqueté
Preuve Sans perte de généralité, nous supposons que la source s de D n’a pas d’étiquette
(une instance équivalente satisfaisant cette condition peut être obtenue en ajoutant à D
une nouvelle source s′ sans étiquette et un arc s′ s). Par induction sur i, nous prouvons
que pour tout sommet u ∈ Si , il existe un chemin entre s et u qui collecte exactement
βi étiquettes. Puisque S0 = {s} et que s n’a pas d’étiquette, la condition est vraie pour
i = 0. Supposons maintenant que la condition est satisfaite pour i − 1. Pendant la ième
itération de l’algorithme Construction par niveaux, si un sommet u est ajouté à Si
32
1
1.5. OP T ǫ -approximation pour Chemin le plus étiqueté
Si ← sources(Si );
retourner {Pu : u ∈ Sk }
µ(0) := 0
µ(i + 1) := µ(i) + iβ + βe
Lemme 1.13 Pour tout i tel que µ(i) ≤ p, le sous-ensemble de sommets Si calculé par
Construction par niveauxβ,k (D) couvre uµ(i) .
33
Chapitre 1. Chemin le plus étiqueté
Considérons maintenant que le DAG étiqueté (D, l), contient un sy-chemin P avec p
étiquettes distinctes. La procédure Construction par niveauxβ,k appelée sur D avec
2/α p α 1
α −1
β = ⌊( 2c 3 ) 2−α ⌋ et k = ⌊ β 1 ⌋ retourne un chemin qui collecte au moins (β − 1)(k − 1)
cα
étiquettes et termine en un sommet v couvrant y. Mais pour p assez grand, (β − 1)(k − 1)
1
est équivalent à βk = c′ p 2−α , avec c′ une constante dépendante de c et α.
Il nous reste à confirmer que le sy-chemin termine bien en un sommet v couvrant y,
2
puisque par définition µ(k) = k βe + k(k−1)2 β ≤ k βe + k2 β, nous déduisons
1
β α −1 3 2−α
µ 1 ≤ 2 β α = p.
c α 2c α
Donc, uµ(k) est un sommet de P et par le Lemme 1.13, Sk doit contenir un sommet v
couvrant uµ(k) . Par le Lemme 1.12, Construction par niveauxβ,k retourne un chemin
′ 1
qui termine en v et qui collecte exactement βk = c′ pα étiquettes avec α′ = 2−α et donc
Construction par niveauxβ,k ∈ A 1 .
2−α
La construction précédente transforme tout algorithme polynomial A ∈ Aα en un
algorithme polynomial A′ ∈ A 1 , ce qui conclut la preuve du Théorème 1.6 et prouve
2−α
1
l’existence d’un algorithme polynomial facteur OP T ǫ pour tout ǫ > 0.
34
1.6. Collecter toutes les étiquettes avec un nombre minimum de chemins
nλ. Ceci nous mène à la seconde inégalité. Finalement, la dernière inégalité suit par
définition de λ. Nous en concluons que l’algorithme pour Chemin le plus étiqueté
pondéré qui consiste à mettre à l’échelle les poids d’une instance , à la transformer en
une instance de Chemin le plus étiqueté et à résoudre le problème sur cette instance,
a pour facteur OP1T ǫ .
En utilisant les résultats des sections précédentes, nous prouvons que MPCL n’ap-
partient pas à AP X et décrivons pour tout réel fixé ǫ > 0, un algorithme qui calcule
en temps polynomial une solution de MPCL dont le nombre de chemins est au plus
ln(|L(D)|)|L(D)|ǫ OP T .
Preuve Supposons, par contradiction, qu’il existe un algorithme ALG avec un facteur
α pour MPCL. Soit (D, l) un DAG sommet-étiqueté avec un chemin collectant toutes
les étiquettes, ALG calcule en temps polynomial au plus α chemins qui collecte toutes
les étiquettes de D. Un de ces chemins doit collecter au moins |L|/α étiquettes. Ainsi,
l’existence d’un algorithme avec un facteur constant pour MPCL implique l’existence
d’un algorithme avec un facteur constant pour Chemin le plus étiqueté, ce qui est
impossible à moins que P = N P par le Théorème 1.4.
35
Chapitre 1. Chemin le plus étiqueté
Preuve Soit (D, l) une instance de MPCL avec L(D) l’ensemble d’étiquettes, nous défi-
nissons par N la valeur optimale de (D, l), i.e le nombre minimum de chemins nécessaires
pour collecter toutes les étiquettes de (D, l).
On construit (D′ , l′ ) comme N copies de (D, l) : (D1 , l), . . . , (DN , l) telles que pour
tout i < N , il existe un arc entre tout puits de Di et toute source de Di+1 . Dans
(D′ , l′ ), il existe un chemin qui collecte toutes les étiquettes de L(D). De plus, à partir
d’un ensemble de k chemins de D′ qui collectent toutes les étiquettes on peut extraire
un ensemble de kN chemins dans D qui collectent toutes les étiquettes. En devinant
N ≤ |L(D)|, (D′ , l′ ) peut être construit en temps polynomial. Par cette transformation,
nous nous ramenons à une instance où il existe un chemin qui collecte toutes les étiquettes
du DAG-étiqueté (OP T = 1). Nous décrivons un algorithme sur D′ . Par le Théorème 1.6,
pour tout ǫ > 0, il existe un algorithme Aǫ pour Chemin le plus étiqueté qui calcule
un chemin collectant|L(D′ )|1−ǫ étiquettes.
L’algorithme Bǫ pour MPCL est le suivant : on applique Aǫ sur D′ pour trouver un
chemin P0 , puis on supprime les étiquettes de P0 de D′ et on applique encore Aǫ pour
trouver un chemin P1 et on répète le processus jusqu’à ce que toutes les étiquettes soient
collectées. La valeur de la solution retournée par l’algorithme A est le nombre de fois où
l’algorithme Aǫ doit être utilisé sur D′ .
Nous définissons la fonction fǫ (x) := (|L(D′ )|ǫ − ǫx)1/ǫ qui est positive, convexe et
′ ǫ
décroissante sur l’intervalle réel [0, |L(Dǫ )| ]. Nous prouvons par induction que pour tout
entier positif i, fǫ (i) est une borne supérieure du nombre d’étiquettes qui restent après
la ième itération. Puisque fǫ (0) = |L(D′ )|, cette propriété est vraie pour i = 0.
Puisque f est une fonction convexe, nous avons
Par induction, il reste r ≤ fǫ (i) étiquettes après le ième itération. Puisqu’il existe un
chemin les collectant toutes, Aǫ retourne un chemin P avec au moins r1−ǫ étiquettes.
Après la suppression de ces étiquettes, il reste au plus r−r1−ǫ ≤ fǫ (i)−fǫ (i)1−ǫ étiquettes
dans D′ car la fonction x − x1−ǫ est croissante et r ≤ f (i). Ainsi, fǫ (i + 1) est bien une
borne supérieure du nombre d’étiquettes qui restent après la i + 1ème itération.
1 ln(1−ǫ)
Nous remarquons que fǫ (|L(D′ )|ǫ ) = |L(D′ )|(1 − ǫ) ǫ = |L(D′ )| exp ǫ .
Or, limǫ→0 ln(1−ǫ)
ǫ = − limǫ→0 ln(1−ǫ)−ln(1)
−ǫ = − ln′ (1) = −1.
1 1
1 1
La fonction (1 − ǫ) ǫ tend donc vers e par valeur inférieure, donc (1 − ǫ) < e .
ǫ
′
Nous en déduisons que fǫ (|L(D′ )|ǫ ) < |L(D
e
)|
et par continuité, en réitérant le même
′ ′ ǫ
raisonnement, fǫ (ln(|L(D )|)|L(D )| ) < 1.
Le nombre de chemins retournés par Bǫ sur D′ est au plus ln(|L(D′ )|)|L(D′ )|ǫ .
On peut donc calculer en temps polynomial une solution sur D de valeur au plus
ln(|L(D)|)|L(D)|ǫ N .
36
1.7. Les algorithmes non polynomiaux
Où δ − (x) est l’ensemble des arcs entrants dans x. Pour simplifier, si x est une source,
le seul ensemble pour lequel P (x, L) n’est pas nul est {l(x)}. Si x n’est pas une source, un
chemin arrive en x en ayant collecté l’ensemble d’étiquettes L si un de ces prédécesseurs
a collecté l’ensemble L ou l’ensemble L − {l(x)}.
Théorème 1.9 P (x, L) = 1 si et seulement s’il existe un chemin entre une source et x
qui collecte exactement les étiquettes de L.
Théorème 1.10 L’algorithme qui consiste à calculer P (x, L) pour tout (x, L) ∈ V × 2L
et à renvoyer le chemin collectant le plus d’étiquettes résout le problème Chemin le
plus étiqueté et s’effectue en temps O(2|L| |E|).
37
Chapitre 1. Chemin le plus étiqueté
L ∈ 2L , on considère au plus une fois chaque arc (x′ x), pour le calcul de P (x, L). Ce qui
nous donne directement la complexité désirée.
Pour conclure, l’algorithme est FPT avec pour paramètre nombre d’étiquettes dans
le graphe. Les questions de trouver un algorithme FPT avec pour paramètre OP T ou le
nombre de niveaux du graphe restent ouverte.
38
Chapitre 2
La recherche d’un arbre couvrant de poids minimum est un problème classique d’op-
timisation combinatoire. En effet, c’est un des plus simples problèmes de connexité. Dans
le domaine de la conception de réseaux la contrainte de connexité est généralement pré-
sente et des conditions plus fortes peuvent être requises, comme la multi-connexité qui
garantit une certaine résistance aux pannes. Une autre thématique importante est la
distance qui joue un rôle crucial dans les délais. Les distances considérées peuvent être
requises sur certains sommets du graphes ou bien sur l’ensemble de tous les sommets
pour des mesures comme le diamètre. Enfin l’intermédiarité est une contrainte dans les
réseaux qui permet d’imposer une certaine forme globale. Celle-ci demande à certains
sommets de séparer d’autres sommets dans le réseau, ce premier ensemble agit comme
une coupe, qui est une notion centrale de la conception de réseaux et duale à la connexité.
Dans ce chapitre, nous considérons des problèmes obtenus par l’ajout de certaines
contraintes d’intermédiarité ou de distance au problème d’arbre couvrant minimum.
Les contraintes ajoutées ne portent que sur quelques sommets de manière à ce que le
problème d’optimisation combinatoire lié qui ne considère que ces contraintes ajoutées
reste polynomial. De plus notre objectif est aussi d’esquisser une frontière parmi les
problèmes basés sur l’arbre couvrant de poids minimum entre les problèmes polynomiaux
et ceux qui ne le sont pas.
Nous détaillons les trois variantes du problème d’arbre couvrant minimum que nous
considérons dans ce chapitre. Soit un graphe G = (V, E) pondéré par une fonction
poids c : V → Q. Etant donné un sommet central v ∈ V et un ensemble de sommets
spéciaux u = {u1 , u2 , ..., uk } ⊆ V , la première variante consiste à trouver un arbre T de
poids minimum tels que pour tout i, j ∈ {1, ..., k}, la chaîne entre ui et uj passe par le
sommet central v. Etant donné deux sommets disjoints u, v ∈ V , et un entier k ∈ N fixé
(pas en entrée du problème), la seconde variante consiste à trouver un arbre T de poids
minimum tel que la chaîne entre u et v contient au moins k arêtes. Le troisième problème
est semblable au second, sauf que l’entier k est une entrée du problème et que l’on impose
d’avoir une chaîne entre u et v qui contient au plus k arêtes. Nous démontrons dans la
39
Chapitre 2. Arbres couvrants de poids minimum sous contraintes
Section 2.3 et le Section 2.4 que les deux premiers problèmes présentés ci-dessus peuvent
être résolus en temps polynomial comme un ou plusieurs problèmes de recherche d’un
indépendant de poids maximum commun à deux matroïdes. Dans la Section 2.2, nous
rappelons donc quelques notions sur les matroïdes, notamment le problème de recherche
d’un indépendant de poids maximum commun à deux matroïdes. Dans cette section, nous
définissons aussi le matroïde U -graphique qui nous est utile dans la résolution des deux
problèmes. Le troisième problème qui est étudié dans la Section 2.5 ne peut pas être résolu
en temps polynomial à moins que P = N P . Dans cette section, nous prouvons même
que pour tout ǫ ∈ R, il n’existe pas d’algorithme avec un facteur constant 2−ǫ qui résout
le problème en temps polynomial à moins que P = N P . Nous utilisons pour cela une
réduction polynomiale du problème Chemin le plus étiqueté du chapitre précédent
vers le problème considéré. Nous donnons aussi un algorithme simple et polynomial qui
résout le problème avec un facteur 2. Cet algorithme est donc optimal du point de vue de
l’approximation polynomiale avec un facteur constant. Dans la Section 2.6, nous étudions
ce dernier problème sur la classe d’instance des graphes à largeur arborescente bornée
par un entier L ∈ N. Nous montrons à l’aide d’un travail classique de programmation
dynamique, que ce dernier problème peut être résolu en temps polynomial sur cette
classe d’instance.
Au lieu de considérer des contraintes ”locales” sur quelques sommets, certains cher-
cheurs se sont intéressés à la recherche d’arbre couvrant minimum avec des contraintes
globales. Il existe par exemple par exemple des contraintes sur le diamètre [18, 34] ou
sur le degré [29, 54]. La contrainte sur le degré impose que le degré de chaque sommet
v du graphe soit borné par un entier bv dans l’arbre couvrant. Si l’on considère le cas
d’une borne uniforme égale à 2, le problème devient le problème du Chemin Hamiltonien
de coût minimum. Une approche intéressante pour ce problème est de relâcher un peu
la contrainte de degré. Si l’on s’autorise à avoir un degré qui est au plus dv + 2, on
peut obtenir en temps polynomial une solution dont le coût est au plus le coût de la
solution optimale sur le problème de base [29]. Ce résultat a été amélioré dans [54], où
la relaxation n’est plus d’un facteur additif de 2 mais de 1. Il existe un algorithme pour
trouver un arbre couvrant de diamètre minimum. Pourtant, le problème de trouver un
arbre de coût minimum avec diamètre borné est N P -difficile [34].
P
Par abus de notation, c(T ) = e∈E(T ) c(e), cette notation est reprise de nombreuses
fois au cours de cette thèse.
40
2.2. Matroïdes
2.2 Matroïdes
Nous donnons ici des définitions et notions sur les matroïdes. Nous ajoutons aussi
quelques exemples de matroïdes, notamment le matroïde graphique qui correspond aux
forêts d’un graphe. Toutes les notions de cette section sont inspirées de l’ouvrage [53],
voir aussi le livre [50] pour une étude plus poussée des matroïdes.
Définition 2.1 (Matroïde) Un couple (S, I) est un matroïde si S est un ensemble fini
et I est une collection non vide de sous-ensembles de S satisfaisant :
(M1) Si I ∈ I et J ⊆ I, alors J ∈ I ;
(M2) Si I, J ∈ I et |I| < |J|, alors ∃z ∈ J \ I tel que I ∪ {z} ∈ I.
41
Chapitre 2. Arbres couvrants de poids minimum sous contraintes
Définition 2.2 Si S est un ensemble fini et B est une collection non vide de sous-
ensembles de S telle que :
- Si A, B ∈ B et a ∈ A \ B, alors ∃b ∈ B \ A tel que A \ {a} ∪ {b} ∈ B.
alors il existe un matroïde sur S dont les bases sont B.
Il existe d’autres axiomatiques pour définir les matroïdes, comme par exemple avec
les ensembles minimaux dépendants, appelés les circuits.
Toutes ces définitions reprennent le champ lexical des espaces vectoriels, un exemple
de matroïde non-fini est le couple (Rn , I) où une famille de vecteurs X appartient à I
si les vecteurs qui la composent sont linéairement indépendants, on parle d’ailleurs de
famille de vecteurs indépendants.
La proposition suivante relie les matroïdes et les arbres.
Preuve La condition (M1) de la définition des matroïdes est vérifiée car l’acyclicité est
une propriété close par sous-ensemble. Soit F ⊆ E. Par définition, chaque base B de
F est une forêt U contenue dans F maximale du point de vue de l’inclusion. U forme
un arbre couvrant dans chaque composante connexe de (V, F ). Donc U contient |V | − k
arêtes avec k le nombre de composantes connexes de (V, F ). Chaque base de F contient
donc |V | − k arêtes, ce qui prouve la condition (M2’) et termine la preuve.
Dans ce chapitre, nous recherchons des arbres couvrants avec des contraintes sup-
plémentaires, nous définissons dans la sous-section suivante un nouveau matroïde qui
exprime la séparation de certains sommets dans un graphe.
Proposition 2.2 (E, F(U, G)) est un matroïde appelé matroïde U -graphique de G.
Preuve Supprimer une arête ne crée pas un cycle et ne place pas non plus deux sommets
de U dans la même composante, donc la propriété (M1) des matroïdes est satisfaite.
Pour prouver que (E, F(U, G)) satisfait (M2), nous considérons deux ensembles d’arêtes
A, B ∈ F(U, G), avec |A| < |B|. Soit CA , CB ⊆ V les ensembles de composantes connexes
de (V, A) et (V, B) qui ne contiennent pas d’élément de U . Puisque |A| < |B| et que
les graphes sont acycliques, les composantes connexes de (V, A) sont strictement plus
nombreuses que les composantes connexes de (V, B). Comme une composante connexe de
42
2.2. Matroïdes
Il est aussi possible de définir le matroïde précédent par l’ensemble des ses bases
B. Les éléments de B sont les forêts de k composantes connexes où chacune de ces
composantes contient exactement un élément de U .
Lorsque deux matroïdes (S, I) et (S, I ′ ) partagent leur ensemble de base, il est in-
téressant de considérer l’intersection (S, I ∩ I ′ ) de ces deux matroïdes. (S, I ∩ I ′ ) n’est
pas un matroïde car la condition (ii) n’est pas vérifiée. En effet, soient deux ensembles
I, J ∈ I ∩ I ′ et |I| < |J|. Il existe z ∈ J \ I tel que I ∪ {z} ∈ I et il existe z ′ ∈ J \ I tel
que I ∪ {z ′ } ∈ I ′ mais il n’y a aucune raison pour laquelle I ∪ {z} ∈ I ′ ou I ∪ {z ′ } ∈ I.
Néanmoins, nous nous intéressons quand même à l’intersection de deux matroïdes
car il est impossible (à notre connaissance) d’exprimer les problèmes de ce chapitre
avec un seul matroïde. Par contre, nous pouvons les exprimer par la recherche d’un
ensemble indépendant commun à deux matroïdes. L’un des matroïdes est le matroïde
graphique qui nous permet d’assurer l’acyclicité du graphe, le deuxième matroïde quant
à lui, exprime la contrainte additionnelle du problème. Nous présentons ci-dessous le
problème de l’indépendant de poids maximum commun à deux matroïdes.
43
Chapitre 2. Arbres couvrants de poids minimum sous contraintes
Edmonds a prouvé que ce problème se résout en temps polynomial [25]. Notons que
le problème Indépendant de poids minimum commun à deux matroïdes se réduit
facilement au problème de maximisation en transformant les poids en leur opposé.
Sans perte de généralité, nous considérons des graphes complets. En effet, si le graphe
n’est pas complet, il suffit d’ajouter des arêtes avec un coût prohibitif entre les sommets
qui ne sont pas adjacents de manière à le rendre complet sans changer les solutions
optimales. Cela assure l’existence d’une solution et reste équivalent au cas général.
44
2.3. Arbre couvrant minimum avec un sommet intermédiaire
u1 C∅ C 2 u2 u1 C∅ C 2 u2
C1 C1 ′
f
e′1
e0 e2 e0
v
T = (V, F ) v
T ′ = (V, F ′)
Figure 2.1 – Un exemple qui montre que (E, H′ ) n’est pas un matroïde.
45
Chapitre 2. Arbres couvrants de poids minimum sous contraintes
v
2
2
100
1
2 1
1
2
u1 1 u2
2 1
1
2 1
1
2
2 1
Figure 2.2 – Sur cette instance où le sommet central est v et où U = {u1 , u2 }, l’algo-
rithme proposé dans la Sous-section 2.3.1 trouve la solution donnée par les arêtes solides
alors que la solution optimale du problème est constituée de toutes les arêtes en pointillés
plus l’arête vu2 .
Proposition 2.3 Soit F ⊆ E. Le graphe (V, F ) est un arbre couvrant qui satisfait la
contrainte d’intermédiarité si et seulement si F ∈ G ∩ H et |F | = |V | − 1.
Preuve Soit T = (V, F ) un tel arbre couvrant. Puisque T est un arbre couvrant, F ∈ G
et |F | = |V | − 1, et v est un sommet central de T donc F ∈ H.
Soit F un ensemble d’arêtes qui satisfait les contraintes, puisque F est acyclique et
|F | = |V | − 1, (V, F ) est un arbre couvrant de G. Parce que F ∈ H, lorsqu’on retire v
46
2.3. Arbre couvrant minimum avec un sommet intermédiaire
u1 u2 u1 u2
u3 u3
v v
Figure 2.3 – Le dessin de gauche est l’exemple d’un ensemble indépendant pour le
matroïde H, il assure que la suppression de v déconnecte les sommets de U . Le dessin
de droite est l’exemple d’un ensemble indépendant pour le matroïde G, il assure que le
graphe est acyclique.
à (V, F ), tous les ui sont dans différentes composantes et v est donc sur la chaîne entre
toute paire de sommets spéciaux.
2.3.3 Application
Nous considérons le problème suivant avec k ∈ N fixé :
Problème 2.4
47
Chapitre 2. Arbres couvrants de poids minimum sous contraintes
pas dupliquée, seule l’arête u1 v est ajoutée à G′ . Nous considérons l’instance de Arbre
couvrant minimum avec un sommet intermédiaire sur G′ avec v comme sommet
central et U = {u1 , u2 , ..., uk } l’ensemble des sommets spéciaux. Nous devons prouver
que toute solution T ′ de l’instance (G′ , v, U ) induit une solution T de même coût sur
l’instance (G, u, v). Pour tout i ∈ {1, 2, ..., k}, il existe une chaîne Pi entre ui et v qui ne
passe par aucun autre sommet uj . Pour retrouver une solution T de l’instance (G, u, v),
il suffit de contracter les sommets de U en un sommet u. Pour tout i ∈ {1, 2, ..., k}, Pi est
une chaîne entre u et v disjointe des autres chaînes. De plus, par construction, T est une
solution de (G, u, v) de même coût que T ′ . Réciproquement, toute solution T de (G, u, v)
implique une solution T ′ de même coût sur (G′ , U, v). Il existe k chaînes disjointes P1 ,
P2 ,...,Pk entre u et v. On appelle ei la première arête de Pi entre u et v. Dans T ′ , ui
est une extrémité de ei , et l’autre extrémité est la même que dans G. Ainsi, T ′ est une
solution de (G, U, v) de même coût que T .
Par le théorème précédent ainsi que le Théorème 2.3, nous déduisons directement le
théorème suivant.
Dans cette section, nous considérons le problème où k n’est pas une entrée du pro-
blème. Si k est une entrée du problème, pour k = |V | − 1, le problème revient à trouver
un chemin hamiltonien de G de poids minimum. Il n’est donc pas approximable avec un
facteur constant à moins que P = N P .
48
2.4. Arbre couvrant minimum avec une k + -chaîne
u
uk−1 uk v
Preuve Par construction, chaque arbre (T (P ))P ∈Pk est couvrant et contient une k + -
chaîne entre u et v. Soit T ∗ une solution optimale de Arbre couvrant minimum avec
49
Chapitre 2. Arbres couvrants de poids minimum sous contraintes
Dans cette section, nous considérons cette fois ci que k est une entrée du problème.
Si k est un entier fixé, le problème se résout en temps polynomial en listant toutes les
k − -chaînes possibles entre u et v (qui sont en nombre polynomial) et en les complétant
de manière optimale.
50
2.5. Arbre couvrant minimum avec un k − -chaîne
La k − -chaîne la moins chère est l’arête uv. Tout arbre couvrant minimum contenant
l’arête uv contient aussi k − 1 arêtes de la chaîne du bas et a un coût c(T ) = 2 − k2
alors que la solution optimale pour le problème Arbre couvrant minimum avec une
k − -chaîne est la chaîne du bas et a un coût de 1. En faisant tendre k vers l’infini, nous
déduisons que, pour tout ǫ > 0, l’algorithme n’a pas pour facteur 2 − ǫ.
51
Chapitre 2. Arbres couvrants de poids minimum sous contraintes
Théorème 2.9 A moins que P = N P, pour tout ǫ > 0, il n’existe aucun algorithme
polynomial avec un facteur 2 − ǫ pour le problème Arbre couvrant minimum avec
une k − -chaîne, même restreint aux instances dont le poids des arêtes est seulement 0
ou 1.
Preuve Pour prouver ce théorème, nous explicitions une réduction polynomiale de toute
instance (D, l) du problème Chemin le plus étiqueté vers une instance du problème
Arbre couvrant minimum avec une k − -chaîne. Soit (D, l) un DAG étiqueté satis-
faisant les conditions du Théorème 2.8. Rappelons que k est le nombre d’arêtes de tout
chemin entre l’unique source u et l’unique puits v de D. Nous construisons un graphe
pondéré G obtenu à partir de D de la manière suivante. On remplace d’abord chaque
arc a de D par une arête de coût 1. Puis, on ajoute une chaîne contenant k nouveaux
sommets et k + 1 nouvelles arêtes de poids 0 entre toute paire x, y ∈ V (D) telle que
l(x) = l(y) (Voir Figure 2.5). Une chaîne entre u et v ne peut pas passer par une des
arêtes de la nouvelle chaîne entre x et y car il devrait passer dans les k + 1 arêtes, ce qui
est impossible car la chaîne entre u et v doit contenir au plus k arêtes.
L’instance correspondante du problème Arbre couvrant minimum avec une k − -
chaîne consiste à trouver un arbre couvrant minimum de G tel que la chaîne entre u et
v est une k − -chaîne.
Notons que les k − -chaînes de G entre u et v sont exactement les k − -chemins de D
entre u et v (ils ne contiennent aucune arête de poids 0). Les composantes connexes du
graphe obtenu à partir de G en supprimant toutes les arêtes de poids 1 sont appelées
composantes zéro. Le nombre de composantes zéro traversées par une k − -chaîne P de G
est exactement le nombre d’étiquettes distinctes collectées par P dans D. Par le choix
de l’instance (D, l) de Chemin le plus étiqueté, il existe une k − -chemin P ∗ de D qui
collecte toutes les étiquettes. Puisque P ∗ traverse toutes les composantes zéro, il peut
être complété en un arbre couvrant T ∗ tel que c(T ∗ ) = k en ajoutant seulement des
arêtes de poids zéro, ainsi c(T ∗ ) = k. Cet arbre couvrant T ∗ est une solution optimale
de l’instance G de Arbre couvrant minimum avec une k − -chaîne.
Supposons qu’il existe un algorithme polynomial avec un facteur 2 − ǫ pour Arbre
couvrant minimum avec une k − -chaîne. Soit T un arbre couvrant de G calculé par
cet algorithme. Soit P la k − -chaîne de T entre u et v et β le nombre de composantes
zéro non traversées par P. Puisque T est un arbre couvrant, il doit contenir une arête de
poids 1 pour toute composante zéro qui n’est pas traversée par P, ainsi c(T ) ≥ k + β. De
plus, on peut toujours remplacer T par un arbre obtenu en ajoutant à P seulement une
arête de poids 1 pour chaque composante zéro non traversée par P , donc c(T ) ≤ k + β.
On choisit T tel que c(T ) = k + β. Puisque c(T ∗ ) = k, le facteur d’approximation
supposé de l’algorithme implique c(T ) = k + β ≤ (2 − ǫ)k. Ainsi β ≤ k − ǫk et P
52
2.6. Les graphes à largeur arborescente bornée
1 3
1
b d b d
1 1
2 u v 4 u 1 v
0
1 1
a c a c
1
3 2
Figure 2.5 – Les étiquettes du graphe de gauche sont les entiers de 1 à 4 indiqués à
côté des sommets, les arêtes en pointillés représentent les chaînes avec 4 arêtes de poids
0. L’instance du graphe de droite est paramétrée par k = 3.
53
Chapitre 2. Arbres couvrants de poids minimum sous contraintes
Définition 2.6 Une décomposition arborescente d’un graphe G = (V, E) est un couple
(A, X ), où A est un arbre avec un ensemble I de sommets, et X = {Xi |i ∈ I} est une
collection de sous-ensembles de V appelés sacs tels que :
(1) pour tout sommet x ∈ V , il existe un nœud i ∈ T tel que x ∈ Xi ;
(2) pour toute arête xy ∈ E, il existe un nœud i ∈ T tel que x, y ∈ Xi ;
(3) pour tout sommet x ∈ V , l’ensemble des sacs Xi ∈ T contenant le sommet x
induit un sous-arbre Tx de T .
La largeur de la décomposition arborescente (A, X ) est égale à la taille du plus grand
sac de cette décomposition moins 1, c’est-à-dire maxi∈T |Xi | − 1. La largeur arborescente
ou (treewidth) du graphe G, notée tw(G), correspond à la plus petite largeur parmi les
largeurs de toutes les décompositions arborescentes possibles de G.
Définition 2.7 Une jolie décomposition arborescente (A, X ) d’un graphe G = (V, E)
est une décomposition arborescente, où A est un arbre enraciné, et contenant seulement
quatre types de nœuds :
- nœud feuille : une feuille i de l’arbre A, avec |Xi | = 1 ;
- nœud suppression : un nœud i avec un unique fils j, et tel que Xi = Xj \ {x} ;
- nœud introduction : un nœud interne i avec un unique fils j, et tel que Xi =
Xj ∪ {x} ;
- nœud jonction : un nœud interne i avec exactement deux fils j et l, et tel que
Xi = Xj = Xl .
Théorème 2.10 Soit (A, X ) une décomposition arborescente de largeur L, on peut con-
struire en temps polynomial une jolie décomposition arborescente (A′ , X ′ ) de largeur L
enracinée en n’importe quel sommet de la décomposition de base.
54
2.6. Les graphes à largeur arborescente bornée
suppression, les sommets de X ′ \ X un à un. Le dernier nœud de cette suite est relié au
premier nœud d’une suite qui ajoute un à un, par des nœuds introduction, les sommets
de X \ X ′ . On relie le dernier nœud de cette suite à X. On fait le même genre de
transformation pour que tous les nœuds qui sont des feuilles de l’arbre soient des nœuds
feuille. Cette transformation s’effectue en temps polynomial.
Définition 2.8 Soit la décomposition arborescente (A, X ) d’un graphe G = (V, E) en-
racinée en X0 . Pour tout X ∈ X , on note VX l’union des sommets de X et des sommets
de ces descendants dans la décomposition arborescente (A, X ) et GX = (VX , EX ) le
sous-graphe de G induit par VX .
Problème 2.7 (Arbre couvrant minimum avec une k − -chaîne largeur bornée)
Avec une transformation polynomiale décrite précédemment, nous pouvons nous ra-
mener au cas d’une jolie décomposition arborescente du graphe G qui est enracinée en
X0 avec v ∈ X0 . A partir de cette décomposition arborescente, en rajoutant un nœud
vide à la suite de chaque nœud feuille puis en rajoutant u à tous les sacs de la décom-
position, nous pouvons considérer que (A, X ) est une jolie décomposition arborescente
enracinée en X0 où tous les nœuds contiennent u.
Préliminaires et notations
Le but de la programmation dynamique décrite dans cette section est de construire
une solution de manière inductive, en remontant des feuilles vers la racine X0 (qui
contient v). Plus précisément, pour tout sac X de la décomposition arborescente, pour
toutes les métriques de distance possibles sur X, on veut conserver un ensemble d’arêtes
de EX de coût minimum qui induit cette métrique. Au final, dans le sac racine X0 conte-
nant v où GX0 = G, on choisit l’ensemble E ∗ coût minimum parmi toutes les métriques
dont le nombre d’arêtes entre u et v est inférieur ou égal à k et dont tous les sommets
sont connectés.
55
Chapitre 2. Arbres couvrants de poids minimum sous contraintes
x, y ∈ X, dF (x, y) est le nombre minimun d’arêtes dans une chaîne entre x et y dans
(VX , F ), dF (x, y) = ∞ si les deux sommets ne sont pas reliés.
Nœud feuille
Par le choix de la décomposition arborescente, tous les nœuds feuilles sont de la forme
X = {u}. CX = {∅}.
Nœud suppression
X a un unique fils X ′ tel que X = X ′ − {z}. Le nœud suppression est le seul type
de nœud où l’on supprime un sommet entre un fils et son père. C’est donc dans ce cas
que l’on doit gérer la contrainte (1).
On construit CX de la manière suivante. On initialise CX = {∅}. Pour tous les F ′ ∈
CX ′ tels que z est connecté à un sommet de X dans (VX ′ , F ′ ) = (VX , F ′ ) ; soit il n’existe
pas F ∈ CX tel que dF = dF ′ , alors on ajoute F ′ à CX , sinon il existe un unique F ∈ CX
tel que dF = dF ′ , alors si c(F ′ ) < c(F ), on remplace F par F ′ dans CX .
2
On effectue cette construction en temps O(|CX ′ |) = O(|V |L ).
Nœud introduction
Cette étape permet d’ajouter des arêtes à la solution partielle. X a un unique fils X ′
tel que X = X ′ ∪ {z}. z n’a pas été rencontré dans un des descendants de X car sinon
56
2.6. Les graphes à largeur arborescente bornée
Nœud jonction
X a deux fils X1 et X2 tel que X1 = X2 = X.
On construit CX de la manière suivante. On initialise CX = {∅}. Pour tous les
(F1 , F2 ) ∈ CX1 × CX2 tel que F1 ∩ F2 = ∅ ; soit il n’existe pas F ∈ CX tel que dF = dF1 ∪F2 ,
alors on ajoute F1 ∪ F2 à CX , sinon il existe un unique F ∈ CX tel que dF = dF1 ∪F2 , alors
si c(F1 ) + c(F2 ) < c(F ), on remplace F par F1 ∪ F2 dans CX .
On ne considère que des couples d’arêtes disjoints car par optimalité, on peut toujours
supposer que les élements de CX proviennent d’une union entre des ensembles disjoints.
Pour la complexité de cette construction, on doit faire toutes les unions possibles
entre les éléments de CX1 et ceux de CX2 , cette construction s’effectue donc en temps
2
O(|CX1 |CX2 |) = O(|V |2L ).
Preuve (2) est direct par construction. En effet, par la manière dont CX est construit,
il ne peut pas exister deux ensembles de CX qui induisent la même métrique.
Nous prouvons (1) par induction. Pour les cas de base, les nœuds feuilles, CX = {∅}
et il n’y a donc rien à prouver. Pour les nœuds introduction et jonction, tous les sommets
des fils de X se retrouvent dans X. Donc, par hypothèse d’induction, tout sommet y
de VX est connecté à un sommet x d’un fils de X et donc à un sommet de X. Pour
un nœud suppression X avec un unique fils X ′ tel que X = X ′ \ {z}. Soit F ∈ CX et
y ∈ VX . Par construction, F ∈ CX ′ . Par hypothèse d’induction sur X ′ , y est connecté à
un sommet x′ dans (VX ′ , F ) = (VX , F ). Si x′ ∈ X, y est connecté à un sommet de X.
Sinon x′ = z et par construction de CX , z est connecté à un sommet x ∈ X dans (VX , F ).
57
Chapitre 2. Arbres couvrants de poids minimum sous contraintes
Par transitivité, y est donc connecté à un sommet x dans (VX , F ). Par induction, (1) est
prouvé.
Nous prouvons (3) par induction. Nos cas de base sont les nœuds feuilles pour lesquels
le résultat est direct. Pour alléger la preuve, nous prouvons seulement le cas des nœuds
jonction (les cas des nœuds introduction et suppression se traite de façon similaire). X
a deux fils X1 et X2 tel que X1 = X2 = X.
Soit F ⊆ EX satisfaisant (1). On a VX = VX1 ∪ VX2 et par les propriétés de la
décomposition arborescente, EX1 ∩ EX2 ⊆ E(X). En attribuant de façon arbitraire les
arêtes de F ∩ E(X) à EX1 , on décompose F en deux ensembles disjoints F1 ∈ EX1
et F2 ∈ EX2 . F1 et F2 satisfont la condition (1) car F satisfait la condition (1). Par
hypothèse d’induction sur X1 et X2 , il existe F1′ ∈ CX1 et F2′ ∈ CX2 tel que dF1 = dF1′ ,
c(F1′ ) ≤ c(F1 ) et dF2 = dF2′ , c(F2′ ) ≤ c(F2 ). F1′ et F2′ sont aussi disjoints car supposons
qu’il existe xy ∈ F1′ ∩ F2′ , comme xy ∈ E(X), dF1′ (x, y) = dF1 (x, y) = 1 et dF2′ (x, y) =
dF2 (x, y) = 1, ce qui contredit que F1 et F2 sont disjoints. Par construction de CX , il
existe F ′′ ∈ CX tel que dF ′′ = dF1′ ∪F2′ et c(F ′′ ) ≤ c(F1′ ) + c(F2′ ). Par suite, F ′′ ∈ CX et
dF = dF1 ∪F2 = dF1′ ∪F2′ = dF ′′ et c(F ′′ ) ≤ c(F1′ ) + c(F2′ ) ≤ c(F1 ) + c(F2 ) = c(F ).
58
2.7. Autres problèmes
Problème 2.8
Problème 2.9
Par le même technique que dans la Section 2.5, une α-approximation sur le Pro-
blème 2.10 nous permettrait d’obtenir directement une (α + 1)-approximation sur le
Problème 2.9.
Dans la suite, nous prouvons que ce problème est N P -difficile. Pour cela, nous prou-
vons que le problème de décision suivant, qui est bien plus contraint, est N P -complet.
Problème 2.11
59
Chapitre 2. Arbres couvrants de poids minimum sous contraintes
60
Chapitre 3
Réduction de distance
61
Chapitre 3. Réduction de distance
une arête du chemin entre s et toute feuille u ∈ F (T ). Dans la Section 3.2, nous décrivons
l’algorithme RechercheCM qui permet de résoudre en temps polynomial le problème
Réduction de distances. Cet algorithme est simple, il suffit de calculer une coupe
de poids minimum et minimale pour l’inclusion sur T (on peut toujours obtenir une
telle coupe en supprimant des arêtes de poids inutiles), de la contracter et de réitérer le
procédé jusqu’à obtenir d coupes. L’objectif de la Section 3.2 est donc de prouver que
cet algorithme naturel renvoie une solution optimale du problème en temps polynomial.
Pour toute instance I = (T, c, s, d) du problème, nous définissons une fonction de coût
f associée à l’instance I. f associe à tout sous-ensemble A ∈ F (T ) le coût f (A) d’un
ensemble d’arêtes DA de coût minimum tel que DA sépare d fois les feuilles de A. Dans
la Section 3.3, nous prouvons que cette fonction f est sous-modulaire. Pour prouver
cela, nous exprimons DA et DB comme des ensembles de d coupes {δ(SiA )}i∈{1,...,d} et
{δ(SiB )}i∈{1,...,d} avec certaines propriétés. Par la technique de décroisement des coupes,
sur chaque paire de coupe (δ(SiA ), δ(SiB )), nous prouvons que l’union disjointe de ces
deux ensembles se décompose en un ensemble d’arêtes qui sépare A ∩ B, un ensemble
d’arêtes qui sépare A ∪ B, plus d’autres arêtes. Ceci nous mène directement à la sous-
modularité de la fonction f . Pour finir, dans la Section 3.4, l’objectif est de trouver un
de partage de coût qui s’effectue en temps polynomial pour le problème Réduction
de distances. Pour toute instance (T, c, s, d) du problème, on ajoute pour toute feuille
u ∈ F (T ) une utilité tu ∈ Q de l’utilisateur u pour se rapprocher de la racine s de d
arêtes. Pour chaque ensemble A de feuilles, le coût pour satisfaire simultanément tous
les utilisateurs de A est f (A). Dans un mécanisme de partage de coût, chaque utilisateur
u déclare le montant bu qu’il est prêt à payer pour être rapproché de s (ce montant peut
être différent de son utilité tu ). Un mécanisme de partage de coût est un algorithme
qui calcule l’ensemble des utilisateurs qui vont recevoir le service et pour chacun de
ces utilisateurs u, le montant xu ≤ bu dont ils doivent s’acquitter. Nous cherchons un
mécanisme résistant aux stratégies, c’est-à-dire qu’un utilisateur a intérêt à déclarer
un montant bu égal à son utilité réelle tu pour le service . A l’aide d’un mécanisme
de partage de coût sur les fonctions sous-modulaires présenté dans l’ouvrage [20] et de
certaines propriétés de notre problème, nous donnons un mécanisme de partage de coût
en temps polynomial pour Réduction de distances.
3.1 Préliminaires
3.1.1 Définitions
Dans ce chapitre, nous considérons des arbres enracinés. Ainsi, nous parlons de che-
mins à la place de chaînes afin de distinguer un chemin qui se rapproche de la racine
d’un chemin qui s’éloigne de la racine. De même, nous notons les arêtes (xy) au lieu de
xy car x et y n’ont pas le même rôle selon qui est le plus proche de la racine.
Soit T = (V, E) un arbre enraciné en un sommet s ∈ V. Nous notons F (T ) l’ensemble
des feuilles de T. Pour tout sommet x ∈ V, P (x) est l’unique chemin de T entre x et la
racine s. Les ancêtres de x sont les sommets du chemin P (x) (sauf x). Le père de x est
62
3.1. Préliminaires
le premier sommet après x sur son chemin vers la racine (son plus proche ancêtre lors
d’un parcours débutant en x). Les descendants de x sont les sommets y ∈ V tels que
x est un ancêtre de y. Les fils de x sont les descendants de x qui lui sont adjacents. Tx
définit le sous-arbre enraciné en x, c’est-à-dire le graphe induit par x et ses descendants.
Chaque arête (xy) ∈ E relie un père x à son fils y. Par convention, les descendants de
l’arête (xy) sont les descendants de y (du fils) et les ancêtres de l’arête (xy) sont les
ancêtres de x (du père). Le sous-arbre Te associée à l’arête e est le sous-arbre Ty induit
par y et ses descendants. L’opération de contraction de l’arête (xy) consiste à remplacer
les sommets x et y par un seul sommet dont le père est celui de x (ce sommet n’a aucun
père si x est la racine) et les fils sont les fils de y et ceux de x (sauf y). Nous notons
T[e] l’arbre obtenu à partir de T par cette opération. Si une arête incidente à la racine
est contractée, la nouvelle racine est le sommet résultat de la contraction de l’arête, i.e.
l’unique sommet de T[e] qui n’appartient pas à T. Soit C ⊆ E, T[C] définit l’arbre obtenu
à partir T en contractant chacune des arêtes de C (cet arbre ne dépend pas de l’ordre
dans lequel les opérations de contraction sont effectuées).
Nous disposons maintenant de toutes les notions nécessaires pour définir formelle-
ment le problème Réduction de distances.
Dans la suite, nous considérons toujours que les instances admettent au moins une
solution. Une instance n’est pas réalisable s’il existe une feuille u ∈ F (T ) telle que le
nombre d’arêtes dans le chemin entre s et u est inférieur à d(u). On peut donc vérifier en
temps polynomial si une instance est réalisable ou pas. Nous représentons une instance
de ce problème sur la Figure 3.1.
Pour simplifier l’étude de ce problème, nous pouvons supposer sans perte de géné-
ralité que la demande d(u) est la même pour toutes les feuilles u de l’arbre. Une telle
instance de Réduction de distances est dite uniforme. Etant donnée une instance
(T, c, s, d) de Réduction de distances, il est possible de construire une instance uni-
forme équivalente en temps polynomial de la façon suivante.
On pose d = maxu∈F (T ) d(u). Pour tout u ∈ F (T ) tel que d(u) < d, on ajoute un
chemin de longueur d−d(u) dont les arêtes ont un poids 0 et dont l’une des extrémités est
u et l’autre est une nouvelle feuille u′ pour laquelle d(u′ ) = d. La demande d’un utilisateur
est inférieure au nombre d’arêtes maximum dans un chemin d’origine s noté h, donc le
nombre d’arêtes ainsi ajoutées est au plus h|F (T )| ≤ |E||V |, ce qui est polynomial en la
taille de l’instance. Avec cette transformation, toutes les feuilles ont la même demande
63
Chapitre 3. Réduction de distance
s s
4 3 4
3 4 3 2 2
u1 , u2 u3 u4
3 3
1 1 2 2
u1 u2 u3 u4
d, ce qui signifie qu’on recherche un ensemble d’arêtes D tels que pour toute feuille
u |P (u) ∩ D| ≥ d, autrement dit le chemin P (u) contient au moins d arêtes de D. Il
est facile de montrer que pour toute solution de l’instance de base (T, c, s, d), on peut
déduire une solution de même coût sur l’instance uniforme associée, et réciproquement.
Pour la suite du chapitre, nous considérons donc uniquement des instances uniformes du
problème Réduction de distances.
Dans la suite, nous ne considérons plus que ce type d’instance. Pour moins de lour-
deur, Réduction de distances fait maintenant référence à Réduction uniforme de
distances.
Le lemme suivant établit une propriété des solutions minimales des instances du
problème Réduction de distances.
64
3.1. Préliminaires
Lemme 3.1 Soit D une solution minimale pour l’inclusion de l’instance (T, c, s, d) du
problème Réduction de distances. Pour toute feuille u ∈ F (T ), le chemin entre s et
u contient exactement d arêtes de D.
Preuve Supposons par contradiction qu’il existe une feuille u telle que P (u) contient
au moins d + 1 arêtes de D. Soit (xy) la première arête de D rencontrée sur le chemin
qui va de u vers la racine s, avec x le père de y. Au moins d arêtes de D sont sur le
chemin entre x et la racine. L’ensemble d’arêtes D − e est également une solution. En
effet, soit u′ une feuille de T. Si (xy) ∈
/ P (u′ ) alors D − e a autant d’arêtes sur le chemin
′ ′
P (u ) que D. Sinon e ∈ P (u ) et les d arêtes de D sur le chemin entre x et la racine sont
aussi sur le chemin entre u′ et la racine. Par conséquent D − e est une solution, ce qui
contredit la minimalité de D.
Etant donné une solution optimale du problème, il est facile de construire une solution
optimale minimale pour l’inclusion en enlevant des arêtes (elles sont de poids 0) qui ne
sont pas nécessaires. Cette solution vérifie la propriété du Lemme 3.1. Par la suite, nous
considérons uniquement des solutions optimales qui sont minimales pour l’inclusion.
Ce lemme nous permet de décomposer toute solution minimale en d coupes disjointes.
Rappelons d’abord la définition d’une coupe.
Définition 3.1 Soit G = (V, E) un graphe, une coupe de G est déterminée par une
partition des sommets de V en deux ensembles disjoints non-vides S et V \ S. La coupe
est le sous-ensemble d’arêtes δ(S) ayant une extrémité dans S et l’autre dans V \ S.
Soit D une solution minimale pour l’inclusion d’une instance (T, c, s, d) du problème
Réduction de distances. Nous définissons une famille laminaire d’ensembles de som-
mets (Si )i∈{1,...,d} de la façon suivante, on supprime toutes les arêtes de D, S1 est la
composante connexe contenant s, puis on rajoute les arêtes de δ(S1 ) et S2 est la nouvelle
composante connexe contenant s et ainsi de suite. Plus formellement, S1 est la compo-
sante connexe du graphe (V, E \ D) contenant s et δ(S1 ) ⊆ D la coupe définie par cet
ensemble. S2 est la composante du graphe (V, E \ D ∪ δ(S1 )) contenant s et δ(S2 ) ⊆ D la
coupe définie par cet ensemble. Par suite, pour tout i ∈ {1, ..., d}, Si est la composante
Si−1
connexe du graphe (V, E \ D ∪ j=1 δ(Sj )) contenant s et δ(Si ) ⊆ D la coupe définie par
cet ensemble. La famille (Si )i∈{1,...,d} est laminaire par construction, i.e pour tout i < j,
on a Si ⊆ Sj . Chaque coupe δ(Si ) contient exactement une arête sur chaque chemin
P (u) avec u ∈ F (T ). De plus, par définition des ensembles, si une arête (xy) ∈ δ(Si ),
alors pour tout j > i, x ∈ Sj et y ∈ Sj , et donc (xy) ∈ / δ(Sj ). Ce qui entraine que les
coupes δ(Si )i∈1,...,d sont disjointes. En utilisant le Lemme 3.1, nous pouvons conclure que
S
D = di=1 δ(Si ).
Par exemple, dans la solution D de l’instance représentée par la Figure 3.1, la coupe
δ(S1 ) est seulement composée de l’arête de poids 4 commune à tous les chemins P (ui ).
La coupe δ(S2 ) est composée des deux arêtes de poids 1 qui séparent u1 et u2 ainsi que
l’arête de poids 3 commune à P (u3 ) et P (u4 ).
65
Chapitre 3. Réduction de distance
Le calcul d’une coupe minimum qui sépare les feuilles d’un arbre de la racine se fait
en temps linéaire avec un algorithme de programmation dynamique. Il parcourt l’arbre
des feuilles vers la racine et calcule la coupe optimale séparant un sommet x des feuilles
de l’arbre Tx à partir des coupes optimales qui séparent chacun des fils y de x des feuilles
du sous-arbre Ty .
Théorème 3.1 Le problème Coupe minimum dans un arbre enraciné se résout en
temps O(|V |).
L’algorithme RechercheCM, dont la description formelle apparaît ci-dessous, consiste
à trouver une coupe minimum, à la contracter et à réitérer le procédé jusqu’à obtenir d
coupes disjointes.
Algorithme 8 : RechercheCM(T, c, s, d)
Données : Un arbre T = (V, E), une fonction c : E → Q+ , s ∈ V la source du
graphe.
Résultat : D ⊆ E telle que |P (u) ∩ D| = d pour tout feuille u ∈ F (T ).
si d = 0 alors
retourner ∅
sinon
Calculer une coupe minimum C ⊆ E qui sépare la racine s de F (T ) ;
Calculer l’arbre T[C] obtenu à partir de T en contractant les arêtes de C ;
retourner l’union D ⊆ E de C et de RechercheCM(T[C] , c, s, d − 1);
66
3.2. Résolution du problème Réduction de distances en temps polynomial
Lorsque l’on contracte les arêtes de C, il est possible que certaines feuilles de T ne
soient plus des feuilles dans T[C] . S’il existe une telle feuille u ∈ F (T ), on peut supprimer
les descendants de u et les arêtes incidentes dans T[C] . En effet, comme u est séparée
d − 1 fois dans la solution RechercheCM(T[C] , c, s, d − 1), toutes les feuilles de Tu , qui
sont des descendants de u, sont automatiquement séparées d − 1 fois.
Preuve Nous prouvons ce lemme par induction sur d. Pour d = 0, il n’y a rien à démon-
trer. Par hypothèse d’induction, RechercheCM(T[C] , c, s, d−1) renvoie l’union de d−1
coupes disjointes C1 , C2 , ..., Cd−1 qui séparent la racine des feuilles de T[C] . De plus, la
coupe C est nécessairement disjointe des coupes renvoyées par RechercheCM(T[C] , c, s, d−
1) car les arêtes de C n’apparaissent pas dans T[C] . Par conséquent, D est bien l’union
de d coupes disjointes de T qui séparent s de F (T ).
Le lemme suivant est utile pour prouver l’optimalité de l’ensemble d’arêtes renvoyé
par RechercheCM.
Lemme 3.3 Etant donné une instance (T, c, s, d) du problème Réduction de dis-
tances. Soit C une coupe minimum qui sépare s de F (T ), il existe une solution optimale
de (T, c, s, d) qui contient C.
On peut toujours trouver une telle arête eu car D sépare u de s, C0 est donc une
coupe. Nous souhaitons montrer que le chemin entre chaque feuille u de F (T ) et la racine
contient une seule arête de C0 . Supposons le contraire, i.e. il existe une feuille u dont le
chemin vers la racine contient deux arêtes e1 et e2 de C0 avec e2 plus près de la racine
que e1 . Par définition de l’algorithme, l’arête e2 a été ajoutée après l’arête e1 pour une
feuille u′ qui n’était pas séparée de la racine à ce moment là. L’arête e2 est l’arête la
plus proche de u′ qui sépare u′ de s. Or, il existe d − 1 autres arêtes qui séparent u′ de
s au-dessus de e2 , nous pouvons conclure que u est séparée d + 1 fois dans D, ce qui
contredit la minimalité de D par le Lemme 3.1. Toute feuille u de F (T ) est donc séparée
67
Chapitre 3. Réduction de distance
de s par une seule arête de C0 . Par construction, D \ C0 est un ensemble d’arêtes disjoint
de C qui sépare toutes les feuilles de F (T ) d − 1 fois. Ainsi, D \ C0 ∪ C sépare toutes les
feuilles de F (T ) d fois. Par optimalité de C, D \ C0 ∪ C est de coût inférieur ou égal à
D, donc D \ C0 ∪ C est une solution optimale de (T, c, s, d) qui contient C.
Preuve Le Lemme 3.2 et le Lemme 3.4 montrent que l’algorithme RechercheCM est
correct et optimal. L’algorithme RechercheCM revient à calculer d coupes minimum
dans des arbres qui contiennent au plus |V | sommets. Par le Théorème 3.1, le problème
Coupe minimum dans un arbre enraciné se résout en temps O(|V |), la complexité
de l’algorithme RechercheCM est donc O(d|V |).
3.3.1 Définitions
Rappelons dans un premier temps la définition d’une fonction sous-modulaire.
68
3.3. Sous-modularité et Réduction de distances
Définition 3.2 Une fonction f : P(U ) → Q est sous-modulaire si pour toute paire
d’ensembles A, B ⊆ U , f (A)+f (B) ≥ f (A∪B)+f (A∩B). Ici, nous imposons également
la condition f (∅) = 0 qui est naturelle pour une fonction de coût.
69
Chapitre 3. Réduction de distance
S
d’inclusions successives tels que DB = di=1 δ(SiB ), pour tout i, s ∈ SiB et A ∩ SiB = ∅.
Pour tout couple (SiA , SiB ), nous définissons deux ensembles de sommets Xi = SiA ∩ SiB
et Yi = SiA ∪ SiB . Il est clair que Xi sépare s de A ∩ B, et de même Yi sépare s de A ∪ B .
Dans la suite, M ∪∗ N définit le multi ensemble résultat de l’union de deux ensembles.
M ∪∗ N contient une copie de x si x ∈ M \ N ou x ∈ N \ M et M ∪∗ N contient deux
copies de x si x ∈ M ∩ N .
Nous voulons montrer que δ(Xi ) ∪∗ δ(Yi ) ⊆ δ(SiA ) ∪∗ δ(SiB ). Par définition, nous
avons directement δ(Xi ), δ(Yi ) ⊆ δ(SiA ) ∪ δ(SiB ), et donc δ(Xi ) ∪ δ(Yi ) ⊆ δ(SiA ) ∪ δ(SiB ).
Il nous reste à prouver que si δ(Xi ) ∪∗ δ(Yi ) contient deux copies d’une arête (uv)
alors δ(SiA ) ∪∗ δ(SiB ) contient également deux copies de (uv). Nous démontrons que
si (uv) ∈ δ(Xi ) ∩ δ(Yi ) alors (uv) ∈ δ(SiA ) ∩ δ(SiB ). Soit une telle arête (uv), u ∈ SiA
et u ∈ SiB , v ∈ / SiA et v ∈ / SiB . Nous concluons que (uv) ∈ δ(SiA ) ∩ δ(SiB ). Nous
obtenons donc bien δ(Xi )∪ δ(Yi ) ⊆ δ(SiA )∪∗ δ(SiB ), cela signifie que l’on peut décomposer
∗
δ(SiA ) ∪∗ δ(SiB ) en δ(Xi ), δ(Yi ) et des arêtes restantes. Cette technique de décroisement
des coupes est représentée sur la Figure 3.2.
Nous prouvons maintenant que les coupes δ(Xi ) (resp δ(Yi )) sont deux à deux dis-
jointes. Commençons par les δ(Xi ). Soit une arête (uv) ∈ δ(Xi ), avec u ∈ Xi et v ∈ / Xi . Si
v ∈ SiA alors, par inclusion pour tout j > i, v ∈ SjA , sinon (uv) ∈ δ(SiA ) et par définition
des SiA , pour tout j > i, v ∈ SjA . Dans les deux cas, pour tout j > i, u ∈ SjA et v ∈ SjA .
De même, pour tout j > i, u ∈ SjB et v ∈ SjB , et donc u, v ∈ SjA ∩ SjB = Xj . Ainsi, pour
tout j > i, (uv) ∈ / δ(Xj ). Nous concluons que les coupes δ(Xi ) sont disjointes. Par un
raisonnement similaire, les coupes δ(Yi ) sont également disjointes.
S S
On pose ∆X = di=1 δ(Xi ) et ∆Y = di=1 δ(Xi ). Chaque feuille u ∈ A ∩ B est séparée
une fois dans chaque δ(Xi ) et comme ces ensembles sont disjoints, u est séparé d fois
dans ∆X . De même, toute feuille u ∈ A ∪ B est séparé d fois dans ∆Y . En utilisant
δ(Xi ) ∪∗ δ(Yi ) ⊆ δ(SiA ) ∪∗ δ(SiB ), nous concluons que DA ∪∗ DB peut être décomposé en
l’ensemble ∆X qui sépare d fois A∩B, l’ensemble ∆Y qui sépare d fois A∪B et des arêtes
restantes. Ainsi, c(DA ) + c(DB ) ≥ c(∆X ) + c(∆Y ). Comme f (A ∩ B) et f (A ∪ B) sont les
coûts minimaux d’un ensemble d’arêtes qui sépare respectivement d fois A ∩ B et A ∪ B,
nous obtenons c(DA )+c(DB ) ≥ f (A∩B)+f (A∪B) ⇔ f (A)+f (B) ≥ f (A∩B)+f (A∪B).
70
3.4. Mécanisme de partage de coût sur Réduction de distances
Figure 3.2 – Le dessin de gauche représente les arêtes de δ(SiA ) ∪∗ δ(SiB ), celui de
droite les arêtes de δ(Xi ) ∪∗ δ(Yi ). Les arêtes en gras apparaissent une fois dans les deux
membres du multi-ensemble de l’union. Les arêtes (xy), x ∈ SiA ∩ SiB , y ∈ V \ (SiA ∪ SiB )
apparaissent deux fois dans δ(SiA ) ∪∗ δ(SiB ) et deux fois dans δ(Xi ) ∪∗ δ(Yi ). Par contre,
les arêtes (xy), x ∈ SiA \ SiB , y ∈ SiB \ SiA apparaissent deux fois dans δ(SiA ) ∪∗ δ(SiB )
mais aucune dans δ(Xi ) ∪∗ δ(Yi ).
71
Chapitre 3. Réduction de distance
72
3.4. Mécanisme de partage de coût sur Réduction de distances
Théorème 3.5 [20] Ce mécanisme a les propriétés SB, PV, NTP, SC et il est résistant
aux stratégies.
Pour prouver ce théorème, les auteurs prouvent que leur mécanisme renvoie la même
distribution des coûts que le mécanisme présenté dans [49]. Et dans cet article, Moulin,
Hervé, Shenker et Scott prouvent que leur mécanisme est résistant aux stratégies.
Ce mécanisme n’est pas clairement polynomial. En effet, pour chaque étape dans la
boucle, nous devons faire le minimum entre toutes les valeurs de bi et toutes les valeurs
auxquelles un ensemble T peut devenir serré. Or, le nombre d’ensembles T n’est pas
polynomial.
73
Chapitre 3. Réduction de distance
Preuve Soit λ. Comme f (A) est une constante, il nous suffit de prouver que la fonction
B → f (A ∪ B) − λ|B| est sous-modulaire. Or comme f est sous-modulaire, la fonction
B → f (A ∪ B) est sous-modulaire. Mais comme la fonction B → −λ|B| est modulaire
(par modularité de la fonction cardinalité des ensembles), nous déduisons directement
que B → f (A ∪ B) − λ|B| est sous-modulaire.
Par cette proposition et par la Théorème 3.3, on peut savoir en temps polynomial si
il existe un ensemble B ⊆ F (T ) tel que gλ (B) ≤ 0. Il nous reste maintenant à déterminer
le minimum sur λ en temps polynomial.
Depuis le début de ce chapitre, nous supposons que la fonction de coût c a pour
ensemble d’arrivée l’ensemble Q. Sur cet ensemble de |E| rationnels, on peut calculer un
dénominateur commun q ∗ en temps polynomial en faisant la multiplication de tous les
dénominateurs. Par la suite, pour tout e, il nous suffit de redéfinir c(e) = c(e)q ∗ ∈ N.
Ainsi, pour toute instance (T, c, s, d) de Réduction de distances, on obtient en temps
polynomial une instance équivalente (T, c, s, d) où c : E → N. Pour la fin de ce chapitre,
nous ne considérons plus que ce type d’instance. Comme c(e) ∈ N pour tout e, nous
déduisons directement que f (A) ∈ N pour tout A ⊆ F (T ). Cette restriction des instances
permet d’effectuer la dichotomie qui suit.
Dans le pire des cas, λ prend pour valeur l’ensemble { pq , p ∈ {1, 2, ..., f (F (T ))}, q ∈
{1, 2, ..., |F (T )|}}. L’astuce est donc de deviner la valeur du dénominateur q et d’effec-
tuer une dichotomie sur l’ensemble { pq , p ∈ {1, 2, ..., f (F (T ))}}. Cet ensemble contenant
f (F (T )) éléments, la dichotomie s’effectue en temps O(log(f (F (T ))), ce qui est polyno-
mial en la taille du problème.
Le mécanisme de la page suivante résout donc le problème de partage de coût sur
Réduction de distances en temps polynomial.
74
3.4. Mécanisme de partage de coût sur Réduction de distances
Preuve Prouvons d’abord qu’un passage dans la boucle s’exécute en temps polyno-
mial. Deviner q signifie que l’on va tester toutes les valeurs possibles pour q, donc
|F (T )| valeurs différentes. Nous avons déjà montré que la dichotomie s’effectue en temps
O(log(f (F (T ))). Donc, un passage dans la boucle s’effectue en temps O(|F (T )| log(f (F (T ))).
Comme à chaque étape, |A| augmente strictement ou |F (T )| diminue strictement, l’al-
gorithme s’exécute en un maximum de |F (T )| passages dans la boucle. Nous pouvons
conclure que l’algorithme s’exécute en temps O(|F (T )|2 log(f (F (T ))) qui est un temps
polynomial.
75
Chapitre 3. Réduction de distance
76
Conclusion
77
Conclusion
et c’est aussi une question qui nous intéresse. Notre dernière piste de recherche consiste
à considérer des instances particulières du problème. On peut par exemple, comme dans
l’article [12] , considérer des instances où chaque étiquette apparait au plus r fois, où r
est un entier fixé. Par notre réduction à partir Max-3SAT, nous savons déjà que pour
r ≥ 3, le problème est AP X-difficile. Mais, nous ne savons pas si l’inapproximabilité par
un facteur constant tient pour ces instances particulières. Nous ne savons rien pour le
cas r = 2 qui, contrairement à ce qu’on pourrait penser, n’est déjà pas trivial.
Dans le Chapitre 2, nous prouvons que les problèmes d’arbre couvrant minimum avec
contrainte d’intermédiarité et de k + -chaîne se résolvent en temps polynomial. Pour cela,
nous réduisons ces problèmes à des problèmes de recherche d’un indépendant de poids
maximum commun à deux matroïdes dont la résolution est polynomiale. L’utilisation de
cette boîte noire dissimule les caractéristiques importantes de nos problèmes qui nous
permettent de les résoudre en temps polynomial. Nous aimerions donc trouver des algo-
rithmes combinatoires en temps polynomial qui ne font pas appel au problème sur les
matroïdes. Cele pourrait aussi permettre d’obtenir des algorithmes avec une meilleure
complexité. La notion de U -matroïde nous parait intéressante en elle-même et nous sou-
haiterions également étudier la possibilité d’utiliser cette notion pour résoudre d’autres
problèmes d’arbre couvrant minimum avec contrainte. Dans ce chapitre, nous étudions
également le problème de l’arbre couvrant minimum avec la contrainte de k − -chaîne.
Nous donnons un algorithme polynomial facteur 2 et nous prouvons qu’il est impossible
d’obtenir un algorithme avec un meilleur facteur constant à moins que P = N P . D’une
certaine manière, ce résultat est assez surprenant. En effet, l’algorithme facteur 2 est très
simple alors que la preuve d’inapproximabilité nécessite l’utilisation du résultat principal
du Chapitre 1 sur l’inapproximabilité du problème du chemin le plus étiqueté qui est
beaucoup plus difficile à démontrer. Même s’il n’existe pas d’algorithme polynomial avec
un facteur meilleur que 2, nous pouvons encore trouver des algorithmes polynomiaux
avec un facteur du type 2 − f (I) où f (I) est une fonction de l’instance I considérée.
Mais nos principales pistes de recherche consistent à considérer d’autres problèmes de
conception de réseaux qui prennent en compte à la fois des contraintes de connexité et
de distance. Certains problèmes intéressants sont déjà présentés dans la dernière section
du chapitre. Ces problèmes sont difficiles du point de vue de l’approximation polyno-
miale. Par exemple, trouver deux uv-chaînes sommets disjoints dans un graphe tel que
le nombre d’arêtes d’une des deux chaîne est bornée est déjà N P -difficile. Un autre
problème intéressant que nous souhaitons étudier est le suivant. Etant donné un graphe
dont les arêtes sont pondérées, deux sommets particuliers u et v et un entier k, trouver
un sous-graphe connexe H de coût minimum tel que u et v appartiennent à un cycle élé-
mentaire contenant au plus k arêtes de H. Pour les problèmes de ce type, notre objectif
est de déterminer les limites de ce qu’il est possible de calculer en temps polynomial,
éventuellement du point de vue de l’approximation si le problème est N P -difficile.
Dans le Chapitre 3, nous formulons un problème de réduction de distance dans les
arbres. Nous exhibons d’abord un algorithme qui résout le problème en temps polyno-
mial. Cet algorithme consiste juste à résoudre successivement des problèmes de coupe
minimum. Nous sommes aussi intéressés par le problème sur les graphes généraux où
78
l’on veut réduire les distances entre un sommet source s et un ensemble de sommets U
(qui représentent les feuilles dans l’arbre). On peut formuler toute instance du diameter
lowering problem comme une instance particulière du problème de réduction de distance
sur les graphes généraux. Par les résultats de l’article [24], le diameter lowering problem
est N P -difficile et il en est de même pour le problème de ce chapitre. En effet, même si
on sait que le support de la solution optimale est contenu dans un arbre de plus court
chemin, il est compliqué de choisir l’arbre optimal. Nous cherchons donc des algorithmes
d’approximation pour le problème sur les graphes généraux. Dans le Chapitre 3, nous
montrons aussi que la fonction de coût associée à toute instance du problème est sous-
modulaire (ce qui est assez attendu compte tenu de l’algorithme de résolution qui consiste
à calculer des coupes minimum). Pour cela, nous utilisons la technique de décroisement
des coupes. Comme expliqué dans l’article [49], les fonctions sous-modulaires ont un rôle
central dans la théorie du partage de coût, c’est notamment grâce aux résultats de cet
article combinés aux résultats de [20], que nous montrons l’existence d’un mécanisme de
partage de coût polynomial et résistant aux stratégies pour le problème de réduction de
distance. Nous cherchons à étendre le mécanisme au cas des graphes généraux. Comme
le problème est N P -difficile, nous cherchons donc un mécanisme qui demande aux uti-
lisateurs de payer des montants qui ne couvrent pas la totalité du coût du service mais
qui en couvre une part garantie par un facteur d’approximation. Parallèlement, nous
pensons également étudier la version fractionnaire du problème où les arêtes peuvent
être contractées partiellement. Nous savons que l’on peut résoudre le problème en temps
polynomial par programmation linéaire, nous souhaiterions obtenir un algorithme com-
binatoire et prouver que la fonction de coût associée à une instance est sous-modulaire
afin de déduire un mécanisme de partage de coût polynomial.
79
Conclusion
80
Bibliographie
[1] Stefan Arnborg and Andrzej Proskurowski. Linear time algorithms for NP-hard
problems restricted to partial k-trees. Discrete applied mathematics, 23(1) :11–24,
1989.
[2] Lynn Margaret Batten. Combinatorics of finite geometries. Cambridge University
Press, 1997.
[3] Richard Bellman. On a routing problem. Technical report, DTIC Document, 1956.
[4] Claude Berge. Graphes et hypergraphes. 1970. Dunod, Paris.
[5] Oded Berman and Gabriel Y Handler. Optimal minimax path of a single service unit
on a network to nonservice destinations. Transportation Science, 21(2) :115–122,
1987.
[6] Marshall W. Bern, Eugene L. Lawler, and Alice L Wong. Linear-time computation
of optimal subgraphs of decomposable graphs. Journal of Algorithms, 8(2) :216–235,
1987.
[7] Umberto Bertele and Francesco Brioschi. Nonserial dynamic programming. Acade-
mic Press, Inc., 1972.
[8] Hans L Bodlaender. Dynamic programming on graphs with bounded treewidth. Sprin-
ger, 1988.
[9] Otakar Boruvka. O jistém problému minimálním. 1926.
[10] Hajo Broersma and Xueliang Li. Spanning trees with many or few colors in edge-
colored graphs. Discussiones Mathematicae Graph Theory, 17(2) :259–269, 1997.
[11] Hajo Broersma, Xueliang Li, Gerhard Woeginger, and Shenggui Zhang. Paths and
cycles in colored graphs. Australasian Journal on Combinatorics, 31 :299–311, 2005.
[12] Tobias Brüggemann, Jérôme Monnot, and Gerhard J Woeginger. Local search for
the minimum label spanning tree problem with bounded color classes. Operations
Research Letters, 31(3) :195–201, 2003.
[13] Ruay-Shiung Chang and Leu Shing-Jiuan. The minimum labeling spanning trees.
Information Processing Letters, 63(5) :277–282, 1997.
[14] Victor Chepoi, Hartmut Noltemeier, and Yann Vaxes. Upgrading trees under dia-
meter and budget constraints. Networks, 41(1) :24–35, 2003.
81
Bibliographie
82
[30] M Grotschel, L Lovasz, and A Schrijver. The ellipsoid method and combinatorial
optimization, 1988.
[31] Refael Hassin, Jérôme Monnot, and Danny Segev. Approximation algorithms and
hardness results for labeled connectivity problems. Journal of Combinatorial Opti-
mization, 14(4) :437–453, 2007.
[32] Refael Hassin, Jérôme Monnot, and Danny Segev. The complexity of bottleneck
labeled graph problems. In Graph-Theoretic Concepts in Computer Science, pages
328–340. Springer, 2007.
[33] Johan Håstad. Some optimal inapproximability results. Journal of the ACM
(JACM), 48(4) :798–859, 2001.
[34] Jan-Ming Ho, DT Lee, Chia-Hsiang Chang, and CK Wong. Minimum diameter
spanning trees and related problems. SIAM Journal on Computing, 20(5) :987–997,
1991.
[35] Toshihide Ibaraki, Yann Vaxès, and Xiao-guang Yang. Lowering eccentricity of a
tree by node upgrading. Networks, 45(4) :232–239, 2005.
[36] Satoru Iwata, Lisa Fleischer, and Satoru Fujishige. A combinatorial strongly polyno-
mial algorithm for minimizing submodular functions. Journal of the ACM (JACM),
48(4) :761–777, 2001.
[37] Kamal Jain and Vijay V Vazirani. Equitable cost allocations via primal-dual-type
algorithms. In Proceedings of the thiry-fourth annual ACM symposium on Theory
of computing, pages 313–321. ACM, 2002.
[38] Richard M Karp. Reducibility among combinatorial problems. Springer, 1972.
[39] Leonid G Khachiyan. Polynomial algorithms in linear programming. USSR Com-
putational Mathematics and Mathematical Physics, 20(1) :53–72, 1980.
[40] Ton Kloks. Treewidth : computations and approximations, volume 842. Springer
Science & Business Media, 1994.
[41] Sven O Krumke, Madhav V Marathe, Hartmut Noltemeier, R Ravi, and SS Ravi.
Approximation algorithms for certain network improvement problems. Journal of
Combinatorial Optimization, 2(3) :257–288, 1998.
[42] Sven O Krumke, Hartmut Noltemeier, Hans-C Wirth, Madhav V Marathe, R Ravi,
SS Ravi, and R Sundaram. Improving spanning trees by upgrading nodes. Theore-
tical Computer Science, 221(1) :139–155, 1999.
[43] Sven O Krumke and Hans-Christoph Wirth. On the minimum label spanning tree
problem. Information Processing Letters, 66(2) :81–85, 1998.
[44] Sven Oliver Krumke, Madhav V. Marathe, Hartmut Noltemeier, R Ravi, SS Ravi,
Ravi Sundaram, and H-C Wirth. Improving minimum cost spanning trees by up-
grading nodes. Journal of Algorithms, 33(1) :92–111, 1999.
[45] Joseph B Kruskal. On the shortest spanning subtree of a graph and the traveling
salesman problem. Proceedings of the American Mathematical society, 7(1) :48–50,
1956.
83
Bibliographie
[46] Leonid A Levin. Universal sequential search problems. Problemy Peredachi Infor-
matsii, 9(3) :115–116, 1973.
[47] Jérôme Monnot. The labeled perfect matching in bipartite graphs. Information
Processing Letters, 96(3) :81–88, 2005.
[48] Edward F Moore. The shortest path through a maze. Bell Telephone System., 1959.
[49] Hervé Moulin and Scott Shenker. Strategyproof sharing of submodular costs :
budget balance versus efficiency. Economic Theory, 18(3) :511–533, 2001.
[50] James G Oxley. Matroid theory, volume 3. Oxford University Press, USA, 2006.
[51] Doowon Paik and Sartaj Sahni. Network upgrading problems. Networks, 26(1) :45–
58, 1995.
[52] Alexander Schrijver. A combinatorial algorithm minimizing submodular functions
in strongly polynomial time. Journal of Combinatorial Theory, Series B, 80(2) :346–
355, 2000.
[53] Alexander Schrijver. Combinatorial optimization : polyhedra and efficiency, vo-
lume 24. Springer Science & Business Media, 2003.
[54] Mohit Singh and Lap Chi Lau. Approximating minimum bounded degree spanning
trees to within one of optimal. In Proceedings of the thirty-ninth annual ACM
symposium on Theory of computing, pages 661–670. ACM, 2007.
[55] Vijay V Vazirani. Approximation algorithms. Springer Science & Business Media,
2013.
[56] David P Williamson and David B Shmoys. The design of approximation algorithms.
Cambridge university press, 2011.
[57] JZ Zhang, XG Yang, and MC Cai. Inapproximability and a polynomially solvable
special case of a network improvement problem. European Journal of Operational
Research, 155(1) :251–257, 2004.
[58] JZ Zhang, XG Yang, and MC Cai. A network improvement problem under different
norms. Computational Optimization and Applications, 27(3) :305–319, 2004.
84
Résumé
Cette thèse porte sur différents problèmes d’optimisation combinatoire dont nous
avons caractérisé la difficulté en décrivant des réductions et des algorithmes polyno-
miaux exacts ou approchés. En particulier, nous étudions le problème de trouver, dans
un graphe orienté sans cycle dont les sommets sont étiquetés, un chemin qui passe par un
maximum d’étiquettes différentes. Nous établissons qu’il n’existe pas d’algorithme po-
lynomial avec un facteur constant pour ce problème. Nous présentons aussi un schéma
qui permet d’obtenir, pour tout ǫ > 0, un algorithme polynomial qui calcule un chemin
collectant O(OP T 1−ǫ ) étiquettes. Nous étudions ensuite des variantes du problème de
l’arbre couvrant de poids minimum auquel nous ajoutons des contraintes de distance
et d’intermédiarité. Nous prouvons que certaines variantes se résolvent en temps poly-
nomial comme des problèmes de calcul d’un libre de poids minimum commun à deux
matroïdes. Pour une autre variante, nous présentons un algorithme d’approximation fac-
teur 2 et nous prouvons qu’il n’existe pas d’algorithme polynomial avec un meilleur
facteur constant. Enfin, nous étudions un problème d’améliorations de réseaux du point
de vue du partage des coûts. Nous montrons que la fonction de coût associée à ce pro-
blème est sous-modulaire et nous utilisons ce résultat pour déduire un mécanisme de
partage des coûts qui possède plusieurs bonnes propriétés.
Abstract
In this thesis, we investigate several combinatorial optimization problems and
characterize their computational complexity and approximability by providing polyno-
mial reductions and exact or approximation algorithms. In particular, we study the
problem of finding, in a vertex-labeled directed acyclic graph, a path collecting a max-
imum number of distinct labels. We prove that no polynomial time constant factor ap-
proximation algorithm exists for this problem. Furthermore, we describe a scheme that
produces, for any ǫ > 0, a polynomial time algorithm that computes a solution collect-
ing O(OP T 1−ǫ ) labels. Then, we study several variants of the minimum cost spanning
tree problem that take into account distance and betweenness constraints. We prove
that most of these problems can be solved in polynomial time using a reduction to the
weighted matroid intersection problem. For an other problem, we give a factor 2 approx-
imation algorithm and prove the optimality of this ratio. Finally, we study a network
improvement problem from a cost sharing perspective. We establish that the cost func-
tion corresponding to this problem is submodular and use this result to derive a cost
sharing mechanism having several good properties.