• Aucun résultat trouvé

Graphes et hypergraphes 1 Graphes et matrices

N/A
N/A
Protected

Academic year: 2022

Partager "Graphes et hypergraphes 1 Graphes et matrices"

Copied!
10
0
0

Texte intégral

(1)

ENSTBB-IPB 2018-2019

Graphes et hypergraphes 1 Graphes et matrices

Dans ce qui suiti, j, m, nsont des entiers positifs.

D´efinition 1.1 Un graphe orient´e d’ordren, est un couple(S, A)o`uSest un ensemble de n sommets etAest l’ensemble des arcs o`u chaque arc est un couple de sommets.

D´efinition 1.2 La matrice d’adjacence d’un graphe orient´e de n sommets num´erot´es de 1 `a n, est la matriceA carr´ee d’ordre n d´efinie par A= (aij)o`uaij est le nombre d’arcs d’originei et d’extr´emit´ej.

D´efinition 1.3 La matrice d’incidence d’un graphe orient´e densommets num´erot´es de 1 `anetm arcs num´erot´es de 1

`

am est la matriceB d’ordre (n, m)d´efinie par B= (bij)o`u

bij =

1 si l’arc j arrive au sommet i

−1 si l’arc j part du sommet i 0 sinon

X1

?

X2 -X4

X5

6

? X3

3

G1 = (S1, A1 )

S1 ={X1, X2, X3, X4, X5}

A1 ={{X1X2}{X2X3}{X2X4}{X3X4}{X4X5}}

X1

?

X2 X4

X5 6

? X3

3

Figure 1: Graphes 1 et 2

> # graphe orient´e n°1

> # n= nombre de sommets

> n=5

> # A matrice d'adjacence du graphe orient´e n°1, B matrice d'incidence

> A = matrix(

+ c(0,1,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0), + nrow = n,

+ ncol = n, + byrow = TRUE)

[,1] [,2] [,3] [,4] [,5]

[1,] 0 1 0 0 0

[2,] 0 0 1 1 0

[3,] 0 0 0 1 0

[4,] 0 0 0 0 1

[5,] 0 0 0 0 0

[1] "matrice d'incidence"

[,1] [,2] [,3] [,4] [,5]

[1,] -1 0 0 0 0

[2,] 1 -1 -1 0 0

[3,] 0 1 0 -1 0

[4,] 0 0 1 1 -1

[5,] 0 0 0 0 1

(2)

La cr´eation de la matrice d’incidence implique que les arcs soient ordonn´es (num´erot´es). On peut alors repr´esenter un chemin entre deux sommets en d´efinissant le vecteur V =t(v1, v2,· · · , vm) o`u chaque vj associ´e `a l’arc j du r´eseau vaut k, le nombre de fois o`u l’arc est emprunt´e. Par exemple dans le graphe 1, le plus court chemin deX1 `a X5 s’´ecrit

t(1,0,1,0,1). Les arcs de A1 constituent une base pour les chemins.

Exercice 1.1 1. Ecrire la matrice d’adjacence Adu graphe orient´e 2.

> #######################################################

> # r´eseau (graphe orient´e avec circuit= cycle orient´e)

> # R1 ->X1

> # R2 X1-> X2

> # R3 X2-> X3

> # R4 X3-> X1

> # R5 X3-> X5

> # matrice d'adjacence

> n=5

> A = matrix(

+ c(0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0), + nrow = n,

+ ncol = n, + byrow = TRUE)

2. T´el´echarger MatriceAdjacence2.txt et v´erifier votre r´esultat.

3. CalculerC=A2. Interpr´etation: (cij)est le nombre de chemins (suite finie d’arcs cons´ecutifs) reliant le sommeti au sommetj de longueur 2.

> A2=A%*%A

> print(A2)

[,1] [,2] [,3] [,4] [,5]

[1,] 0 0 1 0 0

[2,] 0 0 0 1 0

[3,] 0 1 0 0 1

[4,] 0 0 1 0 0

[5,] 0 0 0 0 0

4. CalculerD=A+A2. Que repr´esentedij ?

> D=A+A2

> print(D)

[,1] [,2] [,3] [,4] [,5]

[1,] 0 1 1 0 0

[2,] 0 0 1 1 0

[3,] 0 1 0 1 1

[4,] 0 1 1 0 1

[5,] 0 0 0 0 0

(3)

5. Comment obtenir, `a partir deA, les chemins de longueur 3 dans ce graphe ? les chemins de longueur≤3 dans ce graphe ?

