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.

88 CHAPITRE 4. CALCUL DE L’IMAGE D’UNE FONCTION<br />

Or le DAG <strong>de</strong> cette re<strong>la</strong>tion ne peut pas toujours être construit. Ceci vient du fait<br />

que les variables y j n’ont pas d’occurrence libre dans les formules f k (⃗x) (1 ≤ j ≤ n et<br />

1 ≤ k ≤ n), et donc que <strong>la</strong> construction du produit ( ∧ n<br />

k=1 (y k ⇔ f k (⃗x))) requiert le calcul<br />

<strong>de</strong> <strong>la</strong> plupart <strong>de</strong>s 2 n sous-produits ( ∧ n<br />

k=1 ε k (f k )). Le graphe G représentant le produit<br />

( ∧ n<br />

k=1 (y k ⇔ f k (⃗x))) va croître <strong>de</strong> façon explosive, alors que <strong>la</strong> fonction Img( ⃗ f,1) obtenue<br />

après <strong>la</strong> ∃–élimination <strong>de</strong>s variables x 1 ,...,x m peut être <strong>de</strong> taille réduite.<br />

Cette différence extrème <strong>de</strong> taille entre le graphe <strong>de</strong> ( ∧ n<br />

k=1 (y k ⇔ f k (⃗x))) et celui <strong>de</strong><br />

Img( ⃗ f,1) est traduite par <strong>la</strong> Figure 22. Par exemple, si les variables y 1 ,...,y n sont<br />

inférieures aux variables x 1 ,...,x m , on risque d’obtenir un graphe G dont les 2 n premiers<br />

noeuds seront tous expansés. On distingue dans ce graphe 3 types <strong>de</strong> chemins :<br />

le chemin <strong>de</strong> type (a) atteint une feuille 1 sans rencontrer <strong>de</strong> variable x k ; le chemin <strong>de</strong><br />

type (b) atteint une feuille 0 sans rencontrer <strong>de</strong> variable x k ; le chemin <strong>de</strong> type (c) rencontre<br />

au moins une variable x k . Le graphe <strong>de</strong> (∃⃗x G) montre que les sous graphes <strong>de</strong><br />

<strong>la</strong> partie à éliminer, correspondant aux chemins <strong>de</strong> type (c), contiennent beaucoup trop<br />

d’information : ils rassemblent toutes les interprétations <strong>de</strong> ⃗x telles que ( ∧ n<br />

k=1 y k ⇔ f k (⃗x))<br />

soit vrai pour un certain ⃗y fixé, alors qu’on a juste besoin <strong>de</strong> savoir si ( ∧ n<br />

k=1 y k ⇔ f k (⃗x))<br />

est satisfiable pour cet ⃗y. Alors que l’information <strong>de</strong> satisfiabilité sur une forme canonique<br />

est <strong>de</strong> taille O(1), il est d’abord <strong>de</strong>mandé <strong>de</strong> calculer un graphe <strong>de</strong> re<strong>la</strong>tion sur ⃗x, qui<br />

est potentiellement une information <strong>de</strong> taille O(2 m /m) ! L’expérience montre [43] que<br />

pour n > 30, cette métho<strong>de</strong> ne peut être appliquée à <strong>de</strong>s machines non triviales, ou à <strong>de</strong>s<br />

machines dont <strong>la</strong> fonction <strong>de</strong> transition possè<strong>de</strong> un graphe insuffisamment régulier [29].<br />

Figure 22. Graphes <strong>de</strong> G et <strong>de</strong> (∃⃗x G).<br />

Dans [120], H. Touati et al. proposent une technique permettant <strong>de</strong> réduire le coût<br />

du calcul <strong>de</strong> l’image basé sur l’équation 4.1. L’idée est d’ordonner les variables <strong>de</strong> ⃗x et ⃗y,<br />

ainsi que les calculs <strong>de</strong>s termes (y k ⇔ f k (⃗x)), <strong>de</strong> façon à éliminer les variables quantifiées<br />

aussi tôt que possible, et à gar<strong>de</strong>r un produit intermédiaire <strong>de</strong> taille raisonnable. Cette<br />

heuristique est efficace sur beaucoup d’exemples, mais si les composantes du vecteur ⃗ f ont<br />

<strong>de</strong>s supports très semb<strong>la</strong>bles, alors l’ordonnancement obtenu ne permet pas une réduction<br />

significative du coût du calcul.

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

Saved successfully!

Ooh no, something went wrong!