Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Booleprobas 13 06janvier2021

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

Algèbre de Boole et Probabilités

Cours 13 Diagramme de Karnaugh

• Fonctions booléennes de deux variables


On considère par exemple la fonction booléenne de deux variables “ou” :
B2 3 (a, b) 7−→ f (a, b) = a ∨ b ∈ B représentée à l’aide d’un diagramme de Karnaugh à la Table
2
1 ci-dessous. On sait qu’il y a au total 22 = 24 = 16 fonctions booléennes de cette sorte. Dans
ce cas particulier, on a f = ab ∨ ab ∨ ab ; la fonction “ou” utilise trois des quatre monômes
canoniques, ou mintermes. On peut également représenter l’ensemble de ces mintermes avec
un diagramme comparable (voir la Table 1 ci-dessous).
a a a
0 1 0 1 0 1
0 0 1 0 00 01 0 ab ab
b b b
1 1 1 1 10 11 1 ab ab
Table 1. Fonction logique “ou” représentée avec un diagramme de Karnaugh (à gauche) et
ensemble des mintermes pour les fonctions booléennes de deux variables : valeurs du couple
(a, b) qui permet de renvoyer la valeur “1” (au centre) et expression de la fonction booléenne
correspondante avec les opérateurs “non” et “et” (à droite).

• Fonctions booléennes de trois variables


Pour représenter une fonction booléenne f (a, b, c) de trois variables, une idée naturelle, pro-
posée par le logicien Allan Marquand (1853-1924) puis par l’ingénieur Edmund Veitch (1924-
2013), est de regrouper deux des trois variables dans une direction et la troisième dans une
autre direction. On obtient de cette façon un diagramme proposé Table 2 pour représenter par
exemple la fonction f = ac = abc ∨ abc
ab
00 10 01 11
0 0 0 0 0
c
1 0 1 0 1
Table 2. Fonction booléenne f (a, b, c) = ac représentée par Marquand (1881), puis retrouvée
par Veitch (1952) ; le vecteur booléen ab est représenté par la suite (00, 10, 01, 11) de quatre
“double bits”, la plus naturelle pour quiconque est habitué des coordonnées cartésiennes.
En 1954, Maurice Karnaugh (né en 1924), propose une modification en apparence minime qui
consiste à changer l’ordre des doubles bits pour le suivant : (00, 01, 11, 10). Cet ordre consiste
à suivre les flèches de la Figure 1 lorsqu’on parcourt le diagramme de la Table 1 dans le cas de
deux variables. Avec un tel choix de représentaion, on obtient un “diagramme de Karnaugh”.
François Dubois, janvier 2021.
F RANÇOIS D UBOIS

ab
00 01 11 10
0 0 0 0 0
c
1 0 0 1 1

Figure 1. Sens de parcours d’un diagramme de deux variables booléennes pour faire émerger
la suite de doubles bits (00, 01, 11, 10) proposée par Karnaugh (à gauche) et représentation de
la fonction booléenne f = ac avec le diagramme obtenu lorsque cette convention est introduite
pour les deux premières variables (à droite).

• Fonctions booléennes de quatre variables


Rappelons qu’une fonction booléenne f = f (a, b, c, d) de quatre variables est une applica-
4
tion définie sur l’ensemble B4 à valeurs dans B = {0, 1}. On dispose de 22 = 216 = 65 536
applications de ce type et un test systématique est bien sûr hors de propos. Pour une fonctions
booléenne de quatre variables, on adopte l’ordre de Karnaugh (00, 01, 11, 10) à la fois pour
les deux premières variables ab et pour les deux dernières cd. On obtient ainsi une représen-
tation des fonctions de quatre variables avec un tableau à double entrée appelé “diagramme de
Karnaugh”. Chacune des cases du tableau représente les minterme de F4 (Table 3). Nous y
reviendrons.
ab ab
00 01 11 10 00 01 11 10
00 0000 0100 1100 1000 00 abcd abcd abcd abcd
01 0001 0101 1101 1001 01 abcd abcd abcd abcd
cd cd
11 0011 0111 1111 1011 11 abcd abcd abcd abcd
10 0010 0110 1110 1010 10 abcd abcd abcd abcd
Table 3. Mintermes pour les fonctions booléennes de quatre variables représentés avec un dia-
gramme de Karnaugh : valeurs du quadruplet (a, b, c, d) qui permet de renvoyer la valeur “1”
(à gauche) et expression de la fonction booléenne correspondante avec les opérateurs “non” et
“et” (à droite).

