Académique Documents
Professionnel Documents
Culture Documents
L'algbre de Boole est une structure algbrique qui ne contient que deux
lments, que l'on appelle couramment variables boolennes. Ces variables ne
peuvent avoir que deux tats, 1 ou 0 (true ou false dans certains langages de
programmation), et respectent quelques rgles de calcul que nous dtaillerons
plus loin.
L'oprateur OU
Exemple :
if(a==1 OR a==2){
quivaut
SI((a=1)+(a=2)) alors
Si on prend des variables boolennes, on obtient :
aOUba+b
Table de vrit :
a
b
a+b
0
0
0
1
0
1
0
1
1
1
1
1
L'oprateur ET
Exemple :
quivaut
SI((a=1).(a=2)) alors
Si on prend des variables boolennes, on obtient :
aETbab
Table de vrit :
a
b
a.b
0
0
0
1
0
0
0
1
0
1
1
1
Dans ce tableau on voit le rsultat du test ab en fonction des valeurs de a et de
b
L'oprateur NON
if(a!=1){
quivaut
Table de vrit :
a
0
1
1
0
Dans ce tableau on voit le rsultat du test a en fonction des valeurs de a
aXORbab
Table de vrit :
a
b
ab
0
0
0
1
0
1
0
1
1
1
1
0
Dans ce tableau on voit le rsultat du test ab en fonction des valeurs de a et de
b
Note : ab=ab+ab
Table de vrit :
a
b
a NXOR b
0
0
1
1
0
0
0
1
0
1
1
1
Cet oprateur est appel oprateur coincidence. En effet le test "aNXORb" n'est
vrai que si a et b sont dans le mme tat logique (0 ou 1)
Note : aNXORb=ab+ab
Table de vrit :
a
b
ab
0
0
1
1
0
1
0
1
1
1
1
0
L'oprateur NAND est appel oprateur universel : il est possible de recrer
n'importe quelle fonction logique uniquement en utilisant la fonction NAND. Nous
verrons plus loin dans ce tuto comment.
Note : ab=ab=a+b
Table de vrit :
a
b
ab
0
0
1
1
0
0
0
1
0
1
1
0
L'oprateur NOR est galement un oprateur universel.
Note : ab=a+b=ab
Rgles de simplification
Entrons maintenant dans le vif du sujet en apprenant les rgles de l'algbre, qui
vont nous permettre de simplifier nos conditions.
Rgle 1 : la commutativit
a+b=b+aab=ba
Rgle 2 : l'idempotence
a+a=aaa=a
a+1=1a0=0
a1=aa+0=a
Rgle 5 : l'associativit
a+(b+c)=(a+b)+ca(bc)=(ab)c
Rgle 6 : la complmentarit
Rgle 7 : la distributivit
Attention, les deux lois sont distributives l'une par rapport l'autre,
contrairement l'algbre classique
a(b+c)=ab+aca+(bc)=(a+b)(a+c)
a.b=a+ba+b=a.b
Et les autres
Dmonstration :
a+ab=aab=a(a+b)=a(a+b)
=aa+ab=0+ab=ab=a+b(Rgle 8)(Rgle 8)(Rgle
6)(Rgle 7)(Rgle 6)(Rgle 4)(Rgle 4)
Autre rgle :
a+a.b=a
Dmonstration :
Dans cette partie nous allons vois les rgles qui s'appliquent (ou pas) aux portes
logiques composes, c'est dire XOR, NXOR, NAND, et NOR.
La porte NAND
Comme je vous l'ai dit prcdemment, il est possible de raliser n'importe quelle
fonction logique de base en utilisant uniquement des portes NAND. C'est
notamment trs utile en lectronique, puisqu'on peut alors produire en masse (et
donc moins coteusement) uniquement ces portes la, pour cbler ensuite
n'importe quelle quation logique.
La fonction ET : (ab)1=ab1=ab=a.b
La fonction OU :
(a1)(b1)=a1b1=ab=a
+b
La porte NOR
La fonction ET :
(a0)(b0)=a+0+b+0=a
+b=a.b
La fonction OU :
(ab)0=a+b+0=a+b=a+b
Pour effectuer des simplifications avec des portes composes, il existe deux
solutions. La premire consiste a transformer la fonction compose de faon
n'utiliser que les portes de base (NON, OU, ET). Il faut pour cela utiliser les
quivalences que j'ai indiqu la dfinition de chaque porte. Par exemple :
aba.b+a.b On peut alors utiliser les rgles de simplifications listes plus
haut.
Le deuxime choix qui s'offre nous est d'utiliser les rgles de calcul spcifiques
aux portes composes (utile par exemple s'il faut garder un seul type de porte
dans les quations)
Quelques rgles qui sont en fait des proprits aisment dductibles des rgles
prcdentes
a1=a
a0=a
aa=0
aa=1
Rgles spcifiques la porte NAND
a1=a
a0=1
aa=a
aa=1
Il n'y a PAS d'associativit avec les portes NAND : a(bc)(ab)c
Rgles spcifiques la porte NOR
a1=0
a0=a
aa=a
aa=0
Il n'y a PAS non plus d'associativit avec les portes NOR : a(bc)(ab)c
Exercices
Exercice 1
Simplifier : a(a+b)
Facile non ?
Bon, donc on peut compliquer un peu
Exercice 2
Simplifier : a+a.b+a.b
Solution :
Solution 1 :
a+ab+ab=a+a(b+b)=a+a1=a+a=1(Rgle 7)(Rgle 6)
(Rgle 4)(Rgle 6)
Solution 2 :
a+ab+ab=a+b+ab=a+b+b=a+1=1(Rgle Complmentaire)
(Rgle Complmentaire)(Rgle 6)(Rgle 3)
Solution 3 :
a+ab+ab=a+b+ab=a+b+a+b=(a+b)+
(a+b)=1(Rgle Complmentaire)(Rgle 8)(Rgle 6)
Si vous avez des difficult comprendre ces exercices, un petit retour la partie
prcdente s'impose
Remarque : Dans l'exemple prcdent, on remarque que quelles que soient les
tats logiques de a et b, l'quation propose vaut toujours 1. On parle alors de
tautologie
Exercice 3
Plus difficile :
a+bc+a(bc)(ad+b)=a+bc+a(b+c)(ad+b)=a+bc+
(ab+ac)(ad+b)=a+bc+abad+abb+acad+acb)
=a+bc+0bd+a0+0cd+acb)=a+bc+0+0+0+acb=a+bc+
a(cb)=bc+a+a(cb)=bc+a+(cb)=b(c+c)
+a=b(1)+a=b+a=(a1)(b1)(Rgle 8)(Rgle 7)(Rgle 7)(Rgle 6)(Rgle 3)
Ne dsesprez pas si vous n'y arrivez pas du premier coup, car l'algbre de
Boole, malgr ses ressemblances, est assez diffrent de l'algbre classique.
Exercice 4
Simplifier :
abcba
, puis transformer l'expression obtenue de manire n'utiliser que
l'oprateur NAND
Indice :
Simplifiez les barres de haut en bas
Solution
abcba
=a+bcba=a+(bc+b)a=a+
(c+b)a=a+(c+b)=a+c+b=(a1)(b1)c(Rgle 8)(Rgle 8)(Rgle
Complmentaire)(Rgle Complmentaire)(Voir porte NAND)
La table de vrit
Nous avons dj abord les tables de vrit dans la 2me partie, sans trop s'y
attarder, chose que nous allons faire prsent.
Une table de vrit permet de connaitre l'tat logique S de l'quation, en fonction
des tats des variables.
La table de vrit la plus simple est la suivante :
a
S
0
0
1
1
Ici on voit que quand la variable a vaut 1 S vaut 1 et quand a vaut 0, S vaut 0.
Placer en haut de chaque colonne le nom de toutes les variables logiques et dans
la dernire le nom de la variable rsultat (gnralement S)
Placer dans les colonnes sous les noms de variables TOUTES les combinaisons
des variables dont on connait le rsultat logique (il ne doit pas y avoir 2 fois la
mme combinaison)
Exemple :
a
b
S
0
0
?
0
1
?
1
0
?
1
1
?
Maintenant on remplit avec les valeurs de S que l'on connait (je vous les donne) :
a
b
S
0
0
1
0
1
0
1
0
0
1
1
1
Euh, c'est bien beau tout a mais quoi a sert ??
Minute papillon, j'y viens
Grce cette table de vrit, on va pouvoir retrouver l'quation logique reliant a
et b !
Il va s'agir d'crire l'quation sous la forme d'une somme de produits. Pour cela, il
faut reprer dans la table de vrit toutes les combinaisons pour lesquelles S
vaut 1.
On les surligne :
b
S
0
0
1
0
1
0
1
0
0
1
1
1
On a 2 lignes surlignes : on aura donc une somme de 2 produits.
On crit ces produits en fonction de la combinaison des variables : si une variable
vaut 0 alors on crit
:nomdelavariable, sinon on crit
simplement le nom de la variable.
1re ligne
a vaut 0 donc on crit a
b vaut 0 donc on crit b
4me ligne
a vaut 1 donc on crit a
b vaut 1 donc on crit b
En franais, pour que S soit gal 1, il faut que a=0 ET b=0, OU que a=1 ET b=1
On traduit donc par l'galit suivante :
a.b+a.b
On a bien une somme de 2 produits.
On appelle parfois les produits issus d'une seule case de la table de vrit des
mintermes. Il est possible de dmontrer que la DNF (non simplifie) est unique
l'ordre des termes prs.
2me mthode : la forme normale conjonctive
On veut cette fois obtenir un produit de sommes. Il faut pour cela reprer toutes
les combinaisons pour lesquelles S vaut 0 :
On les surligne dans le tableau :
a
b
S
0
0
1
0
1
0
1
0
0
1
1
1
On a 2 lignes surlignes : on aura donc un produit de 2 sommes.
On crit ces somme en fonction de la combinaison des variables : si une variable
vaut 0 alors on crit
:nomdelavariable, sinon on crit
simplement le nom de la variable.
2me ligne
a vaut 0 donc on crit a
Le tableau de Karnaugh
a
b
c
d
S
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
1
1
1
0
1
0
0
1
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
0
0
0
0
1
0
0
1
1
1
0
1
0
1
1
0
1
1
1
1
1
0
0
1
1
1
0
1
0
1
1
1
0
0
1
1
1
1
1
Avec 4 variables, on a 2=16 combinaisons. On va donc crer un tableau de 4
colonnes et 4 lignes (4*4=16), pour ainsi avoir toutes les combinaisons :
C'est un peu comme une bataille navale, sauf que chaque case a 4 indices : l'tat
des 4 variables. Les cases 'AB' et 'CD' indiquent l'ordre des variables sur la ligne
ou colonne associe : par exemple, sur la ligne 1, on voit la case 'AB', ce qui
implique que '00' signifie A=0 et B=0 ou encore a et b
ATTENTION : c'est trs important que d'une case conscutive l'autre, une seule
variable change d'tat ! Sans cela, tous ce que vous pourrez entreprendre par la
suite sera tout bonnement faux. Ce tableau donnera par exemple des rsultats
faux :
En effet, pour passer de la case C0 la case C1, les A et B changent toutes deux
d'tat : A passe de 0 1, et B de 1 0.
a
b
c
d
S
0
0
0
0
0
On va dans le tableau, et on cherche la case d'indice a=0, b=0,c=0 et d=0, c'est
dire la premire case, et on y inscrit la valeur de S donne par la table de vrit
(ici 0) :
a
b
c
d
S
0
0
0
1
1
Ce qui donne :
On procde de mme pour les trois autres produits, o il y a chaque fois deux
variables indtermines, ce qui signifie qu'on rempli 4 cases pour chaque produit.
On obtient finalement :
On peut se servir du fait que les lignes sont boucles et qu'on peut rutiliser
plusieurs fois le mme 1 pour faire un groupement de 2 par 2 :
Il ne reste plus qu'un seul 1 que l'on place dans un groupement le plus grand
possible, 2 par 1 (le groupement de 3 par 1 ne serait pas possible car 3 n'est pas
une puissance entire de 2) :
On s'aperoit que pour les cases du groupement vert, la variable A n'est pas
constante : elle prend comme valeur 0 et 1. On ne tiendra donc pas compte de
cette variable.
Pour les deux cases du groupement, la variable B est constante : B=1. Cela
signifie que pour que ce groupement soit vrai, il faut que B le soit aussi. On peut
donc crire provisoirement que : groupementVert=B
Pour la variable C :
C'est la mme chose que pour la variable B, sauf que C est tout le temps gale
0. Cela signifie que pour que ce groupement soit vrai, il faut en plus que C soit
faux (C) . On rajoute cette information notre quation temporaire :
groupementVert=B.C
groupementRouge=C.DgroupementJaune=B.D
Et voil ! Vous avez trouv l'quation la plus simple possible de la table de vrit
du dbut !
Essayer de simplifier avec les rgles de l'algbre de Boole, vous parviendrez tout
au plus factoriser mais en aucun cas simplifier.
Exercice
Voil, vous en savez assez pour vous dbrouiller comme des grands avec
l'algbre de Boole
Pour ceux qui veulent s'entrainer ou qui sont intresss, un solveur de l'algbre
de Boole est disponible ici. Attention, ce logiciel est encore en phase de test, il se
peut donc qu'il reste quelques erreurs dans les quations retournes.
Bon courage