Hadji - Ch2 - Algèbre de Boole

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 20

Chapitre 2.

Algèbre de Boole

Introduction

L’ordinateur est constitué d'un ensemble fini de circuits logiques.

L’élément de base de ces circuits est le transistor; on a deux états 0 et 1 :

 0 = Bloqué = Pas de courant électrique


 1 = Conducteur = Présence du courant

Les variables d’entrée sont celles sur lesquelles on peut agir directement. Ce sont
des variables logiques indépendantes.

La variable de sortie est celle qui contient l’état de la fonction après l’évaluation
des opérateurs logiques sur les variables d’entrée.

Pour réaliser ces circuits et déterminer les variables d’entrée et les variables de
sortie on utilisera l’Algèbre de Boole.

Terminologie

 Somme (OR) : s = a + b - ou bien - s = a OR b - ou bien - s = a OU b


 Produit (AND) : s = a . b - ou bien - s = a AND b - ou bien - s = a ET b
 Complémentation (NOT) : s = NOT a - ou bien - s = Non a - ou bien - s =

Opérations de base

s=a.b s=a+b s=

a b a.b a b a+b a
0 0 0 0 0 0 0 1
0 1 0 0 1 1 1 0
1 0 0 1 0 1
1 1 1 1 1 1

Théorèmes et postulats de l’algèbre de Boole


Une Algèbre de Boole est constituée

 d’un ensemble E = { 1 , 0 } ou E = { True, False }


 et des lois de composition internes (NOT), (AND) et (OR)

Propriétés de l’Algèbre de Boole

1. Commutativité :
o a+b=b+a
o a.b=b.a
2. Associativité
o a+(b+c)=(a+b)+c
o a.(b.c)=(a.b).c
3. Distributivité
o a . (b + c) = a. b + a .c
o a + (b . c) = (a + b).( a + c )
4. Eléments neutres
o a+0=a
o a.1=a
5. Eléments symétriques
o a+ =1
o a. =0

Propriétés déduites

1. Idempotence
o a+a=a
o a.a=a
2. Élément absorbant
o a+1=1
o a.0=0
3. Expressions usuelles simplifiées
o a+a.b=a
o a . (a + b) = a
o _
a+a.b=a+b
o _ _
a+a.b=a+b

Les opérateurs NAND et NOR

Tables de vérité
a b a b
0 0 1 0 0 1
0 1 1 0 1 0
1 0 1 1 0 0
1 1 0 1 1 0

Le OU exclusif (Exclusive OR ou XOR) et son complément (NOT XOR)

 s=a b
 s = 1 si a = b
 s = 0 si a = b

Table de vérité

a b
0 0 0 1
0 1 1 0
1 0 1 0
1 1 0 1

Expressions booléennes

Fonctions logiques et formes normales

Le min-terme

On appelle min-terme de n variables, l’un des produits de ces n variables ou de


leurs complémentaires.
Exemple :
Avec deux variables, a et b, on peut former quatre min-termes de base :

