Algebre di Boole - Home di homes.di.unimi.it

annuncio pubblicitario
Algebre di Boole
Fondamenti di Informatica
per la Sicurezza
a.a. 2008/09
Algebre di Boole
Stefano Ferrari
U NIVERSITÀ DEGLI S TUDI DI M ILANO
D IPARTIMENTO DI T ECNOLOGIE DELL’I NFORMAZIONE
Stefano Ferrari
⋆
Università degli Studi di Milano
Fondamenti di Informatica per la Sicurezza
⋄
Algebre di Boole
⋄
a.a. 2008/09 - p. 1/13
George Boole (1815–1864)
Nel 1854, pubblica “An investigation
into the Laws of Thought, on Which
are founded the Mathematical
Theories of Logic and Probabilities”.
Boole riduce la logica a semplice
algebra, incorporandola nella
matematica.
Evidenzia l’analogia tra i simboli algebrici e quelli
delle forme logiche.
L’algebra booleana trova applicazioni nella
progettazione dei calcolatori.
Stefano Ferrari
⋆
Università degli Studi di Milano
Fondamenti di Informatica per la Sicurezza
⋄
Algebre di Boole
⋄
a.a. 2008/09 - p. 2/13
Stefano Ferrari— Fondamenti di Informatica per la Sicurezza— a.a. 2008/09
1
Algebre di Boole
Algebra booleana
Un’algebra booleana è basata su:
•
un insieme di elementi K
•
due operazioni chiuse su K (+, ·)
•
una funzione complemento ( · )
Stefano Ferrari
⋆
Università degli Studi di Milano
Fondamenti di Informatica per la Sicurezza
⋄
Algebre di Boole
⋄
a.a. 2008/09 - p. 3/13
Assiomi
(1)
1. almeno due elementi
∃ a, b ∈ K : a 6= b
2. chiusura di
+e·
∀ a, b ∈ K :
•
a+b∈K
•
a·b∈K
Stefano Ferrari
⋆
Università degli Studi di Milano
Fondamenti di Informatica per la Sicurezza
⋄
Algebre di Boole
⋄
a.a. 2008/09 - p. 4/13
Stefano Ferrari— Fondamenti di Informatica per la Sicurezza— a.a. 2008/09
2
Algebre di Boole
Assiomi
(2)
3. proprietà commutativa
∀ a, b ∈ K :
•
a+b=b+a
•
a·b=b·a
4. proprietà associativa
∀ a, b, c ∈ K :
•
(a + b) + c = a + (b + c) = a + b + c
•
(a · b) · c = a · (b · c) = a · b · c
Stefano Ferrari
⋆
Università degli Studi di Milano
Fondamenti di Informatica per la Sicurezza
⋄
Algebre di Boole
⋄
a.a. 2008/09 - p. 5/13
Assiomi
5. esistenza degli elementi neutri di
•
∃! 0 ∈ K : a + 0 = a, ∀ a ∈ K
•
∃! 1 ∈ K : a · 1 = a, ∀ a ∈ K
(3)
+e·
6. proprietà distributiva
∀ a, b, c ∈ K :
•
a + (b · c) = (a + b) · (a + c)
•
a · (b + c) = (a · b) + (a · c)
Stefano Ferrari
⋆
Università degli Studi di Milano
Fondamenti di Informatica per la Sicurezza
⋄
Algebre di Boole
⋄
a.a. 2008/09 - p. 6/13
Stefano Ferrari— Fondamenti di Informatica per la Sicurezza— a.a. 2008/09
3
Algebre di Boole
Assiomi
(3)
7. complemento
∀a ∈ K ∃a ∈ K :
•
a+a=1
•
a·a=0
Stefano Ferrari
⋆
Fondamenti di Informatica per la Sicurezza
Università degli Studi di Milano
⋄
Algebre di Boole
⋄
a.a. 2008/09 - p. 7/13
Proprietà
Idempotenza
a+a=a
Leggi di De Morgan
a·a=a
e
a·b=a+b
a+b=a·b
Doppio complemento
Elemento nullo
e
a=a
a+1=1
e
a·0=0
Tali proprietà possono essere verificate per:
•
dimostrazione;
•
analisi esaustiva.
Stefano Ferrari
⋆
Università degli Studi di Milano
Fondamenti di Informatica per la Sicurezza
⋄
Algebre di Boole
⋄
a.a. 2008/09 - p. 8/13
Stefano Ferrari— Fondamenti di Informatica per la Sicurezza— a.a. 2008/09
4
Algebre di Boole
Principio di dualità
I teoremi dell’algebra booleana possono essere
dimostrati a coppie, scambiando tra loro:
•
le operazioni, + ↔ ·;
•
gli elementi neutri, 0 ↔ 1.
Stefano Ferrari
⋆
Università degli Studi di Milano
Fondamenti di Informatica per la Sicurezza
⋄
Algebre di Boole
⋄
a.a. 2008/09 - p. 9/13
Teorema di De Morgan
(1)
La legge di De Morgan può essere generalizzata a n
termini.
X1 + X2 + . . . + Xn = X1 · X 2 · . . . · X n
Dimostrazione per induzione:
• caso base:
–
•
si dimostra vero il caso con il numero minimo di elementi;
passo di induzione:
–
si ipotizza vero il teorema per n − 1 elementi;
–
si utilizza l’ipotesi aggiuntiva per dimostrare il teorema per n
elementi.
Stefano Ferrari
⋆
Università degli Studi di Milano
Fondamenti di Informatica per la Sicurezza
⋄
Algebre di Boole
⋄
a.a. 2008/09 - p. 10/13
Stefano Ferrari— Fondamenti di Informatica per la Sicurezza— a.a. 2008/09
5
Algebre di Boole
Teorema di De Morgan
(2)
Dimostrazione per induzione:
• caso base:
X1 + X2 = X 1 · X 2
•
(Legge di De Morgan)
passo di induzione:
Se per ipotesi, è vero che:
X1 + . . . + Xn−1 = X 1 · . . . · X n−1
allora:
(X1 + . . . + Xn−1 ) + Xn=
= (X1 + . . . + Xn−1 ) · X n = X 1 · . . . · X n−1 · X n
Stefano Ferrari
⋆
Università degli Studi di Milano
Fondamenti di Informatica per la Sicurezza
⋄
Algebre di Boole
⋄
a.a. 2008/09 - p. 11/13
Cardinalità
Si può dimostrare che in ogni algebra booleana finita,
il numero di elementi di K è una potenza di due.
Stefano Ferrari
⋆
Università degli Studi di Milano
Fondamenti di Informatica per la Sicurezza
⋄
Algebre di Boole
⋄
a.a. 2008/09 - p. 12/13
Stefano Ferrari— Fondamenti di Informatica per la Sicurezza— a.a. 2008/09
6
Algebre di Boole
Esempi
Molte formalizzazioni rispondono agli assiomi
dell’algebra di Boole.
Sono algebre di Boole:
•
l’algebra binaria;
•
l’algebra di insiemi;
•
lo spazio degli eventi (calcolo delle probabilità);
•
i circuiti logici;
•
la logica proposizionale.
Stefano Ferrari
⋆
Università degli Studi di Milano
Fondamenti di Informatica per la Sicurezza
⋄
Algebre di Boole
⋄
a.a. 2008/09 - p. 13/13
Stefano Ferrari— Fondamenti di Informatica per la Sicurezza— a.a. 2008/09
7
Scarica