Vous êtes sur la page 1sur 6

Outils mathématiques

pour l’informatique Devoir surveillé 3 février 2005

Les documents manuscrits ainsi que les polycopiés du cours sont autorisés. Les livres sont interdits.

Répondez aux questions dans l’espace prévu à cet effet. Elaborez votre réflexion au
brouillon et reportez ensuite votre réponse sur ce document d’une manière claire et concise.

Exercice 1
Soient les langages définis par les expressions rationnelles L = a(a + b)⋆ a et M = (a + ba)⋆

Question 1 :
Exprimer L (resp. M ) en une phrase.

Solution: L est l’ensemble des mots commençants et finissants par a ayant au moins deux lettres.
M est l’ensemble des mots soit vide soit n’ayant pas deux b à la suite et terminant par a

Question 2 :
Pour n entier, combien y a-t-il de mots de L de longueur n ? Combien y a-t-il de mots de M de longueur
n?

Solution: 2n−2 , n ≥ 2
Soit Mn l’ensemble des mots de M de longueur n et Un le nombre de mots de Mn . Si x ∈ Mn alors
soit x = az avec z ∈ Mn−1 soit x = baz avec z ∈ Mn−2 . Ainsi Un = Un−1 + Un+2 avec U0 = 1 et
U1 = 1.
C’est la suite de Fibonacci. On peut la résoudre par le polynôme caractéristique
√ ! √ !
1 + 5 1 − 5
P (r) = r2 − r − 1 = r − r−
2 2

√ !n+1 √ !n+1
 
1  1+ 5 1− 5
un = √ − 
5 2 2

Question 3 :
Proposer un automate déterministe qui reconnaı̂t les mots de L et un automate déterministe qui reconnaı̂t
les mots de M .

Solution:

b a

a a
1 2 3
b
OMI 2004-2005 Nom : Prénom :

a
b
1 2

Exercice 2
Question 1 :
On considère la suite u1 = 3, u2 = 5, un = 3un−1 − 2un−2 , n ≥ 3. Résoudre cette récurrence.

Solution: un = 2n + 1

Question 2 :
Soit la suite définie par u0 = 1 et un+1 − 2un = 4n .
(a) Résoudre cette récurence.

4n
Solution: un = 2un−1 + 4 d’où P (r) = (r − 2)(r − 4) et un = a2n + b4n avec a = b = 1/2.

(b) Montrer que le cardinal qn des mots de longueur n sur l’alphabet {a, b, c, d} et contenant un nombre
impair de b est 21 (4n − 2n ). (On pourra montrer que qn vérifie une relation de récurrence.)

Solution: Montrons que q0 = 0, q1 = 1 et un = 2un−1 + 4n−1


On a 4n = qn +pn où pn est le nombre de chaı̂nes contenant un nombre pair de b. qn+1 = 3qn +pn
car toute chaı̂ne de qn peut être prolongée par a, c ou d et toute chaine de pn peut être prolongée
par b. D’où qn+1 = 2qn + 4n .

Exercice 3

1 2

0 1
1

3
1

Figure 1: Un automate à états finis

Question 1 :
Trouver tous les mots reconnus par l’automate de la figure 1 qui ont une longueur < 7.
Question 2 :
Donner une expression rationnelle décrivant le langage reconnu par l’automate de la figure 1.

Page 2
OMI 2004-2005 Nom : Prénom :

Solution: ǫ, 111, 11011, 111111


(11(01)⋆ 1)⋆

Problème : recherche de couplage maximum


Le problème du couplage maximum dans un graphe non-orienté consiste à déterminer un sous-ensemble
d’arêtes de cardinalité maximum tel que deux arêtes ne soient pas incidentes au même sommet.
La recherche de couplage maximum est très utile pour résoudre les problèmes d’appariement ou d’affec-
tation :

• les problèmes d’appriement consistent à rechercher des couples d’éléments vérifiant une propriété (e.g.
des couples d’individus parlant la même langue).

• les problèmes d’affectation consistent à associer deux éléments de type différents (e.g. un processus et
un processeur d’une machine parallèle, un employé et une tâche...). Ces problèmes sont modélisés par
des graphes bipartis.

Maximiser le couplage revient alors à produire une affectation sur les ressources permettant d’optimiser
l’utilisation de celles-ci et ainsi minimiser le coût d’utilisation du matériel.
Les 3 parties suivantes sont indépendantes.

Partie 1 : Couplage dans les graphes connexes non orientés


Dans cette partie, nous allons étudier quelques propriétés des couplages dans les graphes connexes non
orientés.
Soit G = (S, A) un graphe non orienté connexe. Un couplage K est un ensemble d’arêtes K ⊆ A tel que
tout sommet x ∈ S est relié à au plus une arête de K. Un couplage K est maximum si |K| (le cardinal
de K) est maximum.
L’ensemble S(K) des sommets saturés par K est l’ensemble des sommets reliés à une arête de K. Si
K est un couplage, une chaı̂ne alternée LK est une chaı̂ne élémentaire de G composée alternativement
d’arêtes de K et d’arêtes de A \ K. Une chaı̂ne alternée insaturée est une chaı̂ne alternée par rapport à
K dont les deux sommets extrémités ne sont pas saturés par K.
Si K et K ′ sont deux ensembles d’arêtes, K∆K ′ = (K \ K ′ ) ∪ (K ′ \ K)

