TD 1 : notions générales
Exercice 1 : Dessiner si c'est possible un graphe qui a 3 sommets de degré 3 et 4 sommets de degré 2. Le cas échéant, expliquer pourquoi ce n'est pas possible.
C'est impossible : la somme des degrés vaut , qui est impaire, alors que dans tout graphe (lemme des poignées de main).
Exercice 2 : Soit un graphe simple sans boucle non orienté ayant sommets. Montrer que le degré de tout sommet de est inférieur ou égal à , et que ne peut contenir à la fois un sommet de degré et un sommet de degré , en déduire que admet au moins deux sommets de même degré.
Soit , prenons . Les arêtes incidentes à candidates sont les avec (pas de boucle). On a donc arêtes possibles incidentes à . Donc .
Supposons que : pour tout , l'arête n'existe pas, donc . Un sommet de degré et un sommet de degré ne peuvent donc pas coexister.
Distinguons deux cas. S'il existe un sommet de degré 0, les degrés possibles sont , soit valeurs possibles. Sinon, les degrés possibles sont , soit encore valeurs. Dans les deux cas, on a sommets pour valeurs : d'après le principe des tiroirs, il existe une valeur de degré prise par au moins 2 sommets.
Exercice 3 : Soit . Le graphe de Petersen est le graphe non orienté défini de la façon suivante : ses sommets sont les paires d'éléments de , et deux sommets sont joints par une arête si et seulement si ce sont deux paires disjointes d'éléments de . Déterminer le nombre de sommets du graphe, le degré de chaque sommet, le nombre d'arêtes du graphe, dessiner le graphe.
Le graphe possède sommets. Une paire est disjointe de paires : chaque sommet est de degré 3. Le nombre d'arêtes vaut donc .
![]()
Exercice 7 : Nous considérons ici les graphes ayant pour ensemble de sommets des intervalles d'entiers de la forme avec .
- Quel est le nombre de graphes simples orientés ayant sommets ?
- Quel est le nombre de graphes simples non orientés ayant sommets ?
Ici, un graphe simple peut contenir des boucles mais pas d'arcs multiples.
- Soit : les arcs possibles sont de la forme avec et , soit arcs potentiels, et donc graphes simples orientés à sommets ( si l'on interdit les boucles).
- Soit : les arêtes possibles sont de la forme avec et . Ainsi le nombre d'arêtes potentielles vaut , et donc il y a graphes simples non orientés à sommets ( sans boucle).
Exercice 9 : On considère ici des graphes simples orientés ou non. Écrire un algorithme décidant si deux graphes fournis en entrée sont isomorphes ou non. Évaluer sa complexité. Vous utiliserez un type renommage contenant notamment les primitives suivantes dont on supposera la complexité en temps constante :
fonction renommageSuivant(r:renommage):booléenqui retourne le booléen vrai s'il existe une bijection suivante et retourne celle-ci par effet de bord sur ;procédure initialisation(n:entier)qui retourne la première bijection.
fonction isomorphisme(g_1(V_1,E_1):graphe, g_2(V_2,E_2):graphe)
n = card(V_1)
si n != card(V_2) ou card(E_1) != card(E_2)
retourner Faux
r = initialisation(n)
répéter
c = 0
pour i allant de 1 à card(E_1)
si Appartient((r(E_1[i][0]), r(E_1[i][1])), E_2)
c++
si c == card(E_2)
retourner Vrai
tant que renommageSuivant(r)
retourner Faux
fonction Appartient(element e, ensemble E)
pour i allant de 1 à |E|
si e==E[i]
retourner Vrai
retourner Faux
La complexité de cet algorithme est : bijections, et pour chacune arêtes dont l'appartenance à est testée en .