Tableau de KARNAUGH
Nous pourrons utiliser la méthode du tableau de Karnaugh.
Dans le cas de deux variables binaires, nous avons quatre possibilités (ou combinaisons) à envisager que nous traduisons sous la forme de la table de vérité suivante :
A chaque combinaison des variables est associée une valeur de la fonction.
L'idée de KARNAUGH est d'associer une surface à chaque combinaison des variables, en adoptant la représentation suivante :
Nous disposons donc de 4 cases correspondant aux 4 combinaisons de variables.
La case 1 correspond à la combinaison a = 0 b = 0 ==> (a . b )
La case 2 correspond à la combinaison a = 1 b = 0 ==> (a . b )
La case 3 correspond à la combinaison a = 0 b = 1 ==> (a . b )
La case 4 correspond à la combinaison a = 1 b = 1 ==> (a . b )
Dans chacune de ces cases sera inscrite la valeur de la fonction pour la combinaison de variables correspondant à cette case.
En suivant l'exemple déjà représenté ci-dessus nous avons :
case n° 2 ==> combinaison de variables a = 1 et b = 0 ==> valeur de la fonction = 0.
Pour chacune des cases nous associons un produit de variable
Représentation d'un tableau de Karnaugh
Un tableau de Karnaugh peut se représenter sous les formes suivantes :
Ces trois représentations sont équivalentes.
Un tableau de Karnaugh nous renseigne donc sur les données suivantes :
- Le nom de la fonction (par ex : X)
- Le nom des variables (a, b)
- L'état des variables : 0 , 1 ou une barre représentant l'état 1
- La valeur de la fonction (1 ou 0)
Nous notons que :
- Dans la case 1 les variables valent toutes 0.
- Si l'on adopte la notation algébrique booléenne pour les variables, elle nous renseigne du nom et de l'état de la variable ( a ; a ).
Tableau de karnaugh à 3 variables
A chaque case est associé un triplet des valeurs a, b, c.
Exemple : La case n° 1 représentera le triplet {0,0,0} ou a = 0, b = 0 et c = 0.
Nous pouvons dire également que la case n°1 correspond au produit (a . b . c ).
Dans ce cas la représentation devient :
Tableau de Karnaugh à 4 variables
A chaque case est associé un quadruplet des valeurs a, b, c, d.
Exemples :
La case n° 4 représentera le quadruplet {1,0,0,0} ou a = 1, b = 0, c = 0 et d = 0 (a . b . c . d ).
La case n° 11 représentera le quadruplet {1,1,1,1} ou a = 1, b = 1, c = 1 et d = 1 (a . b . c . d ).
La case n° 16 représentera le quadruplet {1,0,1,0} ou a = 1, b = 0, c = 1 et d = 0 (a . b . c . d ).
Adjacences des cases
Dans chaque cas, l'ordre d'écriture des états des variables fait qu'entre deux cases voisines (en ligne ou en colonne) une seule variable change d'état ; on dit de telles cases qu'elles sont adjacentes.
La case 2 correspond à a = 0 ; b = 1 ; c = 0 ; d = 0
La case 3 correspond à a = 1 ; b = 1 ; c = 0 ; d = 0
Lorsque nous passons de 2 à 3, seule la variable "a" change d'état :
2 et 3 sont adjacentes.
Lorsque nous passons de 2 à 1, seule la variable "b" change d'état :
2 et 1 sont adjacentes.
Lorsque nous passons de 2 à 6, seule la variable "d" change d'état :
2 et 6 sont adjacentes.
Enfin, lorsque nous passons de 2 à 14, seule la variable "c" change d'état :
2 et 14 sont adjacentes.
Nous venons de déterminer les adjacences de la case n° 2.
Cette notion de cases adjacentes est fondamentales.
Ecriture dans le tableau de KARNAUGH
Supposons que l'étude d'un dispositif nous ait conduit à la table de vérité suivante :
Le dispositif Z doit fonctionner :
si les 3 variables a, b et c sont simultanément à l'état 0 (fonction ET ==> a . b . c ).
OU si a = 0, b = 1, c = 1 simultanément (fonction ET ==> a . b . c)
OU si a = 1, b = 0, c = 0 simultanément (fonction ET ==> a . b . c)
Ce que nous traduisons par l'équation :
Dans le tableau de Karnaugh, nous mettrons un "1" dans chacune des cases correspondant au termes a . b . c ; a . b . c et a . b . c.
Nous placerons un "0" dans les cases correspondant aux autres termes.
Il est important de remarquer que la table de vérité, l'écriture algébrique d'une fonction et le tableau de karnaugh ne sont que des formes d'écriture différentes du même phénomène.
Repérage de zones dans un tableau de Karnaugh
Soit à transcrire l'équation logique suivante :
Nous devons écrire un "1" dans toutes les cases qui vérifient chaque terme de l'équation X.
Le 1er terme est vrai dans les cases n°15 et 16 (en rouge)
Le 2ème terme est vrai dans les cases n°9 12, 13 et 16 (en bleu)
Le 3ème terme est vrai dans la cases n°5 (en noir)
Le 4ème terme est vrai dans les cases n°1, 2, 3, 4, 13, 14, 15 et 16 (en vert)
Dans la pratique nous remplissons une seule fois les cases.
Nous pouvons observer les faits suivants :
Quand un terme ne contient qu'une variable il occupe une zone de 8 cases
Quand un terme est un produit de 2 variables il occupe une zone de 4 cases
Quand un terme est un produit de 3 variables il occupe une zone de 2 cases
Quand un terme est un produit de 4 variables il occupe une zone d'1 cases
Lecture d'une fonction dans un tableau de karnaugh
Nous pouvons lire successivement chacune des cases (fonction ET) et les lier par des fonctions OU.
Exemple 1 :
Dans l'exemple 1 nous lisons que Y est égale à a ET b ET c ET d
et nous écrivons Y = a . b . c . d
Exemple 2 :
Dans l'exemple 2 nous lisons que :
Y est égale à a ET b ET c ET d OU a ET b ET C ET d
et nous écrivons Y = a . b . c . d + a . b . c . d
Regroupement de cases dans un tableau de Karnaugh
Soit le tableau de la fonction Y suivante :
Nous pouvons écrire :
En fait , nous pouvons simplifier cette expression en remarquant que :
1°
2° Ces deux termes correspondent à 2 cases adjacentes (cases 9 et 13).
3° Nous aurions pu lire directement dans le tableau de Karnaugh :
Notre expression est maintenant sous la forme :
Minimisation d'une fonction dans un tableau de Karnaugh
En continuant notre observation nous pouvons remarquer également que la fontion vaut "1" dans deux autres cases adjacentes, ce qui nous aurait conduit à l'expression :
Mais l'expression la plus simple sera obtenue en regroupant les cases comme indiqué :
Ce qui correspond à la manipulation algébrique suivante :
Ce qui donne l'expression la plus simple que l'on puisse obtenir.
Nous avons minimiser l'équation de la fonction Y.
En regroupant les cases adjacentes par deux, on suprime une variable des termes correspondants ; une manipulation algébrique simple montre que pour supprimer deux variables, il faut disposer de 4 cases adjacentes, pour en supprimer 3 il faut 8 cases adjacentes, etc...
Exemple :
Y = a . d + b . c . d
Autre exemple :
Y = b . d
Résumé
La méthode de lecture des fonctions dans un tableau de Karnaugh consiste donc à regrouper les cases adjacentes par 2n, n étant le plus grand possible. On essaie de regrouper toutes les cases de cette manière, les chevauchements de groupes étant permis.
Une zone de 8 cases définira une variable.
Une zone de 4 cases définira un produit de 2 variables.
Une zone de 2 cases définira un produit de 3 variables.
Une zone d'1 cases définira un produit de 4 variables.
On lit enfin la fonction, en ne conservant pour chaque association que les variables qui ne changent pas d'état.
Cas particulier
Il arrive parfois qu'une fonction soit indéterminée pour certaines combinaisons des variables, pour différentes raisons ; la plus courante est que certaines combinaisons des variables étant impossibles, on ne juge pas utile de donner une valeur particulière à la fonction pour ces combinaisons là.
Dans les cases correspondantes du tableau de Karnaugh, on placera un signe particulier ().
Lors du regroupement des cases nous transformons le en 0 ou en 1 suivant la convenance, suivant les simplifications qui peuvent en découler.
Exemple :
On obtient ici l'expression la plus simple de F en transformant le de la case 6 en "1" , ce qui permet de regrouper les cases 5, 6, 7, 8 et en transformant le de la case 2 en "0".
Nous aurons donc : Z = c |