> A3=A%*%A2

> print(A3)# chemins longueur 3 [,1] [,2] [,3] [,4] [,5]

[1,] 0 0 0 1 0

[2,] 0 1 0 0 1

[3,] 0 0 1 0 0

[4,] 0 0 0 1 0

[5,] 0 0 0 0 0

> D3=D+A3 # chemins lg=<3

> print(D3)

[,1] [,2] [,3] [,4] [,5]

[1,] 0 1 1 1 0

[2,] 0 1 1 1 1

[3,] 0 1 1 1 1

[4,] 0 1 1 1 1

[5,] 0 0 0 0 0

Une boucle for pour calculer les chemins de longueur 1 `a 4

> # initialisation: N:matrice identit´e

> N=diag(n)

> s=0*N

> for(i in 1:(n-1)) { + print(1:i)

+ N<-N%*%A

+ # Concatenate and Print

+ cat("chemins de longueur ",i,"\n") + print(N)

+ s<-s+N

+ cat("chemins de longueur inf´erieure ou ´egale `a ",i,"\n") + print(s)

+ }

6. Donner (`a la main) le vecteurV repr´esentant le plus court chemin deX1 `aX5. Le coefficienta1,5= 0 signifie qu’il n’y a pas de chemin de longueur 1 entreX1 `aX5. Les coefficients de ligne 1 et de la colonne 5 de A2 etA3 sont nuls aussi. Seul celui deA4 vaut 1. Cela signifie qu’il n’existe qu’un chemin de longueur 4 entre les deux sommets.

7. D´eterminer la matrice d’incidence du graphe, not´eeB.

8. V´erifier votre r´esultat en utilisant la fonction incidence (`a t´el´echarger sur Moodle).

[,1] [,2] [,3] [,4] [,5]

[1,] -1 0 0 0 0

[2,] 1 -1 0 1 0

[3,] 0 1 -1 0 0

[4,] 0 0 1 -1 -1

[5,] 0 0 0 0 1

9. CalculerM =Bt(B)o`u t(B)est la transpos´ee deB. Que r´epr´esentent les ´el´ements mii ? [,1] [,2] [,3] [,4] [,5]

[1,] 1 -1 0 0 0

[2,] -1 3 -1 -1 0

[3,] 0 -1 2 -1 0

[4,] 0 -1 -1 3 -1

[5,] 0 0 0 -1 1

[1] "mii=degr´e du sommet i =nb d arcs arrivant ou partant de i"

(4)

Lorsqu’un graphe est simple (un seul arc entre deux sommets et sans boucle), les matrices d’adjacence ou d’incidence contiennent toutes les informations du graphe.

Certains r´eseaux m´etaboliques peuvent ˆetre repr´esent´es par un graphe orient´e. Les m´etabolites correspondent aux sommets et les r´eactions ou transport `a ses arcs. Le sens des fl`eches indique le sens de la r´eaction.

Exercice 1.2 Sur le 1er graphe (r´eseau 1): X1, X2, X3 repr´esentent les m´etabolites internes,v1, v2, v3, v4, v5 des r´eacti- ons ou des transports. Dans ces r´eseaux, les m´etabolites ”externes” ne sont pas repr´esent´es (il n’y a pas de sommets aux extr´emit´es de certaines fl`eches).

1. Donner les matrices d’incidenceB1 et B2 des r´eseaux 1 et 2 ci-dessus.

2. D´eterminer le rang de ces matrices. En d´eduire la dimension de leur noyau.