Question 1 :
Soit G le graphe de la figure 2. Donner un couplage comportant 4 arêtes. Soit K = {{1, 8}, {2, 6}, {3, 4}}.
Vérifier que K est un couplage. Est-ce que la chaı̂ne alternée
LK = {{7, 6}, {6, 2}, {2, 3}, {3, 4}, {4, 5}} est insaturée ? Que vaut K ′ = K∆LK ?

Solution: {{1, 2}, {3, 4}, {5, 6}, {7, 8}}. L est insaturée car 7 et 5 n’appartiennent pas à S(K).
K ′ = {{1, 8}, {7, 6}, {2, 3}, {4, 5}}

Question 2 :
Soit K un couplage et LK une chaı̂ne alternée insaturée par rapport à K. Montrer que K ′ = K∆LK
est un couplage tel que |K ′ | > |K|. On déduit de ce résultat que si K est un couplage maximum, on ne
peut pas lui associer une chaı̂ne alternée insaturée.

Page 3
OMI 2004-2005 Nom : Prénom :

1
2

8
6 3

7
5 4

Figure 2: Graphe connexe non orienté

Solution: LK étant insaturée, elle comporte un nombre impair d’arêtes (la première et la dernière
arête n’appartiennent pas à K). Soit n = |K| et m = |LK | ∩ |K|. Comme LK est une chaı̂ne alternée
insaturée d’arêtes de K, LK \ K comporte m + 1 arêtes deux à deux disjointes et forme ainsi un
couplage. Les arêtes de K \ LK (au nombre de n − m) saturent des sommets n’appartenant pas à
LK car tous les sommets de Lk (sauf les 2 extrémités) sont saturés par K et une et une seule arête
de K sature chaque sommets saturés. Ainsi les arêtes de K \ LK sont disjoints de celles de LK \ K
et le tout forme un couplage.
|K ′ | = |LK \ K ∪ K \ LK | = |LK \ K| + |K \ LK | ≥ m + 1 + n − m = n + 1 = |K| + 1, et donc
|K ′ | ≥ |K|.

Question 3 :
Soient K et K ′ deux couplages de G. Montrer que tout sommet x du graphe partiel Gp = (S, K∆K ′ ) a
un degré dGp (x) inférieur ou égal à 2.

Solution:

• si x 6∈ S(K \ K ′ ) et x 6∈ S(K ′ \ K) alors x est un point isolé et dGp (x) = 0

• si x ∈ S(K \ K ′ ) et x 6∈ S(K ′ \ K) alors x est l’extrémité d’une arête de K mais pas de K ′ .


Comme K est un couplage, dGp (x) = 1.

• si x ∈ S(K \ K ′ ) et x ∈ S(K ′ \ K) alors x est l’extrémité d’une et une seule arête de K et


d’une et une seule arête de K ′ et ainsi dGp (x) = 2.

On peut déduire de ce résultat que les trois formes possibles des composantes connexes de Gp sont soit
un sommet isolé, soit un cycle élémentaire ayant un nombre pair d’arêtes appartenant alternativement
à K et K ′ , soit une chaı̂ne élémentaire dont les arêtes appartiennent alternativement à K et K ′ et dont
les extrémités sont insaturées par l’un des deux couplages.
Question 4 :
Soit K un couplage pour lequel il n’existe pas de chaı̂ne alternée insaturée et K ′ un couplage maximum.
Montrer que |K| = |K ′ |. En déduire que si K est sans chaı̂ne alternée insaturée, alors K est maximum.

Solution: K ′ étant maximum, on ne peut pas lui associer une chaı̂ne alternée insaturée. Ainsi les
chaı̂nes élémentaires formant les composantes connexes de Gp sont nécessairement paires (sinon soit
K soit K ′ auraient une chaı̂ne alternée insaturée), et les cycles sont déjà de longueur paire. De plus
les chaı̂nes et les cycles sont alternés car K et K ′ sont des couplages. On peut ainsi déduire le fait
que |K| = |K ′ |.

Page 4
OMI 2004-2005 Nom : Prénom :

Partie 2 : Couplage parfait


Un couplage K de G est dit parfait si tout sommet de S est l’extrémité de l’une des arêtes de K, c’est-à-dire
si tous les sommets de S sont saturés par K.
Question 1 :
Montrer qu’un graphe ayant un nombre impair de sommets ne peut pas avoir de couplage parfait.

Solution: Si un graphe G = (S, A) admet un couplage parfait K, l’ensemble des extrémités des
arêtes de K est S tout entier. Or, deux arêtes de K n’ayant pas de sommet commun, cet ensemble a
2|K| éléments et par conséquent le cardinal de S est pair. Il s’ensuit qu’un graphe ayant un nombre
impair de sommets ne peut admettre de couplage parfait.

