Mathématiques pour l'informatique 201-N11 • Cégep à Montréal

Exercices corrigés : introduction aux graphes et aux matrices (201-N11)

Voici la série d'exercices corrigés sur les graphes et les matrices du cours Mathématiques pour l'informatique 201-N11, suivi au cégep par les étudiants en techniques et en sciences de l'informatique à Montréal. La partie A couvre les bases : le vocabulaire des graphes avec le lemme des poignées de main, la matrice d'adjacence d'un graphe orienté et la lecture des degrés entrant et sortant, la somme, le produit et la transposée des matrices avec la non-commutativité, les puissances de la matrice d'adjacence et le comptage de chemins, puis la connexité et la matrice d'accessibilité. La partie B monte au niveau examen : les transformations du plan écrites comme matrices et leur effet sur les aires, le déterminant et la matrice inverse, un réseau routier pondéré où le plus court chemin n'est pas celui qui compte le moins de liaisons, et la composition de transformations en coordonnées homogènes.

Le fil de la série : le graphe se dessine, la matrice se calcule, et les deux disent la même chose. Le pont entre les deux tient dans une phrase : le coefficient (i,j)(i,j) de MkM^{k} compte les chemins de longueur kk de ii vers jj. C'est ce théorème qui transforme une question de dessin en une multiplication.

Les pièges désignés nommément dans les corrigés : confondre degré entrant et degré sortant en lisant une ligne pour une colonne, croire qu'un chemin ne peut pas repasser par un sommet, oublier que le facteur le plus à droite d'un produit de matrices agit en premier, et penser qu'une matrice de déterminant nul est inversible.

Série autocorrigée Tape tes réponses sous chaque question : la page te dit juste ou faux avant d'ouvrir la correction. Avec un compte, chaque bonne réponse du premier coup rapporte des points.

Ce chapitre fait partie de Mathématiques pour l'informatique, 201-N11
Avant de commencer Fiche de révision : les pièges et la méthode de ce chapitre

Avant ce chapitre

Ces notions sont supposées acquises ici. Si le premier exercice résiste, le blocage vient presque toujours de l'une d'elles, pas du chapitre lui-même.

Remonter plus loin : la chaîne complète (10 chapitres) ↓

Le chemin de remédiation, du plus ancien au plus proche. Un élève qui reprend ce chapitre de zéro le reprend dans cet ordre.

  1. 1Nombres réels, racines et ensemblesSecondaire 3
  2. 2Expressions algébriques et mise en évidenceSecondaire 3
  3. 3Équations et inéquations du premier degréSecondaire 3
  4. 4Systèmes d'équations : comparaison et graphiqueSecondaire 3
  5. 5La manipulation d'expressions algébriquesSecondaire 4 SN4
  6. 6La factorisation et les expressions rationnellesSecondaire 4 SN4
  7. 7Les équations et les inéquationsSecondaire 4 SN4
  8. 8Les systèmes d'équationsSecondaire 4 SN4
  9. 9Logique booléenne et mathématique
  10. 10Théorie des ensembles et relations

Rappel de cours

  • Lemme des poignées de main : sdeg(s)=2A\sum_{s} \deg(s) = 2\lvert A \rvert. Le nombre de sommets de degré impair est donc pair.
  • Matrice d'adjacence : Mij=1M_{ij}=1 s'il existe un arc de ii vers jj. La ligne ii donne le degré sortant, la colonne jj le degré entrant.
  • MM est symétrique si et seulement si le graphe est non orienté. Un coefficient diagonal non nul signale une boucle.
  • (Mk)ij(M^{k})_{ij} est le nombre de chemins de longueur exactement kk de ii à jj, les répétitions de sommets étant autorisées.
  • Matrice d'accessibilité : réunion booléenne de M,M2,,Mn1M, M^{2}, \dots, M^{n-1}. Pleine de 1 pour un graphe fortement connexe.
  • Un arbre couvrant d'un graphe connexe à nn sommets compte n1n-1 arêtes.
  • Le produit matriciel est associatif mais PAS commutatif. (PQ)T=QTPT(PQ)^{T} = Q^{T}P^{T} et (PQ)1=Q1P1(PQ)^{-1} = Q^{-1}P^{-1}.
  • (abcd)1=1adbc(dbca)\begin{pmatrix} a & b \\ c & d \end{pmatrix}^{-1} = \dfrac{1}{ad-bc}\begin{pmatrix} d & -b \\ -c & a \end{pmatrix}, et la matrice est inversible si et seulement si adbc0ad-bc \neq 0.
  • Les colonnes d'une matrice de transformation sont les images des vecteurs de base. L'aire est multipliée par det\lvert \det \rvert.
  • Coordonnées homogènes : un point devient (x,y,1)(x,y,1) et les transformations des matrices 3×33 \times 3, ce qui permet d'écrire une translation comme un produit.

Partie A : les bases (/50)

Exercice 1 : Vocabulaire des graphes : sommets, arêtes, degrés

Un graphe non orienté G=(S,A)G = (S, A) est la donnée d'un ensemble SS de sommets et d'un ensemble AA d'arêtes, chaque arête étant une paire de sommets. Le degré d'un sommet est le nombre d'arêtes qui y aboutissent. Le graphe ci-dessous compte cinq sommets.

ABCDE
  • a) Donnez SS et AA en extension. Combien y a-t-il d'arêtes ?
  • b) Donnez le degré de chaque sommet.
  • c) Vérifiez le lemme des poignées de main : la somme des degrés vaut deux fois le nombre d'arêtes.
  • d) Expliquez pourquoi ce lemme est vrai pour tout graphe, et déduisez-en que le nombre de sommets de degré impair est pair.
  • e) Combien d'arêtes compte au maximum un graphe simple à 5 sommets ? Et à nn sommets ?
  • f) Existe-t-il un chemin de AA à EE ? Le graphe est-il connexe ?

Tape tes réponses, la page te dit juste ou faux 0/15

a)
b)
c)
d)
e)
f)
Voir la correction

Réponses

  • a) S={A,B,C,D,E}S = \{A,B,C,D,E\} et A={AB,AC,BC,BD,CD,DE}A = \{AB, AC, BC, BD, CD, DE\}, soit 6 arêtes
  • b) 2,3,3,3,12, 3, 3, 3, 1
  • c) 2+3+3+3+1=12=2×62+3+3+3+1 = 12 = 2 \times 6
  • d) Chaque arête compte 2 dans la somme, qui est donc paire : les sommets de degré impair sont en nombre pair, ici quatre
  • e) (52)=10\dbinom{5}{2} = 10, et n(n1)2\dfrac{n(n-1)}{2} en général
  • f) Oui, ABDEA \to B \to D \to E : le graphe est connexe

a) S={A,B,C,D,E}S = \{A, B, C, D, E\} et A={AB,AC,BC,BD,CD,DE}A = \{AB, AC, BC, BD, CD, DE\}, soit 6 arêtes. On les relève en balayant le dessin dans un ordre fixe, par exemple alphabétique sur le premier sommet, pour n'en oublier aucune ni en compter deux fois.

