07.11.2013 Views

Une Boite `a Outils Pour la Preuve Formelle de Syst`emes Séquentiels

Une Boite `a Outils Pour la Preuve Formelle de Syst`emes Séquentiels

Une Boite `a Outils Pour la Preuve Formelle de Syst`emes Séquentiels

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

2.4. MANIPULATIONS DE GRAPHES DE DÉCISION 51<br />

Théorème 2.9 Soient f et g <strong>de</strong>ux graphes <strong>de</strong> décision binaires. La complexité du calcul<br />

du graphe <strong>de</strong> décision binaire <strong>de</strong> (¬f) est en O(|f|), celui du graphe <strong>de</strong> décision binaire <strong>de</strong><br />

(f ⋆g) est en O(|f|×|g|), où ⋆ est un opérateur booléen diadique quelconque (par exemple<br />

∨,∧,⇒,⇔, ou ⊕).<br />

<strong>Preuve</strong>. La négation d’un BDD f nécessite une recopie <strong>de</strong> celui-ci avec inversion <strong>de</strong>s<br />

feuilles, d’où une négation en O(|f|). Nous avons vu que l’obtention du BDD <strong>de</strong> (f ⋆g)<br />

requiert au plus |f|×|g| applications <strong>de</strong> <strong>la</strong> règle 2.12. Montrons maintenant que <strong>la</strong> taille<br />

du BDD <strong>de</strong> (f ⋆ g) est en O(|f| × |g|). Cette preuve est due à Bryant [28]. Par nature,<br />

<strong>la</strong> taille du BDD <strong>de</strong> (f ⋆ g) est bornée par |f| × |g|. Considérons maintenant 2n + 2m<br />

variables x 1 < ... < x 2n+2m . Soient les formules<br />

f =<br />

g =<br />

(<br />

∨ n<br />

)<br />

(x k ∧x n+m+k ) et (2.14)<br />

k=1<br />

(<br />

∨ m<br />

)<br />

(x n+k ∧x 2n+m+k ) . (2.15)<br />

k=1<br />

Leurs BDDs ont respectivement les tailles 2 n+1 et 2 m+1 . On a :<br />

f ∨g =<br />

( n+m<br />

) ∨<br />

(x k ∧x n+m+k ) ,<br />

k=1<br />

dont le BDD est <strong>de</strong> taille 2 n+m+1 , c’est à dire (|f| × |g|)/2. La complexité du calcul <strong>de</strong><br />

(f ⋆g) est donc en O(|f|×|g|) pour l’application <strong>de</strong>s opérateurs booléens ∨,∧,⇒,⇔,⊕.<br />

✷<br />

Théorème 2.10 Soient f et g <strong>de</strong>ux graphes <strong>de</strong> décision typés. La complexité du calcul<br />

du graphe <strong>de</strong> décision typé <strong>de</strong> (¬f) est en O(1), celui du graphe <strong>de</strong> décision typé <strong>de</strong> (f⋆g)<br />

est en O(|f|×|g|), où ⋆ est un opérateur booléen quelconque.<br />

Les opérateurs booléens usuels ont donc <strong>de</strong>s coûts tout à fait raisonnables sur les<br />

graphes, puisque polynomiaux par rapport aux tailles <strong>de</strong>s graphes. <strong>Pour</strong> implémenter<br />

l’évaluation d’une fonction n–aire g, il suffit <strong>de</strong> généraliser l’opération ⋆ au cas n–aire, et<br />

donner les réécritures <strong>de</strong> g dans les cas terminaux (potentiellement 2 n cas terminaux sont<br />

nécessaires pour décrire complètement g). La complexité <strong>de</strong> l’évaluation <strong>de</strong> g(f 1 ,...,f n )<br />

sera finalement bornée par O( ∏ n<br />

k=1 |f k |). En résumé, l’évaluation d’une opération n–aire<br />

implémentée “en dur” se fait au pire polynomialement <strong>de</strong> <strong>de</strong>gré n.<br />

2.4.3 Composition <strong>de</strong> graphes <strong>de</strong> décision<br />

Nous abordons ici l’évaluation <strong>de</strong> g(f 1 ,...,f n ) dans le cas où g est donnée sous <strong>la</strong> forme<br />

d’un graphe. Nous étudions d’abord <strong>la</strong> substitution d’une variable d’un graphe par un<br />

autre graphe, puis le problème <strong>de</strong> <strong>la</strong> composition en général.<br />

D’après <strong>la</strong> règle 2.13, <strong>la</strong> substitution d’une variable dans un graphe g par un graphe<br />

f s’effectue avec une complexité bornée par O(|g| 2 × |f|). D’un autre coté, il est c<strong>la</strong>ir

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!