Vous êtes sur la page 1sur 11

Logique et algèbre de Boole

La logique formelle enseigne qu’il ne faut pas confondre la validité d’un raisonnement avec la
vérité des propositions qui la composent. Seul le premier point (la validité) est concerné par la
logique qui se contente de déterminer ce qui découle d’une proposition donnée. Si la logique
est une science ancienne (elle a été créée par Aristote), elle est restée très discursive jusqu’au
milieu du XXème siècle (on peut lire notamment les écrits et les exercices de logique de
Charles Ludwidge Dodgson, plus connu sous son pseudonyme de Lewis Carroll, datant de la
fin du XIXème). Actuellement la logique est presque strictement symbolique, grâce
notamment aux travaux de Boole. Le raisonnement n’est plus tributaire des imprécisions du
langage, mais repose sur un formalisme précis. Par exemple un simple énoncé de virologie tel
que ‘les cellules infectées par un virus ne le reconnaissent pas’ peut s’écrire formellement de
la manière suivante :

∀x, ∃y C ( x) ∧ V ( y ) ∧ I ( x, y ) → R( x, y ) , sachant que

C(x) signifie ‘x est une cellule’


V(x) signifie ‘x est un virus’
I(x,y) signifie ‘x est infecté par y’
R(x,y) signifie ‘x reconnaît y’
Si l’on a perdu en compréhension immédiate, on a par contre gagné en formalisme et en
possibilité de calcul ultérieur sur (ou, à partir de) cette proposition.
Enfin, avant de regarder d’un peu plus près les calculs booléens, rappelons que la logique
classique est bivalente : c’est à dire qu’une proposition peut prendre deux valeurs uniquement
(vrai et faux).

1- Algèbre de Boole
C’est la partie des mathématiques qui s’intéresse aux opérations et aux fonctions sur les
variables logiques. Son nom provient de George Boole , mathématicien anglais du XIXème
siècle, qui structura la logique en un système formel. L’algèbre de Boole trouve de
nombreuses applications en informatique et surtout en automatique et robotique. On peut
également noter l’importance de la logique booléenne dans les algorithmes utilisés dans les
bases de données bibliographiques. Les fonctions booléennes sont appelées ‘portes logiques’
en automatisme. Elles comportent une ou deux entrées et une sortie.
11- Le ET logique
On le note de diverses manières selon le domaine concerné (ou la langue parlée) : ET , AND,
Λ, & , •
Cette fonction est définie de la manière suivante : a ET b est VRAI si et seulement si a est
VRAI et b est VRAI. Ceci se représente sous forme de la table de vérité :

a\b 0 1
0 0 0
1 0 1

En automatique si a et b sont des signaux électriques, le signal a ET b peut être représenté


sous la forme d’un chronogramme :

a ET b

12- Le OU logique
On l’écrit OU, OR, +, ∨, . Il s’agit du OU inclusif.
On dit que a OU b est VRAI si et seulement si a est VRAI ou b est VRAI. La table de vérité
correspondante est la suivante :

a\b 0 1
0 0 1
1 1 1

Le chronogramme correspondant est le suivant :

a OU b
13- Le NON logique
On l’écrit NON, NOT, a
On dit que NON a est VRAI si et seulement si a est FAUX. Ceci se représente selon la table
suivante :
a NON a
0 1
1 0
Le chronogramme étant:

NON a

14- Le OU exclusif
Le OU exclusif s’écrit généralement XOR ou ⊕. On trouve parfois également ≠.
Le OU (inclusif) peut être compris comme ‘a ou b ou les deux’ ; le OU exclusif est alors
compris comme ‘a ou b mais pas les deux’. Il s’agit en fait d’une fonction logique composée :
a ⊕ b = (a OU b) ET NON(a ET b) = (a + b ) • (a • b )
la table de vérité de cette fonction est alors :

a\b 0 1
0 0 1
1 1 0

Et son chronogramme :

a XOR b
2- Les tables de Karnaugh
Un modèle logique peut être représenté sous la forme d’équations logiques, qu’il est alors
nécessaire de simplifier, ou sous la forme d’une table de vérité qu’il est plus pratique d’écrire
sous forme d’équation logique. Karnaugh, mathématicien de la deuxième moitié du XXème
siècle a proposé la méthode qui porte son nom pour réaliser ce travail. Il est cependant bon de
noter qu’un demi siècle plus tôt, Lewis Carroll avait proposé une méthode de résolution des
propositions logiques par un diagramme bilatéral (pour deux variables), qu’il généralisa
d’ailleurs jusqu’à 10 variables. Il se plaçait lui-même dans la continuité des diagrammes
d’Euler (valables pour deux variables) et de Venn (pratiques jusqu’à trois variables, mais
inutilisables au-delà de cinq). Les diagrammes multilatéraux de Carroll se révèlent être très
proches des tables de Karnaugh.1

