Avertissement

Ce contenu a été généré par une intelligence artificielle (LLM) et peut contenir des imprécisions ou des erreurs malgré notre relecture attentive. Il s'agit d'un outil d'apprentissage et non d'une référence académique.

Si vous constatez des erreurs, merci de nous les signaler via la page "À propos".

Chaînes, parcours, cycles et tours - preuves (A)

Lemme de réduction : Du parcours à la chaîne

Prouvez que si, dans un graphe GG, il existe un parcours reliant deux sommets xx et yy, alors il existe nécessairement une chaîne (parcours à sommets distincts) reliant xx et yy.

Indice

Considérez l'ensemble de tous les parcours reliant xx à yy. Si un parcours contient des sommets répétés, peut-on le raccourcir ? Raisonnez sur la longueur minimale.

Solution

Soit PP un parcours reliant xx à yy.

Étape 1 : Considérer le parcours de longueur minimale

Parmi tous les parcours existants reliant xx à yy (il en existe au moins un par hypothèse), choisissons-en un, noté μ=(s0,s1,…,sk)\mu = (s_0, s_1, \dots, s_k), dont la longueur kk est minimale. Ici s0=xs_0 = x et sk=ys_k = y.

Étape 2 : Raisonnement par l'absurde sur la répétition des sommets

Supposons que μ\mu ne soit pas une chaîne. Par définition, cela signifie que tous ses sommets ne sont pas distincts.

Il existe donc deux indices ii et jj avec 0≤i<j≤k0 \leq i < j \leq k tels que si=sjs_i = s_j.

Étape 3 : Construction d'un parcours plus court

Puisque si=sjs_i = s_j, le parcours fait une "boucle" entre l'étape ii et l'étape jj. Nous pouvons supprimer cette section.

Construisons le nouveau parcours μ′\mu' en "court-circuitant" la boucle :

μ′=(s0,…,si,sj+1,…,sk)\mu' = (s_0, \dots, s_i, s_{j+1}, \dots, s_k).

Notez que sis_i est directement relié à sj+1s_{j+1} dans μ′\mu' uniquement si j=ij=i, ce qui est impossible ici car i<ji<j. Plus précisément, la suite devient la concaténation de la section de s0s_0 à sis_i et de la section de sjs_j (qui est égal à sis_i) à sks_k.

La longueur de μ′\mu' est k−(j−i)k - (j - i). Comme i<ji < j, on a j−i≥1j - i \geq 1, donc la longueur de μ′\mu' est strictement inférieure à kk.

Conclusion

Nous avons construit un parcours μ′\mu' reliant xx à yy strictement plus court que μ\mu. Cela contredit l'hypothèse que μ\mu était de longueur minimale.

Par conséquent, le parcours de longueur minimale ne peut pas contenir de sommets répétés. C'est donc une chaîne.

Transitivité de la relation de connexité

Prouvez que la relation "être relié à" est transitive. C'est-à-dire : si xx est relié à yy et yy est relié à zz, alors xx est relié à zz.

Indice

Utilisez la définition d'un parcours (une suite de sommets adjacents). Si vous avez un chemin de xx à yy et un autre de yy à zz, comment pouvez-vous construire un chemin de xx à zz ? Pensez à la concaténation.

Solution

Soient x,y,zx, y, z trois sommets du graphe GG.

Étape 1 : Existence des parcours initiaux

Puisque xx est relié à yy, il existe un parcours P1=(u0,u1,…,um)P_1 = (u_0, u_1, \dots, u_m) tel que u0=xu_0 = x et um=yu_m = y.

Puisque yy est relié à zz, il existe un parcours P2=(v0,v1,…,vk)P_2 = (v_0, v_1, \dots, v_k) tel que v0=yv_0 = y et vk=zv_k = z.

Étape 2 : Concaténation (Mise bout à bout)

Observons que l'extrémité de P1P_1 est l'origine de P2P_2 (um=v0=yu_m = v_0 = y).

Nous pouvons définir une nouvelle suite de sommets PtotalP_{total} en mettant P2P_2 à la suite de P1P_1 :

Ptotal=(u0,u1,…,um−1,um,v1,v2,…,vk)P_{total} = (u_0, u_1, \dots, u_{m-1}, u_m, v_1, v_2, \dots, v_k).

(Note : on ne répète pas yy deux fois dans la liste des sommets, on fusionne le point de jonction).

