Vous êtes sur la page 1sur 33

Module:

Codage Numérique & Architecture des


Ordinateurs
Chapitre 2: Algèbre de Boole
Professeur Assistant: H. HAMOUT

Département Informatique, Ecole Supérieur de Technologie -Guelmim-


Université Ibn Zohr
Avenue Abdou Maachar Al Balki B. P: 1317 Guelmim 81000
Année Universitaire: 2023/2024
Codage Numérique et
Algèbre de Boole
Architecture des Ordinateurs
Plan de cours
Algèbre de Boole:
1) Algèbre binaire.
2) Fonction Booléennes.
3) Simplifications de fonctions booléennes :
a) Algèbre de boole.
b) Tables de Karnaugh.

Pr. H. HAMOUT Département Informatique 2


Codage Numérique et
Algèbre de Boole
Architecture des Ordinateurs
Algèbre de Boole

Le fonctionnement des circuits est décrit en utilisant l'algèbre binaire. L'algèbre de


Boole est une structure algébrique. Soit un ensemble contenant deux valeurs {0, 1},
et les trois opérations suivantes:

 La conjonction (ou produit): opération binaire qui peut être notée "." ou bien
"et".

 La disjonction (ou somme): opération binaire qui peut être notée "+" ou bien
"ou".

 La négation (ou complément): opération unaire qui peut être notée "non" ou
bien "une barre sur l'opérande".

Pr. H. HAMOUT Département Informatique 3


Codage Numérique et
Algèbre de Boole
Architecture des Ordinateurs
Algèbre de Boole

Ces opérations vérifient les axiomes suivants (par convention, la conjonction est
prioritaire sur la disjonction).

 La commutativité: pour tous a, b ∈ {0, 1},


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

 L'associativité : pour tous a, b, c ∈ {0, 1},


a . (b . c) = (a . b) . c a + (b + c) = (a + b) + c

 La distributivité : pour tous a, b, c ∈ {0, 1},


a . (b + c) = a . b + a . c a + (b . c) = (a + b) . (a + c)

 Les éléments neutres: pour tous a ∈ {0, 1},


1.a=a.1=a 0+a=a+0=a

 Le complément: pour tous a ∈ {0, 1},


a . ā = ā . a = 0 a + ā = ā + a = 1

Pr. H. HAMOUT Département Informatique 4


Codage Numérique et
Algèbre de Boole
Architecture des Ordinateurs
Algèbre de Boole : Algèbre binaire

Nous allons nous intéresser à l'algèbre de Boole binaire, c'est à dire que l'ensemble
des éléments de l'algèbre est {0, 1}. La définition suivantes des opérateurs satisfait
l'ensemble des axiomes. C'est celle que nous utiliserons.

 Le compléments:

Pr. H. HAMOUT Département Informatique 5


Codage Numérique et
Algèbre de Boole
Architecture des Ordinateurs
Algèbre de Boole : Algèbre binaire

Nous allons nous intéresser à l'algèbre de Boole binaire, c'est à dire que l'ensemble
des éléments de l'algèbre est {0, 1}. La définition suivantes des opérateurs satisfait
l'ensemble des axiomes. C'est celle que nous utiliserons.

 La conjonction:

Pr. H. HAMOUT Département Informatique 6


Codage Numérique et
Algèbre de Boole
Architecture des Ordinateurs
Algèbre de Boole : Algèbre binaire

Nous allons nous intéresser à l'algèbre de Boole binaire, c'est à dire que l'ensemble
des éléments de l'algèbre est {0, 1}. La définition suivantes des opérateurs satisfait
l'ensemble des axiomes. C'est celle que nous utiliserons.

 La disjonction:

Pr. H. HAMOUT Département Informatique 7


Codage Numérique et
Algèbre de Boole
Architecture des Ordinateurs
Algèbre de Boole : Algèbre binaire