21- Code binaire réfléchi ou code de Gray


Le code binaire classique permet d’écrire un nombre sous la forme d’une succession de 0 et
de 1. Il s’agit de la méthode d’écriture en base 2.
Exemple : 000, 001, 010, 011, 100, 101, 110, 111 représente la suite des chiffres de 1 à 7 en
code binaire.
Le codage binaire réfléchi est une variante de ce codage qui permet de ne faire changer qu’un
seul bit à la fois quand un nombre augmente d’une unité. Ainsi dans le code binaire le passage
de 001 à 010 nécessite le changement de deux bits, de même pour le passage de 101 à 110.
Pour éviter cela, en code gray, pour passer d’un nombre à son suivant, on inverse le bit le plus
à droite possible conduisant à un nouveau nombre. La suite des sept premiers chiffres ci-
dessus devient alors : 000, 001, 011, 010, 110, 111, 101, 100
Le code binaire réfléchi est celui qui est utilisé dans les tables de Karnaugh.

22- Table de Karnaugh à 4 variables


Soit 4 variables A, B, C et D pouvant prendre les valeurs VRAI et FAUX, ou plus simplement
1 ou 0. Une table de Karnaugh est en fait une simple table de vérité, qui s’écrit, par exemple
comme ci-dessous :

1
Lewis Carroll, 1992. Logique sans peine. Hermann, Paris
F CD
00 01 11 10
00 0 1 1 0
AB 01 0 1 1 1
11 0 1 1 1
10 0 1 1 0

La case grisée correspond donc à la valeur de la fonction évaluée F pour A=0, B=1 (ligne
AB=01), C=0 et D=0 (colonne CD=00)
Les valeurs de la table de Karnaugh sont issues d’une table de vérité, et reportées dans ce
tableau dont les valeurs AB et CD sont codées en binaire réfléchi.
La recherche de la fonction logique F, représentée par cette table de Karnaugh, se fait en
regroupant toutes les cases comportant la valeur 1. Ces regroupements peuvent comporter des
lignes, des colonnes ou des rectangles. Il est bon de chercher les regroupements par valeurs
d’entrée communes : par exemple les colonnes 2 et 3 correspondent à la valeur D=1.
Plusieurs regroupements peuvent être possibles, il convient de choisir les plus simples du
point de vue des valeurs d’entrée.
Dans le cas présent, Le regroupement de 1 de la zone grisée correspond à D=1. En outre
toutes les valeurs de D=1 sont grisées. Le carré doublement encadré correspond à la fonction
B=1 ET C=1 qu’on écrit (B • C ) .
La fonction représentée par cette table de Karnaugh est alors F = D + (B • C )
Les tables de Karnaugh sont donc des moyens simples de résolution d’équations logiques
pour un nombre de variables quelconque à partir de 2.

3- La logique floue2
La logique classique est bivalente et repose donc sur l’existence d’un seuil en deçà duquel
l’expression prend une valeur (VRAI ou FAUX) et au delà duquel sa valeur change (FAUX
ou VRAI). Or si cette logique est applicable dans certains cas : une lampe est allumée ou
éteinte, un candidat est reçu ou collé à son examen, etc., elle ne l’est pas tout le temps. En
effet bien souvent le seuil est théorique, la réalité montrant une variation continue du VRAI
vers le FAUX. Par exemple si l’on considère l’expression ‘cette taille correspond à une

2
Ce concept a été introduit pour la première fois en 1965 par un automaticien américain, Lotfi Zadeh, qui
cherchait à représenter le savoir-faire humain basé sur des règles imprécises ou graduelles.
grande taille’, on peut dire que l’expression est VRAIE pour 1,90m, est fausse pour 1,20m,
mais que dire de 1,70m ? Et si l’on considère le seuil à 1,75m, est-il justifié de considérer
1,74m comme petit et 1,75m comme grand ? La logique floue permet de dire que la
probabilité de considérer 1,75m comme grand est de 50% (par exemple), que 1,70 est grand à
40% etc. On a donc affaire à une logique probabiliste passant continûment de VRAI à FAUX.
La logique floue est en fait une extension des logiques multivaluées3, dans laquelle les seuils
sont en nombre infini. En effet, dans une logique trivaluée, une proposition peux prendre trois
valeurs (blanc, gris et noir par exemple, ou vrai, faux, peut-être), une logique quadrivaluée
permet quatre valeurs etc. Il s’agit toujours de logiques à valeurs discrètes : une proposition
ne peut prendre qu’une des valeurs possibles à un moment donné. La logique floue généralise
ce type de logique en considérant une infinité d’état intermédiaire entre les valeurs VRAI et
FAUX (ou blanc et noir, ou zéro et un etc.)

