Automates et circuits : Fonctions booléennes

Documents pareils
2.4 Représentation graphique, tableau de Karnaugh

Algèbre binaire et Circuits logiques ( )

IFT1215 Introduction aux systèmes informatiques

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Cours Premier semestre

Introduction à l étude des Corps Finis

Système binaire. Algèbre booléenne

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

1S Modèles de rédaction Enoncés

Conversion d un entier. Méthode par soustraction

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x =

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

3 ème 2 DÉVELOPPEMENT FACTORISATIONS ET IDENTITÉS REMARQUABLES 1/5 1 - Développements

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Enoncé et corrigé du brevet des collèges dans les académies d Aix- Marseille, Montpellier, Nice Corse et Toulouse en Énoncé.

Polynômes à plusieurs variables. Résultant

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Fonctions de plusieurs variables

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

315 et 495 sont dans la table de 5. 5 est un diviseur commun. Leur PGCD n est pas 1. Il ne sont pas premiers entre eux

LOGO. Module «Big Data» Extraction de Connaissances à partir de Données. Claudia MARINICA MCF, ETIS UCP/ENSEA/CNRS

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

CHAPITRE 10. Jacobien, changement de coordonnées.

Relation d ordre. Manipulation des relations d ordre. Lycée Pierre de Fermat 2012/2013 Feuille d exercices

Items étudiés dans le CHAPITRE N5. 7 et 9 p 129 D14 Déterminer par le calcul l'antécédent d'un nombre par une fonction linéaire

Limites finies en un point

CHAPITRE VIII : Les circuits avec résistances ohmiques

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours.

Le théorème de Thalès et sa réciproque

Exercices - Polynômes : corrigé. Opérations sur les polynômes

PROBLEME(12) Première partie : Peinture des murs et du plafond.

Activités numériques [13 Points]

Les droites (d 1 ) et (d 2 ) sont sécantes en A Le point A est le point d intersection des 2 droites

CORRIGE LES NOMBRES DECIMAUX RELATIFS. «Réfléchir avant d agir!»

Extrait du poly de Stage de Grésillon 1, août 2010

Probabilités sur un univers fini

Planche n o 22. Fonctions de plusieurs variables. Corrigé

Une forme générale de la conjecture abc

Programmation linéaire

Pour l épreuve d algèbre, les calculatrices sont interdites.

DOCM Solutions officielles = n 2 10.

Chapitre 6. Fonction réelle d une variable réelle

Eteindre. les. lumières MATH EN JEAN Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

Quelques contrôle de Première S

Objets Combinatoires élementaires

ASR1 TD7 : Un microprocesseur RISC 16 bits

I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

avec des nombres entiers

Chapitre 2. Matrices

LE PRODUIT SCALAIRE ( En première S )

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

Informatique Générale

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

Première partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015

Chapitre 3. Les distributions à deux variables

Représentation d un entier en base b

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Théorie et codage de l information

Représentation géométrique d un nombre complexe

Baccalauréat L spécialité, Métropole et Réunion, 19 juin 2009 Corrigé.

1 Introduction au codage

L ALGORITHMIQUE. Algorithme

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS =

Cours 02 : Problème général de la programmation linéaire

RESUME DE COURS ET CAHIER D'EXERCICES

TS 35 Numériser. Activité introductive - Exercice et démarche expérimentale en fin d activité Notions et contenus du programme de Terminale S

Soit la fonction affine qui, pour représentant le nombre de mois écoulés, renvoie la somme économisée.

Cours d Informatique

Intégration et probabilités TD1 Espaces mesurés Corrigé

Les portes logiques. Voici les symboles des trois fonctions de base. Portes AND. Portes OR. Porte NOT

Formes quadratiques. 1 Formes quadratiques et formes polaires associées. Imen BHOURI. 1.1 Définitions

Chapitre 14. La diagonale du carré

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours

Correction : E = Soit E = -1,6. F = 12 Soit F = y = 11. et G = -2z + 4y G = 2 6 = 3 G = G =

MEMOIRES MAGNETIQUES A DISQUES RIGIDES

CHAPITRE 2 SYSTEMES D INEQUATIONS A DEUX INCONNUES

CONJUGUÉ D'UN POINT PAR RAPPORT À UN TRIANGLE

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable

MPI Activité.10 : Logique binaire Portes logiques

Introduction à la théorie des graphes. Solutions des exercices

Séquence 2. Repérage dans le plan Équations de droites. Sommaire

STAGE IREM 0- Premiers pas en Python

COMPTE-RENDU «MATHS EN JEANS» LYCEE OZENNE Groupe 1 : Comment faire une carte juste de la Terre?

Codage d information. Codage d information : -Définition-

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

Priorités de calcul :

LE PROCESSUS ( la machine) la fonction f. ( On lit : «fonction f qui à x associe f (x)» )

Etude d Algorithmes Parallèles de Data Mining

5 ème Chapitre 4 Triangles

Licence Sciences et Technologies Examen janvier 2010

Exercices - Nombres complexes : corrigé. Formes algébriques et trigonométriques, module et argument

Architecture des ordinateurs Introduction à l informatique

1.1 Codage de source et test d hypothèse

Vecteurs. I Translation. 1. Définition :

Rappels et compléments, première partie : Nombres complexes et applications à la géométrie

2 Comment fonctionne un ordinateur, dans les grandes lignes

Structures algébriques

Séquence 10. Géométrie dans l espace. Sommaire

Transcription:

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