Le tableau de Karnaugh est un outil qui permet de simplifier des équations booléennes, avec moins de chances de se tromper qu'en utilisant les règles de l'algèbre de Boole classique. On peut l'utiliser avec au maximum 5-6 variables, au-delà il devient rapidement inefficace.
Créer et remplir un tableau de Karnaugh
A partir d'une table de vérité
Prenons la table de vérité suivante :
| 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 créer 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 associée : par exemple, sur la ligne 1, on voit la case 'AB', ce qui implique que '00' signifie A=0 et B=0 ou encore

et
ATTENTION : c'est très important que d'une case consécutive à 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 résultats 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.
Ces mises en gardes terminées, on peut maintenant remplir le tableau en fonction de notre table de vérité : on commence par la première ligne de la, qui est, je vous le rappelle :
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 première case, et on y inscrit la valeur de S donnée par la table de vérité (ici 0) :
On continue avec la 2ème ligne de la table :
Ce qui donne :
Et ainsi de suite pour toutes les autres cases. On obtient donc :
A partir d'une équation booléenne
On peut également remplir un tableau directement à l'aide d'une équation booléenne. Cela permet par exemple de la simplifier plus qu'avec les règles de l'algèbre.
Pour cela il faut avoir une équation sous la forme d'une somme de produit.
Exemple :

On isole le premier produit et on identifie les variables :

On va donc chercher la case du tableau qui vérifie ces conditions :

, c'est à dire un cas où l'équation est vraie, et on ajoute un 1 dans la case
On passe au deuxième produit :

On voit que dans ce produit la variable

n'apparait pas. Cela signifie que l'équation est vraie si :
On procède de même pour les trois autres produits, où il y a à chaque fois deux variables indéterminées, ce qui signifie qu'on rempli 4 cases pour chaque produit. On obtient finalement :
Remarque : il est fort probable que plusieurs produits conduisent à remplir la même case, c'est tout à fait normal
Retrouver l'équation booléenne simplifiée
Réaliser les groupements
Il s'agit maintenant de réaliser des "groupements" de 1 : on va entourer des groupes de 1 dans le tableau en respectant quelques règles :
- Les groupements peuvent utiliser plusieurs fois le même 1
- Ils ne doivent pas contenir de 0
- Tous les 1 doivent être contenus dans un groupement
- Ils doivent être les plus grands possible
- Ils doivent être rectangulaire (ou carré)
- Leur dimensions doivent être des puissances entières de 2 (2⁰=1, 2¹=2, 2²=4, etc) Exemples : un carré de 2 par 2 ou un rectangle de 1 par 4
- On imagine que les lignes et colonnes sont bouclées : on peut utiliser par exemple un 1 de la première colonne avec un de la dernière colonne
Reprenons le tableau rempli précédemment avec la table de vérité. On commence par le groupement le plus évident, le rectangle de 4 par 1 :
Ensuite vient le groupement de 2 par 1 du haut :
On peut se servir du fait que les lignes sont bouclées et qu'on peut réutiliser plusieurs fois le même 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 entière de 2) :
Déduire l'équation simplifiée
Maintenant on va déduire chaque groupement réalisé une partie de l'équation finale.
Pour cela, on va repérer pour chaque groupement les variables qui ne varient pas, et ce quelle que soit la case du groupement. Cela peut paraître compliqué dit comme ça, mais vous verrez qu'avec un ou deux exemples, ça sera très facile
On va s'occuper en premier de notre groupement vert. On étudie chaque variable l'une après l'autre :
Commençons par la variable A :
On s'aperçoit 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.
Voyons maintenant la variable B :
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 :
Pour la variable C :
C'est la même 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 (

) . On rajoute cette information à notre équation temporaire :
La variable D se comporte exactement comme la variable C. On obtient donc

On procède exactement pour le groupent bleu :

Pour les groupements jaune et rouge, c'est encore similaire, à la nuance que les groupements sont plus grands, donc il y a une variable de moins qui ne varie pas (d'où l'intérêt de faire les groupements les plus grands possibles). Essayer de les retrouver par vous même pour vous entrainer.
Secret (cliquez pour afficher)
Bon et que fait-on avec tout ça ? Et bien on retrouve l'équation pardi !
On a trouvé les équations des groupements, c'est à dire les conditions au niveau des variables pour appartenir à un groupement. Comme les groupements regroupent toutes les combinaisons qui donnent un résultat vrai, il suffit qu'une combinaison vérifie l'équation d'un des groupement pour qu'on soit sûrs que la sortie soit vraie. A l'inverse, on peut être sûrs que la sortie sera fausse. D'où l'équation finale :

ce qui signifie que
Et voilà ! Vous avez trouvé l'équation la plus simple possible de la table de vérité du début !
Essayer de simplifier avec les règles de l'algèbre de Boole, vous parviendrez tout au plus à factoriser mais en aucun cas à simplifier.
Exercice
Pour vous entrainer, vous pouvez essayer de retrouver l'équation du tableau de Karnaugh qu'on a rempli avec une équation. Le voici pour mémoire :
Vous devez obtenir :
Secret (cliquez pour afficher)