Propriétés : Les propriétés suivantes peuvent être déduites des axiomes suivants.

 Elément absorbant : a.0=0.a=0 a+1=1+a=1

 Absorption : a . (a + b) = a a + (a . b) = a

 Idempotence : a.a=a a+a=a

 Involution : ā̄̄̄ = a

 Lois de De Morgan : a . b = ā + b̄ a + b = ā . b̄

 Autre formes : a + (ā . b) = a + b a . (ā + b) = a . b

Pr. H. HAMOUT Département Informatique 8


Codage Numérique et
Algèbre de Boole
Architecture des Ordinateurs
Algèbre de Boole : Fonction Booléennes

Fonction Booléennes : Une fonction booléenne est une fonction qui prend en
n
arguments n booléens et qui retourne un booléen f : {0, 1} {0, 1}. Elle peut
être donnée:

 De manière extensionnelle par sa table de vérité:

Pr. H. HAMOUT Département Informatique 9


Codage Numérique et
Algèbre de Boole
Architecture des Ordinateurs
Algèbre de Boole : Fonction Booléennes

Fonction Booléennes : Une fonction booléenne est une fonction qui prend en
n
arguments n booléens et qui retourne un booléen f : {0, 1} {0, 1}. Elle peut
être donnée:

 Par un expression booléenne : qui est une expression définie avec les
constantes et les opérateurs de l’algèbre de Boole et un certain nombre de
variables x, y, z... .Par exemple:
x̄̄yz + xȳz + xyz̄̄ + xyz

Pr. H. HAMOUT Département Informatique 10


Codage Numérique et
Algèbre de Boole
Architecture des Ordinateurs
Algèbre de Boole : Fonction Booléennes

Forme normale disjonctive : Une expression booléenne est en forme normale


disjonctive si elle écrit comme :
 Une disjonction de monômes.
 Chaque monôme étant une conjonction de littéraux.
 Un littéral étant soit les constantes 0, 1, soit une variable x, soit le complément
de x, x̄̄.

Exemple: (x.y.z̄̄) + (x.z̄̄) + y

Comment on trouve la forme normale disjonctive d’une expression booléenne?


1) Calculer la table de vérité.
2) Chercher les lignes dont l’expression vaut 1.
3) Pour chaque ligne calculer la conjonction des littéraux avec:
 Si le littéral vaut 1 (x = 1) on le prend comme il est (x).
 Si le littéral vaut 0 (x = 0) on prend son complément (x̄̄).
4) Calculer la disjonction des conjonctions calculées.

Pr. H. HAMOUT Département Informatique 11


Codage Numérique et
Algèbre de Boole
Architecture des Ordinateurs
Algèbre de Boole : Fonction Booléennes

Forme normale conjonctive : Une expression booléenne est en forme normale


conjonctive si elle écrit comme :
 Une conjonction de sommes.
 Chaque somme étant une disjonction de littéraux.
 Un littéral étant soit les constantes 0, 1, soit une variable x, soit le complément
de x, x̄̄.

Exemple: (x + y + z̄̄).(x + z).1

Comment on trouve la forme normale conjonctive d’une expression booléenne?


1) Calculer la table de vérité.
2) Chercher les lignes dont l’expression vaut 0.
3) Pour chaque ligne calculer la disjonction des littéraux avec:
 Si le littéral vaut 1 (x = 1) on prend son complément (x̄̄).
 Si le littéral vaut 0 (x = 0) on le prend comme il est (x).
4) Calculer la conjonction des disjonctions calculées.

Pr. H. HAMOUT Département Informatique 12


Codage Numérique et
Algèbre de Boole
Architecture des Ordinateurs
Simplifications de fonctions booléennes

Les fonction booléennes sont en fait implantées à l'aide de portes logiques (à


étudier dans le chapitre 3) constituées de transistors. Afin d'économiser de
l'espace, de l'énergie et de l'argent, on souhaite utiliser le moins de transistors
possible.