3. D´eterminer (`a la main) leur noyau (ie les vecteurs V v´erifiant B1V = 0 puis ceux v´erifiantB2V = 0). Interpr´eter ce r´esultat en terme de chemin sur le graphe.

v1

v2

v5

r5 v3 v4

r10 x3 x2

x1

v3 v1

v2

x3 x2 x1

v4 v6

A

r9

r2 r3 r4

r7 r6 r1

B

C P

D E

Réseau n°1

Réseau n°3 Réseau n°2

r8

> B1= matrix(

+ c(1,0,-1,0,0,0,1,0,-1,0,0,0,1,1,-1), + nrow = 3,

+ ncol = 5, + byrow = TRUE)

> # rang

> r1=qr(B1)$rank

> paste("le rang de B1 est :",qr(B1)$rank)

[1] "le rang de B1 est : 3"

> paste("la dimension du noyau de B1 est :",5-r1)

[1] "la dimension du noyau de B1 est : 2"

[1] "le rang de B2 est : 3"

[1] "la dimension du noyau de B2 est : 3"

(5)

Une voie m´etabolique traduit la transformation d’un ou plusieurs substrats externes par diff´erentes r´eactions enzyma- tiques jusqu’`a l’obtention d’un ou plusieurs produits externes (exemple: glycolyse, cycle de Krebbs,...). Dans le graphe, il s’agit soit d’un chemin dont les noeuds initial et terminal sont des m´etabolites externes ou un cycle ou bien encore la superposition des deux.

Exercice 1.3 Soient les matrices d’incidence suivantes. Quels sont les graphes correspondants ?

B=

1 −1 0 −1 0

0 1 −1 0 −1

C=

1 0 −1 0 0

0 1 0 −1 0

0 0 1 1 −1

0 0 0 0 1

Mais une r´eaction peut parfois relier plus de deux m´etabolites: dans le r´eseau 3, par exemple. Si un arc est reli´e `a plus de deux sommets, la notion de graphe n’est donc pas suffisante. Nous introduisons la notion d’hypergraphe.

(6)

2 Hypergraphes et matrices

D´efinition 2.1 Un hypergraphe orient´e d’ordre n, est un couple (S, A) o`u S est un ensemble de n sommets et A est l’ensemble des hyperarcs o`u chaque hyperarc est un couple de sous ensembles non vide de sommets.

Soit le r´eseau donn´e par les r´eactions suivantes (... repr´esente des m´etabolites externes non pris en compte dans la mod´elisation):

T1 : ... −→ A R1 : 2A −→ B + C T2 : B −→ ...

T3 : C −→ ...

On peut comme pour les graphes d´efinir les matrices d’adjacence et d’incidence. Mais seule la matrice d’incidence contient (presque) toutes les informations du graphe (la matrice d’adjacence ne permet pas de savoir que la r´eaction R1 est bimol´eculaire).

On va d´efinir une nouvelle matrice, proche de la matrice d’incidence, contenant une information suppl´ementaire: la stœchiom´etrie des r´eactions.

D´efinition 2.2 La matrice de stœchiom´etrie d’un r´eseau m´etabolique contenant de n m´etabolites et m r´eactions est la matriceN d’ordre (n, m)d´efinie par N = (nij)o`u

nij =

ν si la r´eaction j produit le m´etabolite i avec la stœchiom´etrieν

−ν si la r´eaction j consomme le m´etabolite i avec la stœchiom´etrieν 0 si le m´etabolite i n’intervient pas dans la r´eaction j

Dans l’exemple pr´ec´edent, la matrice de stœchiom´etrie est

> print(N)

[,1] [,2] [,3] [,4]

[1,] 1 -2 0 0

[2,] 0 1 -1 0

[3,] 0 1 0 -1

Exercice 2.1 Soit le r´eseau donn´e par les r´eactions suivantes

R1 : ... ←→ 2A + B

R2 : A + C −→ D

R3 : B ←→ 2C

R4 : D −→ ...

R5 : ... −→ 2D

1. Tracer (`a la main) son hypergraphe. On indiquera aux deux extr´emit´es des arcs les coefficients stœchiom´etriques des r´eactions.

2. Donner la matrice de stoechiom´etrie du r´eseau, not´eeN. [,1] [,2] [,3] [,4] [,5]

[1,] 2 -1 0 0 0

[2,] 1 0 -1 0 0

[3,] 0 -1 2 0 0

[4,] 0 1 0 -1 2

(7)

3. V´erifier queW1:2R4+R5 est une voie m´etabolique. Donner sa repr´esentation dans la baseB={R1, R2, R3, R4, R5}.

4. Verifier que W2:R1+2R2+R3+2R4 est une voie m´etabolique et donner sa repr´esentation dans la base B. W1 = (0,0,0,2,1) etW2= (1,2,1,1,0)

5. Dans la repr´esentation matricielleN, on a perdu l’information de la r´eversibilit´e ou non des r´eactions. D´edoubler les r´eactions r´eversibles en deux r´eactions irr´eversibles pour pallier `a ce probl`eme et donner la nouvelle matrice de stoechiom´etrie du r´eseauN0.

Exercice 2.2 Soient la matrice de stœchiom´etrieA. Quel est le graphe correspondant ?

A=

1 −1 0 0

0 1 −1 0

0 −1 0 1

0 1 0 −1

(8)

3 R´ eseau et ´ etat stationnaire

Soient {(X1, X2,· · · , Xn}l’ensemble desnm´etabolites d’un r´eseau, etN la matrice de stœchiom´etrie de taille (n, m).

3.1 Etude dynamique du r´ eseau

On peut s’int´eresser `a l’´evolution au cours du temps des concentrationsxi(t)des m´etabolitesXi du r´eseau. Si on suppose que les concentrations sont homog`enes (dans l’espace), on peut ´ecrire

dxi

dt =X

vproduction−X

vconsommation

Par exemple, dans le r´eseau pr´ec´edent, la variation de concentration du m´etaboliteAde concentrationa(t)d´epend de la vitesse deR1, not´eev1, et la vitesse deR2, not´eev2, ce que l’on peut ´ecrire:

da

dt =v1v2

Plus g´en´eralement, on peut ´ecrire

dx dt =N V

3.2 Etat stationnaire

Un r´eseau m´etabolique est dit `a l’´etat stationnaire, si les m´etabolites (internes) ne s’accumulent pas. Cela s’´ecrit dxdti = 0 ou encore

D´efinition 3.1 Soient X = (X1, X2,· · ·, Xn) l’ensemble des n m´etabolites de concentration x =t (x1,· · ·, xn) d’un r´eseau, V =t (v1, v2,· · ·, vm) un vecteur vitesse des m r´eactions et N sa matrice de stœchiom´etrie de taille (n, m). Le r´eseau est dit `a l’´etat stationnaire si

dX

dt = 0⇐⇒N V = 0

Une voie m´etabolique `a l’´etat stationnaire est un vecteurV deRm qui v´erifieN V = 0.

Exercice 3.1 On reprend le r´eseau pr´ec´edent.

1. Ecrire le syst`eme diff´erentiel v´erifi´e par les m´etabolites (dadt, dbdt, ...).

2. Montrer queW1 et W2 appartiennent au noyau deN. Ce sont des voies m´etaboliques `a l’´etat stationnaire.

> W1 = c(1,2,1,2,0)

> print(N%*%W1) [,1]

[1,] 0 [2,] 0 [3,] 0 [4,] 0

DoncW1 appartient bien au noyau de N.

3. Montrer que W3 = (0,−2,1,0,0) appartient aussi au noyau. On v´erifie W3 appartient bien au noyau de N. Remarquons que le coefficient −2 signifie que la r´eaction R2 se produit dans le sens D −→ A+C ce qui n’est peut-ˆetre pas envisageable d’un point de vue de la thermodynamique.

(9)

Exercice 3.2 On consid`ere le r´eseau m´etabolique suivant

R1 : Aext −→ A R2 : Bext ←→ B

R3 : P −→ Pext

R4 : A −→ B

R5 : A −→ C

R6 : A −→ D

R7 : B ←→ C

R8 : 2B −→ P

R9 : C + D −→ P

1. Dessiner le graphe (sur papier) 2. D´efinir la matrice de stœchiom´etrieS.

3. D´eterminer le rang deS ?

4. En d´eduire la dimension du noyau de S.

5. D´eterminer une base du noyau deS.

6. Enum´erer les voies m´etaboliques `a l’´etat stationnaire.

La matrice de stœchiom´etrieS (pour les r´eactions r´eversibles, on a fait le choix de les orienter de la gauche vers la droite).

[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]

[1,] 1 0 0 -1 -1 -1 0 0 0

[2,] 0 1 0 1 0 0 -1 -2 0

[3,] 0 0 0 0 1 0 1 0 -1

[4,] 0 0 0 0 0 1 0 0 -1

[5,] 0 0 -1 0 0 0 0 1 1

Le rang de S ´etant 5, on en d´eduit par le th´eor`eme du rang que la dimension du noyau est 4. On cherche donc une base de dimension 4, c’est-`a-dire 4 vecteurs appartenant au noyau lin´eairement ind´ependants: tout ´el´ement du noyau pourra s’´ecrire comme combinaison de ces vecteurs. R peut calculer une base du noyau (voir la commande Null du package MASS) mais les vecteurs ne seront pas avec des composantes enti`eres, donc nous les calculons manuellement. Par exemple, les 4 vecteurs (W1, W2, W3, W4)ci-dessous forment une base :

W1=

 1

−1 0 1 0 0 0 0 0

W2=

−1 1 0 0

−1 0 1 0 0

W3=

 0 2 1 0 0 0 0 1 0

W4=

 2 0 1 0 1 1 0 0 1

On peut v´erifier l’appartenance au noyau deWi en calculantSWi. Par exemple pourW4

> W4=c(2,0,1,0,1,1,0,0,1)

> S%*%W4 [,1]

[1,] 0 [2,] 0 [3,] 0 [4,] 0 [5,] 0

(10)

On constate que W2 ne peut pas ˆetre une voie m´etabolique: la r´eaction 5 est suppos´ee irr´eversible donc ne peut fonctionner dans ce sens. Les vecteurs (U1, U2, U3, U4) ci-dessous forment aussi une base mais de plus respectent des conditions de positivit´e (les r´eactions irr´eversibles doivent ˆetre positives) et sont donc des voies m´etaboliques `a l’´etat stationnaire.

U1=

 1

−1 0 1 0 0 0 0 0

U2=

 1

−1 0 0 1 0

−1 0 0

U3=

 0 2 1 0 0 0 0 1 0

U4=

 1 1 1 0 0 1 1 0 1

Pour d´eterminer les voies m´etaboliques `a l’´etat stationnaire, il faut donc trouver ici le vecteur V = (v1,· · ·, v9)v´erifiant SV = 0 sous la contrainte vi ≥0 pour tout i ∈ {1,3,4,5,6,8,9}. C’est donc un probl`eme un peu plus complexe que de d´eterminer le noyau (il s’agit de d´eterminer les rayons extrˆemes d’un cˆone. Il existe des algortihmes pour d´eterminer ces rayons extrˆemes).

Remarque:

On peut aussi d´ecider de d´edoubler les r´eactions r´eversibles c’est-`a-dire consid´erer le r´eseau R1 : Aext −→ A

R2+: Bext −→ B R2 : B −→ Bext

R3 : P −→ Pext

R4 : A −→ B

R5 : A −→ C

R6 : A −→ D

R7+: B −→ C

R7 : C −→ B

R8 : 2B −→ P

R9 : C + D −→ P

Cela modifie et augmente la taille de la nouvelle matrice de la matrice de stœchiom´etrie, not´ee S0. Renum´erotons les r´eactions de R1 `a R11. Pour d´eterminer les voies m´etaboliques, on cherche les vecteurs V = (v1,· · · , v11) v´erifiant S0V = 0et vi≥0.

Références

Documents relatifs

On en d´eduit que P admet une racine multiple si et seulement si les polynˆomes P et P ′ admettent une racine complexe commune c’est-`a-dire ne sont pas premiers entre eux ce

La r´eaction peut durer plusieurs mois ou plusieurs ann´ees.. (exemple : formation de

Sous Linux, ouvrez une console et logez vous en tant qu’administrateur (tapez sudo -s et [enter] puis renseignez le mot de passe d’utilisateur pour vous connecter

Calculez les valeurs propres et le rayon spectral de la matrice de Jacobi J appliqu´ ee`. a un syst` eme lin´ eaire Ax

Lorsqu’un graphe est simple (un seul arc entre deux sommets et sans boucle), les matrices d’adjacence ou d’incidence contiennent toutes les informations du graphe4. Certains r´

◊ remarque : l'inductance est plus grande avec le noyau de fer feuilleté (aimantation induite) ; elle est un peu plus faible avec un noyau de métal non feuilleté (champ magnétique

• Pour le calcul des incertitudes sur cette relation théorique, même si on a utilisé des résistances théorique- ment égales, il faut tenir compte du fait qu'on a utilisé

[r]