b) deg(A)=2\deg(A) = 2 (vers BB et CC), deg(B)=3\deg(B) = 3 (vers AA, CC, DD), deg(C)=3\deg(C) = 3 (vers AA, BB, DD), deg(D)=3\deg(D) = 3 (vers BB, CC, EE), deg(E)=1\deg(E) = 1 (vers DD).

c) Somme des degrés : 2+3+3+3+1=122+3+3+3+1 = 12. Nombre d'arêtes : 6. On a bien 12=2×612 = 2 \times 6. Ce contrôle est le premier à faire après avoir relevé un graphe : s'il échoue, c'est qu'une arête a été oubliée ou comptée deux fois.

d) Chaque arête a deux extrémités et contribue donc pour 1 au degré de chacune d'elles, soit 2 au total de la somme des degrés. En sommant sur toutes les arêtes, on obtient sdeg(s)=2A\sum_{s} \deg(s) = 2\lvert A \rvert. Cette somme est paire ; or les sommets de degré pair y contribuent une quantité paire, donc la contribution des sommets de degré impair doit elle aussi être paire, ce qui n'est possible que s'ils sont en nombre pair. Ici, les sommets de degré impair sont BB, CC, DD et EE : ils sont bien quatre.

e) Dans un graphe simple, il y a au plus une arête par paire de sommets et aucune boucle : le maximum est le nombre de paires, (52)=5×42=10\dbinom{5}{2} = \dfrac{5 \times 4}{2} = 10 arêtes, et n(n1)2\dfrac{n(n-1)}{2} en général. Un tel graphe est dit complet. Notre graphe en compte 6 sur 10 possibles.

f) Oui : ABDEA \to B \to D \to E est un chemin, et il en existe d'autres, comme ACDEA \to C \to D \to E. Le graphe est connexe, puisque de proche en proche tout sommet est atteint depuis AA : BB et CC directement, DD par BB, EE par DD. Un graphe à nn sommets connexe compte au moins n1n-1 arêtes ; ici 646 \ge 4, ce qui est cohérent, sans être une preuve à soi seul.

Exercice 2 : Matrice d'adjacence d'un graphe orienté

La matrice d'adjacence MM d'un graphe à nn sommets est la matrice n×nn \times n dont le coefficient MijM_{ij} vaut 1 s'il existe un arc du sommet ii vers le sommet jj, et 0 sinon. Elle contient exactement la même information que le dessin, mais elle se calcule. Le graphe orienté ci-dessous a quatre sommets numérotés de 1 à 4.

1234
  • a) Relevez les six arcs, puis écrivez la matrice d'adjacence MM.
  • b) Que représentent la somme des coefficients d'une ligne ? Et d'une colonne ?
  • c) Donnez les degrés sortant et entrant de chaque sommet, puis vérifiez que les deux sommes sont égales.
  • d) La matrice d'adjacence d'un graphe non orienté possède une propriété particulière : laquelle, et pourquoi ?
  • e) Que signifierait un coefficient non nul sur la diagonale ?

Tape tes réponses, la page te dit juste ou faux 0/14

a)
b)
c)
d)
e)
Voir la correction

Réponses

  • a) Six arcs, 121\to2, 131\to3, 232\to3, 242\to4, 313\to1, 434\to3, et 6 coefficients à 1
  • b) Ligne : degré SORTANT. Colonne : degré ENTRANT
  • c) Sortants 2,2,1,12,2,1,1 et entrants 1,1,3,11,1,3,1 : les deux sommes valent 6, le nombre d'arcs
  • d) Elle est SYMÉTRIQUE. La nôtre ne l'est pas : M12=1M_{12}=1 et M21=0M_{21}=0
  • e) Une BOUCLE. Notre diagonale est nulle

a) Les arcs sont 121 \to 2, 131 \to 3, 232 \to 3, 242 \to 4, 313 \to 1 et 434 \to 3. En rangeant les sommets dans l'ordre 1, 2, 3, 4, la ligne ii décrit les arcs QUI PARTENT de ii : M=(0110001110000010)M = \begin{pmatrix} 0 & 1 & 1 & 0 \\ 0 & 0 & 1 & 1 \\ 1 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 \end{pmatrix}. Contrôle : la matrice compte 6 coefficients égaux à 1, autant que le graphe a d'arcs.

b) La somme de la ligne ii est le nombre d'arcs partant de ii, c'est-à-dire son degré SORTANT. La somme de la colonne jj est le nombre d'arcs arrivant en jj, son degré ENTRANT. Confondre les deux est l'erreur qui fausse toute la suite du chapitre, parce qu'elle revient à transposer le graphe.

c) Degrés sortants : 2,2,1,12, 2, 1, 1, de somme 6. Degrés entrants : sommet 1 reçoit de 3, donc 1 ; sommet 2 reçoit de 1, donc 1 ; sommet 3 reçoit de 1, 2 et 4, donc 3 ; sommet 4 reçoit de 2, donc 1. Somme : 1+1+3+1=61+1+3+1 = 6. Les deux sommes valent 6, le nombre d'arcs : chaque arc a exactement un départ et une arrivée. C'est la version orientée du lemme des poignées de main, sans facteur 2.

d) Elle est SYMÉTRIQUE, c'est-à-dire égale à sa transposée. Une arête non orientée entre ii et jj se lit dans les deux sens, donc Mij=MjiM_{ij} = M_{ji}. Réciproquement, une matrice d'adjacence symétrique décrit un graphe qu'on peut considérer comme non orienté. Notre matrice ne l'est pas : M12=1M_{12} = 1 mais M21=0M_{21} = 0, ce qui confirme que le graphe est bien orienté.

e) Un coefficient Mii=1M_{ii} = 1 signalerait une BOUCLE, c'est-à-dire un arc d'un sommet vers lui-même. Notre graphe n'en a aucune, sa diagonale est nulle. Les boucles sont interdites dans un graphe dit simple, mais elles apparaissent naturellement dès qu'on modélise un automate ou une page web qui pointe vers elle-même.

Exercice 3 : Opérations sur les matrices et non-commutativité

On pose A=(1231)A = \begin{pmatrix} 1 & 2 \\ 3 & -1 \end{pmatrix} et B=(0421)B = \begin{pmatrix} 0 & 4 \\ 2 & 1 \end{pmatrix}. Le coefficient de rang (i,j)(i,j) du produit ABAB s'obtient en faisant courir la ligne ii de AA contre la colonne jj de BB : c'est la seule règle du chapitre, et elle explique à elle seule pourquoi le produit n'est pas commutatif.

  • a) Calculez A+BA + B et 2A3B2A - 3B.
  • b) Calculez ABAB et BABA. Que constatez-vous ?
  • c) Donnez ATA^{T} et BTB^{T}.
  • d) Vérifiez sur cet exemple que (AB)T=BTAT(AB)^{T} = B^{T}A^{T}.
  • e) À quelle condition sur les dimensions le produit PQPQ existe-t-il ?
  • f) Calculez A2A^{2}. Est-ce la matrice des carrés des coefficients de AA ?

