Vous êtes sur la page 1sur 10

UPMC UE COMPLEX (4I900)

M1 Informatique 2014-2015

Examen Réparti 1
Novembre 2014
Durée : 2 heures
Seuls les documents de cours et de TD/TME sont autorisés.
Le barème est donné à titre indicatif et peut donc être sujet à modifications.
Toute réponse devra être correctement justifiée.

Exercice 1 (4 points)

Question 1 (2/4) — On considère la machine de Turing suivante, où q0 est l’état initial, qa l’état
d’acceptation et qr l’état de rejet. Quel est le langage reconnu (l’alphabet étant {a, b} pour les
mots) ? Une justification rapide suffit.

→D
q0 qa

a, b → D a, b → D

q2 q1
a, b → D

→D →D

qr

Figure 1 – Machine de Turing

1
Question 2 (2/4) — Dire pour chacune des deux affirmations suivantes si elles sont vraies ou
fausses : les réponses devront être justifiées.
1. Soient A et B deux problèmes NP-complets. Il existe nécessairement une réduction polyno-
miale de A à B, et une réduction polynomiale de B à A.
2. Soient A et B deux problèmes appartenant à la classe P (problèmes polynomiaux). Il existe
nécessairement une réduction polynomiale de A à B, et une réduction polynomiale de B à A.

2
Exercice 2 (10 points)

Etant donné un graphe non orienté G = (V, E), une couverture de ce graphe est un sous-ensemble
de sommets V ′ tel que toute arête a au moins une extrémité dans V ′ :

∀(i, j) ∈ E, i ∈ V ′ ou j ∈ V ′

Par exemple, sur le graphe de la figure 2, V ′ = {1, 3, 4, 6} est une couverture, mais V ′′ = {3, 6, 7}
n’en est pas une car l’arête (4, 5) n’est pas couverte.

3 2

5 4

6 7

Figure 2 – Exemple

On considère alors le problème suivant : étant donné un graphe G = (V, E), trouver une cou-
verture de G de taille minimale.

Question 1 (1/10) — Donner une solution optimale sur le graphe de la figure 2 (on ne demande
pas de justification).

3
Question 2 (1/10) — De manière générale, dans un graphe à n sommets, donner un majorant du
nombre de solutions réalisables.

Question 3 (1.5/10) — Montrer que le problème de décision associé (étant donnés un graphe G et
un entier k, déterminer s’il existe une couverture de taille au plus k) est NP-complet. On suppose
que l’on sait que le problème STABLE est NP-complet.

4
On considère l’algorithme AP P ROXV C suivant :
———— AP P ROXV C ———————————————————–
C←∅
Tant qu’il existe dans G une arête e = (i, j) non couverte par C, faire :
C ← C ∪ {i, j}
Fin Tant Que
Renvoyer C
——————————————————————————————–
Question 4 (1.5/10) — Appliquer l’algorithme sur le graphe de la figure 2. On donnera simplement
à chaque étape l’arête dont les deux extrémités sont ajoutées, ainsi que la solution renvoyée.

Question 5 (0.5/10) — De manière générale, soit (i1 , j1 ), (i2 , j2 ), . . . , (ik , jk ) les arêtes dont les
deux extrémités sont ajoutées à chaque étape.
Exprimer |C| en fonction de k.

Question 6 (1.5/10) — Minorer la valeur optimale OP T (G) en fonction de k, et en déduire que


l’algorithme AP P ROXV C est 2-approché.

5
Question 7 (0.5/10) — Trouver un graphe G et une exécution de AP P ROXV C où la solution
renvoyée C est telle que |C| = 2OP T (G).

Question 8 (1/10) — On considère maintenant le problème de la couverturePpondérée où chaque


sommet v a un poids w(v), et l’on cherche une couverture V ′ de poids total v∈V ′ w(v) minimal.
AP P ROXV C est-il toujours 2-approché pour le problème de la couverture pondérée ? (si oui le
prouver, si non donner un contre-exemple).

6
Question 9 (1.5/10) — On considère le problème du stable maximum et l’on propose l’algorithme
AP P ROXStable consistant à renvoyer V \ AP P ROXV C (G).
Cet algorithme renvoie-t-il toujours une solution réalisable ? Est-il 1/2-approché ? (si oui le
prouver, si non donner un contre-exemple).

Exercice 3 (7 points)

On s’intéresse à la résolution d’un problème de partition équitable de coût minimal d’un graphe
non orienté connexe G = (V, E) à n sommets et m arêtes dans lequel chaque arête {x, y} ∈ E
possède une valuation c(x, y). Il s’agit de diviser V en deux sous-ensembles
P V1 et V2 de cardinalités
respectives
P |V 1 | = n 1 et |V2 | = n 2 tels que |n 1 − n 2 | ≤ 1 et que x∈V1 ,y∈V2 c(x, y) soit minimale. La
valeur x∈V1 ,y∈V2 c(x, y) représentera le coût de la partition.

Question 1 (1/7) — La partition (V1 = {1, 2, 3}, V2 = {4, 5, 6, 7}) du graphe G1 est-elle équitable ?
Calculer son coût.

7
3 10
7

2 1 4
6 5 4 1

1 5 6
1 6
1
3
4 7

Figure 3 – Graphe G1

Question 2 (1/7) — Dans le cas général, on associe à chaque sommet i de V , une variable binaire
xi qui indique dans quel sous-ensemble est placé le sommet i. Exprimer à l’aide de ces variables, la
contrainte de partition équitable ainsi que la fonction à optimiser.

On s’intéresse à la résolution de ce problème (difficile) par une méthode arborescente exacte.


Question 3 (1/7) — On considère l’algorithme suivant dans lequel V1 est un sous-ensemble de
sommets initialement vide :

8
1. Choisir un sommet v1 de V et le placer dans V1 .
2. Pour i = 2, · · · , ⌈ n2 ⌉ ;
Choisir le sommet y ∈ V \V1 et y adjacent à un des sommets de V1 dont la somme des
coûts aux éléments de V1 est maximale.
Ajouter y à V1 .
Que permet de calculer cet algorithme ? Quelle est sa complexité ?

Question 4 (1/7) — Donner la valeur de V1 obtenue pour le graphe G1 en prenant v1 = 1.

Question 5 (2/7) — Etant donnés deux sous-ensembles de sommets V1 de cardinalité p < n2 et V2


de cardinalité q < n2 , définir un minorant de la valeur de toute solution construite à partir de V1 et
V2 .
Indication : Si l’on note V̄ = V \{V1 ∪ V2 }, il faudra pour ce faire, évaluer les coûts des arêtes :
– entre V1 et V2 ,
– entre V1 et V̄ ,

9
– entre V2 et V̄ ,
– entre des sommets de V̄ .

Question 6 (1/7) — A partir des questions précédentes, décrire un algorithme exact de branch-
and-bound permettant de résoudre le problème de partition équitable de coût minimal en indiquant
votre schéma de branchement ainsi que vos fonctions d’évaluation (par excès et par défaut) de la
fonction à optimiser.

10