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 53<br />

pour 1 ≤ k ≤ n. Les BDDs <strong>de</strong>s fonctions f k sont <strong>de</strong> taille 3 (<strong>de</strong> taille 2 pour les TDGs),<br />

donc ( ∑ n<br />

k=1 |f k |) = O(n). On déduit finalement que (|g| + ∑ n<br />

k=1 |f k |) est en O(n). La<br />

composition g(f 1 ,...,f n ) est <strong>la</strong> fonction λ⃗y.( ∧ n<br />

k=1 f k (⃗y)), qui s’écrit donc<br />

( n<br />

)<br />

∧<br />

λ[y 1 ...y 2n ]. (y k ⇔ y 2n−k+1 )<br />

k=1<br />

Le graphe <strong>de</strong> <strong>la</strong> formule ((y 1 ⇔ y 2n ) ∧ (y 2 ⇔ y 2n−1 ) ∧ ... ∧ (y n ⇔ y n+1 )) est en O(2 n ),<br />

comme le montre le Lemme 2.1.<br />

✷<br />

Lemme 2.1 La formule ((y 1 ⇔ y 2n )∧(y 2 ⇔ y 2n−1 )∧...∧(y n ⇔ y n+1 )) possè<strong>de</strong> un graphe<br />

<strong>de</strong> décision en O(2 n ) pour l’ordre y 1 < y 2 < ... < y 2n .<br />

<strong>Preuve</strong>. Nous montrons que le BDD <strong>de</strong> ((y 1 ⇔ y 2n )∧(y 2 ⇔ y 2n−1 )∧...∧(y n ⇔ y n+1 ))<br />

est <strong>de</strong> taille 3(2 n −1) par récurrence. <strong>Une</strong> preuve analogue montre que le TDG <strong>de</strong> cette<br />

formule est <strong>de</strong> taille 3(2 n −1)−1.<br />

Considérons le graphe t n montré Figure 12. Il utilise 2n variables y 1 < y 2 < ... < y 2n ,<br />

et est totalement expansé sur les n+1 premières variables. Par définition, les 2 n−1 sous<br />

graphes G n j (1 ≤ j ≤ 2 n−1 ) sont tous différents. Soit s n le nombre <strong>de</strong> noeuds nécessaires<br />

pour représenter ces 2 n−1 sous graphes G n j. La taille <strong>de</strong> t n est donc (s n + ∑ n+1<br />

k=1 2k−1 ), soit<br />

|t n | = 2 n+1 +s n −1.<br />

On effectue alors le produit <strong>de</strong> t n avec (a ⇔ b), tel que y n < a < b < y n+1 . Le graphe<br />

<strong>de</strong> (a ⇔ b) doit être introduit au milieu du graphe t n . On obtient <strong>la</strong> nouvelle structure <strong>de</strong><br />

graphe donnée par <strong>la</strong> Figure 13.<br />

Cette structure est analogue à celle <strong>de</strong> t n , à savoir que l’expansion du graphe est faite<br />

sur les n + 2 premières variables (i.e. y 1 ,...,y n ,a,b), et qu’à partir d’un graphe G n j, on<br />

construit les <strong>de</strong>ux graphes G n+1<br />

2j−1 = (¬y n+1 ∧ G n j) et G n+1<br />

2j = (y n+1 ∧ G n j), c’est à dire<br />

G n+1<br />

2j−1 = △(y n+1 ,G n j,0) et G n+1<br />

2j = △(y n+1 ,0,G n j). Les 2 n nouveaux graphes G n+1<br />

j ont un<br />

nombre <strong>de</strong> noeuds s n+1 = s n +2 n . Donc le graphe t n+1 est <strong>de</strong> taille 2 n+2 +s n+1 −1.<br />

<strong>Pour</strong> n = 1, on a s 1 = 0, donc s n = ( ∑ n−1<br />

k=1 2k ), c’est à dire s n = 2 n − 2. Donc <strong>la</strong><br />

taille <strong>de</strong> t n , soit <strong>la</strong> formule ((y 1 ⇔ y 2n )∧(y 2 ⇔ y 2n−1 )∧... ∧(y n ⇔ y n+1 )), est égale à<br />

2 n+1 +2 n −2−1, c’est à dire 3(2 n −1). ✷<br />

Lacompositionestdoncaumoinsexponentiellesil’ordre<strong>de</strong>svariablesestfixé. Cependant,<br />

le lecteur pourra objecter que <strong>la</strong> formule ((y 1 ⇔ y 2n )∧(y 2 ⇔ y 2n−1 )∧...∧(y n ⇔ y n+1 ))<br />

utilisée dans <strong>la</strong> preuve du Théorème 2.12 possè<strong>de</strong> un graphe en O(n) avec l’ordre<br />

y 1 < y 2n < y 2 < y 2n−1 < ... < y n < y n+1 . On peut alors légitimement se poser <strong>la</strong><br />

question suivante : si l’on est capable <strong>de</strong> modifier dynamiquement l’ordre <strong>de</strong>s variables<br />

<strong>de</strong> façon à minimiser <strong>la</strong> taille <strong>de</strong>s graphes manipulés, y-a-t-il un moyen d’obtenir un algorithme<br />

<strong>de</strong> composition non exponentiel en mémoire? Quelques remarques suffisent pour<br />

répondre par <strong>la</strong> négative. Premièrement, le problème d’obtenir un “bon ordre”, c’est à<br />

dire un ordre qui minimise <strong>la</strong> taille du graphe d’une fonction, est lui-même NP–difficile.<br />

Deuxièmement, il existe <strong>de</strong>s fonctions (voir Théorème 2.20, Section 2.5) dont le graphe<br />

est exponentiel vis-à-vis du nombre <strong>de</strong> variables utilisées, quel que soit l’ordre choisi sur<br />

celles-ci. <strong>Pour</strong> cette <strong>de</strong>rnière raison, il est certain que <strong>la</strong> composition reste exponentielle,<br />

même si un oracle était capable <strong>de</strong> fournir dynamiquement un ordre optimal.

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

Saved successfully!

Ooh no, something went wrong!