Tape tes réponses, la page te dit juste ou faux 0/18

a)
b)
c)
d)
e)
f)
Voir la correction

Réponses

  • a) A+B=(1650)A+B = \begin{pmatrix} 1 & 6 \\ 5 & 0 \end{pmatrix} et 2A3B=(2805)2A-3B = \begin{pmatrix} 2 & -8 \\ 0 & -5 \end{pmatrix}
  • b) AB=(46211)AB = \begin{pmatrix} 4 & 6 \\ -2 & 11 \end{pmatrix} et BA=(12453)BA = \begin{pmatrix} 12 & -4 \\ 5 & 3 \end{pmatrix} : le produit n'est pas commutatif
  • c) AT=(1321)A^{T} = \begin{pmatrix} 1 & 3 \\ 2 & -1 \end{pmatrix} et BT=(0241)B^{T} = \begin{pmatrix} 0 & 2 \\ 4 & 1 \end{pmatrix}
  • d) Les deux valent (42611)\begin{pmatrix} 4 & -2 \\ 6 & 11 \end{pmatrix} : l'ordre s'INVERSE
  • e) Colonnes de PP = lignes de QQ, et le produit est de taille m×pm \times p
  • f) A2=7IA^{2} = 7I, et non la matrice des carrés : AA est inversible, d'inverse 17A\dfrac{1}{7}A

a) A+B=(1650)A+B = \begin{pmatrix} 1 & 6 \\ 5 & 0 \end{pmatrix}, terme à terme. Pour la combinaison : 2A=(2462)2A = \begin{pmatrix} 2 & 4 \\ 6 & -2 \end{pmatrix} et 3B=(01263)3B = \begin{pmatrix} 0 & 12 \\ 6 & 3 \end{pmatrix}, donc 2A3B=(2805)2A - 3B = \begin{pmatrix} 2 & -8 \\ 0 & -5 \end{pmatrix}.

b) AB=(1(0)+2(2)1(4)+2(1)3(0)+(1)(2)3(4)+(1)(1))=(46211)AB = \begin{pmatrix} 1(0)+2(2) & 1(4)+2(1) \\ 3(0)+(-1)(2) & 3(4)+(-1)(1) \end{pmatrix} = \begin{pmatrix} 4 & 6 \\ -2 & 11 \end{pmatrix}. Et BA=(0(1)+4(3)0(2)+4(1)2(1)+1(3)2(2)+1(1))=(12453)BA = \begin{pmatrix} 0(1)+4(3) & 0(2)+4(-1) \\ 2(1)+1(3) & 2(2)+1(-1) \end{pmatrix} = \begin{pmatrix} 12 & -4 \\ 5 & 3 \end{pmatrix}. Les deux produits diffèrent : le produit matriciel n'est PAS commutatif. C'est la différence la plus importante avec le produit des nombres réels, et en infographie elle a un sens concret : tourner puis translater ne donne pas la même image que translater puis tourner.

c) AT=(1321)A^{T} = \begin{pmatrix} 1 & 3 \\ 2 & -1 \end{pmatrix} et BT=(0241)B^{T} = \begin{pmatrix} 0 & 2 \\ 4 & 1 \end{pmatrix} : la première ligne devient la première colonne.

d) (AB)T=(42611)(AB)^{T} = \begin{pmatrix} 4 & -2 \\ 6 & 11 \end{pmatrix}. Et BTAT=(0(1)+2(2)0(3)+2(1)4(1)+1(2)4(3)+1(1))=(42611)B^{T}A^{T} = \begin{pmatrix} 0(1)+2(2) & 0(3)+2(-1) \\ 4(1)+1(2) & 4(3)+1(-1) \end{pmatrix} = \begin{pmatrix} 4 & -2 \\ 6 & 11 \end{pmatrix}. Les deux coïncident. Le point à retenir est l'INVERSION de l'ordre : la transposée d'un produit est le produit des transposées prises à l'envers. La même inversion se produit pour l'inverse d'un produit.

e) Le produit PQPQ existe si et seulement si le nombre de COLONNES de PP égale le nombre de LIGNES de QQ. Si PP est de taille m×nm \times n et QQ de taille n×pn \times p, alors PQPQ est de taille m×pm \times p. C'est la vérification à faire avant tout calcul : bien souvent, ABAB existe et BABA n'existe pas, ce qui règle la question de la commutativité sans le moindre calcul.

f) A2=AA=(1(1)+2(3)1(2)+2(1)3(1)+(1)(3)3(2)+(1)(1))=(7007)A^{2} = AA = \begin{pmatrix} 1(1)+2(3) & 1(2)+2(-1) \\ 3(1)+(-1)(3) & 3(2)+(-1)(-1) \end{pmatrix} = \begin{pmatrix} 7 & 0 \\ 0 & 7 \end{pmatrix}. Ce n'est évidemment pas la matrice des carrés, qui vaudrait (1491)\begin{pmatrix} 1 & 4 \\ 9 & 1 \end{pmatrix}. Le résultat est ici remarquable : A2=7IA^{2} = 7I, donc AA se comporte comme une racine carrée de 7 fois l'identité. On en déduit d'ailleurs immédiatement que AA est inversible, d'inverse 17A\dfrac{1}{7}A.

Exercice 4 : Puissances de la matrice d'adjacence et comptage de chemins

On reprend la matrice MM du graphe orienté de l'exercice 2. Le théorème central du chapitre : le coefficient (i,j)(i,j) de MkM^{k} est le NOMBRE de chemins de longueur exactement kk allant de ii à jj. Un chemin a le droit de repasser par un sommet déjà visité.

  • a) Calculez M2M^{2}.
  • b) Interprétez le coefficient (1,1)(1,1) de M2M^{2} en exhibant le chemin correspondant.
  • c) Calculez M3M^{3} et lisez le nombre de chemins de longueur 3 allant de 1 à 3. Écrivez-les tous.
  • d) Démontrez le théorème dans le cas k=2k=2.
  • e) Combien de chemins de longueur 2 partent du sommet 1, toutes destinations confondues ?

Tape tes réponses, la page te dit juste ou faux 0/13

a)
b)
c)
d)
e)
Voir la correction

Réponses

  • a) M2=(1011101001101000)M^{2} = \begin{pmatrix} 1 & 0 & 1 & 1 \\ 1 & 0 & 1 & 0 \\ 0 & 1 & 1 & 0 \\ 1 & 0 & 0 & 0 \end{pmatrix}
  • b) Il vaut 1 : l'unique cycle 1311 \to 3 \to 1 de longueur 2
  • c) (M3)13=2(M^{3})_{13} = 2 : 12431 \to 2 \to 4 \to 3 et 13131 \to 3 \to 1 \to 3
  • d) (M2)ij=kMikMkj(M^{2})_{ij} = \sum_{k} M_{ik}M_{kj}, chaque terme valant 1 pour un chemin ikji \to k \to j
  • e) 1+0+1+1=31+0+1+1 = 3, que confirme le compte par successeurs 2+1=32+1 = 3

