Previous Up Next
Mathématiques pour l’Informatique 2013–14                  http://www.lri.fr/~paulin/MathInfo


6  Algèbre de Boole

Les algèbres de Boole ont été introduites par le mathématicien anglais George Boole au milieu du 19ème siècle comme base pour le raisonnement logique.

6.1  Définitions et propriétés

Nous avons donné une caractérisation des algèbres de Boole comme des treillis distributifs complémentés. Dans ce chapitre nous allons plutôt regarder la définition algébrique.

Définition 1 (Algèbre de Boole)   Une algèbre de Boole est la donnée d’un ensemble E, de deux éléments distincts et ainsi que deux opérations binaires et et une opération unaire de complément x telles que :

On en déduit que les opérations et sont idempotentes, associatives, commutatives et distributives l’une par rapport à l’autre et qu’elle vérifient les lois d’absorption x ⊓ (xy) = x = (yx) ⊔ x ainsi que les propriétés des éléments minimum () et maximum () et du complément x.

Définition 2 (Algèbre de Boole duale)   En échangeant dans une algèbre de Boole les opérations et et les éléments et on a également une algèbre de Boole appelée l’algèbre de Boole duale.
L’algèbre de Boole duale correspond à inverser l’ordre sous jacent.

6.1.1  Exemples

Soit E un ensemble non vide alors l’ensemble ℘(E) des parties de E est une algèbre de Boole. ⊥=∅, ⊤=E, ab =ab, ab =ab et ā=Ea.

L’ensemble B={0,1 } est une algèbre de Boole appelé ensemble des booléens avec ⊥=0, ⊤=1, ab =min(a,b), ab =max(a,b) et ā=1−a.

L’ensemble Bn des n-uplets de booléens est une algèbre de Boole avec ⊥=0n (le n-uplet qui ne contient que des 0), ⊤=1n, ab =(min(ak,bk))k, ab =(max(ak,bk))k et ā=(1−ak)k.

Notations.

On utilise parfois des notations alternatives pour les algèbres de Boole. On note 0=⊥ et 1=⊤ et on note l’opération comme une addition +. et comme un produit.

Ces opérations satisfont des propriétés analogues à l’addition et la multiplication sur les entiers : elles sont associatives, commutatives, distributives l’une par rapport à l’autre et ont respectivement 0 et 1 comme élément neutre. Par contre, il faut faire attention qu’elles ont également des propriétés différentes comme l’idempotence x+. x = xx = x. L’addition ordinaire sur les entiers est reliée à l’addition booléenne par la relation :
x +. y = x + yxy.

6.1.2  Anneau de Boole

Une opération intéressante sur les algèbres de boole est la construction ab  =def  abb.

Cette opération est associative et commutative, elle vérifie de plus :

Dans le cas de l’algèbre des booléens B, cette opération correspond au ou-exclusif. Dans le cas des ensembles, cela correspond à la différence symétrique : XY = XYYX.

Une présentation alternative d’une algèbre de Boole est de se donner uniquement un ensemble E et sur cet ensemble les opérations , le produit, 0 et 1. On parle alors d’anneau de Boole. On en déduit l’opération de complément et l’addition booléenne en utilisant les égalités ci-dessus.

6.2  Fonctions booléennes

Définition 3   Une fonction booléenne à n arguments est une application de Bn dans B. On notera Fn l’ensemble des fonctions booléennes à n arguments.

Les fonctions booléennes apparaissent naturellement dans la modélisation de nombreux problèmes. Par exemple, si on se donne un circuit électronique avec un point d’entrée et un point de sortie et des interrupteurs, chaque interrupteur peut être associé à une variable booléenne qui vaut 1 si l’interrupteur est fermé (et donc laisse passer le courant) et 0 sinon. La fonction booléenne représentera alors le fait que le courant puisse ou non passer dans le circuit du point d’entrée au point de sortie.

On peut également interpréter une fonction booléenne comme un ensemble de n-uplets de booléens à savoir l’ensemble des n-uplets pour lesquels la fonction vaut 1. Les n-uplets de booléens peuvent eux-même servir à représenter des objets diverses : des entiers bornés en machine, des images …

