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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Chapitre 5<br />

Calcul <strong>de</strong> l’image réciproque d’une<br />

fonction<br />

Etant donnés les DAGs <strong>de</strong>s fonctions ⃗ f <strong>de</strong> {0,1} m dans {0,1} n , <strong>de</strong> Cns <strong>de</strong> {0,1} m dans<br />

{0,1}, et<strong>de</strong>χ<strong>de</strong>{0,1} n dans{0,1}, nousétudionsici<strong>de</strong>salgorithmescalcu<strong>la</strong>nt<strong>la</strong>fonction<br />

Pre( ⃗ f,Cns,χ), définie <strong>de</strong> {0,1} n dans {0,1}. Après avoir présenté quelques résultats <strong>de</strong><br />

complexité, nous comparons ce problème à celui du calcul <strong>de</strong> l’image, et montrons qu’il<br />

est plus complexe. Nous proposons alors quelques techniques <strong>de</strong> calcul, en discutant leurs<br />

intérêts respectifs.<br />

5.1 Difficulté du calcul <strong>de</strong> Pre( ⃗ f,Cns,χ)<br />

La difficulté intrinsèque du problème est indiquée par le théorème suivant, qui montre que<br />

le calcul <strong>de</strong> Pre( ⃗ f,Cns,χ) est NP–difficile 1 . On obtient le Théorème 5.2 plus précis quant<br />

aux graphes <strong>de</strong> décision.<br />

Théorème 5.1 Etant données les formes canoniques <strong>de</strong> ⃗ f et <strong>de</strong> χ, <strong>la</strong> canonisation <strong>de</strong><br />

Pre( ⃗ f,1,χ) est NP–difficile.<br />

<strong>Preuve</strong>. Nous ne donnons que <strong>la</strong> preuve sur les DAGs. Soit C = ( ∧ n<br />

k=1 c k ) une<br />

3–forme normale conjonctive composée <strong>de</strong> n c<strong>la</strong>uses c k . Chaque c<strong>la</strong>use c k est une disjonction<br />

<strong>de</strong> trois littéraux, donc le calcul <strong>de</strong>s graphes <strong>de</strong> toutes les c<strong>la</strong>uses se fait en O(n).<br />

Soit χ le graphe <strong>de</strong> <strong>la</strong> fonction λ[x 1 ...x n ].( ∧ n<br />

k=1 x k ). Ce graphe est un peigne, construit<br />

en O(n). Tester si le graphe <strong>de</strong> Pre( ⃗ f,1,χ) est différent <strong>de</strong> 0 se fait en O(1). Or C est<br />

satisfiable si et seulement si Pre( ⃗ f,1,χ) ≠ 0, donc calculer Pre( ⃗ f,1,χ) est NP–difficile.<br />

✷<br />

Théorème 5.2 Etant donnés les DAGs <strong>de</strong> ⃗ f et χ, le calcul <strong>de</strong> Pre( ⃗ f,1,χ) pour un ordre<br />

<strong>de</strong>s variables fixé est non polynomial.<br />

1 On a Pre( ⃗ f,Cns,χ) = Pre( ⃗ f@[Cns],1,λ(⃗y@[y n+1 ]).(χ(⃗y) ∧ y n+1 )). Comme le graphe <strong>de</strong><br />

λ(⃗y@[y n+1 ]).(χ(⃗y)∧y n+1 ) est obtenu à partir du graphe <strong>de</strong> χ par un produit en O(|χ|), donc polynomial,<br />

le calcul <strong>de</strong> Pre( ⃗ f,Cns,χ) et Pre( ⃗ f,1,χ) sont <strong>de</strong> même c<strong>la</strong>sse <strong>de</strong> complexité.<br />

109

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

Saved successfully!

Ooh no, something went wrong!