a) On multiplie MM par elle-même. Ligne 1 : le sommet 1 pointe vers 2 et 3, donc la ligne 1 de M2M^{2} est la somme des lignes 2 et 3 de MM, soit (0,0,1,1)+(1,0,0,0)=(1,0,1,1)(0,0,1,1) + (1,0,0,0) = (1,0,1,1). Ligne 2 : le sommet 2 pointe vers 3 et 4, somme des lignes 3 et 4 : (1,0,0,0)+(0,0,1,0)=(1,0,1,0)(1,0,0,0)+(0,0,1,0) = (1,0,1,0). Ligne 3 : le sommet 3 pointe vers 1, donc la ligne 1 de MM : (0,1,1,0)(0,1,1,0). Ligne 4 : le sommet 4 pointe vers 3, donc la ligne 3 de MM : (1,0,0,0)(1,0,0,0). D'où M2=(1011101001101000)M^{2} = \begin{pmatrix} 1 & 0 & 1 & 1 \\ 1 & 0 & 1 & 0 \\ 0 & 1 & 1 & 0 \\ 1 & 0 & 0 & 0 \end{pmatrix}. Ce procédé, où chaque ligne du produit est une somme de lignes, est beaucoup plus rapide que le calcul coefficient par coefficient quand la matrice ne contient que des 0 et des 1.

b) Le coefficient (1,1)(1,1) de M2M^{2} vaut 1 : il existe exactement un chemin de longueur 2 du sommet 1 vers lui-même, à savoir 1311 \to 3 \to 1. C'est un cycle de longueur 2, et il apparaît sur la diagonale : les coefficients diagonaux de MkM^{k} comptent les cycles de longueur kk passant par chaque sommet.

c) M3=M2MM^{3} = M^{2}M. Ligne 1 : (1,0,1,1)(1,0,1,1) sélectionne les lignes 1, 3 et 4 de MM, dont la somme vaut (0,1,1,0)+(1,0,0,0)+(0,0,1,0)=(1,1,2,0)(0,1,1,0)+(1,0,0,0)+(0,0,1,0) = (1,1,2,0). En continuant : M3=(1120111010110110)M^{3} = \begin{pmatrix} 1 & 1 & 2 & 0 \\ 1 & 1 & 1 & 0 \\ 1 & 0 & 1 & 1 \\ 0 & 1 & 1 & 0 \end{pmatrix}. Le coefficient (1,3)(1,3) vaut 2 : il y a deux chemins de longueur 3 de 1 vers 3, à savoir 12431 \to 2 \to 4 \to 3 et 13131 \to 3 \to 1 \to 3. Le second repasse par des sommets déjà vus, ce qui est autorisé : c'est bien pour cela que le coefficient vaut 2 et non 1. Confondre chemin et chemin sans répétition est l'erreur qui fait rater ce théorème.

d) Par définition du produit, (M2)ij=kMikMkj(M^{2})_{ij} = \sum_{k} M_{ik}M_{kj}. Chaque terme de cette somme vaut 1 exactement quand Mik=1M_{ik} = 1 ET Mkj=1M_{kj} = 1, c'est-à-dire quand il existe un arc de ii vers kk ET un arc de kk vers jj : cela décrit précisément un chemin ikji \to k \to j de longueur 2 passant par kk. La somme sur kk compte donc tous les chemins de longueur 2 de ii à jj, un par sommet intermédiaire possible. Le passage au cas général se fait par récurrence, en écrivant Mk+1=MkMM^{k+1} = M^{k}M et en découpant chaque chemin de longueur k+1k+1 en un chemin de longueur kk suivi d'un arc.

e) C'est la somme de la première ligne de M2M^{2} : 1+0+1+1=31+0+1+1 = 3. Autre lecture : le sommet 1 a deux successeurs, 2 et 3, qui ont respectivement 2 et 1 successeurs, soit 2+1=32+1 = 3 chemins. Les deux comptes coïncident, ce qui valide le calcul matriciel.

Exercice 5 : Connexité et matrice d'accessibilité

Savoir s'il existe un chemin, sans se soucier de sa longueur, revient à réunir toutes les puissances de la matrice d'adjacence en remplaçant l'addition par un OU logique. La matrice obtenue s'appelle matrice d'accessibilité, ou fermeture transitive : son coefficient (i,j)(i,j) vaut 1 dès qu'un chemin mène de ii à jj.

  • a) Jusqu'à quelle puissance de MM faut-il aller dans un graphe à nn sommets ?
  • b) Déterminez la matrice d'accessibilité du graphe orienté de l'exercice 2.
  • c) Ce graphe est-il fortement connexe ?
  • d) Le graphe non orienté de l'exercice 1 est connexe. Combien d'arêtes faut-il retirer pour obtenir un arbre couvrant, et combien en restera-t-il ?
  • e) Quel est le coût en opérations de l'algorithme de Warshall sur nn sommets ?

Tape tes réponses, la page te dit juste ou faux 0/11

a)
b)
c)
d)
e)
Voir la correction

Réponses

  • a) Jusqu'à MnM^{n} : un retour sur soi peut demander nn arcs
  • b) Entièrement remplie de 1 ; à M3M^{3} il manquait encore la case (4,4)(4,4)
  • c) Oui, fortement connexe : le cycle 431244 \to 3 \to 1 \to 2 \to 4 passe par les quatre sommets
  • d) Un arbre couvrant compte 51=45-1 = 4 arêtes : il faut en retirer 2, le nombre cyclomatique
  • e) Warshall coûte n3n^{3}, contre n4n^{4} pour la réunion des puissances

a) Un chemin qui repasse deux fois par le même sommet contient un cycle que l'on peut supprimer sans changer ses extrémités. Pour iji \neq j, s'il existe un chemin de ii à jj, il en existe donc un sans répétition : il visite au plus nn sommets et compte au plus n1n-1 arcs. Pour un retour de ii vers lui-même, en revanche, le cycle peut visiter les nn sommets et compter alors nn arcs. Il faut donc aller jusqu'à MnM^{n}, et Mn1M^{n-1} ne suffit que si l'on se limite aux couples de sommets distincts. La question suivante montre que cette nuance n'est pas théorique.

b) On réunit MM, M2M^{2}, M3M^{3} et M4M^{4} en mettant un 1 dès que l'une des quatre en a un. MM donne les paires (1,2),(1,3),(2,3),(2,4),(3,1),(4,3)(1,2), (1,3), (2,3), (2,4), (3,1), (4,3) ; M2M^{2} ajoute (1,1),(1,4),(2,1),(3,2),(3,3),(4,1)(1,1), (1,4), (2,1), (3,2), (3,3), (4,1) ; M3M^{3} ajoute (2,2),(3,4),(4,2)(2,2), (3,4), (4,2). À ce stade, une seule position reste à 0, la position (4,4)(4,4) : quinze cases sur seize sont remplies. Elle est comblée par M4M^{4}, grâce au cycle 431244 \to 3 \to 1 \to 2 \to 4, qui compte quatre arcs. La matrice d'accessibilité est donc entièrement remplie de 1. C'est l'illustration exacte de la question a) : ce cycle passe par les quatre sommets, il lui faut donc quatre arcs, et s'arrêter à M3M^{3} aurait conclu à tort que le sommet 4 ne peut pas revenir à lui-même.

