Éléments d`algèbre de Boole

publicité
Université de Nice – Sophia Antipolis
Licence 1 Sciences & Technologies
Informatique Générale
Élements de logique et
d'algèbre de Boole
Jacques Farré
[email protected]
http://deptinfo.unice.fr/~jf/InfoGene
© Jacques Farré 2013
Informatique générale – éléments d'algèbre de Boole
1/12
La logique, pourquoi ?


Pour modéliser des ”objets”, leurs propriétés, et pour
faire des raisonnements rigoureux dessus
Par exemple la logique aristotélicienne




Raisonnement logique à 2 propositions conduisant à une
conclusion (syllogisme)
de la forme : si tous les éléments de l'ensemble E ont telle
propriété, si e est un élément de E, alors e a la propriété P
exemple classique : tous les hommes sont mortels; or
Socrate est un homme; donc Socrate est mortel
qu'on peut traduire par, en généralisant :
si [(M ⊂ P) et (S ⊂ M)] alors (S ⊂ P)

attention : si [(M ⊂ P) et (S ⊂ P)] alors (S ⊂ M) n'a pas de
sens : les hommes sont bipèdes, les autruches sont bipèdes,
donc les autruches sont des hommes
© Jacques Farré 2013
Informatique générale – éléments d'algèbre de Boole
2/12
Calcul propositionnel
Calcul propositionnel : théorie logique qui définit les lois
formelles du raisonnement
évaluation d'expressions résultant en une valeur parmi {faux,
vrai} (notées aussi {F, V} ou {0, 1})
Une proposition atomique est une affirmation susceptible d'être
vraie ou fausse : il pleut, 2009 est une année bissextile, i+j = k, ...
On peut former une proposition en utilisant des opérateurs
logiques (ou connecteurs), par exemple
➢
Il pleut et il y a du soleil
➢
i+j=k ou (i-j=k et k>0)
➢
si x est multiple de 4 alors x est pair
➢
l'année A est bissextile équivaut à l'année A a 366 jours
© Jacques Farré 2013
Informatique générale – éléments d'algèbre de Boole
3/12
Opérateurs du calcul propositionnel
Essentiellement 5 opérateurs
➢
la conjonction (et) notée 
Il pleut et il y a du soleil (si a=il pleut, b=il y a du soleil, on
écrit a b)
la disjonction (ou) notée 
i+j=k ou (i-j=k et k>0) de la forme a  (b c)
➢ l'implication (alors) notée ⇒
x est multiple de 4 alors x est pair, de la forme a ⇒ b
➢ la négation (NON, PAS) notée ¬
si x n'est pas pair alors il n'est pas multiple de 4 : ¬b ⇒ ¬a
➢ l'équivalence, notée ⇔
2012 est bissextile équivaut à 2012 a 366 jours, a ⇔ b
➢ (a ⇒ b) ⇔ (¬b ⇒ ¬a) mais on n'a pas (a ⇒ b) ⇔ (¬a ⇒ ¬b)
(si x n'est pas multiple de 4 alors il n'est pas pair) est faux
➢
© Jacques Farré 2013
Informatique générale – éléments d'algèbre de Boole
4/12
A quoi sert le calcul propositionnel

en mathématiques

c'est la base de toute démonstration



preuves assistées par ordinateur
pour donner des définitions inductives : par exemple
pour définir l'ensemble P des entiers pairs

0∈P

n∈P⇒n+2∈P
en informatique


intelligence artificielle, bases de données ...
programmation logique (Prolog)
vérification de programme, spécification de
programme, conception sûre ...
© Jacques Farré 2013
Informatique générale – éléments d'algèbre de Boole
5/12
Opérateurs logiques unaires
Les opérateurs sont définis par des tables de vérité
4 (22) opérateurs unaires (u1-u4) ; tables de vérité :
A
u1
u2
u3
u4
faux faux faux vrai vrai
vrai faux vrai faux vrai
u1 est la contradiction : u1(A) faux quelque soit A
u2 est l'identité : u2(A) vaut A pour tout A
u3 est la négation, notée ¬
A
¬A
ou
A
faux
vrai
vrai
faux
u4 est la tautologie (toujours vrai)
© Jacques Farré 2013
Informatique générale – éléments d'algèbre de Boole
6/12
Opérateurs logiques binaires
16 (24) opérateurs binaires, parmi lesquels
A
B
ET
(ou 
OU
( ou +)
F
F
V
V
F
V
F
V
F
F
F
V
F
V
V
V
A
B
NAND
(non ET)
F
F
V
V
F
V
F
V
© Jacques Farré 2013
V
V
V
F
NOR
équivalence
(≡ ou ⇔)
V
F
F
V
XOR
(non OU) (OU exclusif)
V
F
F
F
implication
(⊃ ou ⇒ )
F
V
V
F
V
V
F
V
Quelques propriétés
A = ¬¬A
A  ¬A = V
A  ¬A = F
A V = V , A F = A
A V = A , A F = F
Pouvez-vous les démontrez ?
Informatique générale – éléments d'algèbre de Boole
7/12
Opérateurs logiques binaires
(solution)
A = ¬¬A :
(A = V) ⇒ (¬A = F) ⇒ (¬(¬A) = V) = A
(A = F) ⇒ (¬A = V) ⇒ (¬(¬A) = F) = A
A  ¬A = V :
(A = V) ⇒ (¬A = F) ⇒ (A  ¬A = V F) = V
(A = F) ⇒ (¬A = V) ⇒ (A  ¬A = F V) = V
A  ¬A = F : preuve analogue, sachant que V F = F V = F
A V = V : évident en regardant la table de 
A F = A :
(A = V) ⇒ (V F = V) = A
(A = F) ⇒ (F F = F) = A
A V = A : évident en regardant la table de 
A F = F : preuve analogue en regardant la table de 
© Jacques Farré 2013
Informatique générale – éléments d'algèbre de Boole
8/12
Formule statisfiable
Une formule F(A1, A2 … An) est satisfiable s'il existe,
pour chaque Ai, une valeur parmi {vrai, faux} telle
que F est vraie
Par exemple, a b¬ c est satisfiable pour
a=vrai, b=vrai, c=faux
Une formule est contradictoire si elle n'est pas
satisfiable : (a¬b)(b¬c)(c¬a)(ac(¬b¬c
En règle générale, essayer de simplifier
l'expression, puis établir la table de vérité
Il existe d'autres méthodes (un peu) moins
laborieuses (diagrammes de Karnaugh, méthode
de Quine, méthode de Davis-Putnam ...)
© Jacques Farré 2013
Informatique générale – éléments d'algèbre de Boole
9/12
Algèbre de Boole
On considère les opérateurs {  , } sur { 0, 1 }
par convention on écrit a+b au lieu de ab,
a.b pour a b,
ã pour a
Associativité et commutativité de + et de .
(a+b)+c = a+(b+c) = a+b+c
a+b = b+a
(idem avec .)
(idem avec .)
Distributivité :
a.(b+c) = a.b + a.c
Idempotence :
a+a+...+a = a (idem avec .)
Élément neutre :
a+0 = a, a.1 = a
a+1 = 1, a.0 = 0
Et donc, parmi d'autres propriétés :
a + a.b = a,
a.(a+b) = a
(a+b).(a+c) = a + bc
a + ã.b = a + b
a.(ã + b ) = a.b
© Jacques Farré 2013
Informatique générale – éléments d'algèbre de Boole
Sauriez vous
le montrer ?
10/12
Algèbre de Boole
(solutions de l'exercice précédent)
On peut utiliser des tables de vérité, mais aussi procéder
plus algébriquement :
a + a.b = a.1 + a.b = a.(1+b) = a.1 = a
e
ut
ilis
a.(a+b) = a.a + a.b = a + a.b = a
on
tilis
on u
e
(a+b).(a+c) = a.a + a.c + b.a + b.c = a + a.(b+c) + b.c
= a
+ b.c
on utilise
a + ã.b = (a+ã).(a+b) = 1.(a+b) = a+b
a.(ã + b ) = a.ã + a.b = 0 + a.b = a.b
© Jacques Farré 2013
Informatique générale – éléments d'algèbre de Boole
11/12
Système complets
Un ensemble d'opérateurs propositionnels est dit
complet si tout autre opérateur peut se définir au
moyen des connecteurs de l'ensemble
L'ensemble {  , } est complet (il y en a d'autres)
par exemple : A XOR B = (A B)  (A B)
A
F
F
V
V
B
F
V
F
V
A B
V
V
V
F
F
V
F
F
A B
F
V
F
F
A B (A B) (A B)
F
F
F
V
V
V
F
F
A XOR B
F
V
V
F
Lois de Morgan (généralisables à N variables)
(A  B) ⇔ ( A)  ( B)
(A  B) ⇔ ( A)  ( B)
© Jacques Farré 2013
Démonstration laissée à
titre d'exercice
Informatique générale – éléments d'algèbre de Boole
12/12
Téléchargement