]> AND Private Git Repository - cours-maths-dis.git/blob - logique/AlgBoole13.tex
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
t
[cours-maths-dis.git] / logique / AlgBoole13.tex
1
2 \section{Propriétés générales}
3
4
5 %\subsection{Définition}
6 \begin{Def}[Algèbre de Boole] On appelle \emph{algèbre de
7 Boole}\index{algèbre de Boole} la structure algébrique 
8 $(\mathcal{A},+,.,\overline{\mathstrut\enskip})$
9 définie par un
10 ensemble (non vide) $\mathcal{A}$ et trois opérations  :
11 \begin{itemize}
12  \item la somme booléenne (binaire) : ``+'',
13  \item le produit booléen (binaire) : ``.'' et 
14  \item la négation booléenne (unaire) : ``{$\overline{\mathstrut\enskip}$}'' 
15 (par exemple $\overline{a}$).
16 \end{itemize}
17 et qui doivent posséder les propriétés données du tableau ci-dessous.
18 \end{Def}
19
20 % AG : parmi ces propriétés, certaines découlent des autres.
21 % Lesquelles ? Quelle sont les axiomatisations minimales le splus
22 % intéressantes ?
23 %
24 % CG : Je pense que pour nos étudiants, il vaut mieux tout détailler,
25 % au risque de se répéter. Ce qui n'empêche pas que l'on peut évoquer,
26 % à l'oral, la redondance.
27
28
29
30 % CG : Je n'arrive pas à mettre la table sur la même page que la 
31 % définition d'une algèbre de boole. J'ai donc supprimé le Table,
32 % et réduit la taille des caractères. Je pense que c'est préférable
33 % de tout avoir sur une même page.
34
35 \begin{small}
36 $$
37 \begin{array}{||c|c||c|c||}
38 \hline
39 \hbox{Propriété}        &   & &            \\ \hline
40 \hbox{idempotence}      & a+a=a               &    \hbox{distributivités}  & a\cdot(b+c)=a\cdot b+a\cdot c 
41                                         \\
42                         & a\cdot a=a           &                         & a+b\cdot c=(a+b) \cdot(a+c)
43                                            \\ \hline
44
45 \hbox{commutativité}    & a+b=b+a         & \hbox{involution}       & \sur{\sur a}=a    \\ 
46 &a\cdot b=b\cdot a &                        &  \\ \hline
47 \hbox{associativité}    & a+(b+c)=(a+b)+c  & \hbox{complémentation}  & \sur 0=1          \\ 
48                         & a\cdot(b\cdot c)=(a\cdot b)\cdot c &                         & \sur 1=0          \\ \hline
49 \hbox{éléments neutres} & a+0=a               &\hbox{partition}        & a+\sur a=1        \\
50
51                         & a\cdot 1=a &                        & a\cdot \sur a=0  \\ \hline           
52 \hbox{absorption}       & a+1=1                  & \hbox{\og Lois de De Morgan\fg{}} 
53                         & \sur{a+b}=\sur a\cdot\sur b 
54                                             \\
55
56                         & a\cdot 0=0     &                        & \sur{a\cdot b}=\sur a+\sur b 
57                                            \\\hline
58
59
60 \end{array}
61 $$
62 \end{small}
63 \begin{center}Propriétés d'une algèbre de Boole\end{center}
64
65
66
67 \begin{Rem}
68  Les signes opératoires utilisés sont les mêmes que ceux de l'addition et de la multiplication des réels. Cependant, ces opérations n'ont évidemment pas les mêmes propriétés, et ne portent pas sur les mêmes éléments.
69 \end{Rem}
70
71
72
73
74 \begin{Exo}[Somme disjonctive]
75 On considère une algèbre de Boole quelconque $(E,+,\cdot ,
76 \overline{\mathstrut\enskip})$.
77
78 On définit l'opération \og somme disjonctive\fg{}, notée $\oplus$, par $a \oplus b = \overline{a} b+a \overline{b}$.
79
80
81 \begin{enumerate}
82 \item Que vaut $a \oplus 0$ ? $a \oplus 1$ ?
83 \item Calculez $a \oplus a$ et $a \oplus \overline{a}$.
84 \item Calculez $\overline{a \oplus b}$.
85 \item Montrez que $\oplus$ est associative et commutative.
86 %\item Comparer cette opération à la différence symétrique de la théorie des ensembles, au ou exclusif (XOR), et à l'addition modulo 2.
87 \end{enumerate}
88 \end{Exo}
89
90
91
92
93 \begin{Exo}[Opérateurs de Sheffer et de Peirce]
94 Soit $(E,+, \cdot , \overline{\mathstrut\enskip})$ une algèbre de Boole.
95 \begin{enumerate}
96 \item On définit l'opération de Sheffer\footnote{D'après le logicien H.M. Sheffer} par : $a | b= \overline{a}+
97 \overline{b}$.% (c'est le NAND des informaticiens).
98
99 Comment obtenir $\overline{a}$, $a+b$, $a \cdot b$ en n'utilisant que l'opérateur $|$ ? Faire de même pour $a+ \overline{b}$; étudier l'associativité de cette opération.
100
101 \item On définit la flèche de Peirce\footnote{Lorsque les logiciens,
102 dans les années 1930, cherchèrent un symbole pour exprimer le
103 connecteur découvert par C.S. Peirce (1839-1914), ``Pierce Arrow'' était
104 le nom d'une célèbre marque de voiture !} par: $a \downarrow b =
105 \overline{a} \cdot \overline{b}$.% (c'est le NOR). 
106 Mêmes questions. \end{enumerate} 
107 \end{Exo}
108
109
110 % \begin{Rem}
111 % Ces connecteurs sont donc remarquables, puisqu'ils sont universels (tous les autres connecteurs peuvent s'exprimer avec uniquement la barre de Scheffer, ou uniquement avec la flèche de Peirce).
112 % Cependant, par manque de concision et de lisibilité, ces connecteurs ne sont pas utilisés en logique.
113 % \end{Rem}
114
115 % AG : ``signe opératoire'', ``connecteur'', ``opérateur'',
116 % ``opérations''
117 % sont-ils synonymes ? dans quelle mesure ? lesquels sont à
118 % privilégier ?
119 %
120 % CG : Pour moi, oui. Je ne suis pas sûr qu'il faille en 
121 % privilégier un en particulier : autant habituer les étudiants
122 % à utiliser les différents vocabulaires qui existent (?)
123
124
125 \section{Règles de calcul dans une algèbre de Boole}
126
127
128 \begin{enumerate}
129  \item Les priorités habituelles sont respectées pour la somme et le produit booléen.
130  % AG : Mieux vaudrait rappeler ces règles ici.
131 \item Les éléments neutres sont notés 0 et 1, par analogie avec les
132 entiers de même symbole (ne pas oublier que ces calculs ne se déroulent pas dans $\R$...)
133 % \item L'absence d'éléments symétriques pour la somme et pour le produit interdit les simplifications que l'on a l'habitude de pratiquer \og  sans y réfléchir\fg{} :
134 % \begin{itemize}
135 %  \item $a+b=a+c$ ne donne pas $b=c$,
136 %  \item $ab=ac$ n'entraîne pas $b=c$.
137 % \end{itemize}
138 % En particulier, ne jamais perdre de vue que
139 % \begin{itemize}
140 % \item $a+b=0$ n'est réalisable en algèbre de Boole que si $a=b=0$
141 % \item $a.b=1$ n'est réalisable en algèbre de Boole que si $a=b=1$ ($A \cap B = E \Leftrightarrow A=E \textrm{ et } B = E$)
142 % \item $a.b=0$ peut être réalisé avec $a\neq 0$ et $b\neq 0$ (par exemple, avec $b=\sur a$, mais ce n'est pas la seule solution...). On parle de \og  diviseurs de zéro\fg{}. (Ainsi, $A \cap B = \varnothing$ est possible sans avoir obligatoirement $A = \varnothing$ et $B = \varnothing$). 
143 % \end{itemize}
144 \item Il y a deux distributivités. Celle de la somme (booléenne) sur le produit (booléen) n'est pas habituelle. Par exemple, simplifier $(a+b)(a+c)(a+d)(a+e)(a+f)$
145 \item Signalons pour finir que, comme ci-dessus, le point pour le produit est souvent omis. 
146 \end{enumerate}
147
148
149 Dans une expression booléenne, une sous-expression est dite \og redondante\fg{} lorsqu'on peut la supprimer sans changer la \og valeur\fg{} de l'expression :
150
151
152 \begin{Th}[Suppression de redondance]
153 On a les trois règles suivantes:
154 \begin{enumerate}
155 \item Dans une somme booléenne, tout terme absorbe ses multiples: $a+a\cdot b=a$.
156 \item Dans un produit booléen, tout facteur absorbe tout autre facteur qui le contient en tant que terme: $a\cdot(a+b)=a$.
157 \item Ajouter à un terme un multiple $b$ de son complément revient à ne lui ajouter que $b$: $a+\sur a\cdot b=a+b$
158 \end{enumerate}
159 \end{Th}
160
161 \begin{Proof}
162 On déomntre les trois règles comme suit:
163 \begin{enumerate}
164 \item  En effet, $a+a\cdot b=a\cdot(\sur b+b)+a\cdot b=a\cdot\sur b+a\cdot b+a\cdot b=a\cdot\sur b+a\cdot b\ \hbox{ (par idempotence)}=a\cdot(\sur
165 b+b)=a$.
166 \item En effet, $a\cdot(a+b)=a\cdot a+a\cdot b=a+a\cdot b=a$.
167 \item $a+\sur a\cdot b=(a+\sur a)\cdot(a+b)=1\cdot(a+b)=a+b$.
168 \end{enumerate}
169 \end{Proof}
170
171 \begin{Ex}
172  $ab + \sur a c + \sur b c = a b +(\sur a + \sur b )\cdot c = ab + \sur {ab} \cdot c = ab+c$
173 \end{Ex}
174
175
176
177
178  \begin{Exo}
179 % L'application de cette troisième règle peut être combinée avec celle des autres, comme par exemple dans le calcul suivant :
180 Montrer que $a\cdot b+\sur a\cdot c+b.c=a\cdot b+\sur a\cdot c$
181 \end{Exo}
182
183 % \begin{Proof}
184 % $a\cdot b+\sur a\cdot c+b\cdot c=a\cdot b+\sur a\cdot
185 % c+(a+\sur a)\cdot b\cdot c=a\cdot b+\sur a\cdot c+a\cdot b\cdot
186 % c+\sur a\cdot b\cdot c$; $a\cdot b$ absorbe $a\cdot b\cdot c$ et
187 % $\sur a\cdot c$ absorbe $\sur a\cdot b\cdot c$, d'où le
188 % résultat.
189 % \end{Proof}
190
191 % \begin{Exo}[Somme disjonctive]
192 % Montrez que l'on a $a = b$ si et seulement si $a \oplus b = 0$.
193 % \end{Exo}
194
195
196
197 \begin{Exo}[Calcul booléen élémentaire]
198 % AG : Que veut dire ``effectuer les calculs ? Est-ce en terme de
199 % règles appliquées au maximum de gauche à droite, en terme de forme
200 % normale atteinte ?
201 Appliquer au maximum les règles précédentes pour supprimer les redondances 
202 dans les calculs suivants.
203 \begin{enumerate}
204 %\item $(a+b) \cdot (b+c) \cdot (c+a)$
205 %\item $(a+b) \cdot (a+c)+(b+c) \cdot (a+b)+(a+c) \cdot (b+c)$
206 \item $(a+b+c) \cdot (a+\overline{b}+c) \cdot (a+\overline{b}+\overline{c})$
207 \item $a+\overline{a} \cdot b \cdot c+\overline{a}+a \cdot b$
208 \item $a \cdot b+\overline{a} \cdot b \cdot c+a \cdot \overline{b} \cdot c$
209 %\item $a \cdot \overline{b}+a \cdot b \cdot c+a \cdot \overline{b} \cdot c \cdot d$
210 \item $(a+b+c) \cdot (\overline{a}+\overline{b}+\overline{c}+d)$
211 \end{enumerate}
212 \end{Exo}
213
214
215 \begin{Exo}[Calcul booléen]
216 Même énoncé qu'à l'exercice précédent.
217 %Simplifier les expressions suivantes.
218 \begin{enumerate}
219  \item $(\sur a+b)(\sur c+\sur a\cdot\sur b+a\cdot b)\ $.
220  \item $(a+\sur b+\sur c)\cdot(\sur a+b)\cdot(\sur b+c)$.
221 % \item $(a+\sur b+c+b\cdot\sur d)\cdot(\sur b+c)$.
222 % \item $\sur{\sur a+\sur b+c}+\sur{\sur a+b}+\sur a+c$.
223 % \item $(a+\sur b+c)\cdot(\sur{a+b}+c+d)+\sur{a+\sur b+d}\cdot\sur{\sur{a+b}+a+d}$.
224 % \item $\sur{[(\sur a+c)+(\sur b+d)]\cdot(\sur c+\sur d)}+\sur a+\sur b\ $.
225 % \item $a\cdot(\sur b+c)\cdot(\sur{a\cdot b}+a\cdot c)+\sur{a\cdot(\sur
226 % b+c)}\cdot\sur{\sur{a\cdot b}+a\cdot c}$.
227 % \item $(\sur{a\cdot b\cdot c+a\cdot b\cdot d})\cdot(\sur{\sur a+\sur
228 % b+\sur{c+d}})+a\cdot b\cdot(c+d)\cdot(\sur a+\sur b+\sur{c+d})\ $.
229 % \item $\sur{\sur a\cdot\sur b+a\cdot b}+\sur b\cdot\sur c+b\cdot c$.
230 %  \item $\sur{\sur a+b+\sur{\sur a\cdot b}}+\sur{a\cdot\sur b}+c$.
231 % \item $\sur{\sur{a\cdot\sur b}+\sur c+d}\cdot(\sur{a\cdot c}+b+d)+(\sur{a\cdot\sur b}+\sur
232 % c+d)\cdot\sur{\sur{a\cdot c}+b+d}$.
233 \item $(a+c)\cdot(\sur a+d)\cdot(\sur b+\sur e)\cdot(\sur b\cdot\sur
234 c+b\cdot c)\cdot(\sur d+c\cdot e)\cdot(\sur c+d)$.
235 \item $(\sur a\cdot\sur{a\cdot(\sur b+\sur c)}+a\cdot(\sur b+\sur
236 c))\cdot(\sur b\cdot\sur{\sur a+c}+(\sur a+c)\cdot b)\cdot(a\cdot\sur
237 b\cdot c+\sur{a\cdot\sur b}\cdot\sur c)$.
238 \end{enumerate}
239 \end{Exo}
240
241
242
243 \section{Fonctions booléennes}
244
245 Soit $\mathcal{A}$ une algèbre de Boole.
246
247
248 \begin{Def}[Fonction booléenne]
249 On appelle \emph{fonction booléenne de $n$ variables} \index{fonction!booléenne} toute application de $\mathcal{A}^n$ dans $\mathcal{A}$ dont l'expression ne contient que :
250 \begin{itemize}
251  \item les symboles des opérations booléennes,
252 \item des symboles de variables, de constantes,
253 \item d'éventuelles parenthèses.
254 \end{itemize}
255 \end{Def}
256
257
258
259
260
261
262 \begin{Ex}
263 $f(a,b,c)=a\cdot\sur b+c$.
264 \end{Ex}
265
266
267 \begin{Def}[Aspect d'une variable]
268 Si $a$ est une variable booléenne, elle peut intervenir dans l'expression d'une fonction booléenne sous la forme $a$ ou sous la forme $\sur a$, qui sont appelées les deux \emph{aspects} de cette variable : affirmé et nié.
269 \end{Def}
270
271
272 \begin{Def}[Fonction booléenne nulle]
273 On appelle \emph{fonction booléenne nulle} \index{fonction!booléenne!nulle} la fonction booléenne qui, à chaque valeur des variables, associe la valeur 0.
274 Son expression est $f(x_1,x_2,\ldots,x_n)=0$.
275 \end{Def}
276
277
278 \begin{Def}[Fonction référentiel]
279 On appelle \emph{fonction référentiel}\index{fonction!référentiel}  la fonction booléenne qui, à chaque valeur des variables, associe la valeur 1.
280 Son expression est $f(x_1,x_2,\ldots,x_n)=1$.
281 \end{Def}
282
283
284
285 \begin{Def}[Minterme, maxterme]
286  Un \emph{minterme} à $n$ variables\index{minterme} est une fonction booléenne à $n$ variables dont l'expression se présente sous la forme du produit d'un aspect et d'un seul de chacune des $n$ variables.
287
288 Définition analogue pour un \emph{maxterme} \index{maxterme}, en remplaçant dans la définition précédente \og produit\fg{} par \og somme\fg{}.
289 \end{Def}
290
291
292 \begin{Ex}[Minterme à trois variables]
293 $a\cdot\sur b\cdot c$ 
294 \end{Ex}
295
296 \begin{Ex}[Maxterme à trois variables]
297 $\sur a+b+\sur c$.
298 \end{Ex}
299
300 \begin{Exo}
301 Pour 3 variables $a$, $b$ et $c$, repérez les mintermes et les maxtermes : $b \sur c$, $a + \sur b + c$, $a \sur b b \sur c$, $\sur a b c$, $a + \sur b c$.
302 \end{Exo}
303
304 \begin{Exo}
305 Dressez la liste des mintermes et des maxtermes pour deux variables $a$ et $b$.
306 \end{Exo}
307
308
309 \begin{Th}[Nombre de mintermes et de maxtermes] Les mintermes et
310 maxtermes, pour un nombre donné $n$ de variables, sont au nombre de
311 $2^n$ chacun.
312 \end{Th}
313
314
315 \subsection{Formes canoniques d'une fonction booléenne}
316 % AG : en licence, ceci est repris sous le nom de formes normales de
317 % formules propositionnelles, obtenues par réécriture.
318 % Redondant, mais c'est bien d'avoir vu la méthode des diagrammes de
319 % Karnaugh et la méthode des consensus.
320 % Ma première lecture s'arrête ici.
321
322 %\subsubsection{Définition et théorème}
323 % AG : Pas assez précis. Un monôme est un produit de variables
324 % affirmées ou niées.
325
326 \begin{Def}[Monômes]
327 Un \emph{monôme}\index{monôme} est une fonction 
328 booléenne produit de variables booléennes éventuellement niées.
329 \end{Def}
330
331 \begin{Exo}
332 Parmi les expressions suivantes dire lesquelles sont des monômes et lesquelles ne le sont pas en justifiant:
333 $a + b$,
334 $a+bc$, 
335 $a(b+c)$,
336 $a\sur{b}$,
337 $b$.
338 \end{Exo}
339
340 \begin{Th}
341 Quelle que soit l'expression de la fonction booléenne, il est possible de la mettre sous la forme d'une somme de monômes. 
342 \end{Th}
343
344 \begin{Proof}
345 En effet, comme elle ne fait intervenir que les trois opérations booléennes, il suffit de lui appliquer les règles du calcul booléen:
346 \begin{enumerate}
347 \item On développe les négations (en appliquant les règles $\sur{a+b}=\sur a\cdot\sur b$ et $\sur{a\cdot b}=\sur a+\sur b$), jusqu'à ce qu'il n'y ait plus de négations que sur les variables;
348
349 \item Puis on développe les produits qui portent sur des sommes, en utilisant la distributivité du produit sur la somme;
350
351 \item On obtient ainsi une expression qui s'écrit sans parenthèses, et qui ne contient que des sommes de produits de variables éventuellement niées.
352 \end{enumerate}
353
354 \end{Proof}
355
356
357 \begin{Th}
358 Chaque monôme peut ensuite être mis sous la forme d'une somme de mintermes.
359 \end{Th}
360
361
362 \begin{Proof}
363 En effet, si, dans l'expression de ce monôme, toutes les variables interviennent, c'est déjà un minterme.
364
365 Dans le cas contraire, il manque (par exemple) la variable $a$ dans son expression : on la fait intervenir sous la forme $(\sur a+a)$. On développe, les deux monômes obtenus font intervenir la variable $a$.
366
367 Ou bien, il s'agit de mintermes et le processus est terminé, ou bien il manque encore une variable, qu'on fait intervenir en utilisant le même procédé, et ainsi de suite jusqu'à aboutir aux mintermes.
368 \end{Proof}
369
370
371 On fait évidemment disparaître du résultat, par idempotence, les occurrences multiples de mintermes, pour pouvoir énoncer le résultat suivant :
372
373 \begin{Th}[Forme canonique disjonctive]
374 Toute fonction booléenne à $n$ variables (autre que la fonction nulle) peut se mettre sous la forme d'une somme de mintermes à $n$ variables.
375
376 Cette forme, unique, s'appelle \emph{Forme Canonique Disjonctive}\index{forme canonique!disjonctive} (dans la suite, FCD).
377 \end{Th}
378
379  
380 \begin{Rem}
381 L'unicité de cette FCD permet la comparaison des fonctions booléennes entre elles.
382 \end{Rem}
383
384
385 Par négation booléenne de ce résultat, on obtient :
386
387
388 \begin{Th}[Forme canonique conjonctive]
389 Toute fonction booléenne de $n$ variables (autre que la fonction référentiel) peut se mettre sous la forme d'un produit de maxtermes à $n$ variables.
390
391 Cette forme, unique, est la \emph{Forme Canonique Conjonctive}\index{forme canonique!conjonctive} (FCC dans la suite). 
392 \end{Th}
393
394
395 \subsection{Obtention des formes canoniques}
396
397 La méthode algébrique consiste à :
398
399 \begin{itemize}
400  \item tout développer pour mettre l'expression sous la forme d'une somme 
401    de monômes,
402 \item dans chaque terme de cette somme, faire apparaître les valeurs qui n'y figurent pas.
403 \end{itemize}
404
405 \begin{Ex}
406 On illustre cela :
407
408 \noindent $f(a,b,c) = a+bc = a(\sur b + b) (\sur c + c) + (\sur a + a)bc$
409
410 \noindent $ = a \sur b \sur c + a \sur b c + ab \sur c + abc + \sur a bc +abc = m_3 + m_4 + m_5 + m_6 + m_7.$
411 \end{Ex}
412
413
414 Pour la FCC, on peut imaginer une méthode analogue.
415
416 \begin{Ex}
417 $f(a,b,c) = a+bc = (a+b)(a+c) = (a+b+ \sur c c) (a + \sur b b +c)$
418
419 $ = (a+b + \sur c ) \cdot (a+b+c) \cdot (a + \sur b +c) \cdot (a+b+c) = M_5 M_6 M_7$
420 \end{Ex}
421
422
423 \begin{Rem}
424 Si on prend la négation de la FCD, on obtient bien sûr une FCC... mais pas celle de la fonction, celle de sa négation !
425
426 Il suffit de prendre la négation de la fonction, de
427 calculer sa FCD puis de prendre la négation du résultat.
428 \end{Rem}
429
430
431 \begin{Exo}
432 Obtenir la FCC de $x + \overline{y}z$.
433 \end{Exo}
434
435
436 Il existe une autre méthode pour obtenir ces formes canoniques : la méthode des diagrammes.
437
438
439
440
441
442 \section{Diagrammes de Karnaugh}
443
444
445 La représentation des fonctions booléennes par diagrammes de Karnaugh-Veitch :
446 est fondée sur les propriétés des mintermes (ils réalisent une partition de l'unité),
447
448
449 Ces derniers diagrammes deviennent rapidement inextricables quand le nombre de variables augmente, c'est pourquoi, dans les diagrammes de Karnaugh, on divise systématiquement l'\og univers\fg{} (le référentiel $E$) en deux parties égales en superficie pour représenter la partie concernée et son complémentaire.
450
451
452 À chaque introduction de variable supplémentaire, chaque case du précédent diagramme est divisée en 2.
453
454 On obtient, par exemple :
455 \begin{center}
456 \begin{tabular}{|c|c|c|}
457 \hline 
458   & $\sur a$ & $a$\\
459 \hline
460 $\sur b$ & $\sur a \sur b$ & $a \sur b$ \\
461 \hline
462 $b$ & $\sur a b$ & $ab$\\
463 \hline
464 \end{tabular}
465 \end{center}
466
467
468 Cas de trois variables :
469 \begin{itemize}
470  \item les deux premières colonnes correspondent à $\sur a$, les deux dernières à $a$,
471 \item la première et la dernière colonne correspondent à $\sur b$, les deux centrales à $b$,
472 \item enfin, la première ligne est associée à $\sur c$, la deuxième à $c$.
473 \end{itemize}
474
475 \noindent ...ce qui donne 
476
477
478 $$
479 \begin{array}{|c|c|c|c|c|}
480 \hline 
481 %\backslashbox{c}{ab}
482   & 00 & 01 & 11 & 10 \\
483 \hline
484 0 & \sur a \sur b \sur c & \sur a b \sur c & a b \sur c & a \sur b \sur c  \\
485 \hline
486 1 & \sur a \sur b  c & \sur a  b  c &  a  b  c & a \sur b  c\\
487 \hline
488 \end{array}
489 $$
490
491
492
493
494 Dans un tel diagramme, chaque case représente un minterme. Les autres monômes regroupent un nombre de cases qui est une puissance de 2, selon le nombre de variables présentes.
495
496
497
498
499 \begin{Exoc}
500 Faire un diagramme à cinq variables.
501 \end{Exoc}
502
503 $$
504 \begin{array}{|c|c|c|c|c|c|c|c|c|}
505 \hline 
506   & 000 & 001 & 011 & 010 & 110 & 111 & 101 & 100 \\
507 \hline
508 00 & 
509 \sur a \sur b \sur c \sur d \sur e & 
510 \sur a \sur b c \sur d \sur e & 
511 \sur a  b c \sur d \sur e & 
512 \sur a b \sur c \sur d \sur e & 
513 a  b \sur c \sur d \sur e  & 
514 a b  c \sur d \sur e & 
515 a \sur b  c \sur d \sur e & 
516  a \sur b \sur c \sur d \sur e \\
517 \hline
518 01 & 
519 \sur a \sur b \sur c \sur d  e & 
520 \sur a \sur b c \sur d  e & 
521 \sur a  b c \sur d  e & 
522 \sur a b \sur c \sur d  e & 
523 a  b \sur c \sur d  e  & 
524 a b  c \sur d e & 
525 a \sur b  c \sur d  e & 
526  a \sur b \sur c \sur d  e \\
527 \hline
528 11 & 
529 \sur a \sur b \sur c d  e & 
530 \sur a \sur b c d  e & 
531 \sur a  b c  d  e & 
532 \sur a b \sur c  d  e & 
533 a  b \sur c  d  e  & 
534 a b  c d e & 
535 a \sur b  c  d  e & 
536  a \sur b \sur c  d  e \\
537 \hline
538 10 &
539 \sur a \sur b \sur c d  \sur e & 
540 \sur a \sur b c d  \sur e & 
541 \sur a  b c  d  \sur e & 
542 \sur a b \sur c  d  \sur  e & 
543 a  b \sur c  d  \sur  e  & 
544 a b  c d \sur e & 
545 a \sur b  c  d \sur  e & 
546  a \sur b \sur c  d \sur  e \\
547 \hline
548 \end{array}
549 $$
550
551
552
553 Les diagrammes peuvent être utilisés en réunion, en intersection ou en complémentation.
554
555 Ils permettent :
556 \begin{itemize}
557  \item d'obtenir la FCD d'une fonction booléenne plus aisément que par le calcul algébrique (utilisé pour découvrir la forme en question),
558  \item une première approche du problème de la simplification des fonctions booléennes (dans des cas simples et pour un petit nombre de variables)...
559 \end{itemize}
560
561 \medskip
562
563 Utilisation des diagrammes de Karnaugh pour représenter les fonctions booléennes...
564
565 \begin{description}
566 \item[En réunion.] Soit par exemple $f(a,b,c) = a +\sur b c$. Son diagramme est :
567
568 \begin{center}
569 \begin{tabular}{|c|c|c|c|c|}
570 \hline 
571 \backslashbox{c}{ab}  & 00 & 01 & 11 & 10 \\
572 \hline
573 0 & 0 & 2 & \colorbox{red}{6} & \colorbox{red}{4} \\
574 \hline
575 1 & \colorbox{red}{1} & 3 & \colorbox{red}{7} & \colorbox{red}{5}\\
576 \hline
577 \end{tabular}
578 \end{center}
579
580 On lit aisément la FCD de $f$ sur le diagramme : $f(a,b,c) = m_1 + m_4 + m_5 + m_6 + m_7$.
581
582 \item[En intersection.] Soit $f(a,b,c) = (a + \sur b ) (a+c)$.
583
584 On peint en rouge les  cases correspondant à $a + \sur b$, et on note en italique  les nombres correspondant à $a+c$ :
585
586 \begin{center}
587 \begin{tabular}{|c|c|c|c|c|}
588 \hline 
589 \backslashbox{c}{ab}  & 00 & 01 & 11 & 10 \\
590 \hline
591 0 & \colorbox{red}{0} & 2 & \textit{{\colorbox{red}{6}}} & \textit{{\colorbox{red}{4}}} \\
592 \hline
593 1 & \textit{{\colorbox{red}{1}}} & \textit{{3}} & \textit{{\colorbox{red}{7}}} & \textit{{\colorbox{red}{5}}}\\
594 \hline
595 \end{tabular}
596 \end{center}
597
598 La représentation de $f$ est contenue dans les cases rouges possédant les nombres en italique. Comme  
599 $(a + \sur b ) (a+c) = a + \sur b c$, 
600 on retrouve la même FCD.
601
602 \item[En complémentation.] Soit $f(a,b,c) = a + \sur b c$, de diagramme :
603
604
605 \begin{center}
606 \begin{tabular}{|c|c|c|c|c|}
607 \hline 
608 \backslashbox{c}{ab}  & 00 & 01 & 11 & 10 \\
609 \hline
610 0 & 0 & 2 & \colorbox{red}{6} & \colorbox{red}{4} \\
611 \hline
612 1 & \colorbox{red}{1} & 3 & \colorbox{red}{7} & \colorbox{red}{5}\\
613 \hline
614 \end{tabular}
615 \end{center}
616
617 Alors la négation de $a+ \sur b c$ est dans les cases pas rouge : la FCD de $\sur f$ est $m_0+m_2+m_3$.
618
619 \end{description}
620
621
622
623
624
625 \begin{Exo}[Fonctions booléennes]
626 Donner la forme canonique disjonctive de la fonction booléeene dont l'expression est
627 $$f(a,b,c,d,e)=\sur a\cdot[\sur b\cdot\sur e\cdot(c+d)+b\cdot(\sur c\cdot\sur
628 d\cdot\sur e+c\cdot\sur{d\cdot e})].$$
629 \end{Exo}
630
631
632
633 \begin{Exo}
634 Pour chacune des expressions suivantes...
635 %\newcommand{\overline}[1]{\ensuremath{\overline{#1}}} 
636 $$\begin{array}{lll}
637 E_1 & = & xyz + xy\overline{z} + \overline{x}y\overline{z} + \overline{x}.\overline{y}z\\
638 E_2 & = & xyz + xy\overline{z} + x\overline{y}z + \overline{x}.\overline{y}z\\
639 E_3 & = & xyz + xy\overline{z} + \overline{x}y\overline{z} + \overline{x}.\overline{y}.\overline{z} +
640 \overline{x}.\overline{y}z \\
641 \end{array}$$
642 donner la forme minimale en exploitant les diagrammes de Karnaugh
643 \end{Exo}
644
645
646 \begin{Exo}[Application de la méthode de Karnaugh] % Lipschutz 12.18
647 Trouver une forme minimale de 
648 $E = x\sur{y} + xyz + \sur{x}.\sur{y}.\sur{z} + \sur{x}yz\sur{t}$.
649 \end{Exo}
650
651
652 \begin{Exo}[Composition de la méthode de Karnaugh] %Velu 12.11
653 On considère deux fonctions booléennes $u$ et $v$ des quatres variables $a$, $b$, $c$, $d$ définies par 
654 $u = (a+d)(b+c)$ et $v = (a+c)(\sur{b}+d)$.
655 \begin{enumerate}
656 \item Dessiner les diagrammes de Karnaugh de $u$ et de $v$.
657 \item En déduire le diagramme de Karnaugh de $w = uv+\sur{u}.\sur{v}$.
658 \item Donner une forme minimale pour $w$
659 \end{enumerate}
660 \end{Exo}
661
662 \begin{Exo}[BTS-2009]
663 La société \textit{K-Gaz} décide de recruter en interne des collaborateurs 
664 pour sa filiale en Extrême-Orient.
665 Pour chaque employé, on définit les variables booléennes suivantes:
666 \begin{itemize}
667 \item $a$ = 1 s'il a plus de cinq ans d'ancienneté dans l'entreprise;
668 \item $b$ = 1 s'il possède un B.T.S. informatique de gestion (BTS-IG);
669 \item $c$ = 1 s'il parle couramment l'anglais.
670 \end{itemize}
671 La direction des ressources humaines décide que pourront postuler les employés :\begin{itemize}
672 \item qui satisfont aux trois conditions, 
673 \item ou qui ont moins de 5 ans d'ancienneté mais qui maîtrisent l'anglais,
674 \item ou qui ne maîtrisent pas l'anglais mais qui possèdent un BTS-IG.
675 \end{itemize}
676 \begin{enumerate}
677 \item  Écrire une expression booléenne $E$ traduisant les critères 
678   de la direction.
679 \item  Représenter l'expression $E$ par un tableau de Karnaugh.
680 \item  À l'aide du tableau de Karnaugh, donner une expression simplifiée de $E$.
681 \item  Retrouver ce résultat par le calcul.
682 \item  En déduire une version simplifiée des critères de la direction.
683 \end{enumerate}
684
685 \end{Exo}
686
687 \begin{Exo}[BTS-2002]
688 On considère l’expression $E= a.c +b.c +a.b +a.b.c$ dépendant des variables booléennes $a$, $b$ et $c$:
689
690 \begin{enumerate}
691 \item Simplifier l’expression $E$ à l’aide de la lecture d’un tableau 
692   de Karnaugh (ou d’une table de vérité). % et en déduire que $E = b +c$
693 \item  Dans un organisme qui aide des personnes au chômage à trouver un emploi,
694 on considère pour ces personnes, trois variables booléennes définies ainsi:
695 \begin{itemize}
696 \item $a$ = 1 si la personne est âgée de 45 ans ou plus (sinon a = 0);
697 \item $b$ = 1 si la personne est au chômage depuis un an ou plus (sinon b = 0);
698 \item $c$ = 1 si la personne a déjà suivi une formation 
699   l’année précédente (sinonc = 0).
700 \end{itemize}
701 Une formation qualifiante sera mise en place pour les personnes vérifiant au
702 moins un des critères suivants:
703 \begin{itemize}
704 \item avoir 45 ans ou plus et être au chômage depuis moins de un an;
705 \item avoir moins de 45 ans et ne pas avoir suivi de formation l’année précé-
706 dente;
707 \item être au chômage depuis un an ou plus et ne pas avoir suivi de formation
708 l’année précédente;
709 \item avoir moins de 45 ans, être au chômage depuis moins de un an et avoir
710 suivi une formation l’année précédente.
711 \end{itemize}
712 Les personnes qui ne répondent à aucun de ces quatre critères, pourront par-
713 ticiper à un stage d’insertion en entreprise.
714 \begin{enumerate} 
715 \item Écrire l’expression booléenne $F$ en fonction des variables $a$, $b$ et 
716 $c$ qui
717 traduit le fait que la personne pourra suivre cette formation qualifiante.
718 \item En déduire une caractérisation simple des personnes qui participeront 
719 à un stage d’insertion en entreprise.
720 \end{enumerate}
721 \end{enumerate}
722 \end{Exo}
723
724
725
726
727
728
729
730 \centerline{\x{Fin du Chapitre}}
731