1 1

0 0
Fonctions d’appartenance en logique booléenne et logique trivaluée

0
Fonction d’appartenance en logique floue
La notion d’ensemble flou permet le passage progressif d’une population à une autre en
évitant l’écueil des seuils arbitraires. Elle permet également de représenter des concepts ou
des prédicats imprécis tels que ‘jeune’, ‘vieux’, ‘presque’, etc.

3
En 1920 Jan Lukasiewicz, logicien polonais, établit le premier les bases de la logique trivaluée. Il sera suivi en
1937 par Max Black.
On définit différents paramètres tels que :
- le support de A : ensemble des éléments appartenant au moins un peu à A, c’est à dire
dont la fonction d’appartenance est non nulle,
- le noyau de A : ensemble des éléments appartenant totalement à A, c’est à dire dont la
fonction d’appartenance est égale à l’unité
- la fonction d’appartenance est la fonction représentant le pourcentage d’appartenance d’un
élément à l’ensemble flou A.
En logique booléenne, le support et le noyau de A sont confondus, tandis que la fonction
d’appartenance ne peut prendre que deux valeurs 0 et 1.
Un nombre flou est un ensemble flou (fonction d’appartenance comprise entre 0 et 1). Sa
représentation commode est :
triangulaire A = (a1, a2, a3) trapézoïdale A = (a1, a2, a3, a4)

1 1

a1 a2 a3 a1 a2 a3 a4

Les nombres flous sont adaptés aux représentations d’imprécisions. On peut leur appliquer les
opérations arithmétiques classiques avec (multiplication) ou sans adaptation (addition,
multiplication par un scalaire).
La logique floue s’est fortement développée depuis les années 1980 dans des domaines aussi
variés que les systèmes experts, l’automatisation, ou la commande de processus. On en trouve
des applications par exemple dans les commandes de métro sans conducteur, ou dans la
gestion des machines à laver ou des aspirateurs.
4- Applications

41- la cinétique logique4


Considérons un modèle de multiplication cellulaire. Une cellule peut apparaître si une cellule-
mère se divise, c’est à dire si cette dernière existe et que la division n’est pas inhibée (par
exemple par une trop grande densité cellulaire locale). On pourra alors écrire l’équation

logique suivante : X = K 1 1 x + K 2 2 x , où X est une fonction (booléenne à trois niveaux)

représentant l’état de la cellule (divisée ou non), 1 x et 2 x sont les variables logiques


correspondant au passage des seuils 1 (division) et 2 (inhibition) de la variable booléenne
généralisée x (qui peut prendre trois valeurs, 0, 1 et 2) dite variable-mémoire.
La table de vérité s’écrit donc :
1 2
x x x 2
x X

0 0 0 1 K2
1 1 0 1 K1+2
2 1 1 0 K1

K1+2 correspond à une action conjointe (multiplication et non inhibition), K1 au premier seuil
et K2 au second.
Pour qu’une boucle soit fonctionnelle, il faut que si la variable-mémoire x franchisse un seuil,
la fonction X le franchisse également. Il y a ici deux seuils :
x passe de 0 à 1 et X passe de K2 à K1+2,
x passe de 1 à 2 et X passe de K1+2 à K1
A cela il faut rajouter les relations entre le Ki :
K1 appartient à l’ensemble {0, 1}
K2 appartient à l’ensemble {0, 1, 2}
K1+2 appartient à l’ensemble {0, 1, 2}
Et K1+2 >= K1, K1+2 >= K2
On en déduit alors les valeurs suivantes :
K1 = 0 ou 1
K1+2 = 2

4
Snoussi, EH. Thomas, R. (1998). Logical identification of all steady states : the concept of feedback loop
characteristics states. Bull. Math. Biol. 55, 973
Mahamadaly, S. 2004. La réponse SOS chez les bactéries. Rapport de Magistère de Biotechnologies. Université
Paris-Sud XI
K2 = 0
On peut alors remarquer en reprenant la table ci-dessus, que si x = 0, X = 0. Ceci s’interprète
comme un point stationnaire. S’il n’y a pas de cellule au départ, il ne s’en crée pas. La
génération spontanée est impossible.
Le second seuil correspond à une oscillation, donc mène à un équilibre. Une cellule ne reste
jamais dans un état de division en continu (x = 1), cet état entraîne obligatoirement le passage
du seuil 2 et donc une inhibition de la division qui le conduit ensuite soit à un arrêt définitif (x
= 0), soit à une nouvelle division (x = 1).

Cette méthode a été appliquée à différents domaines, et en particulier en biologie