Question 2 :
Donner un exemple de graphe connexe ayant 4 sommets et n’admettant aucun couplage parfait.

Solution:

Partie 3 : Couplage dans les graphes bipartis


La résolution des problèmes d’appriement est dans le cas général de complexité exponentielle. En revanche,
lorsque le graphe est biparti, ce problème est polynomial.
Dans toute la suite, G = (S, A) est un graphe biparti, c’est-à-dire dont les sommets S sont répartis en
deux sous-ensembles S1 et S2 tels que toute arête de G relie un sommet de S1 à un sommet de S2 . On note
ce graphe G = (S1 , S2 , A).
Question 1 :
Montrer que si G admet un couplage parfait, alors les cardinaux de S1 et S2 sont égaux.

Solution: Si K est parfait tout sommet de S = S1 ∪ S2 est saturé et K sature autant de sommets
de S1 que de sommets de S2 .

Pour tout sous-ensemble T ⊆ S1 , on note VG (T ) (voisinage de T ) le sous-ensemble de S2 constitué des


sommets reliés à un sommet de T dans G. Soit (P ) la propriété suivante :

(P ) ≡ ∀T ⊆ S1 , |VG (T )| ≥ |T |

Question 2 :
Montrer que si G admet un couplage parfait, alors G vérifie la propriété (P ).

Solution: Soit G = (S1 , S2 , A) un graphe biparti admettant un couplage parfait K et Z ⊆ S1 . Soit


KZ l’ensemble des arêtes de K telles qu’elles aient une extrémité dans Z. |KZ | = |Z| car K est
parfait, et (KZ ∩ S2 ) ⊆ V (Z) et donc |V (Z)| ≥ |Z|.

Page 5
OMI 2004-2005 Nom : Prénom :

Question 3 :
On veut montrer par induction sur k que si G vérifie la propriété (P ), et que de plus |S1 | = |S2 | = k
alors G admet un couplage parfait. On note (Pk ) cette propriété.
(a) Prouver le résultat pour k = 1

Solution: Le seul graphe biparti tel que |X| = |Y | = 1 qui vérifie (P ) est le graphe à deux
sommets reliés par une arête. Ce graphe admet un couplage parfait. Ainsi (P1 ) est vérifiée.

(b) Supposons que la propriété soit vraie pour tout k < n. Soit G un graphe biparti admettant la
propriété (P ) et tel que |S1 | = |S2 | = n.
• Placez-vous dans le cas où pour tout sous-ensemble T strictement inclus dans S1 , le cardinal
de VG (T ) est strictement supérieur à celui de T . Montrer que G admet un couplage parfait.

Solution: Soit x un sommet de S1 . On a V ({x}) ≥ |{x}| = 1 et il existe un sommet


y ∈ S2 tel que (x, y) ∈ A. Considérons le graphe partiel G′ (S1 \ {x}, S2 \ {y}, A \ (x, y)).
Ce graphe est biparti avec les deux ensembles égaux à n − 1. Tout sous-ensemble T de
S1 \ {x} est tel que

|VG′ (T )| = |VG (T ) \ {y}| ≥ |VG (T )| − 1 ≥ |T |

Donc G′ vérifie (P ) et par hypothèse de récurrence admet un couplage parfait K ′ . Dans


ce cas K = K ′ ∪ {x, y} est un couplage parfait de G.

• Placez vous maintenant dans le cas où il existe un sous-ensemble T strictement inclus dans S1 ,
tel que le cardinal de VG (T ) est égal à celui de T . Soit T ′ le complémentaire de T dans S1 .
Soient les deux sous-graphes de G suivants :
– G1 dont les sommets sont ceux de T et ceux de VG (T ) et les arêtes sont celles de G reliant
les sommets de T aux sommets de VG (T )
– G2 dont les sommets sont ceux de T ′ = S1 \ T et ceux de W = S2 \ VG (T ) et les arêtes sont
celles de G reliant les sommets de T ′ aux sommets de W
Montrer qu’ils vérifient tous les deux la propriété (P ). En déduire que G admet un couplage
parfait.

Solution: G1 est un graphe biparti tel que |T | = |VG (T )|. Pour tout sous-ensemble X
de T , on a VG (X) = VG1 (X) et ainsi G1 vérifie (P ). Comme |T | ≤ n, par hypothèse de
récurrence, G1 admet un couplage parfait F1 .
G2 est un graphe biparti tel que |T ′ | = |W | (car |S1 | = |S2 | et |T | = |VG (T )|). ∀X ⊆ T ′ ,
on a

|VG2 (X)| = |VG (X ∪ T ) − VG (T )| ≥hyprec |X ∪ T | − |VG (T )| = |X| + |T | − |T | = |X|

Donc G2 vérifie (P ), et comme |T ′ | est plus petit que n, G2 admet un couplage parfait F2
et F1 ∪ F2 forme un couplage de G.

Page 6

Vous aimerez peut-être aussi