Étape 3 : Vérification de la validité

  • Pour la première partie (u0,…,um)(u_0, \dots, u_m), chaque paire consécutive est une arête car P1P_1 est un parcours valide.
  • Pour la seconde partie (um,v1,…,vk)(u_m, v_1, \dots, v_k), rappelons que um=v0u_m = v_0. Donc la paire {um,v1}\{u_m, v_1\} est l'arête {v0,v1}\{v_0, v_1\} de GG. Les paires suivantes sont aussi des arêtes car P2P_2 est valide.

Conclusion

La suite PtotalP_{total} est un parcours valide commençant par u0=xu_0 = x et finissant par vk=zv_k = z. Donc xx est relié à zz.

Connexité et Partition (Théorème 7.5)

Soit G=(S,A)G=(S, A) un graphe. Prouvez que si GG est connexe, alors pour toute partition de l'ensemble des sommets SS en deux ensembles non vides UU et VV (U∪V=SU \cup V = S et U∩V=∅U \cap V = \emptyset), il existe au moins une arête reliant un sommet de UU à un sommet de VV.

Indice

Raisonnez par l'absurde. S'il n'y avait aucune arête entre UU et VV, pourrait-on aller d'un point u∈Uu \in U à un point v∈Vv \in V ?

Solution

Hypothèse : GG est connexe. SS est partitionné en UU et VV non vides.

Étape 1 : Raisonnement par l'absurde

Supposons qu'il n'existe aucune arête reliant un sommet de UU à un sommet de VV. Cela signifie que pour tout u∈Uu \in U et v∈Vv \in V, {u,v}∉A\{u, v\} \notin A.

Étape 2 : Utilisation de la connexité

Choisissons un sommet arbitraire x∈Ux \in U et un sommet arbitraire y∈Vy \in V (possible car les ensembles sont non vides).

Comme GG est connexe, il existe un parcours (s0,s1,…,sk)(s_0, s_1, \dots, s_k) reliant xx à yy (avec s0=xs_0 = x et sk=ys_k = y).

Étape 3 : Analyse du parcours

Puisque le parcours commence dans UU (s0∈Us_0 \in U) et finit dans VV (sk∈Vs_k \in V), il doit y avoir un moment où le parcours "saute" de l'ensemble UU à l'ensemble VV.

Mathématiquement, il doit exister un indice ii tel que si∈Us_i \in U et si+1∈Vs_{i+1} \in V.

Or, {si,si+1}\{s_i, s_{i+1}\} est une arête du parcours, donc une arête du graphe.

Conclusion

