Vous êtes sur la page 1sur 29

Algbre de Boole

Eric Cariou
Universit de Pau et des Pays de l'Adour
Dpartement Informatique
Eric.Cariou@univ-pau.fr
1

Algbre de Boole

Systme algbrique constitu de l'ensemble { 0, 1 }

Variable boolenne : variable qui prend une valeur 0 ou 1

Trois oprateurs de base

NON / NOT ( a )

ET / AND ( a.b ou ab )

Retourne 1 si a et b sont 1, sinon retourne 0

OU / OR ( a+b )

Inverse/complmente la valeur de la variable a

Retourne 1 si a ou b est 1, sinon retourne 0

Origine

Mathmaticien anglais Georges Boole, 1815 1864

Proprits de base
a=a

Involution

Idempotence

: aa=a

a.a=a

Complmentarit

a. a=0

aa=1

lments neutres

a=a.1=1.a=a
a0=0a=a

Absorbants

: a1=1

a.0=0

Proprits de base

Associativit

: a.b.c=a.b.c
abc=abc

Distributivit

: a.bc=a.ba.c
ab.c=ab.ac

Rgles de De Morgan : ab=a. b


a.b=ab

Optimisations

: aa b=ab
abc=abac
4

Fonction logique

Fonction logique

Prend en entre une ou plusieurs variables boolennes

Retourne une valeur boolenne fonction des variables


d'entre

Dfinition d'une fonction logique : deux mthodes

Par son expression logique

Combinaison des variables de la fonction via les oprateurs de


base de l'algbre de boole

Exemple : fonction f de trois variables a, b et c

fa , b,c=abb cac

Par sa table de vrit

Table qui dfinit la valeur de la fonction pour chaque combinaison


5
de valeurs possibles en entre

Tables de vrit

Table de vrit pour une fonction p variables

Pour chacune des combinaisons diffrentes de p valeurs, prciser le rsultat de la fonction

Table de vrit des oprateurs de base

_
a|aab|a+bab|a.b
+++
0|100|000|0
1|001|101|0
10|110|0
11|111|1
6

Fonction logique

Equivalence/passage entre expression logique


et la table de vrit de la fonction

On peut toujours dterminer l'une partir de l'autre

Deux fonctions logiques sont identiques si

On peut montrer via les proprits de l'algbre de


Boole que leurs expressions logiques sont identiques

Leurs tables de vrit sont identiques

Note

Quand on parle de fonction logique, on parle souvent


de la forme correspondant l'expression logique
7

Formes canoniques d'une fonction

Pour une fonction logique x variables

Un minterme : groupe des x variables (pouvant tre


complmentes) lies par des ET

Un maxterme : groupe des x variables (pouvant tre


complmentes) lies par des OU

Forme canonique d'une fonction logique

Premire forme : union (OU) de mintermes

Second forme : intersection (ET) de maxtermes


8

Exemples de formes canoniques

Fonction 3 variables a, b et c, exemples :


Mintermes : abc ,a bc,a b c,a bc,...

Maxtermes :

abc, abc,abc ,abc, ...

Premire forme canonique :

fa , b ,c=abca b ca bca bc

Seconde forme canonique :


ga, b,c=abc.abc.abc.abc

Passage aux formes canoniques

Partir de la fonction et la transformer pour faire


apparatre des mintermes/maxtermes complets

Pour la transformation

On s'appuie sur les proprits de l'algbre de Boole,


et notamment des invariants :

x.x = 0 et x + x = 1

10

Exemple de passage la premire


forme canonique

Soit fa, b,c=abbcac

Premier minterme ab

Il manque la variable c

Transforme ab en ab(c+c) car c+c=1

Mme chose pour les 2 autres mintermes

D'o :
fa , b,c=abccb caaa cbb
=abcabca b ca bca bc
11

Exemple de passage la seconde


forme canonique

Soit fa, b, c=abb cac

On passe par x = x

Aprs dveloppement :
f(a,b,c)=a ba bcaca bc

Reste transformer les mintermes 2 variables : a ba c=a bccacbb

Au final f(a,b,c)=a bca bca bc