• Premières fonctions booléennes polynomiales de degré un


On peut représenter les fonctions booléennes en indiquant dans la case du diagramme de Kar-
naugh correspondant à chaque minterme s’il est choisi ou pas, par exemple avec le nombre “1”
ou simplement avec un gros point. On obtient ainsi les diagrammes présentés ci-dessous
Table 4 pour les fonctions logiques f (a, b, c, d) = a, f (a, b, c, d) = b, f (a, b, c, d) = c et
f (a, b, c, d) = d. On observe que pour chacune de ces fonctions polynomiales, huit cases
sur 16 sont à considérer ; les autres cases correspondent par convention à la valeur “0” pour le
minterme correspondant.


A LGÈBRE DE B OOLE ET P ROBABILITÉS

ab ab
00 01 11 10 00 01 11 10
00 • • 00 • •
01 • • 01 • •
cd cd
11 • • 11 • •
10 • • 10 • •

ab ab
00 01 11 10 00 01 11 10
00 00
01 01 • • • •
cd cd
11 • • • • 11 • • • •
10 • • • • 10

Table 4. Diagrammes de Karnaugh des fonctions booléennes f (a, b, c, d) = a (en haut à


gauche), f (a, b, c, d) = b (en haut à droite), f (a, b, c, d) = c (en bas à gauche) et
f (a, b, c, d) = d (en bas à droite).

• Quelques fonctions booléennes polynomiales de degré deux


Pour les produits de deux variables booléennes comme f (a, b, c, d) = ab ou f (a, b, c, d) = bc,
on obtient un diagramme où quatre cases sont occupées. Les six cas possibles sont représentés
à la Tables 5.
ab ab ab
00 01 11 10 00 01 11 10 00 01 11 10
00 • 00 00
01 • 01 01 • •
cd cd cd
11 • 11 • • 11 • •
10 • 10 • • 10

ab ab ab
00 01 11 10 00 01 11 10 00 01 11 10
00 00 00
01 01 • • 01
cd cd cd
11 • • 11 • • 11 • • • •
10 • • 10 10

Table 5. Diagrammes de Karnaugh des fonctions booléennes f (a, b, c, d) = ab (en haut à


gauche), f (a, b, c, d) = ac (en haut au centre) et f (a, b, c, d) = ad (en haut à droite),
f (a, b, c, d) = bc (en bas à gauche), f (a, b, c, d) = bd (en bas au centre) et f (a, b, c, d) = cd
(en bas à droite).


F RANÇOIS D UBOIS

• D’autres fonctions booléennes polynomiales de degré un


La négation se représente sans difficulté : on sélectionne simplement des cases qui corres-
pondent aux valeurs “0” des diverses variables booléennes. La Table 6 présente les diagrammes
de Karnaugh des fonctions f (a, b, c, d) = a, f (a, b, c, d) = b, f (a, b, c, d) = c et
f (a, b, c, d) = d.
ab ab
00 01 11 10 00 01 11 10
00 • • 00 • •
01 • • 01 • •
cd cd
11 • • 11 • •
10 • • 10 • •

ab ab
00 01 11 10 00 01 11 10
00 • • • • 00 • • • •
01 • • • • 01
cd cd
11 11
10 10 • • • •
Table 6. Diagrammes de Karnaugh des fonctions booléennes f (a, b, c, d) = a (en haut à
gauche), f (a, b, c, d) = b (en haut à droite), f (a, b, c, d) = c (en bas à gauche) et
f (a, b, c, d) = d (en bas à droite).

• Périodicité
Toutes les fonctions polynomiales présentées jusqu’ici sont des produits de degré un et deux.
Pour le degré un, huit cases du diagramme de Karnaugh sont à considérer et pour le degré
deux, quatre cases sont utiles. On remarque que les diagrammes correspondants forment des
rectangles qui dégénèrent éventuellement en carrés, à l’exception des fonctions f (a, b, c, d) =
b et f (a, b, c, d) = d. Mais cette propriété est rétablie si on considère que le diagramme de
Karnaugh est dessiné non pas sur un plan, mais sur un tore où la première ligne suit la dernière
et le première colonne est dans la suite de la dernière colonne.
On remarque aussi sur la Table 3 des mintermes que deux mintermes voisins dans un diagram-
me de Karnaugh diffèrent d’exactement un bit ; c’est une conséquence du choix de l’ordre de
Karnaugh (00, 01, 11, 10) puisque cette propriété est déjà vraie si on code le couple (a, b).
• Diagramme de Karnaugh d’un monôme
On rappelle qu’un monôme, appelé aussi “produit”, est dans le cas de quatre variables une
expression de la forme ǎ b̌ č dˇ où x̌ prend l’une des trois valeurs x, x ou 1. Dans le cas de
quatre variables, on dispose de 34 = 81 monômes au total :
un seul monôme de degré zéro : la fonction f = 1,
8 monômes de degré un, f = a ou f = a, etc. représentés dans les Tables 4 et 6,
24 monômes de degré deux, comme f = ab ou f = bc (voir la Tables 5),
32 = 43 23 monômes de degré trois ; par exemple f = a b c (voir la Figure 2 plus bas) et enfin



