Tableaux de Karnaugh

Les tableaux de Karnaugh sont une forme particulière de table de vérité. En respectant certaines règles de présentation, ils permettent d'obtenir la forme la plus simple possible d'une fonction logique.

Chaque case du tableau correspond à une ligne de la table de vérité d'une fonction logique: une fonction à n variables est donc représentée par un tableau à 2n cases agencé de telle façon qu'une seule variable change de valeur quand on passe d'une case à une case adjacente.

Attention

La dernière ligne et la première ligne sont aussi adjacentes. La dernière et la première colonne sont aussi adjacentes.

Dans l'idéal il faudrait donc représenter le tableau de Karnaugh sur un tore !

Remarque

Si un tableau contient peu de \(0\), on peut regrouper les \(0\) plutôt que les \(1\) pour obtenir le complémentaire de la fonction logique.

Si certaines combinaisons d'entrées sont absurdes et ne peuvent pas absolument se réaliser ("pièce trop grande" ET "pièce trop petite"), on écrit une croix dans la case correspondante. Cette croix pourra être considérée comme valant \(1\) ou \(0\) suivant ce qui nous arrange dans les regroupements.

MéthodeRegroupement dans les tableaux de Karnaugh

  1. Reporter d'abord dans le tableau les valeurs de la fonction pour chacune des combinaisons des entrées

  2. Faire ensuite des groupes de \(2^i\) cases adjacentes (donc pas en diagonale !) valant \(1\) (cf. remarque précédente) :

    • on essaie de faire des groupes les plus "grands" possibles

    • on peut utiliser plusieurs fois si nécessaire une même case pour plusieurs groupes différents

    • cependant, si toutes les cases à regroupées font partie d'un groupe au moins, on "arrête"

  3. Pour chaque groupe, on ne conserve pour l'équation logique que les variables qui ne changent pas d'état

  4. On déduit l'équation de la sortie en sommant les différents "morceaux" d'équation logique obtenus précédemment.

n=2

\(f_4 = \color{blue}{a \bar b}\)

\[\begin{array}{c|c|c|} b \ a & 0 & 1\\ \hline 0 & 0 & \color{blue}{1} \\ \hline 1 & 0 & 0 \\ \hline \end{array} \]

n=3

\(f_5 = \color{blue}{\bar a b \bar c} + \color{green}{a b \bar c} \color{black}{= b \bar c}\)

\[\begin{array}{c|c|c|c|c|} c \ ab & 00 & 01& 11 & 10\\ \hline 0 & 0 & \color{blue}{1} & \color{green}{1}&0\\ \hline 1 & 0 & 0 &0&0\\ \hline \end{array} \]

n=4

\(f_6 = \color{magenta}{a \bar b c d}+\color{blue}{abcd} + \color{red}{ab \bar c d} + \color{green}{a \bar b \bar c d} \color{black}{= ad}\)

\[\begin{array}{c|c|c|c|c|} cd \ ab & 00 & 01& 11 & 10\\ \hline 00 & 0 & 0 & 0 &0\\ \hline 01 & 0 & 0 & \color{red}{1} & \color{green}{1}\\ \hline 11 & 0 & 0 & \color{blue}{1} & \color{magenta}{1}\\ \hline 10 & 0 & 0 & 0 & 0 \end{array} \]

Maurice Karnaugh (1924 - )

Complément

Maurice KarnaughInformations[1]

Ingénieur américain, docteur en physique (1952). Chercheur aux laboratoires Bell de 1952 à 1966, il y développe sa méthode de simplification d'équations logiques.

Il travaille ensuite dans le monde informatique au sein d'IBM (entre 1966 et 1993) et participe activement aux évolutions des télécommunications (membre de l'IEEE, association fixant notamment de nombreux standards en informatique).