Et fa, b,c=abcabcabc
12

Passage de la fonction logique la


table de vrit

Pour chaque combinaison de valeurs possibles pour les


variables, on dtermine la valeur boolenne de f(X)
(X = ensemble des variables)

Exemple : fa , b,c=abb ca c
abc|b|c|ab|bc|ac|f(a,b,c)
++++++
000|1|1|0|0|0|0
001|1|0|0|1|0|1
010|0|1|0|0|0|0
011|0|0|0|0|0|0
100|1|1|0|0|1|1
101|1|0|0|1|0|1
110|0|1|1|0|1|1
111|0|0|1|0|0|1

13

Passage de la table de vrit la


fonction logique

A partir de la table de vrit : fonction sous


premire forme canonique

Pour chaque valeur de f(X) gale 1

On dfinit un minterme de toutes les variables tel que

Si une variable Xi = 1 on note Xi, sinon on note Xi

La premire forme canonique de f(X) est le OU


de ces mintermes

14

Passage de la table de vrit la


fonction logique

A partir de la table de vrit : fonction sous


seconde forme canonique

Pour chaque valeur de f(X) gale 0

On dfinit un minterme de toutes les variables tel que

Si une variable Xi = 1 on note Xi, sinon on note Xi

Le OU de ces mintermes = f(Xi)


Aprs calcul de f(Xi), on obtient la seconde forme
canonique
15

Exemple de calcul de la fonction


logique sous premire forme

A partir de la table de vrit de l'exemple prcdent

f(a,b,c) = 1 quand :

a bc
a = 1, b = 0 et c = 0 d'o le minterme a b c
a = 1, b = 0 et c = 1 d'o le minterme a b c
a = 1, b = 1 et c = 0 d'o le minterme a b c
a = 1, b = 1 et c = 1 d'o le minterme a b c
a = 0, b = 0 et c = 1 d'o le minterme

On fait le OU de ces mintermes

fa, b ,c= abcab ca bca b ca bc

16

Exemple de calcul de la fonction


logique sous seconde forme

A partir de la table de vrit de l'exemple


prcdent

f(a,b,c) = 0 quand :

a = 0, b = 0 et c = 0 d'o le minterme

a = 0, b = 1 et c = 0 d'o le minterme

a = 0, b = 1 et c = 1 d'o le minterme

On fait le OU de ces mintermes

a bc
a bc
a bc

f(a,b,c)=a b ca bca b c

Au final :

fa , b, c=abcabcabc
17

Minimisation des fonctions logiques

Les formes canoniques d'une fonction logique


sont une dfinition correcte de la fonction, mais
elles peuvent tre simplifies

Pour crire la mme fonction avec le moins de termes


et les plus simples possibles

Pour raliser la fonction avec moins d'lments lectroniques (portes logiques)

Deux mthodes pour simplifier l'criture d'une


fonction logique

Utiliser les proprits de l'algbre de Boole

Utiliser la mthode des tableaux de Karnaugh

18

Simplification via algbre de Boole

A partir des proprits de l'algbre de Boole,


transformer la fonction pour la simplifier

Principes gnraux

Simplifier la fonction initiale l'aide des proprits


de l'algbre de Boole

Appliquer la proprit d'involution (x = x) la fonction


simplifie est parfois intressant, mais calculs longs ...

Essayer de dduire d'autres simplifications aprs


chaque simplification
19

Exemple de simplification via algbre


de Boole

Soit fa , b ,c=abcab ca b ca bca bc

En factorisant, on obtient :
fa , b,c= abccbcca bc
=aa bc
(car x + xy = x + y)
=abc

On ne peut pas simplifier plus

20

Exemple de simplification via algbre


de Boole

Autre exemple : fa , b,c=(a+b)cbc

On distribue et calcule le non :


fa , b ,c=a bcb c

En utilisant l'involution :
f(a,b,c)=bc

D'o : fa, b,c=bc

On aurait pu aussi simplifier en remarquant que

cbc=cb

(car x + xy = x + y et donc x + xy = x + y)
21

Simplification par la mthode des