L'existence de l'arête {si,si+1}\{s_i, s_{i+1}\} contredit notre hypothèse de départ (qu'il n'y a pas d'arête entre UU et VV).

Il est donc nécessaire qu'il existe au moins une arête entre UU et VV.

Inégalité triangulaire pour la distance dans un graphe

Prouvez que pour tout triplet de sommets x,y,zx, y, z d'un graphe connexe GG, la distance satisfait :

dG(x,z)≤dG(x,y)+dG(y,z)d_G(x, z) \leq d_G(x, y) + d_G(y, z).

Indice

La distance est définie comme la longueur du plus court chemin. Si vous mettez bout à bout le chemin optimal de xx à yy et celui de yy à zz, que pouvez-vous dire de la longueur de ce nouveau chemin par rapport à dG(x,z)d_G(x, z) ?

Solution

Étape 1 : Définition des chemins optimaux

Soit PxyP_{xy} une chaîne de longueur minimale reliant xx à yy. Sa longueur est L(Pxy)=dG(x,y)L(P_{xy}) = d_G(x, y).

Soit PyzP_{yz} une chaîne de longueur minimale reliant yy à zz. Sa longueur est L(Pyz)=dG(y,z)L(P_{yz}) = d_G(y, z).

Étape 2 : Construction d'un chemin candidat

En concaténant PxyP_{xy} et PyzP_{yz} au point yy, nous formons un parcours PxzP_{xz} reliant xx à zz.

La longueur de ce parcours concaténé est exactement la somme des longueurs :

L(Pxz)=dG(x,y)+dG(y,z)L(P_{xz}) = d_G(x, y) + d_G(y, z).

Étape 3 : Comparaison avec la distance

Par définition, la distance dG(x,z)d_G(x, z) est la longueur du plus court parcours possible entre xx et zz.

Le parcours PxzP_{xz} que nous venons de construire est un chemin possible, mais pas nécessairement le plus court.

Par conséquent, la distance réelle doit être inférieure ou égale à la longueur de ce candidat :

dG(x,z)≤L(Pxz)d_G(x, z) \leq L(P_{xz}).

Conclusion

En substituant la longueur, on obtient :

dG(x,z)≤dG(x,y)+dG(y,z)d_G(x, z) \leq d_G(x, y) + d_G(y, z).

Puissances de la matrice d'adjacence

Soit AGA_G la matrice d'adjacence d'un graphe GG. Prouvez que le coefficient (AGk)ij(A_G^k)_{ij} est égal au nombre de parcours de longueur exactement kk reliant le sommet ii au sommet jj.

Indice

Utilisez un raisonnement par récurrence sur la longueur kk.

Pour l'hérédité (k→k+1k \to k+1), rappelez-vous de la définition du produit matriciel : (M×N)ij=∑pMipNpj(M \times N)_{ij} = \sum_p M_{ip} N_{pj}. Interprétez cette somme en termes de parcours.

Solution

Procédons par récurrence sur kk.

Étape 1 : Cas de base (k=1k=1)

(AG1)ij=(AG)ij(A_G^1)_{ij} = (A_G)_{ij}.

Par définition de la matrice d'adjacence, ce coefficient vaut 1 s'il existe une arête (parcours de longueur 1) entre ii et jj, et 0 sinon. La propriété est vraie pour k=1k=1.

Étape 2 : Hypothèse de récurrence

Supposons que pour un entier k≥1k \geq 1, le terme (AGk)il(A_G^k)_{il} représente le nombre de parcours de longueur kk entre ii et ll, pour toute paire (i,l)(i, l).

Étape 3 : Hérédité (k+1k+1)

On sait que AGk+1=AGk×AGA_G^{k+1} = A_G^k \times A_G.

Selon la formule du produit matriciel :

(AGk+1)ij=∑l∈S(AGk)il×(AG)lj(A_G^{k+1})_{ij} = \sum_{l \in S} (A_G^k)_{il} \times (A_G)_{lj}

Analysons les termes de cette somme :

  • (AGk)il(A_G^k)_{il} est le nombre de parcours de longueur kk allant de ii à ll.
  • (AG)lj(A_G)_{lj} vaut 1 si {l,j}\{l, j\} est une arête, 0 sinon.

Le produit (AGk)il×(AG)lj(A_G^k)_{il} \times (A_G)_{lj} compte donc le nombre de parcours de longueur kk allant de ii à ll qui peuvent être prolongés par l'arête {l,j}\{l, j\} pour atteindre jj.

Un parcours de longueur k+1k+1 de ii à jj est nécessairement formé d'un parcours de longueur kk de ii à un voisin ll de jj, suivi de l'arête {l,j}\{l, j\}.

En sommant sur tous les sommets intermédiaires ll possibles, on comptabilise exactement tous les parcours de longueur k+1k+1 reliant ii à jj.

Conclusion

La propriété est vraie pour k=1k=1 et est héréditaire. Elle est donc vraie pour tout k≥1k \geq 1.

Sous-optimalité des plus courts chemins

Soit P=(s,v1,v2,…,vk,t)P = (s, v_1, v_2, \dots, v_k, t) un plus court chemin (chaîne de longueur minimale) entre ss et tt dans un graphe. Prouvez que la sous-section (s,v1,…,vk)(s, v_1, \dots, v_k) est un plus court chemin entre ss et vkv_k.

Indice

Raisonnez par l'absurde (contradiction). Si on pouvait aller de ss à vkv_k plus vite, que cela impliquerait-il pour le trajet total de ss à tt ?

Solution

Soit d(u,v)d(u, v) la distance entre deux sommets.

La longueur du chemin PP est Ltotal=d(s,t)L_{total} = d(s, t).

Notons PsubP_{sub} la sous-partie du chemin reliant ss à vkv_k.

La longueur de PP est la somme de la longueur de PsubP_{sub} et de la dernière arête {vk,t}\{v_k, t\} (de poids 1 ou w(vk,t)w(v_k, t) si le graphe est valué positivement).

L(P)=L(Psub)+cost(vk,t)L(P) = L(P_{sub}) + cost(v_k, t).

Étape 1 : Hypothèse contradictoire

Supposons que PsubP_{sub} n'est pas le plus court chemin entre ss et vkv_k.

Alors il existe un autre chemin Psub′P'_{sub} reliant ss à vkv_k tel que L(Psub′)<L(Psub)L(P'_{sub}) < L(P_{sub}).