c) Oui. Un graphe orienté est fortement connexe quand tout sommet est accessible depuis tout autre, ce qui se lit exactement sur une matrice d'accessibilité entièrement remplie de 1. Le cycle 431244 \to 3 \to 1 \to 2 \to 4 suffit d'ailleurs à s'en convaincre sans matrice : il passe par les quatre sommets, donc en le parcourant assez longtemps on va de n'importe quel sommet à n'importe quel autre.

d) Un arbre couvrant d'un graphe connexe à nn sommets compte exactement n1n-1 arêtes, ici 51=45-1 = 4. Le graphe en a 6, il faut donc en retirer 64=26-4 = 2, en veillant à ne casser aucune connexion. Par exemple retirer BCBC et CDCD laisse ABAB, ACAC, BDBD, DEDE, qui relient bien les cinq sommets sans cycle. Le nombre d'arêtes à retirer, AS+1\lvert A \rvert - \lvert S \rvert + 1, s'appelle le nombre cyclomatique et compte les cycles indépendants du graphe.

e) L'algorithme de Warshall est fait de trois boucles imbriquées sur les sommets, chacune de longueur nn : son coût est en n3n^{3} opérations. C'est plus économique que de calculer et de réunir les n1n-1 premières puissances de MM, ce qui coûterait nn multiplications de matrices à n3n^{3} opérations chacune, soit n4n^{4}. La différence tient à une seule idée : Warshall met à jour la matrice EN PLACE, en autorisant progressivement les sommets intermédiaires.

Partie B : problemes et raisonnement (/50)

Exercice 6 : Transformations du plan : matrices et infographie

En infographie, un point du plan est un vecteur colonne (xy)\begin{pmatrix} x \\ y \end{pmatrix}, et une transformation linéaire est une matrice 2×22 \times 2 qui le multiplie. On applique ici trois transformations au triangle TT de sommets P1(1,1)P_{1}(1,1), P2(4,1)P_{2}(4,1) et P3(1,3)P_{3}(1,3).

-5-4-3-2-112345-112345T
  • a) Écrivez la matrice HH de l'homothétie de rapport 2 centrée à l'origine, et donnez l'image de TT.
  • b) Écrivez la matrice RR de la rotation d'angle 9090 degrés autour de l'origine, et donnez l'image de TT.
  • c) Écrivez la matrice SS de la symétrie par rapport à l'axe des abscisses.
  • d) Calculez l'aire de TT, puis celle de H(T)H(T) et de R(T)R(T).
  • e) Quel lien voyez-vous entre le déterminant d'une matrice et l'effet de la transformation sur les aires ?
  • f) Une translation de vecteur (3,1)(3,1) peut-elle s'écrire comme une matrice 2×22 \times 2 ?

Tape tes réponses, la page te dit juste ou faux 0/17

a)
b)
c)
d)
e)
f)
Voir la correction

Réponses

  • a) H=2IH = 2I, et TT devient (2,2)(2,2), (8,2)(8,2), (2,6)(2,6)
  • b) R=(0110)R = \begin{pmatrix} 0 & -1 \\ 1 & 0 \end{pmatrix}, et TT devient (1,1)(-1,1), (1,4)(-1,4), (3,1)(-3,1)
  • c) S=(1001)S = \begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix}
  • d) Aire de TT : 3 ; de H(T)H(T) : 12 ; de R(T)R(T) : 3
  • e) L'aire est multipliée par det\lvert \det \rvert : 4 pour HH, 1 pour RR, 1 pour SS avec l'orientation renversée
  • f) Non : une transformation linéaire fixe l'origine. Il faut les coordonnées homogènes

a) H=(2002)=2IH = \begin{pmatrix} 2 & 0 \\ 0 & 2 \end{pmatrix} = 2I. Les images sont H(P1)=(2,2)H(P_{1}) = (2,2), H(P2)=(8,2)H(P_{2}) = (8,2) et H(P3)=(2,6)H(P_{3}) = (2,6) : chaque coordonnée est doublée. Une homothétie de rapport kk centrée à l'origine est toujours kIkI, et c'est la seule famille de matrices qui commute avec toutes les autres.

b) La rotation de 9090 degrés envoie (1,0)(1,0) sur (0,1)(0,1) et (0,1)(0,1) sur (1,0)(-1,0). Ces images sont les colonnes de la matrice, d'où R=(0110)R = \begin{pmatrix} 0 & -1 \\ 1 & 0 \end{pmatrix}, c'est-à-dire (x,y)(y,x)(x,y) \mapsto (-y,x). Images : R(P1)=(1,1)R(P_{1}) = (-1,1), R(P2)=(1,4)R(P_{2}) = (-1,4) et R(P3)=(3,1)R(P_{3}) = (-3,1). La règle générale vaut la peine d'être retenue : les colonnes d'une matrice sont les images des vecteurs de base.

c) La symétrie par rapport à l'axe des abscisses laisse xx inchangé et change le signe de yy : S=(1001)S = \begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix}. C'est la transformation que subit implicitement toute image affichée à l'écran, où l'axe vertical est dirigé vers le bas.

d) TT est rectangle en P1P_{1}, de côtés P1P2=3P_{1}P_{2} = 3 et P1P3=2P_{1}P_{3} = 2 : son aire vaut 3×22=3\dfrac{3 \times 2}{2} = 3. Après l'homothétie, les deux côtés doublent et l'aire est multipliée par 4 : elle vaut 12. Après la rotation, la figure est superposable à la figure de départ : l'aire reste 3.

e) L'aire est multipliée par det\lvert \det \rvert. En effet detH=4\det H = 4 et l'aire a été multipliée par 4 ; detR=0×0(1)(1)=1\det R = 0 \times 0 - (-1)(1) = 1 et l'aire est conservée ; detS=1\det S = -1, l'aire est conservée mais l'orientation est renversée, ce que le signe négatif signale. Une matrice de déterminant nul écrase la figure sur une droite ou sur un point : l'aire devient nulle, et la transformation n'est pas réversible.

f) Non. Une transformation linéaire fixe toujours l'origine, puisque M(00)=(00)M \begin{pmatrix} 0 \\ 0 \end{pmatrix} = \begin{pmatrix} 0 \\ 0 \end{pmatrix}, alors qu'une translation déplace l'origine en (3,1)(3,1). Aucune matrice 2×22 \times 2 ne peut donc translater. C'est précisément le problème que règlent les coordonnées homogènes, en ajoutant une troisième coordonnée valant 1 et en travaillant avec des matrices 3×33 \times 3.

-5-4-3-2-112345-112345TR(T)

Exercice 7 : Déterminant, matrice inverse et réversibilité

