Add Karnaugh table

This commit is contained in:
flyingscorpio@arch-desktop 2021-09-04 23:26:04 +02:00
parent 4045af5f8c
commit 0505994673

View file

@ -535,4 +535,62 @@
\subsubsection{Simplification des fonctions booléennes --- Tableau de Karnaugh}
Soit $S$ la fonction définie par le tableau de vérité et l'expression suivants~:
\begin{tabular}{r|ccc|c}
\toprule
valeur décimale & $x_2$ & $x_1$ & $x_0$ & $S$ \\
\midrule
0 & 0 & 0 & 0 & 0 \\
1 & 0 & 0 & 1 & 0 \\
2 & 0 & 1 & 0 & 1 \\
3 & 0 & 1 & 1 & 1 \\
4 & 1 & 0 & 0 & 1 \\
5 & 1 & 0 & 1 & 1 \\
6 & 1 & 1 & 0 & 1 \\
7 & 1 & 1 & 1 & 0 \\
\bottomrule
\end{tabular}
$S = \overline{x_2} \cdot x_1 \cdot \overline{x_0} + \overline{x_2} \cdot x_1 \cdot x_0 + x_2 \cdot \overline{x_1} \cdot \overline{x_0} + x_2 \cdot \overline{x_1} \cdot x_0 + x_2 \cdot x_1 \cdot \overline{x_0}$
On peut simplifier l'expression~:
\begin{align*}
\overline{x_2} \cdot x_1 \cdot \overline{x_0} + \overline{x_2} \cdot x_1 \cdot x_0
= \overline{x_2} \cdot x_1 \cdot (\overline{x_0} + \cdot x_0)
= \overline{x_2} \cdot x_1 \cdot 1
= \overline{x_2} \cdot x_1
\end{align*}
On a regroupé deux mintermes différents par la complémentation d'une variable.
Un \emph{tableau de Karnaugh} permet de faire cela de manière systématique.
Pour créer un tableau de Karnaugh, on reproduit une table de vérité sous forme d'un tableau à double entrée selon le code Gray (un seul bit change entre deux entrées adjacentes).
\paragraph{Exemple}
\begin{multicols}{2}
$G = \overline{x_2} \cdot x_1 \cdot \overline{x_0} + \overline{x_2} \cdot x_1 \cdot x_0$
\begin{tabular}{|c|c|c|c|c|}
\hline
$x_2\backslash x_1 x_0$ & 00 & 01 & 11 & 10 \\
\hline
0 & $0_0$ & $0_1$ & $\textcolor{red}{1}_3$ & $\textcolor{red}{1}_2$ \\
\hline
1 & $0_4$ & $0_5$ & $0_7$ & $0_6$ \\
\hline
\end{tabular}
\end{multicols}
Pour chaque minterme correspondant à deux cases adjacentes à 1 du tableau, il suffit alors de recopier seulement les variables qui ne changent pas~:
$G = \overline{x_2} \cdot x_1 \cdot (\overline{x_0} + x_0) = \overline{x_2} \cdot x_1$
\quad (ici $x_0$ change et donc s'annule)
On peut ainsi regrouper 2, 4 voire 8 cases (= 1, 2 ou 3 mintermes).
\end{document}