Étape 2 : Construction d'un nouveau chemin

Construisons un nouveau chemin P′P' de ss à tt en empruntant Psub′P'_{sub} puis l'arête {vk,t}\{v_k, t\}.

La longueur de ce nouveau chemin est :

L(P′)=L(Psub′)+cost(vk,t)L(P') = L(P'_{sub}) + cost(v_k, t).

Étape 3 : Comparaison

Puisque L(Psub′)<L(Psub)L(P'_{sub}) < L(P_{sub}), nous avons :

L(P′)<L(Psub)+cost(vk,t)=L(P)=d(s,t)L(P') < L(P_{sub}) + cost(v_k, t) = L(P) = d(s, t).

Conclusion

Nous avons trouvé un chemin P′P' reliant ss à tt dont la longueur est strictement inférieure à la distance d(s,t)d(s, t), ce qui est impossible par définition de la distance.

L'hypothèse est fausse. La sous-section d'un plus court chemin est donc elle-même un plus court chemin.

Condition nécessaire pour les graphes Eulériens

Prouvez que si un graphe connexe GG admet un tour eulérien (un cycle passant par toutes les arêtes exactement une fois), alors le degré de chaque sommet est pair.

Indice

Imaginez que vous parcourez le tour eulérien. Considérez un sommet vv. À chaque fois que vous "entrez" dans vv par une arête, que devez-vous faire ensuite ? Quelle est l'implication sur le nombre d'arêtes incidentes à vv ?

Solution

Soit G=(S,A)G=(S, A) un graphe possédant un tour eulérien TT.

Le tour TT est une suite d'arêtes qui commence et finit au même sommet et contient chaque arête de AA exactement une fois.

Étape 1 : Analyse des passages par un sommet

Considérons un sommet arbitraire v∈Sv \in S.

Chaque fois que le tour passe par le sommet vv, il doit :

  1. Arriver par une arête incidente eine_{in}.
  2. Repartir par une autre arête incidente eoute_{out}.

Étape 2 : Comptage des arêtes

Le passage par vv consomme donc exactement 2 arêtes incidentes à vv (une pour entrer, une pour sortir).

Si le tour passe kk fois par le sommet vv, alors 2k2k arêtes incidentes à vv sont utilisées.

Conclusion

Comme le tour est eulérien, il utilise toutes les arêtes incidentes à vv exactement une fois.

Le nombre total d'arêtes incidentes à vv, c'est-à-dire le degré d(v)d(v), doit donc être égal à la somme des arêtes consommées lors des passages.

d(v)=2kd(v) = 2k.

Puisque 2k2k est un multiple de 2, le degré de vv est nécessairement pair.

(Note : Pour le sommet de départ/arrivée, le raisonnement est le même : le tout premier départ et la toute dernière arrivée comptent ensemble comme un passage).

Feuilles dans un arbre

Prouvez que tout arbre (graphe connexe sans cycle) possédant au moins 2 sommets (n≥2n \geq 2) possède au moins deux feuilles (sommets de degré 1).

Indice

Considérez la chaîne la plus longue possible dans l'arbre. Regardez les extrémités de cette chaîne. Peuvent-elles avoir d'autres voisins que ceux qui sont sur la chaîne ?

Solution

Soit TT un arbre avec n≥2n \geq 2.

Étape 1 : Considérer une chaîne maximale

Comme n≥2n \geq 2 et TT est connexe, il existe des chaînes. Considérons une chaîne élémentaire de longueur maximale dans le graphe :

C=(x0,x1,…,xk)C = (x_0, x_1, \dots, x_k).

(Note : "maximale" signifie qu'on ne peut pas l'étendre sans répéter un sommet, elle n'est pas forcément unique).

Étape 2 : Analyse de l'extrémité x0x_0

Regardons le sommet x0x_0.

  • Il a au moins un voisin, x1x_1, qui est sur la chaîne.
  • Supposons que x0x_0 ait un autre voisin yy (y≠x1y \neq x_1).

Deux cas possibles pour yy :

  1. yy est déjà dans la chaîne (y=xiy = x_i avec i>1i > 1) : Cela créerait un cycle (x0,x1,…,xi,x0)(x_0, x_1, \dots, x_i, x_0). Or, un arbre est acyclique. Impossible.
  2. yy n'est pas dans la chaîne : Alors nous pourrions étendre la chaîne en (y,x0,x1,…,xk)(y, x_0, x_1, \dots, x_k), ce qui contredit l'hypothèse que CC est de longueur maximale. Impossible.

Conclusion

Puisque x0x_0 ne peut pas avoir de voisin dans la chaîne (autre que x1x_1) ni hors de la chaîne, son seul voisin est x1x_1.

Donc d(x0)=1d(x_0) = 1. x0x_0 est une feuille.

Le même raisonnement s'applique à l'autre extrémité xkx_k, qui est aussi une feuille (et x0≠xkx_0 \neq x_k car n≥2n \geq 2, donc la chaîne a une longueur ≥1\geq 1).

Il y a donc au moins deux feuilles.

Unicité de la chaîne dans un arbre

Prouvez que dans un arbre, il existe une unique chaîne reliant toute paire de sommets xx et yy.

Indice

L'existence est garantie par la connexité. Pour l'unicité, raisonnez par l'absurde : si vous aviez deux chaînes distinctes entre xx et yy, que formerait leur union ?

Solution

Soit GG un arbre.

Étape 1 : Existence

Par définition, un arbre est connexe. Donc, pour tous x,yx, y, il existe au moins une chaîne reliant xx à yy.

Étape 2 : Unicité (par l'absurde)

Supposons qu'il existe deux chaînes distinctes C1C_1 et C2C_2 reliant xx et yy.

Puisqu'elles sont distinctes, il existe un moment où elles se séparent et un moment où elles se retrouvent.

Considérons le premier sommet uu où les chemins divergent, et le premier sommet vv où ils se rejoignent ensuite.

Les segments de C1C_1 et C2C_2 entre uu et vv sont disjoints (ne partagent aucun sommet intermédiaire).

En concaténant le segment u→vu \to v de C1C_1 et le segment v→uv \to u de C2C_2 (parcouru à l'envers), on forme un cycle fermé.

Conclusion

L'existence de deux chaînes distinctes implique l'existence d'un cycle.

Or, un arbre est par définition acyclique.

C'est une contradiction. La chaîne reliant xx à yy est donc unique.

Nombre d'arêtes dans un arbre

Prouvez par récurrence que tout arbre d'ordre nn (avec n≥1n \geq 1) possède exactement n−1n-1 arêtes.

Indice

Utilisez le résultat précédent sur l'existence des feuilles. Si vous retirez une feuille et son arête unique, que devient le graphe ? Appliquez l'hypothèse de récurrence sur le graphe réduit.

Solution

Notons P(n)P(n) la propriété : "Un arbre à nn sommets possède n−1n-1 arêtes".

Étape 1 : Cas de base (n=1n=1)

Un arbre à 1 sommet n'a pas de boucle, donc 0 arête.

n−1=1−1=0n-1 = 1-1 = 0. La propriété est vraie.

Étape 2 : Hérédité

Supposons la propriété vraie pour tout arbre de taille kk. Soit TT un arbre de taille k+1k+1.

Nous avons prouvé précédemment que tout arbre avec au moins 2 sommets possède au moins une feuille.

Soit vv une feuille de TT et ee l'unique arête incidente à vv.

Considérons le graphe T′=T−{v}T' = T - \{v\}. On retire le sommet vv et l'arête ee.

  • T′T' a kk sommets.
  • T′T' est toujours connexe (retirer une feuille ne déconnecte pas les autres sommets).
  • T′T' est toujours sans cycle (retirer des éléments ne crée pas de cycle).

Donc T′T' est un arbre d'ordre kk.

Par hypothèse de récurrence, T′T' possède k−1k-1 arêtes.

Conclusion

Le nombre d'arêtes de TT est le nombre d'arêtes de T′T' plus l'arête ee que nous avions retirée.

m(T)=(k−1)+1=km(T) = (k-1) + 1 = k.

Pour un ordre n=k+1n = k+1, nous avons trouvé n−1=kn-1 = k arêtes.

La propriété est démontrée.