1 / 36

Plan

George BOOLE Né le 2 novembre 1815 à Lincoln, Lincolnshire, Angleterre Décédé le 8 décembre 1864 à Ballintemple, County York, Irlande. Plan. Variable Binaire Fonctions Booléennes Représentation Fonctions «vides» Systèmes combinatoires Exercice «Shannon» Arbres de décision binaires

penny
Download Presentation

Plan

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. George BOOLE Né le 2 novembre 1815 à Lincoln, Lincolnshire, AngleterreDécédé le 8 décembre 1864 à Ballintemple, County York, Irlande Plan • Variable Binaire • Fonctions Booléennes • Représentation • Fonctions «vides» • Systèmes combinatoires • Exercice «Shannon» • Arbres de décision binaires • Minimalisation BOOLE Mathématicien Anglais (1864)

  2. x1 f[x0,x1,....,xn-1] xn-2 xn-1 Propriétés • Variable Binaire • xi prend ses valeurs ou états dans [0,1] • Fonction Booléenne • En sortie 0 ou 1 • En Entrée n Variables binaires [x0,x1,....,xn-1] x0 f prend ses valeurs dans [0,1] Combinatoitre

  3. Propriétés • Fonctions de n variables • Dénombrement : • C’est une application de l’ensemble des variables binaires dans [0,1] • n Variables binaires : • 2n Combinaisons d’entrées possibles [x0..xn-1] • 2 états possibles en sortie [0,1] • => 2 Fonctions possibles de n variables • Exemple : n = 1 2n x F0 F1 F2 F3 0 0 1 0 1 1 0 1 1 0

  4. Propriétés • n = 2 => 16 Fonctions possibles • n = 3 => 256 Fonctions possibles • n = 4 => 65536 Fonctions possibles Les Fonctions de deux variables x y f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 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 Les Fonctions Fondamentales de l’ algèbre de Boole : ET OU NON(Complémentation) x.y x+y /x

  5. Propriétés • POSTULATS • 1)Identité: • X+0=X X*1=X • 2)Complément: • X+/X=1 X*/X=0 • 3)Commutativité: • X+Y = Y+X X*Y=Y*X • 4)Distributivité: • X+(Y*Z)=(X+Y)*(X+Z) X*(Y+Z)=(X*Y)+(X*Z)

  6. Propriétés • X*0 = 0 • Théorèmes • 1) //X = X (Involution) • 2) X+X = X (idempotence) X*X=X • 3) X+1 = 1 (Absorbant/neutre) X*0=0 • 4) X+(Y+Z)=(X+Y)+Z X*(Y*Z)=(X*Y)*Z • 5) /(X+Y) = /X*/Y (De Morgan) /(X*Y)= /X+/Y • 6) X+(X*Y)=X X*(X+Y)=X • 7) (X*Y) +(X*/Y)=X (X+Y)*(X+/Y)=X • 8) X+(/X*Y)=X+Y X*(/X+Y)=X*Y • 9) (X*Y)+(/X*Z)+(Y*Z)= (X*Y)+(/X*Z) • (X+Y)*(/X+Z)*(Y+Z)= (X+Y)*(/X+Z) X*0 = X* 0 + 0 (1a) X* 0 + 0 = X* 0 + X*/X (2b) X* 0 + X*/X = X* (0 + /X) (4b) X* (0 + /X) = X*/X = 0 (2b) /(X+Y) = /X*/Y (Morgan) X+(/X*Y)=X+Y (X + /X ) * ( X + Y) (distributivité) 1 * ( X + Y) = X + Y

  7. Méthodes de démonstration • Preuve ( On fait la preuve en appliquant tout le combinatoire sur les entrées) • Déduction ( Utilisation de l’algèbre : Postulats, théorèmes ..) • Induction

  8. Propriétés Principe de Dualité Chaque expression Logique a une expression «duale» qui est aussi vrai Elle est obtenue en remplaçant FAUX => VRAI VRAI => FAUX ET => OU OU => ET exemple : X+1 = 1 X*0 = 0

  9. Propriétés /F(X) = D[F(/X)] Quelque soit la fonction combinatoire F(X)de n variables X={xn-1,xn-2,…,x0}, on a les relations suivantes : D{D[F(X)]} = F(X) (1) /F(X) = D[F(/X)] (2) D[/F(X)] = F(/X) (3) D[F(X)] = /F(/X) (4) NB :  0n note D[F(X)] le DUAL de F(X)

  10. Fonction Booléennes particulières Fonctions Impaires(Auto Duales)D[F(X)] = F(X) Fonctions PairesF(X) = F(/X) Fonctions SymétriquesToute permutation des variables ne change pas F(X) (voir document « Exercices d’approfondissements »)

  11. Propriétés • Ensemble d'Opérateurs Complets • L’ensemble [ET,OU,NON] est complet • Démontrer que l’ensemble [ET,NON] est complet • [OU,NON ] est complet • Opérateurs NAND et NOR NON ET : /( X*Y) Complémentation : /(X*X ) = /X OU : /(/X*/Y ) = X + Y ( De Morgan)

  12. =1 Fonctions OU Exclusif x x  y = /x*y +x*/y y Commutativité Associativité Neutre : x  0 = x ; pas d’absorbant Cas Particuliers x 0 = x x x = 0 x 1 = /x x  /x = 1 x  /y = /(x y) /x  /y = x y Généralisation x0 x1.. xn = 1 si un nombre impair de variables est à l’état 1 x y  /z = /(x y z) x  /y  /z = x y z x  /y = /(x y) /x  /y = x y

  13. P-MOS 0 Z = 1 Z = 0 N-MOS 1 X=0 X=1 X 1 Réalisations Technologiques Z = /X 0 Inverseur Commutateurs basiques (Transistors)

  14. 1 =1 si (X1 ou X2 = 0) Z = X1.X2 X1 =0 si ( X1 et X2 = 1) X2 0 Porte NAND Réalisations Technologiques

  15. 1 Réalisations Technologique =1 si (X1 et X2 = 0) Z = X1+X2 X1 X2 =0 si ( X1 ou X2 = 1) 0 Porte NOR

  16. Représentation des fonctions Booléennes Différents modes de représentation • Tabulaire • Algébrique • Graphique • Langage de description

  17. Représentation des fonctions BooléennesGraphique • Table de vérité • Description de tous les états en entrée • Affectation de la valeur de sortie • Exemple d’une fonction de 3 variables : X2 X1 X0 F 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1

  18. x 0 1 y 0 f(0,0) f(1,0) f(0,1) f(1,1) 1 Représentation des fonctions BooléennesGraphique • Tableau de Karnaugh • Représentation Matricielle • Utilisation du code Binaire Réfléchi

  19. Représentation des fonctions BooléennesAlgébrique • Littérale • Utilisation des opérateurs fondamentaux de l'algèbre de Boole • F = x0*x2 +/x1 • Utilisations avec d’autres opérateurs (XOR,NAND,..) • Formes Canoniques: • Sommes de Produits (Combinaisons des variables pour lesquelles la fonction vaut 1) • F1 = x2*x1*x0 + /x2*x1*/x0 • Produits de Sommes (Combinaisons des variables pour lesquelles la fonction vaut 0) • F0 = (x2+x1+/x0)*(x2+/x1+/x0)*(/x2+/x1+/x0)

  20. Représentation des fonctions BooléennesAlgébrique • MINTERMES • X2*X1*X0 = m7 • ..... • /X2*/X1*/X0 = m0 • Exemple : F = m0 + m4 + m5 + m7 • MAXTERMES • X2+X1+X0 = M0 • ..... • /X2+/X1+/X0 = M7 • Exemple F = M1*M3*M6

  21. Représentation des fonctions BooléennesAlgébrique • Conversion entre Formes Canoniques : • Soit la fonction F de 3 variables F(x2,x1,x0)= m7+m6+m0 La fonction « vaut » 0 partout où elle ne vaut pas 1 Donc on peut écrire également : F(x2,x1,x0)= M5*M4*M3*M2*M1

  22. F= 0 SI (X2 = 0 OU X1=0 OU X0=1) ET (X2 = 0 OU X1=1 OU X0=0) ET (X2 = 1 OU X1=0 OU X0=1) ET (X2 = 1 OU X1=1 OU X0=0) ET (X2 = 1 OU X1=1 OU X0=1) ET SINON F=1 F= 1 SI (X2 = 0 ET X1=0 ET X0=0 ) OU (X2 = 0 ET X1=1 ET X0=1) OU (X2 = 1 ET X1=0 ET X0=0) SINON F=0 X2 X1 X0 F 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 1 0 0 1 1 0 0 0 Table de vérité et représentation algébrique

  23. Représentation des fonctions BooléennesLangage de Description • Description par un langage(ici VHDL) : -- Inverseur ENTITY inverseur IS PORT (e : IN BIT; s : OUT BIT); END inverseur; ARCHITECTURE pleonasme OF inverseur IS BEGIN s <= NOT e ; END pléonasme

  24. ExerciceThéorème d’Expansion de SHANNON • f(x n-1 ..., x k +1 ,x k ,x k -1 ...., x 0 ) = • /x k * f(x n-1 ..., x k +1 ,0 ,x k -1 ...., x 0 ) • + • x k * f(x n-1 ..., x k +1 ,1 ,x k -1 ...., x 0 ) • Montrer qu'une fonction booléenne d’une variable peut s’écrire : • f(x) = /x*f(0) + x*f(1) • En déduire qu’une fonction de deux variables peut s'écrire : • f(x,y) = /x*/y*f(0,0) + /x*y*f(0,1) + x*/y*f(1,0) + x*y*f(1,1) • Généraliser à n variables • en déduire que • f(x n-1 ..., x k +1 ,x k ,x k -1 ...., x 0 ) = /x k * f(x n-1 ..., x k +1 ,0 ,x k -1 ...., x 0 ) + x k * f(x n-1 ..., x k +1 ,1 ,x k -1 ...., x 0 ) • Application : • Simplifier f(x,y,z) = x*y +/x*z + y*z

  25. a 1 0 0 0 b b 1 c c c c 0 1 0 1 1 0 1 0 F(0,0,0) f(0,0,1) ………………………………………. Diagrammes de Décisions Binaires • Arbre orienté composé d’une racine, de sommets intermédiaires et de sommets terminaux composés de « 0 » et de « 1 » • Un arbre de décision binaire est obtenu a partir de la décomposition de Shannon . • Exemple f(a,b,c) : 1

  26. Arbre de décision binaire de la fonction f(a,b,c) = /a.b.c + a.c 0 0 0 0 0 0 1 0 1 0 1 Diagrammes de Décisions Binaires a 1 b b 1 c c c c 0 1 0 1 1 0 1 0

  27. MINIMALISATION Plan • Méthode Algébrique • Méthode de Karnaugh • Méthode de Quine Mc Kluskey • Arbres de décisions binaires

  28. Ecrire la fonction sous forme canonique • Appliquer les théorèmes de l'algèbre de BOOLE afin de réduire le nombre de monômes et le nombre de variables dans chaque monôme ( en fait principalement X + X = X et X + /X = 1) . • Avantages : Rapidité et simplicité de la mise en œuvre • Inconvénients : • Aucun aspect systématique • Impossible si le nombre de variable est «grand» (>4) • N’assure pas une représentation minimale de la fonction(Difficulté de repérer les mintermes qui participent a des simplifications) • EXEMPLE :F = X2*/X1*/X0 + X2*X1*X0 + X2*X1*/X0 + /X2*X1*X0 + X2*/X1*X0 Méthode Algébrique

  29. Représenter la fonction sous forme de tableau de KARNAUGH • Fait apparaître graphiquement : • COMPLEMENTATION X + /X = 1 • IDEMPOTENCE X + X = X • Ecriture de la fonction sous forme algébrique : le nombre de monômes et le nombre de variables dans chaque monôme est minimal • AVANTAGES : • Méthode graphique , rapide a mettre en œuvre • Systématique, elle donne une représentation minimale • INCONVENIENTS : • Inutilisable au delà de 7 variables • Non programmable Méthode de Karnaugh

  30. 1 X2*/X1*X0 1 X2*X0 X1X0 Tableau de KARNAUGH 4 Variables 00 01 11 10 X3X2 /X3*X2*/X1*X0 0 1 3 2 00 01 11 10 4 5 7 6 1 12 13 15 14 1 8 9 11 10

  31. Méthode de Quine Mc Kluskey • Fusion des monômes basée comme KARNAUGH sur • X + /X = 1 et X + X = X • Formulée de manière différente, elle est destinée a la programmation • DEFINITIONS • Poids d’un monôme P( = Nombre de «1») • Equivalence décimale d’un monôme : N • REGLES DE FUSION • Deux monômes M {P,N}et M’{P’,N’} sont «fusionnables si • P = P’+1 • N-N’ = 2k • La variable de rang K est éliminée

  32. Méthode de Quine Mc Kluskey • TRI : • établir un tableau T0 des monômes, classés par groupe de même poids et par poids croissants • FUSION : • Comparer chaque monôme de chaque groupe deux à deux afin d'éliminer les variables fusionnables • Etablir un tableau T1 des monômes fusionnés • BOUCLE : • Agir sur T1 de la même manière jusqu'à ce qu’il n’y ait plus de fusion possible • La fonction est représentée par les monômes de chaque tableau Ti, non fusionnés

  33. Réduction des arbres binaires • U n Arbre de décision Binaire d’une fonction de n variables comporte : • une racine, • n-1 couches de sommets intermédiaires • 2n feuilles valant 0 ou 1 • On peut réduire la taille de cet arbre en : • Arrêtant le développement d’une branche dès que l’on atteint 0 ou 1 • Supprimant les redondances ( feuilles et sous-graphes identiques) • Élimination des sommets redondants ( fils gauches et droits identiques)

  34. Structure d’un BDD • Pour un ordre donné des variables, le graphe réduit est unique • Pour deux ordres donnés de variables, la forme d’un BDD est différente .

  35. Exemples de minimalisation de BDD • Réduire la fonction f(a,b,c) = /a.b.c + a.c • Réduire la fonction f(a,b,c) = /a.b./c + a.c • Soit le système combinatoire de 4 entrées a,b,c,d et une sortie S tel que s = 1 si et seulement si le nombre formé des 4 bits {a,b,c,d} est strictement supérieur à 9 • Représenter le système sous forme d’un arbre de décision binaire, • Donner une représentation minimale ( RBDD)

  36. a b 1 1 0 0 0 0 0 c 0 1 0 1 0 0 0 1 0 1 0 1 Diagrammes de Décisions Binaires Arbre de décision binaire de la fonction f(a,b,c) = /a.b.c + a.c a 1 b b 1 c c c c 0 1 0 1 1 0 1 0

More Related