Une matrice carrée est inversible exactement quand son déterminant est non nul, et l'inverse défait ce que la matrice a fait. Pour une matrice 2×22 \times 2, (abcd)1=1adbc(dbca)\begin{pmatrix} a & b \\ c & d \end{pmatrix}^{-1} = \dfrac{1}{ad-bc}\begin{pmatrix} d & -b \\ -c & a \end{pmatrix} : on échange la diagonale, on change le signe de l'antidiagonale, on divise par le déterminant.

  • a) Calculez detA\det A pour A=(1231)A = \begin{pmatrix} 1 & 2 \\ 3 & -1 \end{pmatrix}, puis A1A^{-1}.
  • b) Vérifiez que AA1=IAA^{-1} = I.
  • c) Calculez le déterminant de N=(210131012)N = \begin{pmatrix} 2 & 1 & 0 \\ 1 & 3 & 1 \\ 0 & 1 & 2 \end{pmatrix} par développement suivant la première ligne.
  • d) Donnez l'inverse de la matrice de rotation RR de l'exercice précédent, et interprétez-le.
  • e) La matrice (2412)\begin{pmatrix} 2 & 4 \\ 1 & 2 \end{pmatrix} est-elle inversible ? Que fait-elle géométriquement ?
  • f) Pourquoi (PQ)1=Q1P1(PQ)^{-1} = Q^{-1}P^{-1} et non P1Q1P^{-1}Q^{-1} ?

Tape tes réponses, la page te dit juste ou faux 0/13

a)
b)
c)
d)
e)
f)
Voir la correction

Réponses

  • a) detA=7\det A = -7 et A1=17A=(1/72/73/71/7)A^{-1} = \dfrac{1}{7}A = \begin{pmatrix} 1/7 & 2/7 \\ 3/7 & -1/7 \end{pmatrix}
  • b) AA1=17(7I)=IAA^{-1} = \dfrac{1}{7}(7I) = I
  • c) detN=2(5)1(2)+0=8\det N = 2(5) - 1(2) + 0 = 8
  • d) R1=(0110)R^{-1} = \begin{pmatrix} 0 & 1 \\ -1 & 0 \end{pmatrix}, la rotation de 90-90 degrés, et R1=RTR^{-1} = R^{T}
  • e) Non, son déterminant est nul : elle écrase le plan sur la droite dirigée par (2,1)(2,1)
  • f) Parce qu'on défait dans l'ordre inverse : (PQ)(Q1P1)=I(PQ)(Q^{-1}P^{-1}) = I

a) detA=(1)(1)(2)(3)=16=7\det A = (1)(-1) - (2)(3) = -1 - 6 = -7, non nul, donc AA est inversible. La formule donne A1=17(1231)=(1/72/73/71/7)A^{-1} = \dfrac{1}{-7}\begin{pmatrix} -1 & -2 \\ -3 & 1 \end{pmatrix} = \begin{pmatrix} 1/7 & 2/7 \\ 3/7 & -1/7 \end{pmatrix}. On retrouve le résultat de l'exercice 3 : puisque A2=7IA^{2} = 7I, on a bien A1=17AA^{-1} = \dfrac{1}{7}A.

b) AA1=17A2=17(7I)=IAA^{-1} = \dfrac{1}{7}A^{2} = \dfrac{1}{7}(7I) = I. En détaillant : le coefficient (1,1)(1,1) vaut 1(1/7)+2(3/7)=1/7+6/7=11(1/7) + 2(3/7) = 1/7 + 6/7 = 1 ; le coefficient (1,2)(1,2) vaut 1(2/7)+2(1/7)=01(2/7) + 2(-1/7) = 0. La vérification par le produit est obligatoire, parce qu'une erreur de signe dans la formule de l'inverse ne se voit pas autrement.

c) On développe suivant la première ligne : detN=2311211102+0=2(61)1(20)+0=102=8\det N = 2\begin{vmatrix} 3 & 1 \\ 1 & 2 \end{vmatrix} - 1\begin{vmatrix} 1 & 1 \\ 0 & 2 \end{vmatrix} + 0 = 2(6-1) - 1(2-0) + 0 = 10 - 2 = 8. Le troisième terme est nul parce que son coefficient l'est : choisir la ligne ou la colonne la plus creuse épargne un mineur entier, et ici la première ligne comme la troisième contiennent un zéro.

d) detR=1\det R = 1, et la formule donne R1=(0110)R^{-1} = \begin{pmatrix} 0 & 1 \\ -1 & 0 \end{pmatrix}. C'est la matrice de la rotation de 90-90 degrés : défaire une rotation, c'est tourner dans l'autre sens. On remarque aussi que R1=RTR^{-1} = R^{T}, ce qui est vrai pour toute matrice de rotation et rend l'inversion gratuite dans un moteur graphique.

e) det=(2)(2)(4)(1)=0\det = (2)(2) - (4)(1) = 0 : elle n'est pas inversible. Géométriquement, elle écrase tout le plan sur une droite : les deux colonnes (2,1)(2,1) et (4,2)(4,2) sont proportionnelles, donc toutes les images sont des multiples de (2,1)(2,1). L'information est perdue, plusieurs points différents ont la même image, et aucune matrice ne peut défaire cela. C'est exactement ce que traduit un déterminant nul : l'aire est écrasée à zéro.

f) Parce qu'il faut défaire les opérations dans l'ordre inverse de celui où on les a faites. Vérification : (PQ)(Q1P1)=P(QQ1)P1=PIP1=PP1=I(PQ)(Q^{-1}P^{-1}) = P(QQ^{-1})P^{-1} = PIP^{-1} = PP^{-1} = I. La même inversion apparaît pour la transposée, (PQ)T=QTPT(PQ)^{T} = Q^{T}P^{T}. Image concrète : pour défaire « mettre ses chaussettes puis ses chaussures », on retire les chaussures d'abord.

Exercice 8 : Cinq affirmations à corriger

Chacune des cinq affirmations suivantes est FAUSSE. Dites pourquoi et donnez l'énoncé correct.

  • 1) « Le produit de deux matrices est commutatif : PQ=QPPQ = QP. »
  • 2) « La somme des degrés d'un graphe est égale à son nombre d'arêtes. »
  • 3) « Si det(P)=0\det(P) = 0, alors PP admet une matrice inverse. »
  • 4) « La matrice d'adjacence d'un graphe orienté est toujours symétrique. »
  • 5) « Le coefficient (i,j)(i,j) de M2M^{2} donne le nombre d'arêtes entre ii et jj. »

Tape tes réponses, la page te dit juste ou faux 0/10

1)
2)
3)
4)
5)
Voir la correction

Réponses

  • 1) FAUX : ABBAAB \neq BA, et parfois BABA n'existe même pas
  • 2) FAUX : sdeg(s)=2A\sum_{s} \deg(s) = 2\lvert A \rvert, soit 12 pour 6 arêtes
  • 3) FAUX : c'est l'inverse, PP est inversible si et seulement si det(P)0\det(P) \neq 0
  • 4) FAUX : la symétrie caractérise les graphes NON orientés
  • 5) FAUX : (Mk)ij(M^{k})_{ij} compte les CHEMINS de longueur kk, répétitions permises

