We recall that a SEPI from a directed graph G=(V,A) to a directed graph G’=(V’,A’) is a mapping s:V0àV’ such that 1

Download (0)

Full text


Course C2-19, MPRI

Computational Methods in Systems and Synthetic Biology Examination on Part IV,

Correction F. Fages March 2nd 2017

We have seen that model reduction relationships can be detected between biochemical reaction systems in large model repositories such as BioModels, by checking the existence of a subgraph epimorphism (SEPI) between each pair of the reaction graphs.

We recall that a SEPI from a directed graph G=(V,A) to a directed graph G’=(V’,A’) is a mapping s:V0àV’ such that

1. V0 Ì V (subgraph)

2. For (x,y)ÎAÇ(V0 xV0) we have (s(x),s(y))ÎA’ (subgraph morphism) 3. " x’ÎV’ $xÎV s(x)=x’ (surjectivity on vertices)

4. " (x’,y’)ÎA’ $(x,y)ÎA s(x)=x’ and s(y)=y’ (surjectivity on arcs).

A graph epimorphism (EPI) is a SEPI where V0 = V.

Question 1. Give the smallest example of a pair of graphs (G, G’), where G’ has less or equal vertices and arcs than G, such that there does not exist a SEPI from G to G’.

G G’


since by surjectivity 3) V0=V and the morphism condition 2) is not satisfied.

Question 2. What are the maximum numbers of EPIs and SEPIs between two graphs? (hint:

the use of numbers defined by recurrence will be welcomed).

Give an example of a pair of graphs with that number of SEPIs.

Let v=|V| and v’=|V’| be the number of vertices of G and G’, with v³v’ for a SEPI to exist.

The condition 3 of surjectivity on vertices imposes that there are at most S(v,v’) EPI and S(v,v’+1)+S(v,v’) SEPI mappings satisfying condition 1) from G for G’, where S(v,v’) is Stirling number of order 2, i.e. the number of ways to distribute v elements into v’ non empty sets: S(m+1,n) = nS(m,n)+S(m,n-1).

This maximum number of SEPIs is reached with two graphs with no arc (i.e. trivially satisfying conditions 2 and 4).


Question 3. The problem of deciding the existence of a SEPI from G to G’ is NP-complete, but show that when G is fixed, this problem can be decided in constant-time (hint: this question is easy).

If G is fixed with k vertices and G’ is a graph with v’ vertices, there are (v’+1)k possible mappings from the vertices of G to the vertices of G’ plus ^.

If v>k there is no SEPI from G to G’. Otherwise, the mappings can be enumerated in time less than (k+1)^k i.e. constant time, and checked for morphisms and surjectivity on arcs and vertices in similarly constant time.

Question 4. Show that the existence of a SEPI from G to G’ can be decided in polynomial- time when G’ is fixed (hint: this question is less easy).

Si G' est fixé à k sommets et k' arêtes, alors pour tout graphe G à n sommets et n' arêtes, on considère les applications «

réciproques » des sommets de G' sur les sommets de G et des arêtes de G' sur les arêtes de G.

Formellement, on considère les paires (p, q) de la forme : – p:v(G')→v(G) une application des sommets de G' vers les sommets de G,

– q:e(G')e(G) une application des arêtes de G' vers les arêtes de G.

Il y a au plus n^k*n'^k' paires à considérer.

On vérifie polynomialement pour chaque paire s’il peut s’agir de la réciproque d’un SEPI. On considère f la relation dans

v(G)×v(G') telle que f: v ↦ v' si et seulement si – ou bien p(v') = v

– ou bien il existe t, t' tels que q(v', t') = (v, t), – ou bien il existe t, t' tels que q(t', v') = (t, v).

Il suffit alors de vérifier que f est bien un SEPI, en temps polynomial.

Cet algorithmne est complet : on remarque que s’il existe un SEPI f' de G vers G', alors il existe bien une telle paire (p, q) d’applications réciproques. Il suffit de considérer n’importe quelles réciproques, c’est-à-dire (p, q) telles que f'∘p=id et

(f',f')∘q=id. En considérant la même relation f que ci-dessus, on remarque que f: v ↦ v' implique f'(v)=v'. Du coup, f est bien un SEPI :

– f est une fonction car f' est une fonction,

– f est un morphisme car pour toute arête (s, t) de G, (f(s), f(t))

= (f'(s), f'(t)) est une arête de G' car f' est un morphisme,

– f est épi car pour toute arête (s', t') de G', q(s', t') = (s, t) est une arête de G telle que f(s) = s' et f(t) = t'.




Related subjects :