Ecriture des fonctions logiques

L'écriture des fonctions logiques s'effectue automatiquement à partir des tables de vérités décrivant l'application. La méthode s'appuie sur le fait qu'une fonction logique ne peut prendre que deux valeurs 0 ou 1. En conséquence, une fonction logique d'une variable ne peut être égale qu'à la variable ou à son complément :

f(a) = a ou f(a) = a

soit                                                                    f(a) = C0.a + C1.a

La détermination des constantes C0 et C1 dépend des valeurs de la fonction ainsi si la fonction est :

 

a f(a)
0 0
1 1

 

soit f(a) = a. La constante C0 est égale à f(1) mais si la fonction s'écrit :

 

a f(a)
0 1
1 0

 

soit f(a) = a. La constante C1 est alors égale à f(0). La forme générale de la fonction f(a) est alors :

 

f(a) = f(1).a + f(0).a

 

Cette écriture peut être généralisée à deux variables ou plus. Ainsi, la fonction f(a,b) peut s'écrire :

 

f(a,b) = C0.a + C1.a

 

Si a est égal à 0, il vient : f(0,b) = C1 et si a est égal à 1, f(1,b) est égal à C0. La fonction f(a,b) peut s'écrire alors :

 

f(a,b) = f(1,b).a + f(0,b).a

 

En faisant le même raisonnement avec f(1,b) et f(0,b), il vient :

 

f(1,b) = f(1,1).b + f(1,0).b

f(0,b) = f(0,1).b + f(0,0).b

soit pour f(a,b) :

 

f(a,b) = f(1,1).a.b + f(1,0).a.b + f(0,1).a.b + f(0,0).a.b

 

Ce résultat peut être généralisé à trois variables :

 

f(a,b,c) = f(1,1,1).a.b.c +  f(1,1,0).a.b.c  +  f(1,0,1).a.b.c +  f(1,0,0).a.b.c +  f(0,1,1).a.b.c

+  f(0,1,0).a.b.c +  f(0,1,0).a.b.c +  f(0,0,0).a.b.c

 

Considérons la table de vérité suivante :

a b c f(a,b,c)
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 1

 

Sachant que le 0 est un élément absorbant et que le 1 est l'élément neutre du ET seul les termes où la fonction prend la valeur 1 interviennent dans la fonction, il vient donc :

a b c f(a,b,c)  
0 0 0 0 a.b.c
0 0 1 1 a.b.c
0 1 0 1 a.b.c
0 1 1 1 a.b.c
1 0 0 0 a.b.c
1 0 1 1 a.b.c
1 1 0 0 a.b.c
1 1 1 1 a.b.c
f(a,b,c) = a.b.c + a.b.c + a.b.c + a.b.c + a.b.c