L’ensemble des n-uplets de booléens contient 2n éléments. Si on choisit de les ordonner de manière canonique (par exemple dans l’ordre lexicographique) alors une fonction booléenne est uniquement déterminée par un 2n-uplet de booléens correspondant aux résultats de la fonction pour chaque entrée.

Une fonction booléenne f peuvent s’écrire sous forme normale disjonctive comme la somme de produits de litteraux (variables, ou complément de variable) ou bien sous forme normale conjonctive comme produit de sommes de litteraux.

Exemple 1   Soit la fonction définie par la table de vérité :
  xyzf(x,y,z
000
001
010
011
100
101
110
111
  
Pour trouver la forme normale disjonctive on traduit chaque ligne où la valeur de la fonction vaut 1:
f(x,y,z) = xyz
.
+
 
 xȳz 
.
+
 
 xyz 
.
+
 
xyz
C’est la somme des fonctions “mintermes” (qui ne prennent la valeur 1 que sur une seule entrée) qui minorent f.
Pour trouver la forme normale conjonctive on traduit chaque ligne où la valeur de la fonction vaut 
0 :
f(x,y,z) = (x
.
+
 
 y 
.
+
 
 z) ( x
.
+
 
 y
.
+
 
 z) (x 
.
+
 
 ȳ 
.
+
 
 z)  (x
.
+
 
 y 
.
+
 
 z)
C’est le produit des fonctions “maxtermes” (qui ne prennent la valeur 0 que sur une seule entrée) qui majorent f.

6.3  Fonctions caractéristiques

On a vu que l’ensemble ℘(E) des parties d’un ensemble E est une algèbre de Boole.

Nous allons nous intéresser à une représentation alternative des ensembles comme des applications à valeur booléennes appelées fonctions caractéristiques.

Soit BE l’ensemble des applications de E dans l’ensemble des booléens B.

Définition 4 (Fonction caractéristique)   À chaque partie A de E, on associe une fonction χA (parfois aussi notée 11A) telle que χA(x)=1 si xA et χA(x)=0 si xA. La fonction χA est appelée fonction caractéristique de A.

On construit ensuite une application F de ℘(E) dans BE qui à A∈ ℘(E) associe χA ∈ BE.

Nous allons montrer que cette application est une bijection. Pour cela il suffit de construire l’application inverse G de BE dans ℘(E) qui à une fonction f de BE associe l’ensemble A={xA  | f(x)=1} et de montrer que AE, G(F(A))=A et f∈ BE,F(G(f))=f ce qui est trivial.

On peut alors s’intéresser à quelles opérations sur BE correspondent les opérations de l’algèbre de Boole sur ℘(E).

Les opérations usuelles sur les booléens sont étendues point à point en des opérations sur les fonctions à valeurs booléennes. Par exemple l’addition sur les booléens permet de définir une addition entre fonctions booléennes. Si f et g sont des éléments de BE, alors f+. g est un élément de BE qui est défini par (f+. g)(x) =def  f(x) +. g(x).

Ordre
On regarde tout d’abord la notion d’ordre :
A ⊆ B ⇔ χA ≤ χB ⇔ ∀ x∈ E, χA(x)≤ χB(x)
Plus petit élément
Le plus petit élément de ℘(E) est l’ensemble vide qui correspond à la fonction parfois notée 0 qui vaut partout 0.
∀ x, χ(x)=0
Plus grand élément
Le plus grand élément de ℘(E) est l’ensemble E qui correspond à la fonction parfois notée 1 qui vaut partout 1.
∀ x, χE(x)=1
Borne inférieure
La borne inférieure des ensembles A et B est AB. La fonction caractéristique de AB correspond au produit des fonctions caractéristiques de A et B. On a :
χA⋂ B = χA χB         avec (χA χB)(x
def
=
 
  χA(xB(x)
Borne supérieure
La borne supérieure des ensembles A et B est AB. La fonction caractéristique de AB correspond à la somme booléenne des fonctions caractéristiques de A et B.
χA⋃ B = χA 
.
+
 
 χB= χA + χB−χAχB         avec (χA + χB)(x
def
=
 
  χA(x) + χB(x)
Complément
Le complément de l’ensemble A est EA .
χE∖ A = 1−χA         avec (1−χA)(x)  
def
=
 
  1−χA(x)
Exemple 2   On peut se servir des correspondances ci-dessus et des égalités dans les algèbres de Boole pour établir des correspondances.

On se donne trois ensembles A, B et C. Si on veut calculer la fonction caractéristique de l’ensemble ABC on peut s’y prendre de manière directe en développant la somme booléenne. On peut aussi s’y prendre de manière duale en utilisant plutôt les compléments et les intersections.

Les lois de de Morgan nous disent que ABC = Ā∩ BC et donc

χA ⋃ B ⋃ C 
= 1−(1−χA)(1−χB)(1−χC)
  =χABC − χAχB − χAχC − χBχC + χA χBχC
  = χABC − χA⋂ B −  χA⋂ C−  χB⋂ C + χAB⋂ C

Les fonctions caractéristiques peuvent être utiles pour compter les éléments d’un ensemble A inclut dans un ensemble fini E. En effet si E est un ensemble fini, alors pour tout A inclus dans E, on a :

|A|=Σx∈ E χA(x)

Cette égalité ainsi que les propriétés des fonctions caractéristiques nous permettent de déduire des formules pour calculer le cardinal de certains ensembles.

On a χĀ=1−χA donc |Ā|=|E|−|A|

On a χABAB−χAB donc |AB|=|A|+|B|−|AB|

Exemple 3   Supposons que l’on veuille compter combien il y a de mots formés de trois lettres sur l’alphabet à 26 lettres qui contienne au moins une fois la lettre a. On appelle A cet ensemble de mots.

On peut décomposer le problème en découpant suivant les mots qui ont un a en première lettre, ceux qui ont un a en 2ème lettre et ceux qui ont un a en troisième lettre mais ces ensembles ne sont pas disjoints et on risque de compter deux fois la même chose.

Une approche plus directe est de s’intéresser au complémentaire de A. Il contient exactement les mots qui n’ont pas de a. Il s’agit de mots de 3 lettres formés sur un alphabet de 25 lettres, il y en a donc 253. Il y a en tout 263 mots de trois lettres. L’ensemble A qui nous intéresse est donc composé de 263−253 éléments.

Une autre exemple est de compter les nombres entre 1 et 12000 qui sont soit un multiple de 4, soit un multiple de 6. On va dénombrer les ensembles A4 (resp. A6, resp. A12) des nombres entre 1 et 12000 qui sont multiples de 4 (resp. multiples de 6, resp. multiples de 4 et 6, c’est-à-dire multiples de 12).

A4={4k|1≤ 4k ≤ 12000}={4k|1≤ k ≤ 3000} donc |A4|=3000 de même A6={6k|1≤ k ≤ 2000} A12={12k|1≤ k ≤ 1000} donc |A6|=2000 et |A12|=1000 et finalement |A|=3000+2000−1000=4000.

Exercice 1   Supposons que AB = AC et AB = AC. Traduire ces égalités en terme de fonctions caractéristiques. Que peut-on dire de B et C ?

Preuve: On a χAB−χAχBAC−χAχC et par ailleurs χAχBAχC. On en déduit χABAC et donc χBC et donc B=C.

Exercice 2   Les élèves d’une école peuvent étudier 0, 1 ou 2 langues vivantes. On sait que On veut savoir combien de filles font au moins une des deux langues anglais ou espagnol.

Preuve: On introduit A l’ensemble des élèves qui font de l’anglais, E pour ceux qui font de l’espagnol et G l’ensemble des garçons.

On cherche à calculer le cardinal de l’ensemble (AE) ∩ Ḡ.

On va utiliser le fait que pour tout ensemble A et B, on a:

χA ⋂ BA (1−χB)=χA−χA⋂ B

et donc |AB|=|A|−|AB|.

On a

 | (A ⋃ E) ⋂ Ḡ| 
= |(A ⋂ Ḡ) ⋃ (E ⋂ Ḡ)| 
 =   |A ⋂ Ḡ| + |E ⋂ Ḡ| −|(A ⋂ Ḡ) ⋂ (E ⋂ Ḡ)| 
 =   |A|−|A⋂ G| + |E| − |E ⋂ G| −|A ⋂ E ⋂ Ḡ| 
 =   |A|−|A⋂ G| + |E| − |E ⋂ G| −|A ⋂ E| + |(A ⋃ E) ⋂ G
 = 416−103 + 212−78 −98+30 = 379


Previous Up Next