A LGÈBRE DE B OOLE ET P ROBABILITÉS

16 monômes de degré quatre : les mintermes.


ab
00 01 11 10
00
01
cd
11 •
10 •
Figure 2. Diagramme de Karnaugh de la fonction booléenne f (a, b, c, d) = abc.
Le total redonne bien 1 + 8 + 24 + 32 + 16 = 81 monômes. Nous pouvons maintenant énoncer
une proposition générale qui a déjà fait l’objet de remarques plus haut.
Proposition. Dans le cas de quatre variables booléennes, le diagramme de Karnaugh d’un
monôme de degré k est un rectangle composé exactement de 24−k cases.
Le cas du degré 1 a été détaillé aux Tables 4 et 7 et nous illustrons Figure 3 le cas de monômes
de degrés deux, trois et quatre.
ab ab ab
00 01 11 10 00 01 11 10 00 01 11 10
00 • 00 • • 00 •
01 • 01 01
cd cd cd
11 • • • 11 • 11 •
10 • • • 10 • 10
Figure 3. Diagrammes de Karnaugh des fonctions booléennes de degré deux f (a, b, c, d) = a c
(à gauche, en noir) et f (a, b, c, d) = a b (à gauche, en bleu), de degré trois f (a, b, c, d) = a c d
(au milieu, en noir) et f (a, b, c, d) = abc (au milieu, en bleu) et de degré quatre
f (a, b, c, d) = a b c d (à droite, en noir) et f (a, b, c, d) = abcd (à droite, en bleu).
• Paramétrage des mintermes par les n-uplets de bits
Rappelons qu’un minterme m est une fonction booléenne de n variables a1 , a2 , ... , an de la
forme m = ae1 ae1 ... aen , où aej = a j ou aej = a j . On note ici Fn0 l’ensemble des mintermes. On
rappelle que son cardinal vaut 2n : ]Fn0 = 2n .
Pour x ∈ Bn , on définit le minterme mx ∈ Fn0 par les relations mx (y) = 1 si y = x et mx (y) = 0
si y 6= x, où y parcourt tous les vecteurs de n bits. On peut paramétrer les mintermes par
x ∈ Bn avec la bijection Bn 3 x 7−→ mx ∈ Fn0 . Par exemple, si n = 4 et x = (0, 1, 0, 1), alors
mx = a b c d.
• Décomposition d’une fonction booléenne sur les mintermes
Cette décomposition s’appelle aussi “forme canonique disjonctive”. Si f est une fonction
booléenne quelconque, il suffit de préciser quels sont les mintermes qu’elle active pour la
connaître complètement. Par exemple, si n = 4, l’application f (a, b, c, d) = abc, se décom-
pose sur deux mintermes : abc = abcd ∨ abcd. De façon générale, si f ∈ Fn , on peut écrire
f = ∨m∈Fn0 bm m, où la réunion ∨ est étendue sur tous les mintermes m ∈ Fn0 . Le coef-
ficient bm pour le minterme m est un bit qui vaut zéro si le minterme m n’est pas utilisé et qui


F RANÇOIS D UBOIS

