Tableau de Karnaugh

Le Tableau de Karnaugh : Programme de BTS

TUTO : Le Tableau de Karnaugh : Certifié

Aujourd’hui on va se faire le tableau de Karnaugh !

Bon… tout le monde connaît la bataille navale ? Vous avez les colonnes (colonne A, colonne B, colonne C…) et les lignes (ligne 1, ligne 2, ligne 3…). Quand c’est votre tour vous dites une coordonnée… genre : C4 ! et la BOUM ! la cellule qui correspond à la ligne 4 colonne C explose. Et si vous avez de la chagatte, vous touchez !

C’est le même principe :) vous avez un tableau par exemple :

N A/B
- - - 0/0 0/1 1/1 1/0
C 0 - - - - - - - - - - - -
1 - - - - - - - - - - - -

Voici un tableau de Karnaugh vierge, les lettres A et B correspondent respectivement aux deux chiffres de la lignes servant de tête à chaque colonnes. La lettre C correspond au 0 et au 1 des deux lignes du dessous. (regardez les couleurs)

Tout d’abord, vous remarquerez qu’il y a deux possibilités : soit une variable (comme A,B ou C) est égale à 1, soit elle est égale a 0. Comment faire la différence ?

Et bien c’est facile :
  • A = 1
  • A̅ = 0

Et c’est pareil avec toutes les lettres ! dès qu’il y a une ̅ au dessus d’une lettre, cela représente son inverse. DONC retournons à notre tableau… essayons de mettre cette formule dans le tableau :

abc

N A/B
- - - 0/0 0/1 1/1 1/0
C 0 - - - - - - - - - - - -
1 - - - - - - 1 - - -

Et voila o.o c’était super hard core non ?

bon je m’explique, la formule était “abc”. Autrement dit “coche moi la case ou les variables : a b et c sont égales à 1” il n’y a donc qu’une seule case correspondant à cette description ! C’est la case qui rassemble tous les 1 :’)

maintenant faisons celle la :

cb + a


N A/B
- - - 0/0 0/1 1/1 1/0
C 0 - - - - - - 1 1
1 - - - 1 1 1

alors, tout d’abord, traduisons “cb + a” en français => “cochez les cases ou c et b sont égales à 1 (en bleu et violet) ainsi que les cases ou a est égale à 1 (en rouge et violet)”. Rien de bien complexe non ? la case en violet est la case commune entre les deux variables. Allez, on complique un peu !

je veux b + c̅


N A/B
- - - 0/0 0/1 1/1 1/0
C 0 1 1 1 1
1 - - - 1 1 - - -

b + ̅c = coches moi toutes les cases ou b est égale à 1 et ou c est égale à 0.

Bon ! on va pas en faire 15 000 vous avez du comprendre le principe ^^ le tableau de Karnaugh ne sert pas qu’à ça, vous pouvez vous en servir pour “simplifier” une équation ! Essayons :) simplifions :

a̅ . b . c̅ + a̅ . b . c



Pour commencer, entrons (comme on sait le faire) la formule dans le tableau :

N A/B
- - - 0/0 0/1 1/1 1/0
C 0 - - - 1 - - - - - -
1 - - - 1 - - - - - -

Comme quoi une si grande formule nous fait cocher que deux cases ! :p Alors, maintenant qu’on à coché nos cases ? que faire ? Il faut rassembler nos “1” dans des blocs et simplifier au maximum notre formule. Autrement dit nous devons reformuler l’équation.

Au lieu de dire “je vais chez la fille de la soeur de ma mère” je vais dire “je vais chez ma cousine”.

Donc : rassembler les 1 dans des blocs (des blocs de 2,4,8,16,32,64…) ou les 1 sont “collés” les uns aux autres. exemple :

N A/B
- - - 0/0 0/1 1/1 1/0
C 0 - - - 1 - - - - - -
1 - - - 1 - - - - - -

les cellules bleues représentes le bloc que j’ai choisi pour simplifier :) (en même temps y’a pas 36 solutions la…) à quoi correspondent ces cases ? quel est leur point commun ? le C ? non, la cellule du haut à le C égal à 0, alors que la cellule du bas à son C égal à 1. Le point commun se trouve dans la colonne ! les deux cases ont le A égal à 0 et le B égal à 1 ! donc la simplification de a̅ . b . c̅ + a̅ . b . c sera “a̅.b”

Aller… je vais compliquer en mode hardcore pour vous faire comprendre une fois pour toute ! nous allons simplifier :

a̅.b̅.c.d̅ + a̅.b.c̅.d +a.b̅.c.d̅ + a̅.b̅.c̅.d̅ + a.b.c̅.d + a̅.b.c.d + a.b̅.c̅.d̅



ouille ouille ouille ! commençons par le début, nous allons faire chaque bloc un par un (les blocs sont séparés par des “+”)

a̅.b̅.c.d̅ = cochons les cases ou a = 0 et b = 0 et c = 1 et d = 0.

N A/B
- - - 0/0 0/1 1/1 1/0
C/D 0/0 - - - - - - - - - - - -
0/1 - - - - - - - - - - - -
1/1 - - - - - - - - - - - -
1/0 1 - - - - - - - - -


ensuite la case ou a̅.b.c̅.d
a=0 b=1 c=0 et d=1

N A/B
- - - 0/0 0/1 1/1 1/0
C/D 0/0 - - - - - - - - - - - -
0/1 - - - 1 - - - - - -
1/1 - - - - - - - - - - - -
1/0 1 - - - - - - - - -

vous avez pigé la méthode, je fais tout le reste d’un coup ! Et je choisi mes blocs :)

N A/B
- - - 0/0 0/1 1/1 1/0
C/D 0/0 1 - - - - - - 1
0/1 - - - 1 1 - - -
1/1 - - - 1 - - - - - -
1/0 1 - - - - - - 1

les blocs ont minimum 2 cases ! donc la case de couleur orange représente un bloc qui est, à la fois utilisé, dans le bloc “jaune” et dans le bloc “rouge”. Je n’ai plus qu’à trouver les points communs et simplifier mon équation à rallonge, qui je le rappelle est :

a̅.b̅.c.d̅ + a̅.b.c̅.d +a.b̅.c.d̅ + a̅.b̅.c̅.d̅ + a.b.c̅.d + a̅.b.c.d + a.b̅.c̅.d̅



Je simplifie :)

pour obtenir le :

  • bloc bleu / et bah... bleu = d̅.b̅
  • bloc jaune / orange = a̅.b.d
  • bloc rouge / orange = c̅.d.b
Autrement dit : d̅.b̅ + a̅.b.d + c̅.d.b = a̅.b̅.c.d̅ + a̅.b.c̅.d +a.b̅.c.d̅ + a̅.b̅.c̅.d̅ + a.b.c̅.d + a̅.b.c.d + a.b̅.c̅.d̅



il y a ENCORE moyen de simplifier cela, mais… par le calcul ! et je suis pas encore assez doué pour vous l’expliquer :p peut être dans un futur tuto ou une mise à jour de celui la ^^