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.
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.
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 ⊓ (x ⊔ y) = x = (y ⊓ x) ⊔ x ainsi que les propriétés des éléments minimum (⊥) et maximum (⊤) et du complément x.
Soit E un ensemble non vide alors l’ensemble ℘(E) des parties de E est une algèbre de Boole. ⊥=∅, ⊤=E, a ⊓ b =a ∩ b, a ⊔ b =a ∪ b et ā=E∖ a.
L’ensemble B={0,1 } est une algèbre de Boole appelé ensemble des booléens avec ⊥=0, ⊤=1, a ⊓ b =min(a,b), a ⊔ b =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, a ⊓ b =(min(ak,bk))k, a ⊔ b =(max(ak,bk))k et ā=(1−ak)k.
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 + y − xy.
Une opération intéressante sur les algèbres de boole est la construction a ⊕ b =def ab+āb.
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 : X⊕ Y = X ∖ Y ∪ Y ∖ X.
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.
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.
|
f(x,y,z) = xyz |
| xȳz |
| xyz |
| xyz |
f(x,y,z) = (x |
| y |
| z) ( x |
| y |
| z) (x |
| ȳ |
| z) (x |
| y |
| z) |
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.
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={x ∈ A | f(x)=1} et de montrer que ∀ A ⊆ E, 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).
A ⊆ B ⇔ χA ≤ χB ⇔ ∀ x∈ E, χA(x)≤ χB(x) |
∀ x, χ∅(x)=0 |
∀ x, χE(x)=1 |
χA⋂ B = χA χB avec (χA χB)(x) |
| χA(x)χB(x) |
χA⋃ B = χA |
| χB= χA + χB−χAχB avec (χA + χB)(x) |
| χA(x) + χB(x) |
χE∖ A = 1−χA avec (1−χA)(x) |
| 1−χA(x) |
On se donne trois ensembles A, B et C. Si on veut calculer la fonction caractéristique de l’ensemble A ∪ B ∪ C 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 A ∪ B ∪ C = Ā∩ B ∩ C et donc
χA ⋃ B ⋃ 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 χA∪ B=χA+χB−χA∩ B donc |A ∪ B|=|A|+|B|−|A∩ B|
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.
Preuve: On a χA+χB−χAχB=χA+χC−χAχC et par ailleurs χAχB=χAχC. On en déduit χA+χB=χA+χC et donc χB=χC et donc B=C. □
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 (A ∪ E) ∩ Ḡ.
On va utiliser le fait que pour tout ensemble A et B, on a:
χA ⋂ B=χA (1−χB)=χA−χA⋂ B |
et donc |A ∩ B|=|A|−|A∩ B|.
On a
| (A ⋃ E) ⋂ Ḡ| |
|
□