• Aucun résultat trouvé

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.