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
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.