1) FAUX. Contre-exemple de l'exercice 3 : AB=(46211)AB = \begin{pmatrix} 4 & 6 \\ -2 & 11 \end{pmatrix} tandis que BA=(12453)BA = \begin{pmatrix} 12 & -4 \\ 5 & 3 \end{pmatrix}. Il arrive même que PQPQ existe et que QPQP n'existe pas, si les dimensions ne se recollent que dans un sens. Énoncé correct : le produit matriciel est associatif et distributif, mais pas commutatif ; seules quelques familles particulières commutent, comme les multiples de l'identité.

2) FAUX. Chaque arête compte pour 1 dans le degré de chacune de ses DEUX extrémités. Contre-exemple : le graphe de l'exercice 1 a 6 arêtes et une somme des degrés égale à 12. Énoncé correct : sdeg(s)=2A\sum_{s} \deg(s) = 2\lvert A \rvert, c'est le lemme des poignées de main.

3) FAUX. C'est exactement le contraire : une matrice est inversible si et seulement si son déterminant est NON nul. Contre-exemple : (2412)\begin{pmatrix} 2 & 4 \\ 1 & 2 \end{pmatrix} a un déterminant nul et écrase le plan sur une droite, donc plusieurs points ont la même image et aucune transformation ne peut les distinguer. Énoncé correct : PP est inversible si et seulement si det(P)0\det(P) \neq 0.

4) FAUX. La symétrie caractérise les graphes NON orientés, où une arête se parcourt dans les deux sens. Contre-exemple : dans le graphe de l'exercice 2, M12=1M_{12} = 1 et M21=0M_{21} = 0, car l'arc va de 1 vers 2 et pas l'inverse. Énoncé correct : la matrice d'adjacence est symétrique si et seulement si le graphe est non orienté.

5) FAUX. Le nombre d'arêtes de ii à jj se lit dans MM elle-même, pas dans son carré. Contre-exemple : dans le graphe de l'exercice 2, (M2)11=1(M^{2})_{11} = 1 alors qu'il n'existe aucune boucle sur le sommet 1. Énoncé correct : (Mk)ij(M^{k})_{ij} est le nombre de CHEMINS de longueur exactement kk de ii à jj, les répétitions de sommets étant autorisées.

Exercice 9 : Problème : réseau routier et matrice des distances

Cinq centres de données AA, BB, CC, DD et EE sont reliés par des liaisons dont la longueur, en kilomètres, est portée sur le schéma. Une liaison absente signifie qu'aucun câble direct n'existe entre les deux centres.

ABCDE42158102
  • a) Donnez le degré de chaque sommet et vérifiez le lemme des poignées de main.
  • b) Écrivez la matrice des poids WW, en mettant 0 sur la diagonale et un tiret là où il n'y a pas de liaison.
  • c) Donnez tous les trajets de AA à EE qui ne repassent pas deux fois par le même centre, avec leur longueur.
  • d) Quel est le trajet le plus court de AA à EE ?
  • e) Le trajet le plus court est-il celui qui compte le moins de liaisons ?
  • f) Si la liaison DEDE tombe en panne, le réseau reste-t-il connexe ? Quel devient le trajet le plus court de AA à EE ?

Tape tes réponses, la page te dit juste ou faux 0/19

a)
b)
c)
d)
e)
f)
Voir la correction

Réponses

  • a) 2,3,4,3,22, 3, 4, 3, 2, de somme 14=2×714 = 2 \times 7
  • b) Matrice symétrique, diagonale nulle, un tiret pour ADAD, AEAE et BEBE
  • c) ACEA\to C\to E : 12 ; ACDEA\to C\to D\to E : 12 ; ABDEA\to B\to D\to E : 11 ; ACBDEA\to C\to B\to D\to E : 10 ; ABCDEA\to B\to C\to D\to E : 15 ; ABCEA\to B\to C\to E : 15
  • d) ACBDEA \to C \to B \to D \to E, 10 km
  • e) Non : il compte QUATRE liaisons, contre deux pour ACEA \to C \to E qui vaut 12 km
  • f) Oui, EE garde sa liaison vers CC. Le plus court devient ACEA \to C \to E, 12 km, soit 2 km de plus

a) deg(A)=2\deg(A) = 2 (vers BB et CC), deg(B)=3\deg(B) = 3 (vers AA, CC, DD), deg(C)=4\deg(C) = 4 (vers AA, BB, DD, EE), deg(D)=3\deg(D) = 3 (vers BB, CC, EE), deg(E)=2\deg(E) = 2 (vers CC, DD). Somme : 2+3+4+3+2=142+3+4+3+2 = 14, et le réseau compte 7 liaisons : 14=2×714 = 2 \times 7. Le lemme est vérifié, donc aucune liaison n'a été oubliée sur le relevé.

b) En rangeant les centres dans l'ordre A,B,C,D,EA, B, C, D, E : la ligne de AA est 0,4,2,,0, 4, 2, -, - ; celle de BB est 4,0,1,5,4, 0, 1, 5, - ; celle de CC est 2,1,0,8,102, 1, 0, 8, 10 ; celle de DD est ,5,8,0,2-, 5, 8, 0, 2 ; celle de EE est ,,10,2,0-, -, 10, 2, 0. La matrice est symétrique, puisque les liaisons ne sont pas orientées. Dans un programme, le tiret se code par une valeur très grande, de façon que tout chemin l'empruntant soit automatiquement écarté par le calcul du minimum.

c) Quatre trajets sans répétition. ACEA \to C \to E : 2+10=122+10 = 12. ACDEA \to C \to D \to E : 2+8+2=122+8+2 = 12. ABDEA \to B \to D \to E : 4+5+2=114+5+2 = 11. ACBDEA \to C \to B \to D \to E : 2+1+5+2=102+1+5+2 = 10. On peut aussi passer par ABCDEA \to B \to C \to D \to E : 4+1+8+2=154+1+8+2 = 15, et ABCEA \to B \to C \to E : 4+1+10=154+1+10 = 15. L'énumération se fait en arbre, en fixant le premier pas puis le deuxième, ce qui garantit de n'oublier aucun trajet.

d) Le plus court est ACBDEA \to C \to B \to D \to E, avec 10 kilomètres. Il bat de justesse ABDEA \to B \to D \to E, qui vaut 11.

e) Non, et c'est tout l'intérêt de l'exemple. Le trajet le plus court compte QUATRE liaisons, alors que ACEA \to C \to E n'en compte que deux pour 12 kilomètres. Faire un détour par CC puis BB coûte une liaison de plus mais évite le câble de 10 kilomètres. Minimiser le nombre d'arêtes et minimiser le poids total sont deux problèmes différents : le premier se résout par un parcours en largeur, le second demande un algorithme comme celui de Dijkstra.

