Beruflich Dokumente
Kultur Dokumente
El
Licence Universite Lille 1
Pour toutes remarques : Alexandre.Sedoglavic@univ-lille1.fr
Semestre 3 2008-09
Questions.
1. Donnez le graphe de controle de ce programme.
2. Donnez un jeux de donnees de depart afin parcourir tous les :
1
0 1 0
0 0 1
0 0 0
0 0 0
0 1 0
0 1 0
de controle est :
0 0 0
1 0 0
0 0 0
.
0 1 1
0 0 0
0 0 0
nk = n.
k=0
K
X
|Sk |.
k=0
2 si aj est une boucle de si ,
S := s1 , . . . , s|S| ,
Mi,j = 1 si aj est incident avec si ,
A := a1 , . . . , a|A| ,
0 sinon.
Notons d(vi ) le degre i.e. le nombre daretes partant et arrivant `a vi .
Par definition, on a
X
d(s) =
K X
X
d(s)
k=0 sSk
sS
k=0
d(v) =
n X
m
X
Mi,j ,
i=1 j=1
vG
0
1
1
dadjacence comme :
1 1
0 0
0 0
q
q
q
q
q
q
q
q
Correction.
1. On doit montrer que cest une relation :
(a) binaire : trivial dans notre cas ;
(b) reflexive : trivial dans notre cas ;
(c) symetrique : trivial dans notre cas ;
(d) transitive : trivial dans notre cas ;
2. On peut raisonner sur les matrices dadjacence par exemple.
3. Lisomorphisme entre graphes conserve certaines proprietes les invariants de graphes comme par exemple le nombre de sommets, le
nombre daretes, le degres des sommets mis en relation, lexistence de
cycle, etc.
On voit ainsi que seuls les 2 premiers graphes peuvent etre isomophes.
Pour aller plus loin, on peut mettre les 2 graphes sous une forme canonique (par exemple, les sommets tries par degres croissants) puis tenter
de voir si ces formes normales sont isomorphes. En maple, on a :
A1:=Matrix([[0,1,0,0,0,0,0],[1,0,1,0,0,1,0],[0,1,0,1,0,0,1],[0,0,1,0,0,0,0],
[0,0,0,1,0,0,0],[0,1,0,0,0,0,0],[0,0,1,0,0,0,0]]) ;
A2:=Matrix([[0,1,0,0,0,0,0],[1,0,1,0,0,1,0],[0,1,0,1,0,0,0],[0,0,1,0,1,0,1],
[0,0,0,1,0,0,0],[0,1,0,0,0,0,0],[0,0,0,1,0,0]]) ;
7. Montrer que pour tous les nombres naturels n, m, k verifiant les conditions :
2
1 k n, n k m Cnk+1
,
il existe un graphe dordre n ayant exactement m aretes et k composantes connexes.
Correction.
1.
2.
2
3. Si le graphe G a strictement plus de Cn1
aretes, cest un graphe complet et donc connexe.
4. Une chane simple ne peut visiter le meme sommet 2 fois. Une chane
de longueur maximale ne peut etre prolongee. Si ces chanes nont pas
de sommet commun, le graphe a deux composantes connexes disjointes
(preuve `a faire).
5. Cest un exercice de cette feuille. On ne peut avoir en meme temps un
sommet de degres 0 et un sommet de degres n 1. Les degres possibles
du graphe sont compris dans lensemble {1, . . . , n 1} ou {0, . . . , n 2}
et le principe des tiroirs indique que deux sommets ont meme degres.
6. Prenons deux sommets distincts x et y du graphe. La composante
connexe de x (resp. y) est composee de 1 + (n 1)/2 sommets au minimum de par la condition sur le degree minimal du graphe. Lintersection
de ces composantes connexes ne peut donc etre vide (leur reunion est
dordre 1 + n et donc au moins un sommet est dans les deux composantes) et le graphe est donc connexe.
7. Montrons que m n k en raisonnant par recurrence. Si m = 0, linegalite
est vraie. Supposons cette inegalite vraie pour des graphes dordre n et
considerons un graphe G dordre n + 1 ayant k composantes connexes.
Considerons une arete a et le graphe G0 = G \ {a}. Le nombre de composantes connexes de G0 est soit k, soit k + 1 et son nombre daretes
est m 1. On a donc linegalite
m1nk >nk1
qui permet de conclure.
2
Montrons que m Cnk+1
. Prenons le cas extremes dun graphe ayant k
composantes connexes toutes constituees par un graphe complet. Nous
allons voir que dans ce cas, quil y a k 1 composantes qui sont des
sommets isoles et une composante dordre n k + 1. Raisonnons par
labsurde. On suppose que le nombre daretes de G est maximale.
Soit Kp et Kq deux graphes complets disjoints avec p q > 1. En retirant un sommet de Kq (on supprime les aretes incidentes `a ce sommets) et en lajoutant `a Kp , on augmente lordre du graphe (ce qui
est impossible, car en iterant ce processus, on arrive `a des graphes
dordre fini avec un nombre daretes infinie). Donc, il y a dans le
cas du plus grand nombre daretes une unique composante connexe
dordre n k + 1 ce qui prouve linegalite.
10
Si (G) = p + 1 alors
(G) = p+1 = m(G)n(G)+k(G) = m(G0 )+1n(G0 )+k(G0 ) = (G)+1.
Ainsi, (G) = p et par hypoth`ese de recurrence admet p cycles. Donc
le graphe G admet p + 1 cycles.
Si le graphe G admet p + 1 cycles sans cordes, alors G0 en contient p
(on vient den supprimer un, car il ny a pas de corde en fait, on
compte les faces internes constitues par un cycle). Donc,
(G0 ) = p = m(G0 )n(G0 )+k(G0 ) = m(G)1n(G)+k(G) = (G)1.
Ainsi, si le graphe G admet p + 1 cycles sans cordes, alors (G) = p + 1.
4. Si m(G) n(G) alors (G) est strictement positif. Supposons quil ny
a pas de cycle, alors (G) = 0 ce qui implique un nombre de composantes connexes negatif. Cest impossible.
Exercice 12 Exemple de raisonnement sur les graphes.
La syldavie est un pays avec 15 villes. On peut aller de chaque ville `a
au moins 7 autres villes du pays par une autoroute. Peut-on se rendre, par
autoroute de la capitale du pays `a chacune des autres villes.
Correction. Soit A une ville quelconque. Lautoroute nous conduit de la
capitale vers au moins 7 villes differentes ; on a donc un reseau de 8 villes
relies par autoroute. De la ville A on peut egalement relier par autoroute au
moins 7 autres villes differentes ; on a donc un nouveau reseau de 8 villes
relies par autoroute. Il doit y avoir une ville commune `a ces deux reseaux,
car sinon le pays aurait au moins 16 villes. La capitale est donc relie `a A en
au plus deux coups, en passant par cette ville commune ; elle est donc reliee
`a toutes les autres villes du pays.
Exercice 13 Graphe de de Bruijn.
Un code dentree dun dimmeuble est compose de 3 lettres binaires. Trouver un mot de longueur aussi petite que possible qui contient toutes mots
de 3 lettres binaires. (Un tel mot contiendra alors le code dentree).
Pour ce faire construire un graphe oriente compose de 4 sommets representant
des mots binaires de longueur 2 : {00, 01, 11, 10}. Une arete orientee relie tout
sommet ab aux deux sommets b0 et b1.
13
15
9 0 1
1
8 2 0 .
10
0 5 5
Exercice 18 Exemple dautomate.
Proposez un automate deterministe permettant de reconnatre les multiples de 3.
Correction. Lautomate va avoir 4 etats : init, 0, 1 et 2 qui sont les restes
modulo 3 possibles. On part de letat init puis `a chaque lettre decimale
constituant le nombre, on prend letat correspondant.
Exercice 19 Graphes planaires.
1. Montrer que la formule dEuler peut etre generalisee pour un graphe
planaire ayant n sommets, m aretes, f faces et k composantes connexes
comme suit :
n m + f = k + 1.
2. Montrer que pour un graphe planaire avec k composantes connexes, on
a m 3(n k 1).
Correction.
1. Nous allons refaire la demonstration de la formule dEuler en suivant
la demarche classique :
prouver laformule pour une foret de k arbres ;
passer des arbres aux graphes en ajoutant des aretes.
16
Lidee de base est que tout graphe planaire connexe sobtient `a partir
dun arbre par ajout daretes.
Pour chaque un arbre, on a la relation m = n 1. Ceci implique que
pour une foret, on a la relation m = n k. Puisque dans une foret,
il ny a quune face (la face exterieure, et donc f = 1), on a bien la
relation :
n m + f = k + 1.
Passons maintenant aux graphes. On fixe le nombre de sommets et on
fait une recurrence sur le nombre darete (i.e. on ajoute des aretes `a un
graphe G0 pour obtenir un graphe G). En ajoutant une aretes soit :
on relie deux composantes connexes en une seule m(G) = m(G0 ) + 1
et k(G) = k(G0 ) 1. Cela ne change ni le nombre de sommets ni le
nombre de face. On a :
0 = nm(G0 )+f (G0 )k1 = n(m(G0 )+1)+(f (G0 )+1)k1 = nm(G)+f (G)k1.
Ceci montre que la formule reste vraie.
2. Commencons par montrer un analogue du lemme des poignees de mains
pour les faces. Le degre dune face est le nombre daretes que lentourent. En sommant lensemble des degres, on trouve 2 fois le nombre
daretes :
X
d(f ) = 2m.
face
Toute face est bordee par au moins 3 aretes. Donc d(f ) 3. On en
conclut donc que 2m 3f . En utilisant la formule dEuler, on obtient
donc que
3f = 3k + 3 3n + 3m 2m,
3n 3k 3 m.
Exercice 20 Poly`
edres r
eguliers connexes : eul
eriens et hamiltoniens.
Verifier si les graphes definis par les poly`edres reguliers convexes (tetra`edre,
cube, octa`edre, dodeca`edre, icosa`edre) sont euleriens (resp. hamiltoniens).
Correction.
17
Un circuit est simple sil ne contient pas deux fois le meme arc.
Un circuit est eulerien sil est simple et contient tous les arcs dun
graphe.
Un circuit est elementaire sil ne contient pas deux arcs de meme origine
ou de meme but.
Un circuit est hamiltonien sil est elementaire et contient tous les sommets dun graphe.
Le theor`eme dEuler permet de determiner si un graphe est euleriens.
Un graphe non oriente sans sommets isoles poss`ede un cycle eulerien si,
et seulement si,
1. Il est connexe.
2. Il a 0 ou 2 sommets de degre impair.
Dans le cas o`
u il ny a aucun sommet de degre impair, cette chane eulerienne
est un cycle. Dans le cas o`
u il y en a deux, ce sont les extremites de la chane.
Le theor`eme de Dirac permet de decider si certains graphes sont planaires : Si chaque sommet dun graphe de n sommets est de degre superieur
ou egal `a n/2 alors le graphe admet un cycle hamiltonien.
Les poly`edres reguliers (les degres des sommets sont tous egaux) convexes
verifient la relation deuler :
s a + f = 2.
Le lemme des poignees de mains permet de conclure sur les degres des
poly`edres reguliers :
a
d=2 .
s
Poly`edre
Sommets
tetra`edre
4
cube
8
octa`edre
6
dodeca`edre
20
icosa`edre
12
Aretes
6
12
12
30
30
Faces
4
6
8
12
20
degres
3
3
4
3
5
euleriens
non
non
oui
non
non
hamiltonien
oui
oui
oui
oui
oui
19
Etant
donne un graphe G, le graphe daretes L(G) associe au graphe G
est le graphe dont les sommets sont les aretes de G et tel que deux sommets
de L(G) sont adjacents si, et seulement si, les aretes correspondantes de G
sont incidentes.
Questions.
1. Dessinez les graphes L(G) pour G = Kn avec n 4.
2. Montrer que le nombre daretes du graphe L(G) verifie :
Pn(G)
i=1
di2
m(G)
s1 s2 s3 s4 s5 s6 s7 s8
0 1 1 1 1 1 1 1
1 0 1 0 0 0 0 1
1 1 0 1 0 0 0 0
1 0 1 0 1 0 0 0
1 0 0 1 0 1 0 0
1 0 0 0 1 0 1 0
1 0 0 0 0 1 0 1
1 1 0 0 0 0 1 0
Exercice 25 Etude
dune famille de graphes.
Considerons Gn le graphe dont les sommets sont les permutations de {1, . . . , n}.
Deux sommets de Gn sont adjacents si, et seulement si, les permutations correspondantes sobtiennent lune de lautre par une transposition.
Questions.
1. Combien Gn a-t-il de sommets ?
2. Donnez les degres des sommets de Gn .
3. Combien Gn a-t-il daretes ?
4. Le graphe Gn est-il planaire si n > 3.
Correction.
1. Gn a n! sommets.
2. Gn est un graphe regulier dont le degres de chaque sommet est Cn2 .
3. Le lemme des poignes de mains indique n!Cn2 /2.
4. Non car on a n!Cn2 /2 > 3n! 6.
22