vaut 1 si le minterme correspondant est actif. Dans l’exemple précédent, on a 14 bits bm égaux
à zéro et babcd = babcd = 1. Le diagramme de Karnaugh de la fonction f permet de visualiser
les mintermes actifs qui correspondent à bm = 1, comme l’illustre la Figure 2 pour la fonction
f (a, b, c, d) = abc.
On note M( f ) le vecteurs booléen des coefficients bm dans la décomposition f = ∨m∈Fn0 bm m.
n
Alors M( f ) ∈ B2 et il comporte 2n bits. Il a des propriétés tout à fait remarquables qui
découlent directement des définitions des opérations sur les fonctions booléennes. On a ainsi
( f ≤ g) ⇔ (M( f ) ≤ M(g), M( f ∨ g) = M( f ) ∨ M(g), M( f ∧ g) = M( f ) ∧ M(g) et
M( f ) = M( f ).
De plus, le vecteur M( f ) est représenté, à l’ordre près, par le diagramme de Karnaugh de la
fonction booléenne f . Les relations précédentes se traduisent par des opérations très intui-
tives pour construire un diagramme de Karnaugh avec respectivement l’inclusion, la réunion,
l’intersection et la complémentation. On réunit alors les diagrammes de Karnaugh pour cons-
truire celui de la fonction initiale (Figure 5).
• Construction d’un diagramme de Karnaugh
Nous raisonnons à partir de l’exemple suivant : f (a, b, c, d) = a b c d ∨ a b c ∨ a b d. On intro-
duit les fonctions booléennes f1 = a b c d, f2 = a b c et f3 = a b d (voir la Figures 4).
ab ab ab
00 01 11 10 00 01 11 10 00 01 11 10
00 00 • 00 •
01 01 • 01
cd cd cd
11 • 11 11
10 10 10 •
ab
00 01 11 10
00 •
01 •
cd
11 •
10 •
Figure 4. Diagramme de Karnaugh des fonctions booléennes f1 = a b c d (en haut à gauche),
f2 = a b c (en haut au centre) et f3 = a b d (en haut à droite). Leur réunion permet la construction
du diagramme de Karnaugh de la fonction f (a, b, c, d) = a b c d ∨ a b c ∨ a b d (en bas).

• Du diagramme de Karnaugh à une forme algébrique


Grâce à la proposition sur la forme rectangulaire des diagrammes de Karnaugh d’un monôme,
un diagramme de Karnaugh permet de proposer “à vue” une expression algébrique de la fonc-
tion bolléenne correspondante. Nous illustrons cette analyse visuelle avec l’exemple proposé
Figure 5. Dans un premier temps (à gauche), nous repérons deux rectangles et nous identi-
fions la fonction booléenne avec l’expression f = b c ∨ a b (c ∨ d) alors que dans un second
temps nous pouvons mettre en exergue trois rectangles (à droite) et l’expression


A LGÈBRE DE B OOLE ET P ROBABILITÉS

g = b c d ∨ (a ∨ b) c d ∨ a b c est alors naturelle. On vérifie ensuite que les deux expressions


algébriques f et g sont égales, c’est à dire définissent la même application.

ab ab
00 01 11 10 00 01 11 10
00 • • 00 • •
01 • • • 01 • • •
cd cd
11 • 11 •
10 • 10 •

Figure 5. Deux analyses d’un diagramme de Karnaugh. Sur la figure de gauche, on écrit la
fonction booléenne comme réunion des deux monômes b c (en noir) et a b (c ∨ d) (en bleu) et
sur la figure de droite, on la décompose avec b c d (en noir), (a ∨ b) c d (en bleu) et a b c (en
rouge).

Figure 6. Modélisation de la fonction booléenne f = b c ∨ a b (c ∨ d) avec une chaîne de


contacts (à gauche) et un réseau de portes logiques (à droite).

• Du diagramme de Karnaugh aux autres représentations


À partir de l’expression f = b c ∨ a b (c ∨ d) correspondant à la partie gauche de la Figure 5,
nous pouvons dessiner sans difficulté (voir la Figure 6) une chaîne de contacts ou un réseau de
portes logiques.
• Produit de sommes
Nous avons essentiellement développé dans cette leçon et la précédente des expressions de
fonctions logiques sous la forme de “somme de produits” f = ∨mj=1 p j , forme qui correspond à
une chaîne de contacts avec un circuit monté en parallèle. À l’aide de la dualité qu’offre les lois
de De Morgan, nous pouvons en déduire une forme algébrique de type “produit de sommes”
q
g = ∧k=1 sk associée à un montage final en série.
q
Si nous partons d’un produit de sommes g = ∧k=1 sk alors au vu des lois de De Morgan
q
nous en déduisons g = ∨k=1 sk et la fonction complémentaire g s’écrit naturellement comme
somme de produits. Il suffit donc de partir d’une expression de la fonction complémentaires
comme somme de produits pour en déduire immédiatement une expression de la fonction ini-
tiale comme produit de sommes. Le diagramme de Karnaugh permet de mener à bien une telle
transformation ; nous l’illustrons sur l’exemple précédent.


F RANÇOIS D UBOIS

ab
00 01 11 10
00 • •
01 •
cd
11 • • •
10 • • •
Figure 7. Diagramme de Karnaugh de la fonction booléenne f avec f = b c ∨ a b (c ∨ d).
Nous connaissons (Figure 5) le diagramme de Karnaugh de la fonction f = b c ∨ a b (c ∨ d).
Le diagramme de Karnaugh de sa complémentaire f consiste juste à échanger les zéros et les
un, donc à noircir les cases restées en blanc et réciproquement (Figure 7). On le décompose en
famille de rectangles afin de mettre en évidence des produits, comme par exemple celui proposé
Figure 7. On en déduit alors (visuellement !) la relation f = a b ∨ bc ∨ a b c d. Compte tenu
des lois de De Morgan, on en déduit f = (a ∨ b) (b ∨ c) (a ∨ b ∨ c ∨ d). Nous laissons au lecteur
le soin de vérifier que cette nouvelle expression de la fonction booléenne f est équivalente à
l’expression initiale.
Pour terminer, nous pouvons reconstruire le diagramme de Karnaugh de f à partir des fonc-
tions f1 = a ∨ b, f2 = b ∨ c et f3 = a ∨ b ∨ c ∨ d et de l’expression f = f1 f2 f3 en prenant
l’intersection de trois diagrammes de Karnaugh correspondants, comme illustré Figure 8.
ab ab ab
00 01 11 10 00 01 11 10 00 01 11 10
00 • • • 00 • • • • 00 • • •
01 • • • 01 • • • • 01 • • • •
cd cd cd
11 • • • 11 • • 11 • • • •
10 • • • 10 • • 10 • • • •
Figure 8. Diagrammes de Karnaugh des fonctions booléennes f1 = a ∨ b (à gauche),
f2 = b ∨ c (au centre) et f3 = a ∨ b ∨ c ∨ d (à droite). Quand on prend l’intersection de ces trois
diagrammes, on retrouve celui de la fonction booléenne illustrée Figure 5.

Exercices
• Simplification de l’expression algébrique d’une fonction booléenne
On se donne la fonction booléenne f définie par f = bd ∨ cd ∨ cd ∨ abcd ∨ abc
a) Simplifier l’expression de f à l’aide d’un diagramme de Karnaugh.
b) Proposer une modélisation de f avec une chaîne de contacts comportant trois inter-
rupteurs.
c) Proposer une modélisation de f avec trois portes logiques.
d) Justifier la simplification de la fonction booléenne f avec un calcul algébrique.
• Compteur électrique
Un compteur électrique est muni d’un disjoncteur qui se déclenche dès que la puissance deman-
dée est supérieure ou égale à 3 300 watts.


