Algèbre de BOOLE
Système binaire:
Un système binaire (signal, circuit, etc…) est un système qui ne peut exister que dans deux états autorisés.
fermé : v0 = 0v ouvert: v0 = 5v
R +5V
S
V0
Notations:
numérique : 1 et 0 (bit : binary digit)
logique : Vrai et Faux (True et False) Oui et Non (Yes et No)
électronique : ON et OFF
Haut et Bas (HI et LO, H et L, H et B)
Algèbre de BOOLE - Opérateurs
La porte OU (inclusif) (OR) - Addition logique noté « + »
A B Y = A + B
0 0 0
0 1 1
1 0 1
1 1 1
La porte ET (AND) - Produit logique noté « • »
A B Y = A • B
0 0 0
0 1 0
1 0 0
1 1 1
Algèbre de BOOLE - Opérateurs
Inverseur : porte NON (NOT)opérateur unaire noté « ¯ »
A Y = A
0 1
1 0
A partir des définitions des fonctions NON, OU et ET nous pouvons déduire :
(
A B)
A BA A A
A A
A A
+
= +
=
= +
=
•
• 0
1
Algèbre de BOOLE - Opérateurs
Porte NON ET (NAND) et Porte NON OU (NOR)
Ce sont les portes de base: tout système binaire peut être obtenu en utilisant uniquement les portes NAND ou NOR
0 0 1
0 1 1
1 0 1
A B Y=A•B
1 1 0
0 0 1
0 1 0
1 0 0
A B Y=A+B
1 1 0
Algèbre de BOOLE - Opérateurs
Porte OU exclusif (XOR)-opérateur binaire notée «⊕»
A B Y = A ⊕ B
0 0 0
0 1 1
1 0 1
1 1 0
Algèbre de BOOLE - Opérateurs
Différentes formulations du XOR:
) (
)
(A B A B
B
A⊕ = + • •
Y=A ⊕ B est égal à 1 si et seulement si A = 1 ou B = 1 mais pas simultanément:
Y=A ⊕ B égal à 1 si A = 1 et B = 0 ou si B = 1 et A = 0. Soit :
) (
)
(A B B A
B
A⊕ = • + •
Y=A ⊕ B égal à 0 si A et B sont égaux à 1 ou si A et B sont égaux à 0 :
) (
)
(A B A B
B
A⊕ = • + •
Y=A ⊕ B correspond à un détecteur d'égalité:
) (
)
(A B A B
B
A⊕ = + • +
Algèbre de BOOLE - Opérateurs
Axiomes et théorèmes de l’Algèbre de Boole
OU (A + B) + C = A + (B + C) = A + B + C A + B = B + A
A + A = A A + 0 = A A + 1 = 1
Associativité Commutativité Idempotence Elément neutre Elément absorbant ET (A • B) • C = A • (B • C) = A • B • C
A • B = B • A A • A = A A • 1 = A A • 0 = 0
Associativité Commutativité Idempotence Elément neutre Elément absorbant Distributivité A • (B + C) = (A • B) + (A • C)
A + (B • C) = (A + B) • (A + C)
NON A =A
1 A A+ =
0 A A• =
Axiomes et théorème de l’algèbre de BOOLE
Axiomes et théorèmes de l’Algèbre de Boole (suite)
Simplification A + (A • B) = A A • (A + B) = A
A ) B A ( ) B A
( + • + =
B A ) B A (
A + • = +
Théorème De Morgan
...
C B A ...
C B A
...
C B A ...
C B A
•
•
•
•
•
•
= + + +
+ + +
=
OU exclusif A ⊕ B = (A + B)• (A • B) ) A B ( ) B A ( B
A ⊕ = • + •
) B A ( ) B A ( B
A ⊕ = • + •
) B A ( ) B A ( B
A ⊕ = + • +
Usages de l’algèbre de Boole
1. formalisation du raisonnement sur les propositions logiques (= qui a un résultat vrai ou faux).
2. faire des opérations sur des valeurs quelconques codées.
Exemples:
1. fonction tourne_gauche sur les axes cardinaux (4 valeurs différentes donc un codage sur 2 bits) E: 00 - N: 01 - S:11 - O:10
2. fonctions logiques sur des nombres
Fonctions booléennes
Définition :
Une fonction booléenne est une application de {0, 1}n vers {0, 1}
(x
1, x
2, x
3,..., x
n)→ f(x
1, x
2, x
3,..., x
n) ∈ {0, 1}
Elle peut être définie de deux manières différentes :
1. par une table de vérité
2. par une équation logique
Fonctions booléennes
Table de vérité
Exemple:
F(x,y,z)F est une fonction booléennes à 3 variables (x,y,z)
La table de vérité donne la valeur de F pour les 8 différentes combinaisons possibles
Ci x y z F
0 0 0 0 1
1 0 0 1 1
2 0 1 0 1
3 0 1 1 0
4 1 0 0 1
5 1 0 1 0
6 1 1 0 0
7 1 1 1 0
Exemples:
F(0,0,1)=1 F(0,1,1)=0 F(1,0,1)=0
Fonctions booléennes
Problème:
Taille de la table si le nombre de variables est grand (>4)
nombre de lignes de la table= 2
n (n étant le nombre de variables)A n’utiliser que si le nombre de variables est inférieur ou égal à 4
Fonctions booléennes
Equation logique:
Expression faisant intervenir les variables de la fonction.
Deux types de termes peuvent être utilisés:
1. minterme (ou monôme) : produit de variables, chaque variable
intervenant au plus une fois sous sa forme normale ou complémentée.
Exemples: Fonctions à 3 variables x, y et z
y
x
xy z ( monome complet )
z
x +
x+y+z ( maxterme complet)2. maxterme : somme de variables, chaque variable intervenant au plus une fois sous sa forme normale ou complémentée.
Exemples:
Fonctions booléennes
Equation logique
1ère forme canonique : somme des monômes (mintermes) complets pour lesquels la fonction vaut 1
P0 P1 P2 P3 P4 P5 P6 P7 Ci x y z x yz x yz x y z x yz x yz x yz x yz x yz
0 0 0 0 1 0 0 0 0 0 0 0
1 0 0 1 0 1 0 0 0 0 0 0
2 0 1 0 0 0 1 0 0 0 0 0
3 0 1 1 0 0 0 1 0 0 0 0
4 1 0 0 0 0 0 0 1 0 0 0
5 1 0 1 0 0 0 0 0 1 0 0
6 1 1 0 0 0 0 0 0 0 1 0
7 1 1 1 0 0 0 0 0 0 0 1
F
P0+P1+P2+P4
1 1 1 01 0 00
z y x z
y x z
y x z
y x
F = + + +
Fonctions booléennes
Equation logique
2ème forme canonique : produit des maxtermes complets pour lesquels la fonction vaut 0.
S0 S1 S2 S3 S4 S5 S6 S7 Ci x y z x+y+z x+y+z x+y+z x+y+z x+y+z x+y+z x+y+z x+y+z
0 0 0 0 0 1 1 1 1 1 1 1
1 0 0 1 1 0 1 1 1 1 1 1
2 0 1 0 1 1 0 1 1 1 1 1
3 0 1 1 1 1 1 0 1 1 1 1
4 1 0 0 1 1 1 1 0 1 1 1
5 1 0 1 1 1 1 1 1 0 1 1
6 1 1 0 1 1 1 1 1 1 0 1
7 1 1 1 1 1 1 1 1 1 1 0
Simplification des équations logiques
But :
Obtenir une forme simplifiée de l’équation logique (expression équivalente et plus facile à utiliser)
Exemple:
) (
)
( y z t x y z t
x + + +
) (
)
( y z t x y z t
x + + +
t x z y x t z x
xy + + +
Simplification des équations logiques
Deux méthodes:
1. utilisation des règles de simplification 2. utilisation des tableaux de Karnaugh
Utilisation des règles de simplification
Exemple:
x z z
y y
x
z z
y x y
y z
x x
x z y
z y x z
y x z
y x z
y x z
y x z
y x
z y x z
y x z
y x z
y x F
+ +
=
+ +
+ +
+
=
+ +
+ +
+
=
+ +
+
=
) (
) (
) (
) (
) (
) (
Problèmes:
•Trouver la bonne règle de simplification
•on n ’est pas sûr d ’avoir la « meilleure » solution
Tableaux de Karnaugh
La méthode repose sur l'identité suivante:
A B
B A
B A B
A • ) + ( • ) = •( + ) = (
Utilisation d’un code de GRAY
♦Tableau à 3 variables:
C AB
0 1
0 0 0 1 1 1 1 0
Tableaux de Karnaugh
♦Tableau à 4 variables : CD
AB
0 0 0 1 1 1 1 0
0 0 0 1 1 1 1 0
♦Tableau à 5 variables :
CDE AB
0 0 0 0 0 1 0 1 1 0 1 0 1 1 0 1 1 1 1 0 1 1 0 0
0 0 0 1 1 1
Tableaux de Karnaugh
Règles :
1. Constituer des pavés de « 1 » avec des cases ‘’voisines ’ (attention, le nombre de « 1 » dans un pavé est une puissance de deux).
2. Recouvrir tous les « 1 » du tableau.
3. A chaque pavé correspond un monôme.
4. Les monômes sont constitués de variables qui ne changent pas dans le pavé.
5. Les valeurs interdites sont notées ∅ et sont considérées égales à « 1 » dans le cas où elles sont intéressantes.
Remarques :
1. on peut recouvrir plusieurs fois un « 1 »
2. les paves constitués doivent être les plus grands possibles.
Tableaux de Karnaugh
Cases voisines
A l’intérieur A un coin
00 01 11 10
00 01 11 10
zt xy
00 01 11 10
00 01 11 10 ztxy
Sur un bord
00 01 11 10
00 01 11 10 ztxy
Tableaux de Karnaugh
Exemples:
Fonction à 3 variables Fonction à 4 variables
00 01 11 10
00 01 11 10 zt xy
1
1 1 1
1
1 1
1
xt yt
t xy
0 1
00 01 11 10
1 1
1
1 xy
x z z
y y
x
F = + +
F = x y + y t + y z tTableaux de Karnaugh
x y z t F
0 0 0 0 1
0 0 0 1 0
0 0 1 0 1
0 0 1 1 0
0 1 0 0 0
0 1 0 1 1
0 1 1 0 0
0 1 1 1 0
1 0 0 0 1
1 0 0 1 1
1 0 1 0 1
1 0 1 1 1
1 1 0 0 0
1 1 0 1 1
1 1 1 0 0
Table de vérité correspondante
t z y t
y y
x
F = + +
Tableaux de Karnaugh
Exemples
Fonctions à 5 variables
xyz tu
0 0 0 0 0 1 0 1 1 0 1 0 1 1 0 1 1 1 1 0 1 1 0 0
0 0 0 1 1 1
1 0 1 1
1
1 1
1
1 1
1
1 1