Opérations fondamentales de l’algèbre booléenne

Signaler

La traduction des raisonnements logiques par des opérations algébriques proposée par le mathématicien George Boole est un des fondements de l’informatique.

I. L’algèbre de Boole

1) Rappels historiques

À partir de 1847, le Britannique George Boole propose un mode de calcul permettant de traduire des raisonnements logiques par des opérations algébriques.

Il crée ainsi une branche des mathématiques qui définit des opérations dans un ensemble qui ne contient que deux éléments notés 0 et 1, ou bien Faux et Vrai (lien avec la logique), ou bien Ouvert et Fermé (lien avec l’électronique) ou encore en Python False et True.

05230_chap01_02

En 1938, l’Américain Claude Shannon prouve que des circuits électriques peuvent résoudre tous les problèmes que l’algèbre de Boole peut résoudre. Avec les travaux d’Alan Turing de 1936, cela constitue les fondements de ce qui deviendra l’informatique.

2) Les opérations fondamentales

Les opérations fondamentales de l’algèbre de Boole ne sont plus l’addition et la multiplication des entiers mais :

  • la conjonction, notée &, ∧ ou · et lue « et » ;
  • la disjonction, notée |, ∨ ou + et lue « ou » ;
  • la négation, notée ~, ¬ ou – et lue « non ».

Ces opérations fondamentales sont des exemples de fonctions logiques.

Mot clé

Une table de vérité récapitule dans un tableau les valeurs de vérité de la sortie en fonction des valeurs de vérité des entrées.

Puisque l’algèbre de Boole ne contient que deux éléments, pour chacune de ces fonctions, on peut étudier tous les cas possibles et les regrouper dans un tableau appelé table de vérité.

On représente souvent les opérateurs booléens à l’aide de portes logiques qui représentent à la fois la fonction logique qui lui est associée et le circuit électronique de la machine qui laisse passer le courant (Vrai) ou non (Faux) selon que le courant y entre ou non. Le calcul booléen permet donc d’utiliser la puissance du calcul algébrique pour régler des problèmes de logique et se traduit sur machine par des composants électroniques.

Dans toute la suite, x et y dénoteront des booléens (ou valeurs de vérité d’une algèbre de Boole) quelconques, F désignera Faux et V désignera Vrai.

La conjonction (et, and) est l’opération définie par : x & F = F et x & V = x.

PB_Bac_05230_numerique1_TT_p009-044_C01_Groupe_Schema_13

La disjonction est l’opération définie par : x | V = V et x | F = x.

PB_Bac_05230_numerique1_TT_p009-044_C01_Groupe_Schema_14

La négation est l’opération définie par :

~V = F et

~F = V.

PB_Bac_05230_numerique1_TT_p009-044_C01_Groupe_Schema_15

II. En Python

Les booléens V et F se notent True et False mais aussi 1 et 0.

Les opérateurs sont or (disjonction), and (conjonction) et not (négation) :

PB_Bac_05230_numerique1_TT_p009-044_C01_Groupe_Schema_16

L’opérateur == permet de tester si deux références contiennent les mêmes valeurs en renvoyant un booléen.