Automates et circuits : Fonctions booléennes Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr Aix-Marseille Université
Circuits et interrupteurs Circuit électrique : 3 interrupteurs (états : ouvert ou fermé) : passage ou non du courant de M à N a Ce circuit autorise-t-il la b c traversée du courant? Comment répondre? Imaginer le circuit et voir si le courant passe ou pas Elaborer le catalogue de toutes les possibilités. Chercher dans le catalogue l état courant des interrupteurs. Pour 100 interrupteurs : 2 100 possibilités! Calculer la réponse à partir d une représentation booléenne du circuit via la description des états des interrupteurs.
Codage d un circuit Codage de l état de chaque interrupteur L état de l interrupteur i est codé par une variable booléenne valeur 1 si i est fermé (le courant passe cet interrupteur) valeur 0 si i est ouvert (le courant ne passe pas) a a = 0 et b = 0 et c = 0 b c Nom de l interrupteur = nom de la variable Etat du circuit = mot binaire abc
Catalogue de l état d un circuit État des interrupteurs a b b b b b b b b a a a a a a a c c c c c c c c Passage du courant NON NON NON OUI OUI OUI OUI OUI a b c d 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1
Encore plus simple? Remplacer la table de vérité par une formule simple Formule pour retrouver d directement en fonction du mot binaire abc Automatisation du calcul de l état du circuit Equivalence de circuits Comment trouver cette formule? Pour aller plus loin Synthèse des fonctions booléennes : la formule est connue, on cherche à construire un dispositif pour la calculer.
Plus généralement Etats des phénomènes alternatifs Codé par une variable booléenne Interrupteur ouvert / fermé Vote individuel oui / non Proposition vraie / fausse point de l écran blanc / noir Alternatives liées Liaison des variables booléennes qui les représentent : calcul booléen
Rappels Forme canonique disjonctive Les min-termes Formules B = {0, 1} algèbre de Boole 0 0 = 0 0 1 = 1 1 0 = 1 1 1 = 1 0 0 = 0 0 1 = 0 1 0 = 0 1 1 = 1 0 = 1 1 = 0 Calculs booléens et calculs classiques x y = x + y xy x y = xy x = 1 x Règles utiles de calcul xx = x x x = 0 x xy = x
Définition Forme canonique disjonctive Les min-termes Formules Fonction booléenne de n variables Application de B n dans B Fonction binaire, fonction logique Exemple Chaque mot binaire de longueur 5 produit des deux bits extrêmes : fonction booléenne de 5 variables. f (00010) = 0, f (10000) = 0, f (01110) = 0, f (11111) = 1, f (10001) = 1, etc.
Forme canonique disjonctive Les min-termes Formules Représentation d une fonction booléenne Table de vérité Lister les mots binaires de longueur n Les ranger dans l ordre lexicographique Inscrire en face de chacun, la valeur binaire renvoyée par la fonction : la dernière colonne définit la fonction = liste des valeurs de la fonction (mot binaire) Taille de la table : n + 1 colonnes et 2 n lignes a b f 0 0 0 0 1 1 1 0 0 1 1 1 0101 représente la fonction booléenne f
Forme canonique disjonctive Les min-termes Formules Ensemble des fonctions booléennes à n variables Noté B Bn car applications de B n dans B Noté B 2n car associées aux mots binaires de longueur 2 n Noté P(B n ) car identifiées aux parties de B n Noté F n pour plus de simplicité Nombre = 2 2n Nombre de variables Nombre de f. bool. 1 4 2 16 3 256 4 65 536 5 4 294 967 296
Interprétons F n comme B 2n Forme canonique disjonctive Les min-termes Formules L ensemble F n devient une algèbre de Boole 1 f g signifie que m mot binaire, f (m) g(m) 2 h = f g signifie que m, h(m) = f (m) g(m) 3 h = f g signifie que m, h(m) = f (m) g(m) 4 f g = fg autrement dit f (m) g(m) = f (m)g(m) 5 w = f signifie que m, w(m) = f (m) 6 Le plus petit élément est la fonction constante 0 7 Le plus grand élément est la fonction constante 1. : relation d ordre sur B = {0, 1} avec 0 0, 0 1 et 1 1
Exemples Forme canonique disjonctive Les min-termes Formules Algèbre de Boole à 4 éléments F 1 B 1 f 0 f 1 f 2 f 3 0 0 0 1 1 1 0 1 0 1 f 1 f 3 F 1 f 0 f 2 2 22 = 16 de 2 variables B 2 f 0 f 1 f 2 f 3 f 4 f 5 f 6 f 7 f 8 f 9 f 10 f 11 f 12 f 13 f 14 f 15 00 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 01 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 10 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 11 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 f i : fonction dont le mot associé a pour valeur i en binaire f 12 1100 2 12 10
Forme canonique disjonctive Les min-termes Formules Treillis des fonctions booléennes à 2 variables f 15 f 11 f 13 f 9 f 3 f 7 f 5 f 10 f 14 f 12 f 1 f 6 f 2 f 4 f 8 f 0
Forme canonique disjonctive Les min-termes Formules Lien entre le treillis des fonction de 2 variables et le treillis des mots binaire de longueur 4 f 15 1111 f 7 0111 f 11 1011 f 13 f 14 1101 1110 f 3 0011 f 1 1001 f 5 f 10 0101 1010 f 2 f 4 0001 0010 0100 f 9 f 6 0110 f 8 1000 f 12 1100 f 0 0000
Forme canonique disjonctive Les min-termes Formules Opérations de Boole faciles à effectuer B 3 f g f g f g f 0 0 0 0 1 1 0 1 0 0 1 0 0 0 0 1 0 1 0 1 0 1 0 0 0 1 1 1 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 1 1 1 0 1 1 0 1
Motivations Forme canonique disjonctive Les min-termes Formules Soit f une fonction booléenne dont on connaît la table de vérité Peut toujours être exprimée par une formule Moyens d obtenir la formule Retour sur l algèbre F n Plus petit élément = f 0 de formule f 0 = 0 Pour f i, elle est la somme booléenne ( ) des atomes qui la minorent Conséquence : formule de f i connue si 1 les atomes minorant f i sont identifiés 2 et la formule de chacun de ces atomes est connue
Forme canonique disjonctive Les min-termes Formules Une notion essentielle : les min-termes Atomes de B 2n = mots binaires ayant un seul bit à 1 Atomes de F n = fonctions booléennes qui ne prennent qu une seule fois la valeur 1 = min-termes. L algèbre F n possède 2 n min-termes F 2 f 15 f 1 F 1 f 3 f 11 f 13 f 7 f 14 f 3 f 9 f 5 f 10 f 12 f 6 f 0 f 2 f 1 f 2 f 4 f 8 f 0
Forme canonique disjonctive Les min-termes Formules Théorème sur F n Soit f une fonction booléenne de n variables Alors f = m 1 m 2 m k avec m 1, m 2 m k tous les min-termes inférieurs ou égaux à f. De plus, c est la seule façon, à l ordre près des termes, d écrire f comme une somme booléenne de min-termes. Remarques k = nombre de fois où f prend la valeur 1. Chaque bit à 1 dans la dernière colonne de la table de f correspond à un min-terme qui minore f : f est la somme booléenne de ces min-termes.
Forme canonique disjonctive Les min-termes Formules Exemple : une histoire de pizza Trois personnes x, y et z, votent par OUI (1) ou NON (0) à la proposition : voulez-vous une pizza Reine? L indicateur de majorité, t, vaut 1 si le OUI est majoritaire, et 0 sinon Inventaire de tous les cas possibles : x y z t 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1
Forme canonique disjonctive Les min-termes Formules Exemple : une histoire de pizza (cont d) x y z t 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 Min-termes : m 1 (011) = 1, m 2 (101) = 1, m 3 (110) = 1, m 4 (111) = 1 t = m 1 m 2 m 3 m 4 B 3 t m 1 m 2 m 3 m 4 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 1 1 0 1 0 0 1 0 1 1 1 1 0 0 0 1
Petites définitions Forme canonique disjonctive Les min-termes Formules Convention : la p-ième variable La fonction booléenne p-ième variable : (m B n ) (valeur de sa p-ième composante) Notation : x p Exemples : x 4 (001110110) = 1, x 1 (0111) = 0 Notion de littéral B 2 x 2 x 2 00 0 1 01 1 0 10 0 1 11 1 0 Une fonction de type x 1, x 2, x n ou x 1, x n s appelle un littéral. Dans F n, il y a 2n littéraux. Ci-contre : f 5 et f 10
Forme canonique disjonctive Les min-termes Formules Allure des formules des min-termes Théorème Les 2 n min-termes de F n sont tous les produits de la forme : m = x 1 x 2 x n où x i désigne indifféremment x i ou son complément x i. Preuve Soit a = a 1 a 2 a n B n. Soit m le min-terme défini par la condition m(a) = 1 { xp si a Posons M = x 1 x 2 x n (produit!) avec : x p = p = 1 x p si a p = 0 Vérifions que M = m
Forme canonique disjonctive Les min-termes Formules Allure des formules des min-termes Preuve (cont d) Posons b = b 1 b 2 b n B n et calculons M(b) : M(b) = x 1 (b) x 2 (b) x n (b) = 1 si et seulement si tous les x p (b) valent 1 car M est un produit de littéraux. a p b p x p (b) 0 0 1 0 1 0 1 0 0 1 1 1 x p = { xp si a p = 1 x p si a p = 0 Pour avoir x p (b) = 1, il faut que a p = b p Donc M(b) = 0 si b a et M(b) = 1 si b = a Donc m = M par définition de m
Forme canonique disjonctive Les min-termes Formules Méthode pour écrire un min-terme Produit de littéraux 1 Ecrire m = x 1 x 2 x n 2 Si a 1 a 2 a n est l unique mot tq m(a 1 a 2 a n ) = 1, corriger la formule précédente en prenant x p lorsque a p = 0 Exemple du vote pour la pizza Reine x y z t 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 m 1 (011) = 1, donc m 1 s écrit xyz m 2 (101) = 1, donc m 2 s écrit xȳz m 3 (110) = 1, donc m 3 s écrit xy z m 4 (111) = 1, donc m 4 s écrit xyz t = xyz xȳz xy z xyz
Forme canonique disjonctive Les min-termes Formules Méthode pour obtenir la forme canonique disjonctive A partir de la table de vérité 1 Ecrire la table de vérité de la fonction f 2 Chaque fois que f prend la valeur 1, écrire le min-terme correspondant comme produit de littéraux 3 Ecrire f comme somme booléenne de ces min-termes Exemple du vote pour la pizza Reine On avait t = xyz xȳz xy z xyz c est-à-dire t = ( x y z) (x ȳ z) (x y z) (x y z)
Forme canonique disjonctive Les min-termes Formules La forme canonique conjonctive Issue de la symétrie entre et Ecrire la FCD de f et prendre son complément en appliquant le principe de dualité. Le choix de la pizza x y z t t 0 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 0 m 1 (000) = 1, m 2 (001) = 1, m 3 (010) = 1 et m 4 (100) = 1 t = xȳ z xȳz xy z xȳ z t = xȳ z xȳz xy z xȳ z t = (x y z) (x y z) (x ȳ z) ( x y z)
Formule or not formule? Forme canonique disjonctive Les min-termes Formules Ce que l on vient de voir Une fonction booléenne peut toujours être représentée par une formule canonique. En existe-t-il d autres? Qu est-ce qu une formule? Résultat d un calcul où l on combine les littéraux au moyen des opérations, et = Construction d une formule Plus exactement : soit X des symboles x 1 x n R1 Les bits 0 et 1 sont des formules R2 Si x X, alors x est une formule R3 Si u et v sont des formules, alors u v, u v sont des formules R4 Si u est une formule, alors ū en est une
Forme canonique disjonctive Les min-termes Formules Formule or not formule? (cont d) Une formule est... Un enchaînement de symboles est une formule quand sa construction résulte uniquement de l emploi successif des règles R1 à R4. ((x 1 )) (x 2 )) ((x 3 ) (x 4 ))) formule intermédiaire règle x 1, x 2, x 3, x 4 R2 (x 1 ) R4 ((x 1 ) (x 2 )) et ((x 3 ) (x 4 )) R3 ((x 1 ) (x 2 )) ((x 3 ) (x 4 )) R3 (((x 1 ) (x 2 )) ((x 3 ) (x 4 ))) R4
Forme canonique disjonctive Les min-termes Formules Formule or not formule? (cont d) Une formule est... Un enchaînement de symboles est une formule quand sa construction résulte uniquement de l emploi successif des règles R1 à R4. ((x 1 )) (x 2 )) ((x 3 ) (x 4 ))) ( x 1 x 2 x 3 x 4 ) formule intermédiaire règle x 1, x 2, x 3, x 4 R2 (x 1 ) R4 (x 1 )) (x 2 )) et ((x 3 ) (x 4 )) R3 (x 1 )) (x 2 )) ((x 3 ) (x 4 )) R3 ((x 1 )) (x 2 )) ((x 3 ) (x 4 ))) R4
Forme canonique disjonctive Les min-termes Formules Ne pas confondre formule et fonction Association Formule φ construite sur n symboles fonction booléenne de n variables formule φ définit (ou représente) fonction f Calculer f revient à appliquer la formule où chaque x p est remplacé par le bit a p Exemple La formule x 1 x 2 x 3 définit une fonction dans F 3 qui associe au mot binaire a 1 a 2 a 3 le bit a 1 a 2 a 3.
Plus généralement Forme canonique disjonctive Les min-termes Formules Une même formule pour plusieurs algèbres de Boole Une formule définit une fonction f en indiquant une suite de calculs. Elle définit donc aussi une fonction de n variables dans toute algèbre de Boole Puisque F n est une algèbre de Boole Les règles de calcul (1) à (21) du chapitre précédent s appliquent La formule de définition d une fonction peut changer On peut montrer l égalité de fonctions en réécrivant leurs formules, etc.
Forme canonique disjonctive Les min-termes Formules Série de transformations (extrait) D une formule à une autre sans changer la fonction T1 u v v u T2 (u v) w u v w T3 u(v w) uv uw T4 (uv) ū v T5 (ū) u T6 u u u T7 u ū 1 T8 uu u T9 uū 0 T10 u uv u
Théorème Forme canonique disjonctive Les min-termes Formules 1 En appliquant de façon répétitive les règles de transformation T1 à T5, il est toujours possible de passer d une formule qcq à une formule qui est une somme booléenne de produits de littéraux définissant la même fonction. 2 En appliquant ensuite, de façon répétitive, les règles de transformation T1 à T10, il est possible d arranger la formule précédemment obtenue pour qu on ne trouve pas dans la somme deux termes multiples l un de l autre. 3 Ces transformations permettent toujours de passer à la forme canonique disjonctive d une fonction.
Formules polynomiales La méthode des consensus Limites de la forme canonique disjonctive La forme canonique peut encore être simplifiée f (x 1, x 2, x 3 ) = (x 1 x 2 x 3 ) (x 1 x 2 x 3 ) (x 1 x 2 x 3 ) (x 1 x 2 x 3 ) devient f (x 1, x 2, x 3 ) = x 1 Conséquence directe au niveau des dispositifs électriques Une formule représente une fonction, et le dispositif traduit la formule Plus un dispositif est simple, mieux il marche et moins il coûte Le moins de littéraux et le moins d opérations possibles Formes polynomiales
Formules polynomiales La méthode des consensus Premiers pas Fonctions simples ou non? représentables par formules les plus simples = littéraux (a, x, ȳ, etc.) Puis, monômes = fonctions représentables par produits de littéraux (ab, xȳ, min-termes, etc.) Attention aux fonctions nulles (x x)! Théorème à propos de la fonction nulle Pour qu un produit de littéraux donne la fonction nulle, il faut et il suffit qu on y trouve à la fois un littéral et son complémentaire. Autre résultat Puisque x n = x si x B, la répétition d un même littéral dans un produit est inutile
Formules polynomiales La méthode des consensus Une série de résultats essentiels Théorème (preuve par l absurde) Modulo l ordre des facteurs, il existe une et une seule façon de définir un monôme par un produit de littéraux d exposant 1. x z xx z x z z zx Conséquence Les littéraux multipliés ensembles pour faire un monôme s appellent les facteurs premiers du monôme. Constante 1 = monôme sans facteur premier
Formules polynomiales La méthode des consensus Une série de résultats essentiels (cont d) Théorème Parmi les fonctions booléennes de n variables, il y a 3 n monômes (3 choix par variable : elle-même, son complémentaire, ou son absence). Exemple Avec les 3 variables a, b, c, il y a 27 monômes : 1 c c b bc b c b bc b c a ac a c ab abc ab c a b a bc a b c ā āc ā c āb ābc āb c ā b ā bc ā b c
Formules polynomiales La méthode des consensus Une série de résultats essentiels (cont d) Définitions Un monôme m divise le monôme M si tout facteur premier de m est aussi un facteur premier de M (m est un diviseur de M, M est un multiple de m) Exemple : x 1 x 3 divise x 1 x 2 x 3 Théorème m divise M M m dans F n (m 1 quand M le fait). Idée de preuve : Quand M prend la valeur 1 pour ω, tous ses f.p. sont à 1. Donc si m divise M alors m prend la valeur 1 aussi.
Formules polynomiales La méthode des consensus Formule polynomiale Définition On appelle formule polynomiale (développée) d une fonction booléenne f toute formule permettant d exprimer f comme somme booléenne de monômes : f = m 1 m 2 m p Cette forme est aussi connue sous le nom de forme normale disjonctive Remarques Quand m divise M, on a M m donc M m = m Une forme polynomiale est dite réduite s il n existe pas i et j, i j, tels que m i divise m j Pour obtenir la forme réduite d une formule, on supprime tout monôme pour lequel il existe un diviseur dans la formule. La FCD est sous forme polynomiale réduite
Exemples Formules polynomiales La méthode des consensus g =ab cdē f ab c a bc ābc ac ab c divise ab cdē f On peut donc simplifier en g = ab c a bc ābc ac ac divise a bc On peut donc simplifier en g = ab c ābc ac La formule ne peut plus être simplifiée. (aucun monôme n en divise un autre) C est donc une forme polynomiale réduite.
Formules polynomiales La méthode des consensus Simplicité de formule Définition Soient f = m 1 m 2 m p et f = M 1 M 2 M q FPR d une même fonction booléenne f. La première est plus simple que la seconde si : 1 p q 2 Chaque m i divise au moins un M j Théorème Pour une fonction booléenne donnée, la relation est-plus-simple-que est une relation d ordre sur l ensemble de ses formules polynomiales réduites.
Exemple de simplicité Formules polynomiales La méthode des consensus f = abc a b c ab c āb c (p 1 ) f = abc a b c ab c āb c (p 5 ) f = abc a c b c (p 2 ) f = abc a c āb c (p 6 ) f = ab a c āb c (p 3 ) f = abc a b c b c (p 7 ) f = ab a b c b c (p 4 ) f = ab a b c āb c (p 8 ) f = ab a c b c p 2 p 1 Relation est-plus-simple-que noté S p 5 p 3 p 6 p 4 p 2 Sp 1 car a b c ab c = a c p 5 Sp 2 car b c divise āb c p 8 p 7
Forme réduite minimale Formules polynomiales La méthode des consensus Définition Une formule polynomiale réduite est minimale, si c est un élément minimal dans l ensemble des formes polynomiales réduites ordonnées par est-plus-simple-que. Remarques Il s agit des formules les plus simples possibles Il existe des méthodes pour trouver ces fonctions minimales.
Formules polynomiales La méthode des consensus Formes CD et PM de F 2 Forme canonique disjonctive Formule polynomiale minimale f 0 = 0 f 0 = 0 f 1 = xy f 1 = xy f 2 = xȳ f 2 = xȳ f 3 = xȳ xy f 3 = x f 4 = xy f 4 = xy f 5 = xy xy f 5 = y f 6 = xy xȳ f 6 = xy xȳ f 7 = xy xȳ xy f 7 = x y f 8 = xȳ f 8 = xȳ f 9 = xȳ xy f 9 = xȳ xy f 10 = xȳ xȳ f 10 = ȳ f 11 = xȳ xȳ xy f 11 = x ȳ f 12 = xȳ xy f 12 = x f 13 = xȳ xy xy f 13 = x y f 14 = xȳ xy xȳ f 14 = x ȳ f 15 = xȳ xy xȳ xy f 15 = 1
Méthode des consensus Formules polynomiales La méthode des consensus Avantages Méthode systématique, valable pour tout nombre de variables Théorème (rappel : f m = f m f ) Si f = m 1 m 2 m p est une formule polynomiale de f : i, m i f. Réciproquement, quand m f, il existe une formule polynomiale f = m 1 m p dans laquelle m est l un des m i.
Les implicants Formules polynomiales La méthode des consensus Définition d un implicant Tout monôme m inférieur ou égal à une fonction booléenne f est un implicant de f (m f ). Les implicants premiers Un monôme m est un implicant premier de f s il n existe pas d autre implicant M de f tel que m M f. Ce sont les éléments maximaux de l ensemble des implicants
Formules polynomiales La méthode des consensus Exemple d implicants (premiers) f 3 f 7 f 1 f 15 f 11 f 13 f 9 f 5 f 10 f 6 f 2 f 4 f 0 f 14 f 8 f 12 f 11 = x ȳ monômes f 1 = xy f 2 = xȳ f 3 = x f 4 = xy f 5 = y f 8 = xȳ f 10 = ȳ f 12 = x f 15 = 1
Formules polynomiales La méthode des consensus Exemple d implicants (premiers) f 3 f 7 f 1 f 15 f 11 f 13 f 9 f 5 f 10 f 6 f 14 f 8 f 12 f 11 = x ȳ implicants f 1 = xy f 2 = xȳ f 3 = x f 8 = xȳ f 10 = ȳ f 2 f 4 f 0
Formules polynomiales La méthode des consensus Exemple d implicants (premiers) f 3 f 7 f 15 f 11 f 13 f 9 f 5 f 10 f 14 f 12 f 11 = x ȳ implicants premiers f 3 = x f 10 = ȳ f 6 f 1 f 8 f 2 f 4 f 0
Formules polynomiales La méthode des consensus Résultat essentiel Théorème La somme booléenne de tous les implicants premiers de f est une formule polynomiale réduite de f. Eléments de preuve Soit une formule polynomiale f = m 1 m p de f. Implicants premiers = maximaux des impliquants, alors m 1 M, M implicant premier, donc : f =M f =M (m 1 m p ) = (M m 1 ) m 2 m p =M m 2 m p Dans une FP, on peut toujours remplacer un monôme par un implicant premier qui le majore.
Sur l exemple Formules polynomiales La méthode des consensus f 11 = f 1 f 2 f 8 (min-termes) Remplacer f 1 par f 3, et f 2 par f 8 ou f 10 et f 8 par f 10 : f 11 = f 3 f 10 f 15 f 11 f 13 f 7 f 14 f 3 f 9 f 5 f 10 f 12 f 6 f 1 f 2 f 4 f 8 f 0
Formules polynomiales La méthode des consensus Principe de la méthode des consensus Les étapes 1 Départ : formule polynomiale qcq (ex. FCD) 2 Remplacement de chaque monôme par un implicant premier qui le majore 3 Elimination de ceux qui apparaissent plusieurs fois 4 Remplacement éventuel (et répété) de f par f M où M est un implicant premier n apparaissant pas (encore) dans la formule. On obtient une forme réduite. Théorème Chaque monôme d une formule polynomiale minimale est un implicant premier.
La méthode des consensus Formules polynomiales La méthode des consensus On a vu... Les formules polynomiales minimales sont à chercher parmi les sommes booléennes d implicants premiers. Les deux étapes de la méthode 1 Rechercher tous les implicants premiers de f 2 Parmi les ensembles d implicants premiers dont f est la somme booléenne, rechercher celui ou ceux dont le cardinal est le plus petit.
Monôme consensus Formules polynomiales La méthode des consensus Définition Soit une variable booléenne x Soient deux monômes xm 1 et xm 2 (m 1 et m 2 sans facteur x ni x) m 1 m 2 est le consensus de xm 1 et de xm 2 Si m 1 = ym 1 et m 2 = ȳm 2 alors le consensus de xm 1 et xm 2 est nul. Conséquences : soient deux monômes qcq Ou le consensus est impossible à faire Ou leur consensus est nul Ou leur consensus n est pas nul
Formules polynomiales La méthode des consensus Monôme consensus (cont d) Exemples ad et b c n ont pas de consensus a b c et bc d ont un consensus nul a bc et bd ont pour consensus acd
Formules polynomiales La méthode des consensus Monôme consensus (cont d) Théorème Le consensus de deux monômes est inférieur ou égal à leur somme booléenne. Puisque x x = 1 nous avons m 1 m 2 = m 1 m 2 (x x) = m 1 m 2 x m 1 m 2 x ; et puisque m 1 m 2 x m 1 x et m 1 m 2 x m 2 x, on a finalement m 1 m 2 m 1 x m 2 x. Conséquence Le consensus de deux implicants est un implicant (monôme inférieur à la fonction).
Formules polynomiales La méthode des consensus Comment trouver les implicants premiers 1 Déterminer une formule polynomiale réduite qcq de f et écrire la liste de ses monômes : ensemble L d implicants. 2 En prenant tour à tour chacune des variables a : 1 Partage de L en trois parties : 1 A : les monômes où a est en facteur 2 B : les monômes où ā est en facteur 3 C : les autres monômes 2 Si A ou B vide, on passe à la variable suivante. Sinon, calcul des consensus obtenus en prenant un monôme de A, un de B : ajoût dans L 3 A chaque ajoût d un consensus dans L, tentative de réduction de L en éliminant monômes divisibles par d autres de la liste. 3 L est la liste des implicants premiers de f
Formules polynomiales La méthode des consensus Exemple : f = ac d ā de bce dē bcde Variable a : ac d ā de bce dē bcde c de Variable b : bcde bce ac d ā de dē c de cde bcde cde bce ac d ā de dē c de Variable c : cde bce ac d c de ā de dē Variable d : cde ac d c de ā de dē bce ace cde c de ac d ā de dē bce ace ce Variable e : cde ce c de ac d ā de dē bce ace ce dē ā de ac d c d ā de dē ce c d ā d ā de ā d dē ce c d L = {ā d, dē, ce, c d}
Formules polynomiales La méthode des consensus Plusieurs sommes booléennes possibles Un problème de couverture Choisir le moins possible d implicants premiers pour que chaque min-terme de la fonction soit majoré par au moins un des implicants choisis. Exemple : implicants premiers et min-termes C 1 = ācd C 2 = ābd C 3 = b cd C 4 = ab c m 1 = ā bcd m 2 = ābcd m 3 = āb cd m 4 = ab cd m 5 = ab c d
Formules polynomiales La méthode des consensus Sur l exemple Le problème de couverture Tableau qui montre la couverture des min-termes par les implicants premiers C 1 = ācd C 2 = ābd C 3 = b cd C 4 = ab c m 1 = ā bcd m 2 = ābcd m 3 = āb cd m 4 = ab cd m 5 = ab c d m 1 m 2 m 3 m 4 m 5 C 1 C 2 C 3 C 4 Valeur 0 aux variables indéterminées (moins possible d IP) f = C 1 C 2 C 4 = ācd ābd ab c f = C 1 C 3 C 4 = ācd b cd ab c
Formules polynomiales La méthode des consensus Sur l exemple précédent abcde abcdē abc de abc dē ab cde ab cdē ab c de ab c dē a bcde a bcdē a bc de a bc dē a b cde a b cdē a b c de a b c dē ābcde ābcdē ābc de ābc dē āb cde āb cdē āb c de āb c dē ā bcde ā bcdē ā bc de ā bc dē ā b cde ā b cdē ā b c de ā b c dē f ā d dē ce c d couverture minimale pour f f = ā d dē ce