Avec trois variables a, b et c, on peut en former huit (c'est-à-dire 23) min-termes :

Le max-terme

On appelle max-terme de n variables, l’une des sommes de ces n variables ou de


leurs complémentaires.
Exemple :

Avec deux variables, a et b, on peut former quatre (c'est-à-dire 22) max-termes de


base :

Avec trois variables a, b et c, on peut en former huit max-termes :

Première forme normale ou forme disjonctive

Une fonction est sous forme disjonctive si elle est représentée par une somme de
min-termes (somme de produits) notée Σ

Exemple :

Deuxième forme normale ou forme conjonctive

Une fonction est sous forme conjonctive si elle est représentée par un produit de
max termes (produit de sommes)

Exemple :
Remarque : On peut passer d’une forme à l’autre en utilisant la distributivité

Représentation des expressions algébriques à l'aide de Σ et Π :

Les expressions algébriques peuvent être représentées par leurs tables de vérité
respectives. Etant donné l'utilisation fréquente de ces dernières, deux fonctions
standard ont été suggérées pour simplifier l'écriture de ces tables. Il s'agit des
focntions Σ et Π.

Considérons l'exemple de la table de vérité de la fonction F ci-dessous. On ajoute à


cette table de vérité une colonne qui représente la valeur décimale de chaque
combinaison de valeurs des variables de la fonction.

ABC F
0 000 0
1 001 0
2 010 0
3 011 1
4 100 1
5 101 0
6 110 1
7 111 1

Σ dénote les cas de combinaison où F prend la valeur 1, tandis que Π ceux où la


fonction F prend la valeur 0. Ainsi, on peut écrire:

F(A,B,C)= Σ (3, 4, 6, 7)

F(A,B,C)= Π (0, 1, 2, 5)

Notez que Σ et Π sont complémentaires (lorsque F est entièrement définie. On


verra plus bas que lorsque F contient des valeurs indéterminées (X), une autre
fonction, appelée X, désigne les cas où cette fonction est indéterminée).

D'un autre côté, la fonction Σ est associée à la première forme normale (forme
disjonctive) tandis que Π est associée à la deuxième forme normale (forme
conjonctive).
Lois de De Morgan

Ces deux règles peuvent être vérifiées à l’aide d’une table de vérité :

a b s= + s= .
0 0 1 1 1 1
0 1 1 1 0 0
1 0 1 1 0 0
1 1 0 0 0 0

Complément d’une fonction

∀ F une fonction booléenne, ∃ G telle que :

Pour calculer G, il faut utiliser les Lois de Morgan.

Exemple :

On remarque que pour trouver G, il suffit d’inverser chaque variable et chaque


opérateur.
Circuits logiques

Un circuit logique est un ensemble de portes logiques reliées entre elles


correspondant à une expression algébrique booléenne.

Portes logiques (correspondant à un opérateur logique) :

Portes dérivées :

Exemple :

Circuit logique correspondant à l’expression algébrique :


Table de vérité d’une fonction

La Table de Vérité d’une fonction consiste à retrouver les valeurs de celle-ci pour
chaque combinaison de ses variables. Pour n variables on aura 2n combinaisons
différentes.

Soit la fonction :

F(A, B, C) = 1 si un de ses termes est égal à 1.

Pour tirer l’expression d’une fonction à partir de sa Table de Vérité, on fait la


somme des min-termes où F = 1.

La Table de Vérité de F est :

ABC F
000 0
001 0
010 0
011 1
100 1
101 0
110 1
111 1
_ si A = 0, B = 1 et C = 1 F(0, 1, 1) = 1
ABC=1
_ _
si A = 1, B = 0 et C = 0 F(1, 0, 0) = 1
ABC=1
F(1, 1, X) = 1
AB=1 si A = 1 et B = 1
avec X= 0 / 1

Le complément de F (A, B, C) est obtenu en faisant la somme des min-termes où F


= 0,

On retrouve la forme conjonctive de cette fonction à partir du complément (du


complément de F) .

Simplification des fonctions booléennes

1- Simplification algébrique

Pour simplifier algébriquement une fonction booléenne, on utilise les propriétés de


l’algèbre de Boole : idempotence, absorption, distributivité, mise en facteur …etc
Exemple :
2- Simplification par les tableaux de Karnaugh

Un tableau de Karnaugh est une table de vérité à 2 dimensions.

La numérotation des lignes et des colonnes se fait selon le code de Gray, on passe
d’une ligne à la suivante en changeant un seul bit et d’une colonne à la suivante en
changeant un seul bit également.

Table de vérité :

ABCD F
0000 0
0001 1
0010 1
0011 0
0100 0
0101 1
0110 1
0111 0
1000 0
1001 1
1010 0
1011 0
1100 0
1101 0
1110 0
1111 0

Chaque case représente une combinaison.

Si on prend une case dans un tableau de Karnaugh, toutes les cases qui lui sont
adjacentes n’auront qu’un seul bit qui change donc une seule variable change.

Remarque :

 Deux cases sont dites adjacentes si elles ont un coté commun. A chaque case
correspondent 4 cases adjacentes.
 Les cases des lignes ou des colonnes qui sont aux extrémités sont adjacentes
aux cases qui leur sont symétriques.

Simplification de la fonction F

Voir le schéma ci-dessus pour voir la méthode de construction des min-termes


simplifiés. Par exemple, les deux 1 de la deuxième colonne (1ère et 2ème lignes)
sont adjacents, ils représentent les
combinaisons .

Les 2 min-termes ne diffèrent que par la variable B , les trois autres variables sont
les mêmes; on peut donc regrouper ces min-termes et leur somme sera égale à :

De la même façon, on peut regrouper les 1 de la quatrième colonne pour


obtenir ainsi que les deux 1 de la deuxième colonne (1ère et 4ème lignes)
pour obtenir

L’expression de la fonction simplifiée sera donc :


Cette simplification de la fonction est sous forme disjonctive (somme de produits).

Pour la forme conjonctive (produit de sommes) on travaille avec les zéro.

En conclusion, lorsque 2, 4 ou 8 cases sont adjacentes, leur regroupement sera


représenté par un seul terme contenant les variables communes.

Il est à noter que les expressions disjonctive et conjonctive d'une fonction


sont équivalentes.

Fonction incomplète

On dit qu’une fonction est incomplète si elle n’est pas définie en tous ses points.
Dans ce cas les points où elle n’est pas définie prendront la valeur X.

Lors de la simplification de la fonction par le tableau de Karnaugh, si une case


contenant X est adjacente à une case contenant 1, on pourra donner la valeur 1 à ce
X de façon à simplifier la fonction.
Exemple :

Trouver la fonction simplifiée à partir du tableau de Karnaugh suivant :


Remarque :

 Le même 1 (ou X) peuvent être utilisés dans deux regroupements différents

Application :

Une serrure de sécurité S s’ouvre en fonction de quatre clés A, B, C et D. Le


fonctionnement de la serrure est défini comme suit :

 S (A B C D) = 1 si au moins deux clés sont utilisées


 S (A B C D )= 0 sinon

Les clés A et D ne peuvent pas être utilisées en même temps.

Solution :

Si la clé A et la clé D sont utilisées en même temps l’état du système n’est pas
déterminé. Dans ce cas S prend la valeur X

Table de vérité

ABCD S
0000 0
0001 0
0010 0
0011 1
0100 0
0101 1
0110 1
0111 1
1000 0
1001 X
1010 1
1011 X
1100 1
1101 X
1110 1
1111 X

Dans les tableaux de karnaugh, les X peuvent prendre la valeur 1 ou la valeur 0


selon les besoins. Il est donc possible d’utiliser les X dans les regroupements, dans
ce cas on leur attribue la valeur 1.

– Dans le tableau ci-dessus, on remarque qu’il n’y a que des 1 et des X à la 3ème
ligne, on prendra donc les X de cette ligne comme des 1 et faire un regroupement
qui donne le terme A B

–De même pour la 3ème colonne, on obtient le terme C D

–Il reste alors trois 1 indépendants, on les regroupera avec les 1 et les X qui leurs
sont adjacents pour obtenir les termes B D, B C et A C.

S(A B C D) = A B + C D + B D + B C + A C
Attention ! Il ne faut pas former des regroupements qui contiennent uniquement des
X.
Remarque:

Il existe sur internet plusieurs solveurs qui implémentent la méthode de Karnaugh.


Je vous propose d'essayer les algorithmes suivants qui déterminent l'expression
simplifiée d'une fonction représentée par une table de vérité et son circuit logique
correspondant :

 Tableaux de Karnaugh avec 2 variables (A et B)


 Tableaux de Karnaugh avec 3 variables (A, B et C)
 Tableaux de Karnaugh avec 4 variables (A, B, C et D)
 Tableaux de Karnaugh avec 5 variables (A, B, C, D et E)
 Tableaux de Karnaugh avec 6 variables (A, B, C, D, E et F)

3- Méthode de Quine-McCluskey

Cette méthode est utilisée lorsque le nombre de variables dans la fonction à


simplifier est assez important et que les tableaux de Karnaugh deviennent plus
compliqués. On utilise généralement la forme canonique de la première forme
normale.

Cette méthode consiste à réduire une fonction booléenne en première forme


normale en plusieurs étapes :

1- Ecriture de la fonction à réduire en première forme normale. On considèrera,


comme exemple, la fonction traitée ci-dessus avec les tableaux de Karnaugh:
2- Transformation des min-termes en binaire (il est important de conserver l'ordre
des variables dans chaque min-terme):

F (A B C D) = 0001+ 0010 + 0101 + 0110 + 1001

3- Classification et comparaison suivant le poids : Dans cette étape, on forme des


groupes selon le nombre de 1 existant dans chaque min-terme. On compare ensuite
chaque combinaison selon le poids de chaque bit. Si un seul bit diffère d'un min-
terme à un autre, on créé un nouveau min-terme en remplaçant le bit de différence
par un X.

Selon la fonction F, les groupes sont les suivants:

a. Groupe avec un seul 1 : 0001 et 0010.

b. Groupe avec deux 1: 0101, 0110 et 1001

c. Il n'y a pas d'autres groupes.

On compare chaque min-terme avec un seul 1 avec tous les min-termes avec deux 1
et on génère les nouveaux min-termes avec un seul X. On compare ensuite chaque
min-terme avec deux 1 avec tous les min-termes avec trois 1 et ainsi de suite...

Min-terme avec un seul 1 Min-terme avec deux 1 Min-terme généré


0101 0X01
0001 0110
1001 X001
0101
0010 0110 0X10
1001

On répète le même processus avec les min-termes générés.

Min-terme avec un seul 1 Min-terme avec deux 1 Min-terme généré


0X01
X001
0X10

Cependant, dans notre exemple, on remarque que tous ces derniers sont du même
groupe ( avec un seul 1). On arrête donc le processus et on cherche, dans tous les
tableaux, tous les min-termes qui n'ont pas été combinés (au moins une fois). On
trouve :

0X01, X001 et 0X10.

c- On dresse un tableau dans lequel on place en première ligne l'ensemble des min-
terme de la fonction initiale, et en première colonne l'ensemble des min-termes
déduits de l'étape précédente. Dans chaque case, on place une coche si les min-
termes associés (en ligne et en colonne) correspondent.

0101 0110 1001 0101 0110 1001


0X01 + + Retenu
X001 + + Retenu
0X10 + + Retenu
OK OK OK OK OK OK

On ignore toutes les colonnes qui contiennent plus d'une seule coche. Dans cet
exemple, toutes les colonnes ne seront pas ignorées. D'autre part, on prend tous les
min-termes des lignes qui ont au moins une coche avec l'une des colonnes (non
ignorées). Dans notre exemple, il s'agit de tous les min-termes.

d- On construit l'expression simplifiée sur la base des min-termes retenus:


_ _
0X01 → A C D
_ _
X001 → B C D
_ _
0X10 → A C D

D'où, on retrouve la même fonction simplifiée avec les tableaux de Karnaugh :

Remarque:

Vous pouvez touver sur internet beaucoup de solveurs (algorithmes) qui


implémentent cette méthode. Cliquez ici pour avoir une idée sur l'un d'eux.

Utilisation des portes NAND


Pour réaliser le circuit d’une fonction à l’aide de portes NAND seulement, il faut
que la fonction soit sous forme disjonctive, il suffit alors de la complémenter 2 fois
et d’utiliser les lois de Morgan.
Exemple :

Utilisation des portes NOR

Pour réaliser le circuit d’une fonction à l’aide de portes NOR seulement, il faut que
la fonction soit sous forme conjonctive; il suffit alors de la complémenter 2 fois et
d’utiliser les lois de Morgan.

Exemple :

Vous aimerez peut-être aussi