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.5. LE PROBLÈME DE L’ORDRE 59<br />

Figure 15. Graphe <strong>de</strong>s fonctions symétriques.<br />

a montré que ce graphe est en O(2 n ) pour l’ordre y 1 < y 2 < y 3 < ... < y 2n . On peut<br />

alors se <strong>de</strong>man<strong>de</strong>r s’il existe un algorithme simple pour trouver un ordre qui minimise <strong>la</strong><br />

taille du graphe, puis s’il est toujours possible <strong>de</strong> trouver un graphe <strong>de</strong> taille polynomiale<br />

pour chaque fonction. Les <strong>de</strong>ux théorèmes suivants, issus <strong>de</strong> [28, 12, 13], répon<strong>de</strong>nt par <strong>la</strong><br />

négative 6 .<br />

Théorème 2.19 Etant donnée une fonction booléenne f, le problème <strong>de</strong> trouver un ordre<br />

<strong>de</strong>s variables qui minimise <strong>la</strong> taille du graphe <strong>de</strong> f est NP–difficile.<br />

Théorème 2.20 Il existe <strong>de</strong>s fonctions booléennes pour lesquelles il n’existe pas d’ordre<br />

permettant d’obtenir un graphe <strong>de</strong> taille polynomiale.<br />

Il existe un algorithme <strong>de</strong> complexité O(n 2 3 n ) permettant <strong>de</strong> déterminer un ordre <strong>de</strong>s n<br />

variables qui minimise le graphe <strong>de</strong> décision d’une fonction [63]. Cependant, son coût<br />

prohibitif lui fait préférer l’utilisation <strong>de</strong>s nombreuses heuristiques [64, 96, 12, 13] proposées<br />

dans le cadre <strong>de</strong> <strong>la</strong> vérification <strong>de</strong> circuits combinatoires, toutes basées sur l’analyse<br />

topologiqueducircuit. Cependant, aucune<strong>de</strong>cesheuristiquesn’estsupérieureauxautres:<br />

là où une heuristique donne un bon ordre pour une fonction pour <strong>la</strong>quelle échouent les<br />

autres heuristiques, il existe réciproquement une fonction sur <strong>la</strong>quelle <strong>la</strong> première heuristiquevadonnerunmauvaisordrealorsquelesautressaurontcalculerunordreraisonnable.<br />

Afin <strong>de</strong> combiner les avantages <strong>de</strong> chacune <strong>de</strong> ces heuristiques, il a été proposé [108] <strong>de</strong><br />

choisirunmeilleurordreparmiceuxcalculés. Cettetechnique<strong>de</strong>choixestbaséesur<strong>la</strong>construction<br />

partielle <strong>de</strong>s graphes, en bornant par une constante le nombre <strong>de</strong> noeuds autorisé<br />

pour chaque graphe, et en construisant le graphe en <strong>la</strong>rgeur d’abord afin <strong>de</strong> conserver le<br />

6 Le Théorème 2.20 vient <strong>de</strong> [28], où il est montré qu’il existe une fonction, réalisée à partir d’un<br />

multiplicateur n bits, dont le BDD est <strong>de</strong> taille au moins en O(1.09 n ), quel que soit l’ordonnancement <strong>de</strong>s<br />

variables.

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

Saved successfully!

Ooh no, something went wrong!