moléculaire5.

42- Logique booléenne en génétique6


L’objectif principal de la formalisation booléenne en génétique est d’obtenir un langage
compact et non ambigu pour des systèmes complexes. L’expression du gène est alors donné
sous la forme d’une fonction binaire de variables binaires de trois types différents :
- les variables génétiques, qui décrivent les états des gènes (normal, mutant, …)
- les variables environnementales comme les variations de température ou la présence de
substances particulières
- les variables internes utilisées pour mémoriser les états précédents du système.
La tabulation de ces résultats sous forme de table de Karnaugh permet de réduire les
expressions algébriques sous leur forme la plus simple. Mais le principal intérêt de ces tables
est de permettre une visualisation immédiate, claire et complète des différents états possibles
du système tels que décrits par le modèle. Cette représentation permet également de
déterminer la stabilité des états ainsi que la manière selon laquelle le système peut évoluer de
l’un vers l’autre.

43- Logique hybride 7


Les systèmes biologiques sont des systèmes complexes permettant une récupération de
données, leur traitement, de la communication et de la coopération, tout ceci en étant soumis à

5
Martinet-Edelist, C. (1999). Dynamical behaviour of viral cycle and identification of steady states. Acta
Biotheoretica. 47, 267-280
6
Thomas, R. (1973). Boolean formalization of genetic control circuits. J. Theor. Biol. 42, 563-585
7
Duan, Z., Holcombe, M., Bell, A. (2000). A logic for biological systems. BioSystems 55, 93-105
une certaine hiérarchie. On se rend rapidement compte, lorsque l’on tente de modéliser de tels
systèmes, qu’ils combinent des activités continues et des activités discrètes : c’est pourquoi on
peut les qualifier de systèmes hybrides. Tout modèle global de tels systèmes biologiques
devra donc pouvoir prendre en compte ces deux aspects. Le but d’une logique est de donner
un langage permettant la description de ces systèmes et de leur fonctionnement. Les auteurs
proposent donc une logique hybride adaptée à cette situation. Cette construction prend en
compte deux notions : les micro-états pour lesquels chaque variable peut prendre uniquement
un état parmi deux différents, et ceci à chaque instant, et les macro-états qui modélisent les
activités continues. On peut trouver une certaine analogie de cette présentation avec les
fonctions discontinues : les micro-états correspondant aux discontinuités et les macro-états
aux parties continues. De nouveaux opérateurs logiques adaptés à ces deux états sont alors
définis, qui s’ajoutent aux opérateurs booléens, ainsi que des opérateurs parallèles permettant
des évolutions simultanées de séquences de macro-états de manière synchrone.
Cette nouvelle logique hybride adaptée à la biologie est testée sur différents phénomènes
comme le transfert d’ions à travers une membrane, ou l’interaction antigène-anticorps.

44- Autres applications


Les applications de la logique floue en industrie sont désormais très nombreuses. Les
systèmes de commande ou de régulation gagnent souvent à bénéficier de cette méthode. En
effet, la logique floue permet de prendre en compte de nombreux paramètres tout en ayant une
connaissance parcellaire de leur implication dans le procédé à contrôler. C’est ainsi la
méthode la plus adaptée pour intégrer des connaissances humaines dans une commande
automatisée. Les résultats obtenus sont souvent de haute qualité, et généralement bien
meilleurs que par l’utilisation de méthodes plus classiques. Ainsi O’Connor8, en brasserie,
conclut à une diminution des pertes de matières premières, à un meilleur rendement, une
optimisation de la durée de fermentation, une grande souplesse de modification du procédé de
fabrication. Lahtinen9 considère que seul la logique floue permet de prendre en compte le
grand nombre de paramètres nécessaires à une régulation optimale d’un procédé industriel en
technologie alimentaire. En outre la méthode reste compréhensible et permet une réaction plus
rapide en cas de dérive du procédé. Enfin, son aptitude à décrire des effets non-linéaires la
rende extrêmement attractive.

8
O’Connor, B., Riverol, C., Kelleher, P., Plant, N., Bevan, R., Hinchy, E., D’Arcy, J. (2002). Integration of
fuzzy logic based control procedures in brewing. Food Control, 13, 23-31
9
Lahtinen, ST., (2001). Identification of fuzzy controler for use with a falling-film evaporator. Food Control, 12,
175-180
A ces applications en contrôle de processus, on peut bien entendu ajouter l’impact de la
logique floue sur les systèmes experts. Ces derniers sont actuellement utilisés dans tous les
domaines, et ne pourraient exister sans cet outil logique.10

10
Linko, S. (1998). Expert systems – what can they do for the food industry ? Food Science &Technology, 9, 3-
12

Vous aimerez peut-être aussi