2006

publicité
Majeure Informatique
Promotion 2003
Cours de Conception et analyse d'algorithmes
Examen du mercredi 29 mars 2006. 2 heures
Documents autorisés : poly, transparents du cours, énoncés de PC
Le barême est indicatif.
On demande aux étudiants d'accorder une attention particulière à une rédaction soignée, claire et détaillée, qui sera un critère important dans l'évaluation.
I. Arbres recouvrants (7 points).
Soit un graphe G non orienté dont l'ensemble de sommets est 1, 2, . . . , n et dont l'ensemble des arêtes est colorié en n − 1 couleurs ; ceci signie que l'on a une partition
E = E1 ∪ E2 ∪ . . . ∪ En−1 telle que Ei ∩ Ej = ∅ si i 6= j .
Le problème consiste à chercher un sous-ensemble T de E de taille maximale satisfaisant
les deux conditions suivantes :
(T 1) T ne contient pas de cycle
(T 2) Toutes les arêtes de T sont de couleurs diérentes
On voit que la taille de l'optimum est au plus de n − 1 ; si elle est atteinte, T est alors un
arbre recouvrant dont les arêtes sont toutes de couleurs diérentes.
Pour résoudre le problème, on se propose dans un premier temps d'utiliser l'algorithme
glouton suivant :
1. T = ∅
2. Tant qu'il existe une arête e de couleur diérente des arêtes de T et ne formant pas
de cycle avec T faire T := T ∪ {e}.
1.
Montrer sur l'exemple ci-dessous, dans lequel les colorations des arêtes sont :
E1 = {e1 , e5 },
E2 = {e2 , e4 },
E3 = {e3 }
que l'algorithme glouton ne donne pas toujours l'optimum.
1
e1
2
e
e4
3
e
3
e
2
4
5
Dans les questions qui suivent, on suppose que l'algorithme glouton termine avec un sousensemble T , contenant k < n − 1 arêtes, et satisfaisant (T 1) et (T 2). On construit alors
1
un graphe orienté biparti GT = (X ∪ Y, A), dont l'ensemble des sommets est l'ensemble
des arêtes E = {e1 , . . . , em } de G ; X est constitué des ei qui ne sont pas dans T et Y des
ej qui sont dans T ; les arcs A de GT sont de deux types :
Pour x ∈ X et y ∈ Y , (x, y) ∈ A si x est de même couleur que y ou si x a une couleur
diérente de toutes celles des arêtes de T .
Pour x ∈ X et y ∈ Y , (y, x) ∈ A si T − y + x n'a pas de cycle.
Construire le graphe GT correspondant à l'exemple que vous avez donné comme réponse
à la Question 1.
2.
On note X1 le sous-ensemble de X constitué des arêtes qui ont une couleur diérente
de celles de T et X2 le sous-ensemble de X constitué des arêtes qui ne forment pas de
cycle avec T .
Que peut-on dire de X1 ∩ X2 si T est obtenu par l'algorithme glouton ? A-t-on toujours
X = X1 ∪ X2 ?
3.
Pour l'exemple considéré montrer que certains chemins dans le graphe GT permettent
de construire un ensemble T 0 satisfaisant (T1 ), (T2 ) et de taille supérieure à celle de T .
4.
Les sous-ensembles satisfaisant (T1 ), (T2 ) forment-ils un matroïde, l'intersection de deux
matroïdes ? Justiez votre réponse.
5.
II. Problèmes NP-complets et algorithmes d'approximation (7 points).
L'objet de ce problème est d'étudier un problème de placement optimal de ressources :
on souhaite placer k supermarchés dans n villes de façon à minimiser la distance maximale
des villes au supermarché le plus proche.
Soit G = (X, E) un graphe non orienté, où X est l'ensemble des sommets et E est
l'ensemble des arêtes. Un ensemble dominant de G est un sous-ensemble S ⊂ X tel que
tout sommet de X \ S est voisin d'un sommet de S .
Donner une version décision du problème Dominant suivant : étant donné un graphe G,
trouver la cardinalité minimale d'un ensemble dominant de G.
1.
Montrer que la version décision de Dominant est un problème NP-complet. Vous
attacherez un grand soin dans la réponse à cette question.
(Indication : Utiliser recouvrement par sommets qui consiste à chercher un ensemble de sommets S 0 tel que toute arête a une extrémité dans S 0 .)
2.
On suppose donnée une table des distances d(x, y) entre n villes satisfaisant l'inégalité
triangulaire : d(x, y) ≤ d(x, z) + d(z, y) pour tout triplet (x, y, z) de villes.
Le problème k -centres consiste à trouver, dans un graphe complet à n sommets
dont les arêtes sont valuées par une fonction d satisfaisant l'inégalité triangulaire, un
sous-ensemble S de k sommets minimisant la quantité
φ(S) = max min d(x, y).
x∈S
y ∈S
/
On note φ∗ le minimum minS⊂V φ(S).
2
Étant donné un graphe non orienté G = (X, E), on considère le graphe complet KX
sur X et une valuation des arêtes dénie par
(
d(x, y) =
1 si {x, y} ∈ E,
2
sinon.
Utiliser cette construction et le problème Dominant pour montrer que la version
décision du problème k -centres est NP-complète.
3.
En déduire que s'il existe un algorithme polynomial qui trouve, étant donné un entier
k et une valuation d du graphe complet à n sommets, un ensemble S de taille k tel que
φ(S) < 2φ∗ alors P = NP.
4.
III. Programmation linéaire, algorithmes probabilistes (6 points).
On considère le problème set-cover pour lequel la donnée est un ensemble E =
{1, 2, . . . , n} et une famille F de sous-ensembles F1 , F2 , . . . , Fm de E dont l'union est
égale à E . On suppose de plus que chaque élément i est contenu dans exactement k sousensembles Fi . Il s'agit de trouver un nombre minimum de sous-ensembles Fi , i ∈ I tels
S
que i∈I Fi = E .
On se propose ici d'utiliser la programmation linéaire et un algorithme probabiliste
pour résoudre ce problème. Pour cela on associe à chaque Fi une variable xi qui prendra
des valeurs comprises entre 0 et 1.
Exprimer le problème sous forme d'un programme linéaire en nombres entiers comportants n contraintes (en plus de 0 ≤ xi ≤ 1) et une fonction à minimiser. Ecrire ces
contraintes pour l'exemple suivant E = {1, 2, 3, 4, 5} et F1 = {1, 3, 5}, F2 = {2, 3, 4}, F3 =
{1, 2}, F4 = {4, 5}, F5 = {1, 2, 4}, F6 = {3, 5}.
1.
Soit x̂1 , x̂2 , . . . , x̂m la solution au problème lorsqu'on relache la condition nombres
entiers pour autoriser des rationnels. Donner une borne inférieure pour l'optimum du cas
entier en fonction de la solution x̂1 , x̂2 , . . . , x̂m .
2.
On applique la méthode suivante pour résoudre notre problème à partir de la solution
en nombres rationnels x̂1 , x̂2 , . . . , x̂m : choisir si i ∈ I avec probabilité x̂i . Cette méthode
est-elle de type Monte-Carlo ou Las Vegas ?
Quelle est en fonction des x̂1 , x̂2 , . . . , x̂m la probabilité pour qu'un élément j donné
appartenant à Fj1 , Fj2 , . . . , Fjk n'appartienne à aucun des Fi pour i ∈ I ?
3.
4.
Montrer que la probabilité que j soit dans un des Fi , i ∈ I est minorée par 1 − 1e .
Donner un algorithme qui après avoir résolu le problème linéaire en nombres rationnels
eectue m log(n) tirages aléatoires pour donner une solution O(log n)- approchée et ceci
avec probabilité supérieure ou égale à 12 .
5.
3
Téléchargement