4.2 Existence d’une solution au probl`eme d’identification
4.2.2 Algorithme d’identification
0 0 0 1 0 0
0 0 1 0 0 1
0 1 0 1 0 0
0 1 1 0 0 1
1 0 0 1 0 1
1 0 1 0 1 1
1 1 0 1 0 0
1 1 1 0 1 1
=⇒
• 0 0 0
• 0 1 0
0 0 0
0 1 0
• 1 0 0
• 1 1 1
1 0 0
1 1 1
=⇒
0 0 0
0 1 0
1 0 0
1 1 1
Fig. 4.2: Une fois connues les variables effectives de f2, nous extrayons de
la table initiale (`a gauche) la table de v´erit´e de f2 (au milieu). En enlevant
les redondances, Nous obtenons la table de droite correspondant `a la fonction
f2(x1, x3) =x1∧x3.
Grˆace `a cette proposition, nous pouvons `a pr´esent expliciter l’algorithme REVEAL et
d´emontrer qu’il permet de construire un r´eseau d’automates bool´eens canonique et consistant
avec une table de v´erit´e compl`ete.
4.2.2 Algorithme d’identification
Nous reprenons dans cette partie le principe de l’algorithme REVEAL (on se r´ef`erera par
exemple `a [20, 46]). Cet algorithme permet, ´etant donn´ee une table de v´erit´e T compl`ete, de
retrouver un r´eseau canonique, consistant avec T.
Le principe de cet algorithme est le suivant : Nous disposons d’une table de v´erit´e compl`ete
T = (E, S) de dimension n. Le but est de trouver, pour i∈ {1, . . . , n}, l’ensembleVi des
va-riables effectives de la fonctionfi(c’est-`a-dire le support defi). Pour cela, nous allons proc´eder
par ´etapes, en regardant d’abord s’il existe des fonctions de connectivit´e r´eelle 1, puis, si
cer-tains Vi sont encore ind´etermin´es, nous regardons s’il existe des fonctions dont la connectivit´e
r´eelle est 2 et ainsi de suite. L’algorithme s’arrˆete d`es que tous les Vi sont d´etermin´es (voir
algorithme 1 ci-dessous). Il existe une ´etape 0 non repr´esent´ee dans l’algorithme 1, il s’agit du
Algorithme 1 - REVEAL - Identification de r´eseaux bool´eens.
Etant donn´ee une table de v´erit´e compl`ete de dimension n, cet algorithme trouve,
pour tout j∈ {1, . . . , n}l’ensemble Vj qui est ´egal au support de la fonction fj.
n: entier ≥1 ;
E, S : Matrices bool´eennes de dimension 2n×n;
[Les matrices E et S repr´esentent une table de v´erit´e compl`ete de dimension n. On
suppose que les fonctions fi d´efinies par les colonnes Si ne sont pas constantes sur
{0,1}n.]
I ← {1, . . . , n};
[I est l’ensemble des indices `a traiter]
Pour k de 1`a nfaire
[On cherche les fonctions de connectivit´e r´eellek.]
Pour i∈I faire
Pour (i1, . . . , ik) un k-uplet ordonn´e de{1, . . . , n}faire
Si (H(Si, Ei1, . . . , Eik) =H(Ei1, . . . , Eik))Alors
[fi est de connectivit´e k]
<Noeud 1>
Vi←(i1, . . . , ik) ;
[Les variables de la fonction fi sont d´esormais trouv´ees : on
l’enl`eve de I et on sort de cette boucle]
I ←I\ {i};
Break;
Fin Si
Fin Pour
Fin Pour
Retourner V = (Vi)i=1...n;
Fin Pour
cas de la connectivit´e 0. Sifiest de connectivit´e 0, cela signifie que c’est une fonction constante
sur{0,1}n. Ce cas est facile `a d´etecter et ne pose pas de probl`eme algorithmique. Par un soucis
de concision, nous faisons donc l’hypoth`ese qu’aucune fonctionfi n’est constante sur {0,1}n.
Afin d’achever la preuve du th´eor`eme 4.1, il nous faut d´emontrer que l’algorithme 1 nous
permet de construire un r´eseau canonique qui est consistant avec la table T. Pour cela, nous
montrons le r´esultat suivant.
Proposition 4.4 Etant donn´ee une table compl`ete T = (E, S) de dimension n, l’algorithme 1
renvoie en temps fini, pour chaque nœud i ∈ {1, . . . , n} un sous-ensemble Vi de {1, . . . , n}.
Nous pouvons alors construire le r´eseau R= (X, B, F) dans lequel :
– X ={1, . . . , n},
– B est la matrice bool´eenne d´efinie par :
∀i, j ∈ {1, . . . , n}, bij=
1 si j∈Vi
0 sinon
– F = (fi)i=1...n, o`ufiest la fonction bool´eenne associ´ee `a lai-i`eme colonne de la matriceS.
Le r´eseauR ainsi construit est canonique et consistant avec la tableT.
Le r´eseau R est par construction consistant avec la tableT. Il nous reste donc `a d´emontrer
qu’il est bien canonique, c’est-`a-dire que la connectivit´e apparente des nœuds est bien ´egale `a
leur connectivit´e r´eelle. Nous allons d´emontrer ceci en proc´edant par induction sur l’entier k
(indice de la premi`ere boucle, cf. alg. 1). Pour 1 ≤ k ≤ n, nous appelons I(k) l’ensemble
des indices de {1, . . . , n} pour lesquels l’algorithme passe par le <Noeud 1> (voir alg. 1). Si
pour un automate il’algorithme passe par le<Noeud 1>, alorsiest enlev´e de l’ensembleI des
automates `a traiter ; ceci nous assure que les ensembles I(k) ⊂ {1, . . . , n} sont deux `a deux
disjoints. Pour toutξ∈I(k), nous notonsVξ lek-uplet ordonn´e renvoy´e par l’algorithme. Nous
allons d´emontrer le lemme suivant :
Lemme 4.5 Pour tout k ∈ {1, . . . , n}, pour tout ξ ∈ I(k), la fonction fξ est de connectivit´e
r´eelle k et Vξ est ´egal au support de fξ. R´eciproquement, si pour un automate ξ ∈ {1, . . . , n}
donn´e on a κ(fξ) =k, alors ξ∈I(k).
D´emonstration
Montrons tout d’abord que ceci est vrai pourk= 1.
Soit ξ∈I(1). L’ensemble Vξ se r´eduit `a un singleton {v}. D’apr`es l’algorithme 1, nous savons
que H(Sξ, Ev) =H(Ev), ce qui en utilisant la proposition 4.3 implique que la fonction fξ ne
d´epend pas des variablesxj, pour j6=v. Comme nous avons de plus suppos´e que fξ n’est pas
une fonction constante, nous en d´eduisons que κ(fξ) = 1 et donc que xv est variable effective
de fξ, c’est-`a-dire :
Supp(fξ) ={v}=Vξ
R´eciproquement, consid´erons ξ∈ {1, . . . , n} tel que la fonction fξ est de connectivit´e r´eelle 1,
alors le support defξse r´eduit `a un singleton{v}, o`uv ∈ {1, . . . , n}. Dans ce cas, la proposition
4.3 nous assure queH(Ev, Sξ) =H(Ev), ce qui entraine ξ∈I(1).
Nous supposons `a pr´esent que la propri´et´e est v´erifi´ee pour 1≤k0 ≤k−1, et nous montrons
qu’elle est alors v´erifi´ee au rangk.
Soitξ∈I(k), et Vξ={v1, . . . , vk}. Par hypoth`ese, nous savons queκ(fξ)≥k, car sinon on
au-raitξ ∈I(k0) aveck0 < k(l’algorithme aurait d´ej`a d´etect´e l’automateξ`a une ´etape ant´erieure).
Puisque nous avons l’´egalit´e H(Sξ, Ev1, . . . , Evm) =H(Ev1, . . . , Evm), nous en d´eduisons grˆace
`a la proposition 4.3 quefξne d´epend pas des variablesxj, pourj /∈Vξ. Ceci entraˆıne l’in´egalit´e :
κ(fξ) ≤ k. On en d´eduit que κ(fξ) = k et que Vξ = Supp(fξ). R´eciproquement, si fξ est de
connectivit´e r´eelle k, alors si nous notonsv1, . . . , vk les ´el´ements du support defξ, nous avons
l’´egalit´e H(Sξ, Ev1, . . . , Evk) =H(Ev1, . . . , Evk), qui implique queξ appartient bien `a I(k).
Grˆace `a ce lemme, nous d´eduisons que l’algorithme 1 trouve, pour tout automate i, la
connectivit´e r´eelle κ(fi) et l’ensemble (xi1, . . . , xiκ(fi)) des variables effectives de fi. De cette
mani`ere, nous sommes assur´es que le r´eseau R d´efini dans la proposition 4.4 est canonique.
En outre, comme les fonctions fi sont des fonctions de {0,1}n dans {0,1}, leur connectivit´e
r´eelle est au plusn, et donc l’algorithme trouve en temps fini l’ensemble des variables effectives
de toutes les fonctions fi.
Exemple 4.3
Reprenons la table de v´erit´e T donn´ee dans l’exemple pr´ec´edent :
E1 E2 E3 S1 S2 S3
0 0 0 1 0 0
0 0 1 0 0 1
0 1 0 1 0 0
0 1 1 0 0 1
1 0 0 1 0 1
1 0 1 0 1 1
1 1 0 1 0 0
1 1 1 0 1 1
Le d´eroulement de l’algorithme nous donne :
– Etape 1 : I(1) = {1} et V1 ={3}. La seule fonction de connectivit´e r´eelle 1 est donc la
fonction f1. Sa variable effective estx3. En examinant la table de v´erit´e, nous trouvons :
f1(x1, x2, x3) =f1(x3) =¬x3
– Etape 2 : I(2) ={2}et V2 ={1,3}. La seule fonction de connectivit´e r´eelle2 est donc la
fonction f2 :
f2(x1, x2, x3) =f2(x1, x3) =x1∧x3
– Etape 3 : I(3) ={3} et V3 ={1,2,3}. La seule fonction de connectivit´e r´eelle 3 est donc
la fonctionf3 :
f3(x1, x2, x3) =x3+x1¬x2
Nous en d´eduisons que l’unique r´eseau canonique consistant avec la table T est le r´eseau
R= (X, B, F)avecX ={1, . . . , n}dont les connexions sont repr´esent´ees par la graphe suivant :
1 2
qui correspond `a la matrice d’incidence :
B =
0 0 1
1 0 1
1 1 1
L’algorithme REVEAL nous fournit une preuve de l’existence, pour toute table de v´erit´e
compl`ete T, d’un r´eseau canonique consistant avec T. Ceci ach`eve donc la d´emonstration du
th´eor`eme 4.1.
Dans le document
Etude et modélisation mathématique de réseaux de régulation génétique et métabolique
(Page 105-109)