A LGÈBRE DE B OOLE ET P ROBABILITÉS

Le radiateur consomme 3 000 watts, l’ensemble des lampes 200 watts,


le four 2 300 watts et la machine à laver le linge 1 100 watts.
a) Si on note d la fonction logique du disjoncteur, construire sa table de vérité.
b) Donner sa forme canonique disjonctive, c’est à dire exprimer la fonction logique comme
combinaison de mintermes.
c) Construire le diagramme de Karnaugh de la fonction booléenne d.
d) Proposer une forme polynomiale simplifiée de la fonction booléenne d.
e) Proposer une modélisation de d avec une chaîne de contacts comportant cinq interrupteurs.
f) Proposer une modélisation de d avec quatre portes logiques.
• Simplification de l’expression algébrique d’une seconde fonction booléenne
On se donne une fonction booléenne f définie par la chaîne de contacts ci-dessous.

a) Proposer une expression algébrique de la fonction booléenne f .


b) Quel est le diagramme de Karnaugh de la fonction booléenne f ?
c) À l’aide du diagramme de Karnaugh proposer une expression simplifiée de f .
d) Établir cette expression simplifiée de f avec une approche algébrique.
e) Proposer une modélisation de f avec une chaîne de contacts comportant quatre interrup-
teurs.
• Simplification de l’expression algébrique d’une troisième fonction booléenne
On se donne une fonction booléenne f définie par la suite de portes logiques ci-dessous.

a) Proposer une expression algébrique de la fonction booléenne f .


b) Quel est le diagramme de Karnaugh de la fonction booléenne f ?
c) À l’aide du diagramme de Karnaugh proposer une expression simplifiée de f .
d) Proposer une modélisation de f avec une chaîne de contacts comportant cinq interrupteurs.

Vous aimerez peut-être aussi