f) Le réseau reste connexe : EE garde sa liaison vers CC. Le trajet le plus court de AA à EE devient ACEA \to C \to E, soit 12 kilomètres, puisque tous les autres trajets vers EE passaient par DD puis EE. Le coût de la panne est donc de 2 kilomètres. Le sommet EE étant de degré 2, il faudrait perdre ses deux liaisons pour l'isoler : c'est la mesure élémentaire de robustesse d'un réseau, et elle explique pourquoi on évite les centres de degré 1.

Exercice 10 : Problème : composer des transformations en coordonnées homogènes

Pour qu'une translation devienne un produit de matrices, on ajoute au point une troisième coordonnée valant 1 : le point (x,y)(x,y) s'écrit (xy1)\begin{pmatrix} x \\ y \\ 1 \end{pmatrix} et les transformations deviennent des matrices 3×33 \times 3. On note TT la translation de vecteur (3,1)(3,1) et RR la rotation de 9090 degrés autour de l'origine, et l'on suit le point P(2,0)P(2,0).

  • a) Écrivez les matrices 3×33 \times 3 de TT et de RR.
  • b) Calculez TRTR, puis l'image de PP par cette matrice. Décrivez l'ordre des opérations subies par PP.
  • c) Calculez RTRT, puis l'image de PP. Comparez avec la question précédente.
  • d) Donnez la matrice qui ramène le point à sa position initiale après TRTR.
  • e) Vérifiez votre réponse sur le point image trouvé en b).
  • f) Pourquoi un processeur graphique préfère-t-il composer les matrices plutôt qu'appliquer les transformations une par une ?

Tape tes réponses, la page te dit juste ou faux 0/13

a)
b)
c)
d)
e)
f)
Voir la correction

Réponses

  • a) TT porte (3,1)(3,1) en dernière colonne, RR porte le bloc de rotation en haut à gauche, et la dernière ligne vaut (0,0,1)(0,0,1)
  • b) TR=(013101001)TR = \begin{pmatrix} 0 & -1 & 3 \\ 1 & 0 & 1 \\ 0 & 0 & 1 \end{pmatrix} et l'image vaut (3,3)(3,3) : RR agit d'abord
  • c) RT=(011103001)RT = \begin{pmatrix} 0 & -1 & -1 \\ 1 & 0 & 3 \\ 0 & 0 & 1 \end{pmatrix} et l'image vaut (1,5)(-1,5), non (3,3)(3,3)
  • d) (TR)1=R1T1=(011103001)(TR)^{-1} = R^{-1}T^{-1} = \begin{pmatrix} 0 & 1 & -1 \\ -1 & 0 & 3 \\ 0 & 0 & 1 \end{pmatrix}
  • e) L'image de (3,3)(3,3) est (2,0)(2,0) : on retrouve bien PP
  • f) Six produits par sommet contre un seul après composition : l'associativité garantit le même résultat

a) T=(103011001)T = \begin{pmatrix} 1 & 0 & 3 \\ 0 & 1 & 1 \\ 0 & 0 & 1 \end{pmatrix} : la dernière colonne porte le vecteur de translation. R=(010100001)R = \begin{pmatrix} 0 & -1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 1 \end{pmatrix} : le bloc 2×22 \times 2 en haut à gauche est la rotation, le reste complète l'identité. La dernière ligne est toujours (0,0,1)(0,0,1), ce qui garantit que la troisième coordonnée du résultat reste 1.

b) TR=(013101001)TR = \begin{pmatrix} 0 & -1 & 3 \\ 1 & 0 & 1 \\ 0 & 0 & 1 \end{pmatrix}. Appliquée à P=(2,0,1)P = (2,0,1) : la première coordonnée vaut 0(2)+(1)(0)+3(1)=30(2) + (-1)(0) + 3(1) = 3, la deuxième 1(2)+0(0)+1(1)=31(2) + 0(0) + 1(1) = 3. L'image est (3,3)(3,3). L'ordre est celui de la lecture de droite à gauche : RR agit d'abord, envoyant (2,0)(2,0) sur (0,2)(0,2), puis TT ajoute (3,1)(3,1) et donne (3,3)(3,3). Le facteur le plus à droite est appliqué EN PREMIER, ce qui déroute tant qu'on ne l'a pas rattaché à l'écriture T(R(P))T(R(P)).

c) RT=(011103001)RT = \begin{pmatrix} 0 & -1 & -1 \\ 1 & 0 & 3 \\ 0 & 0 & 1 \end{pmatrix}. Appliquée à PP : première coordonnée 0(2)+(1)(0)+(1)(1)=10(2) + (-1)(0) + (-1)(1) = -1, deuxième 1(2)+0(0)+3(1)=51(2) + 0(0) + 3(1) = 5. L'image est (1,5)(-1,5), et non (3,3)(3,3). Vérification directe : TT envoie d'abord (2,0)(2,0) sur (5,1)(5,1), puis RR envoie (5,1)(5,1) sur (1,5)(-1,5). Translater puis tourner n'est pas tourner puis translater, parce que la rotation entraîne aussi le déplacement déjà effectué. C'est la non-commutativité du produit matriciel, vue sur une image.

d) Il faut défaire dans l'ordre inverse : d'abord annuler TT, puis annuler RR. La matrice cherchée est (TR)1=R1T1(TR)^{-1} = R^{-1}T^{-1}, avec R1R^{-1} la rotation de 90-90 degrés et T1T^{-1} la translation de (3,1)(-3,-1). Le produit vaut (011103001)\begin{pmatrix} 0 & 1 & -1 \\ -1 & 0 & 3 \\ 0 & 0 & 1 \end{pmatrix}.

e) On applique cette matrice à (3,3,1)(3,3,1) : première coordonnée 0(3)+1(3)+(1)(1)=20(3) + 1(3) + (-1)(1) = 2, deuxième (1)(3)+0(3)+3(1)=0(-1)(3) + 0(3) + 3(1) = 0. On retrouve P=(2,0)P = (2,0). Le contrôle est concluant, et il vaut mieux le faire sur un point que de recalculer le produit (TR)(R1T1)(TR)(R^{-1}T^{-1}), plus long et plus exposé aux erreurs de signe.

f) Parce qu'une scène contient des centaines de milliers de sommets et qu'une transformation en comporte souvent cinq ou six enchaînées. Appliquer les transformations une par une coûterait six produits matrice-vecteur PAR sommet. En composant d'abord les six matrices, ce qui se fait une seule fois pour toute la scène, il ne reste qu'un seul produit par sommet. L'associativité du produit matriciel garantit que le résultat est identique, et le gain est d'un facteur égal au nombre de transformations : c'est la raison pour laquelle un moteur graphique manipule une unique matrice, dite de modèle-vue-projection.

Chapitre précédent Récurrence et récursivité Chapitre suivant Dénombrement et probabilités

Voir aussi

Vous suivez le cours 201-N11 en informatique au cégep ?

Contactez-moi pour une première séance. Bachelier en informatique de McGill et maître en informatique appliquée de Concordia, je fais le lien entre les matrices du cours et ce qu'elles pilotent ensuite : les graphes, les réseaux et l'affichage à l'écran.

Site par Studio Squalli