tableaux de Karnaugh

Principes gnraux

Reprsentation sous une forme particulire de la


table de vrit d'une fonction logique

Dtermination des blocs rectangulaires de taille 2


(1, 2, 4, 8...) bits adjacents 1

On en dduit la fonction simplifie associe la


table de vrit

22

Simplification par la mthode des


tableaux de Karnaugh

On reprsente un tableau 2 dimensions

Chaque dimension concerne une ou 2 variables

Le passage d'une colonne une colonne adjacente ou d'une


ligne une ligne adjacente modifie la valeur d'une seule variable

Le tableau se referme sur lui-mme : la colonne la plus


gauche est voisine de la colonne la plus droite, idem pour
les lignes du haut et du bas

Pour les 2 colonnes (2 lignes) extrmes, l aussi, une seule variable doit changer de valeur entre ces 2 colonnes (lignes)

Une case du tableau contient une valeur boolenne, dtermine partir de la table de vrit et des valeurs des variables
23

Simplification par la mthode des


tableaux de Karnaugh

Regroupement en blocs rectangulaires des bits 1 adjacents

Tous les bits 1 du tableau doivent tre englobs dans au moins


un bloc (un bloc une taille de 1, 2, 4, 8 ... bits)

Un bit 1 peut appartenir plusieurs blocs

On doit crer les blocs les plus gros possibles

A chaque bloc correspond un terme form comme suit

Pour le bloc, si une une variable prend les valeurs 0 et 1, 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 reste 0 : on note a

Le terme logique du bloc correspond au ET de ces variables qui ne


changent pas

La fonction logique simplifie est le OU de tous les termes des


24
blocs trouvs

Exemple de tableau de Karnaugh

Table pour 2 variables


\a
ab|f(a,b)b\0|1|
++++
00|00|0|1|
01|1+++
10|11|1|1|
11|1+++

2 groupes de 2 bits adjacents :

Pour le vertical : on a toujours a = 1 donc cela


donne le terme a

Pour l'horizontal : idem mais avec b

f(a,b)=a+b

25

Exemple de tableau de Karnaugh

Table pour 3 variables


abc|g
+
000|0\ab
001|1c\00|01|11|10|
010|0+++++
011|00|0|0|1|1|
100|1+++++
101|11|1|0|1|1|
110|1+++++
111|1

Bloc le plus petit : a = 0, b = 0, c = 1

Donne le terme a bc
26

Exemple tableau de Karnaugh

Mais simplification pas suffisante

La table se referme sur elle-mme

On doit galement regrouper en bloc les plus grands possibles mmes si des bits appartiennent plusieurs blocs

Le bit seul gauche doit donc tre regroup avec la case


a=1,b=0,c=1 droite en bas de la table
\ab
c\00|01|11|10|
+++++
0|0|0|1|1|
+++++
1|1|0|1|1|
+++++

Au final pour ce bloc, on a donc :bc

27

Exemple de tableau de Karnaugh

Bloc le plus gros : a reste 1, b passe de 0 1 et c


passe de 0 1

On ne conserve que les variables qui ne changent


pas. Donc on a le terme : a

Au final : ga , b ,c=abc

Pourquoi pour le bloc de 4 on obtient juste a ?

Si on fait le OU de tous les mintermes pour lequel la valeur


est 1, cela donne pour ce bloc de 4 :

bloc= abcab ca bca b c


= abccbcc=a

Les variables d'un bloc prenant les valeurs de 0 et 1 sont


donc systmatiquement non significatives

28

Exemple de tableau de Karnaugh

Tableau pour 4 variables


\ab
cd\00|01|11|10|
3 blocs :
+++++
00|1|0|0|1| 8 cases : d
+++++ 4 cases : bc
01|1|1|1|1| 2 cases : abc
+++++
11|1|1|1|1| Au final :
+++++ f(a,b,c,d)=d+bc+abc
10|0|1|0|0|
+++++

On doit l aussi regrouper en les plus gros blocs possibles mme si on recoupe d'autres blocs

La table se referme sur elle-mme

29

Vous aimerez peut-être aussi