Pour cela on cherche à trouver pour les fonction booléennes une représentation la
plus petite possible (en terme d'expression).

Deux méthode pour simplifier une expression booléenne:

 Méthode analytique : Algèbre de Boole.


 Méthode graphique : Tableaux de Karnaugh.

Pr. H. HAMOUT Département Informatique 13


Codage Numérique et
Algèbre de Boole
Architecture des Ordinateurs
Simplifications de fonctions booléennes: Méthode analytique

Pour simplifier l'expression d'une fonction booléenne, on peut tout simplement


utiliser les axiomes et les propriétés de l'algèbre de Boole, afin de passer d'une
expression à une autre plus simple.

 Exemple: simplifier l’expression suivant le plus possible:


Ā.B.C + Ā.B.C̄ + A.B.C̄ + A.B.C + A.B̄.C̄

On a:
Ā.B.C + Ā.B.C̄ + A.B.C̄ + A.B.C + A.B̄.C̄̄ = Ā.B.(C + C)̄ + A.B.(C + C)̄ + A.B̄.C̄
= Ā.B + A.B + A.B̄.C̄̄̄̄
= (Ā + A).B + A.B̄.C̄
= B + B̄.A.C̄
= B + A.C̄
Conclusion : Ā̄.B.C + Ā.B.C̄ + A.B.C̄ + A.B.C + A.B̄.C̄ = B + A.C̄̄

 NB: Pour montrer une égalité on utilise la méthode analytique ou bien la table de
vérité. (montrez que A.B + A.C.D + B̄ .D = A.B + B̄ .D).
Pr. H. HAMOUT Département Informatique 14
Codage Numérique et
Algèbre de Boole
Architecture des Ordinateurs
Simplifications de fonctions booléennes: Méthode graphique

Une méthode très efficace est l'utilisation des tableaux de Karnaugh, qui permet
une simplification visuelle.

Table de Karnaugh :

 On représente la table de Karnaugh par un tableau à deux dimensions.


 Chaque dimension concerne une ou plusieurs variables.
 Le tableau de referme sur lui-même:
 la colonne la plus à gauche est voisine de la colonne la plus à droite.
 la ligne la plus en haut est voisine de la ligne la plus en bas.
 Par exemple, pour une fonction de trois variables x, y, z, la table à l'allure
suivantes:

Pr. H. HAMOUT Département Informatique 15


Codage Numérique et
Algèbre de Boole
Architecture des Ordinateurs
Simplifications de fonctions booléennes: Méthode graphique

Simplification par la méthode des tableaux de Karnaugh:

 Créer la table de Karnaugh:


 Une cellule du tableau contient une valeur booléenne, déterminée à
partir de la table de vérité et des valeurs des variables.
 Chaque ligne de la table de vérité correspond à une cellule de la table de
Karnaugh.

Pr. H. HAMOUT Département Informatique 16


Codage Numérique et
Algèbre de Boole
Architecture des Ordinateurs
Simplifications de fonctions booléennes: Méthode graphique

Simplification par la méthode des tableaux de Karnaugh:

 Regroupement:
 Regroupement en blocs rectangulaires des bits à 1 adjacents. Tous les bits
1 du tableau doivent être englobés dans au moins un bloc d'une taille 1,
2, 4, 8, 16,.... bits.
 Un bit à 1 peut appartenir à plusieurs blocs.
 On doit créer les blocs les plus gros possibles.

Pr. H. HAMOUT Département Informatique 17


Codage Numérique et
Algèbre de Boole
Architecture des Ordinateurs
Simplifications de fonctions booléennes: Méthode graphique

Simplification par la méthode des tableaux de Karnaugh:

 Extraire l’expression de la fonction booléennes simplifier:


 A chaque bloc correspond un terme formé comme suit:
 Pour le bloc, si une variable change de valeur, on ne la prend pas en
compte.
 On ne conserve que les variables qui ne varient pas:
• Si une variable a reste à 1 : on note a.
• Si une variable a reste à 0 : on note ā̄.
 Le terme logique du bloc correspond au ET (.) des ces variables qui
ne changent pas.
 La fonction logique simplifiée est le OU (+) des tous les termes des blocs
trouvés.

Pr. H. HAMOUT Département Informatique 18


Codage Numérique et
Algèbre de Boole
Architecture des Ordinateurs
Simplifications de fonctions booléennes: Méthode graphique

Exemple 1: Table a deux variables

 Extraire la table de Karnaugh

Pr. H. HAMOUT Département Informatique 19


Codage Numérique et
Algèbre de Boole
Architecture des Ordinateurs
Simplifications de fonctions booléennes: Méthode graphique

Exemple 1: Table a deux variables

 Regroupement des bits à 1

Pr. H. HAMOUT Département Informatique 20


Codage Numérique et
Algèbre de Boole
Architecture des Ordinateurs
Simplifications de fonctions booléennes: Méthode graphique

Exemple 2: Table a trois variables

Pr. H. HAMOUT Département Informatique 21


Codage Numérique et
Algèbre de Boole
Architecture des Ordinateurs
Simplifications de fonctions booléennes: Méthode graphique

Exemple 2: Table a trois variables


Entêtes de ligne et de colonnes
codées dans l’ordre croissant du
codage de Gray

Pr. H. HAMOUT Département Informatique 22


Codage Numérique et
Algèbre de Boole
Architecture des Ordinateurs
Simplifications de fonctions booléennes: Méthode graphique

Exemple 2: Table a trois variables

Pr. H. HAMOUT Département Informatique 23


Codage Numérique et
Algèbre de Boole
Architecture des Ordinateurs
Simplifications de fonctions booléennes: Méthode graphique

Exemple 3: Table a quatre variables

 Regroupement de 4 cases voisines:

Pr. H. HAMOUT Département Informatique 24


Codage Numérique et
Algèbre de Boole
Architecture des Ordinateurs
Simplifications de fonctions booléennes: Méthode graphique

Exemple 3: Table a quatre variables

 Regroupement de 4 cases voisines:

Pr. H. HAMOUT Département Informatique 25


Codage Numérique et
Algèbre de Boole
Architecture des Ordinateurs
Simplifications de fonctions booléennes: Méthode graphique

Exemple 3: Table a quatre variables

 Regroupement de 4 cases voisines:

Pr. H. HAMOUT Département Informatique 26


Codage Numérique et
Algèbre de Boole
Architecture des Ordinateurs
Simplifications de fonctions booléennes: Méthode graphique

Exemple 3: Table a quatre variables

 Regroupement de 4 cases voisines:

Pr. H. HAMOUT Département Informatique 27


Codage Numérique et
Algèbre de Boole
Architecture des Ordinateurs
Simplifications de fonctions booléennes: Méthode graphique

Exemple 3: Table a quatre variables

 Regroupement de 8 cases voisines:

Pr. H. HAMOUT Département Informatique 28


Codage Numérique et
Algèbre de Boole
Architecture des Ordinateurs
Simplifications de fonctions booléennes: Méthode graphique

Exemple 3: Table a quatre variables

 Regroupement de 8 cases voisines:

Pr. H. HAMOUT Département Informatique 29


Codage Numérique et
Algèbre de Boole
Architecture des Ordinateurs
Simplifications de fonctions booléennes: Méthode graphique

Exemple des regroupement non valide:

Pr. H. HAMOUT Département Informatique 30


Codage Numérique et
Algèbre de Boole
Architecture des Ordinateurs
Simplifications de fonctions booléennes: Méthode graphique

Exemple complet:

Pr. H. HAMOUT Département Informatique 31


Codage Numérique et
Algèbre de Boole
Architecture des Ordinateurs
Simplifications de fonctions booléennes: Méthode graphique

Exemple complet:

Pr. H. HAMOUT Département Informatique 32


Codage Numérique et
Algèbre de Boole
Architecture des Ordinateurs
FIN.

MERCI DE VOTRE ATTENTION

DES QUESTIONS ?

Pr. H. HAMOUT Département Informatique 33

Vous aimerez peut-être aussi