Upload
trinhanh
View
217
Download
0
Embed Size (px)
Citation preview
1
ALGEBRA BOOLEANA O LOGICA
GEORGE BOOLE (1815 1864)
A CHI E' RIVOLTA?
Alla classe degli elementi binari : 1; 0
Alla classe delle proposizioni logiche
CHI PUO' ESSERE DEFINITO PROPOSIZIONE LOGICA?
PROPOSIZIONE LOGICA viene inteso il contenuto di una dichiarazione che è possibile riconoscere come vera o falsa, per questo può essere definita una proposizione dichiarativa oggettiva.
Esempi
OGGI NEVICA
TUTTI GLI UOMINI HANNO TRE OCCHI
MARIO E' SIMPATICO
2
A COSA SERVE?
L'algebra di Boole trova applicazione nella risoluzione di tutti i problemi in cui le variabili che li descrivono possono assumere solo due valori distinti.
In questo ambito si collocano tutti i problemi di automazione
Esempi:
Si immagini di voler realizzare un antifurto, capace di inserire una allarme in corrispondenza dell'apertura di una porta o di una finestra, con la possibilità di disattivare il sistema tramite una serratura a otto combinazioni.
Si immagini di voler realizzare un sistema di smistamento, gestendo due diverse vie di trasporto, per colli di forma parallelepipeda in transito su di un nastro trasportatore, sapendo che essi possono essere di due misure e che si hanno a disposizione due fotocellule per effettuare la distinzione dei colli tra loro.
3
4
5
YES
Dato un numero l'operazione restituisce il valore 1 quando il numero vale 1 e viceversa.
Operazione logica di affermazione (Yes) di numeri binari caratterizzata da particolari proprietà.
Tratta un numero alla volta.
=
Simbolo IEC
Num
A
Affermazione
U
Tabella delle verità
Num Affermazione
0 0
1 1
Tratta una variabile booleana alla volta.
Data una variabile booleana l'operazione restituisce il valore VERA quando la variabile è VERA e viceversa.
A U
FALSA FALSA
VERA VERA
Tabella delle verità
Operazione logica di affermazione (Yes) di variabili booleane caratterizzata da particolari proprietà.
U = A
Num = Num
6
NOT
Dato un numero l'operazione restituisce il valore 0 quando questi vale 1 e viceversa.
Operazione logica di negazione (Not) di numeri binari caratterizzata da particolari proprietà.
Tratta un numero alla volta.
1
Simbolo IEC
Num
A
Negazione
U
Tabella delle verità
Num Negazione
0 1
1 0
Tratta una variabile booleana alla volta.
Data una variabile booleana l'operazione restituisce il valore FALSA quando la variabile è VERA e viceversa.
A U
FALSA VERA
VERA FALSA
Tabella delle verità
Operazione logica di negazione (Not) di variabili booleane caratterizzata da particolari proprietà.
U = NOT A = A
Negazione = NOT Num = Num
7
AND
Dato il prodotto di due variabili booleane l'operazione restituisce il valore FALSA quando le due variabili booleane sono FALSE, mentre restituisce il valore VERA quando entrambe sono VERE.
Dato il prodotto di due numeri l'operazione restituisce il valore 0 quando i due numeri sono diversi tra loro, cioè 0 e 1 o 1 e 0.
Prodotto logico (And) di numeri binari caratterizzata da particolari proprietà.
Tratta coppie di numeri o in quantità superiore.
&
Simbolo IEC
Num1A
Num2B
ProdottoU
Num1 Num2 Prodotto
0 0 0
0 1 0
1 0 0
1 1 1
Tabella delle verità
Prodotto logico (And) di due variabili booleane caratterizzata da particolari proprietà.
Tratta coppie di variabili booleane o in quantità superiore.
Dato il prodotto di due numeri l'operazione restituisce il valore 0 quando i due numeri sono uguali a 0, mentre restituisce il valore 1 quando entrambi valgono 1.
Dato il prodotto di due variabili booleane l'operazione restituisce il valore FALSA quando le due variabili booleane sono diverse tra loro, cioè A =FALSA e B =VERA o A =VERA e B =FALSA.
A B U
FALSA FALSA FALSA
FALSA VERA FALSA
VERA FALSA FALSA
VERA VERA VERA
Tabella delle verità
U = A*B
Prodotto = Num1*Num2
8
NOT AND o NAND
Dato il prodotto negato di due variabili booleane l'operazione restituisce il valore FALSA quando le due variabili booleane sono VERE, mentre restituisce il valore VERA quando entrambe sono FALSE.
Dato il prodotto negato di due numeri l'operazione restituisce il valore 1 quando i due numeri sono diversi tra loro, cioè 0 e 1 o 1 e 0.
Prodotto logico negato (Not And) di numeri binari caratterizzata da particolari proprietà.
Tratta coppie di numeri o in quantità superiore.
&
Simbolo IEC
Num1A
Num2B
Prodotto negato
U
Num1 Num2 Prodotto negato
0 0 1
0 1 1
1 0 1
1 1 0
Tabella delle verità
Prodotto logico negato (Not And) di due variabili booleane caratterizzata da particolari proprietà.
Tratta coppie di variabili booleane o in quantità superiore.
Dato il prodotto negato di due numeri l'operazione restituisce il valore 1 quando i due numeri sono uguali a 0, mentre restituisce il valore 0 quando entrambi valgono 1.
Dato il prodotto negato di due variabili booleane l'operazione restituisce il valore VERA quando le due variabili booleane sono diverse tra loro, cioè A =FALSA e B =VERA o A =VERA e B =FALSA.
A B U
FALSA FALSA VERA
FALSA VERA VERA
VERA FALSA VERA
VERA VERA FALSA
Tabella delle verità
U = A*B
Prodotto negato = Num1*Num2
9
OR
Data la somma di due numeri l'operazione restituisce il valore 0 quando i due numeri sono uguali a 0, mentre restituisce il valore 1 quando entrambi valgono 1.
Data la somma di due numeri l'operazione restituisce il valore 1 quando i due numeri sono diversi tra loro, cioè 0 e 1 o 1 e 0.
Somma logica (Or) di numeri binari caratterizzata da particolari proprietà.
Tratta coppie di numeri o in quantità superiore.
>1
Simbolo IEC
Somma
U
Num1 Num2 Somma
0 0 0
0 1 1
1 0 1
1 1 1
Tabella delle verità
Somma logica (Or) di variabili booleane caratterizzata da particolari proprietà.
Tratta coppie di variabili booleane o in quantità superiore.
Data la somma di due variabili booleane restituisce il valore FALSA quando le due variabili sono FALSE, mentre restituisce il valore VERA quando entrambe sono VERE.
Data la somma di due variabili booleane l'operazione restituisce il valore VERA quando le due variabili sono diverse tra loro, cioè A = FALSA e B = VERA o A = VERA e B = FALSA.
Somma = Num1 + Num2
A B U
FALSA FALSA FALSA
FALSA VERA VERA
VERA FALSA VERA
VERA VERA VERA
Tabella delle verità
U = A + B
Num1A
Num2B
10
NOT OR o NOR
Data la somma negata di due numeri l'operazione restituisce il valore 1 quando i due numeri sono uguali a 0, mentre restituisce il valore 0 quando entrambi valgono 1.
Data la somma negata di due numeri l'operazione restituisce il valore 0 quando i due numeri sono diversi tra loro, cioè 0 e 1 o 1 e 0.
Somma logica negata (Not Or) di numeri binari caratterizzata da particolari proprietà.
Tratta coppie di numeri o in quantità superiore.
>1
Simbolo IEC
Somma negata
U
Num1 Num2 Somma Negata
0 0 1
0 1 0
1 0 0
1 1 0
Tabella delle verità
Somma logica negata (Not Or) di variabili booleane caratterizzata da particolari proprietà.
Tratta coppie di variabili booleane o in quantità superiore.
Data la somma negata di due variabili booleane restituisce il valore VERA quando le due variabili sono FALSE, mentre restituisce il valore FALSO quando entrambe sono VERE.
Data la somma negata di due variabili booleane l'operazione restituisce il valore FALSA quando le due variabili sono diverse tra loro, cioè A = FALSA e B = VERA o A = VERA e B = FALSA.
Somma Negata = Num1 + Num2
A B U
FALSA FALSA VERA
FALSA VERA FALSA
VERA FALSA FALSA
VERA VERA FALSA
Tabella delle verità
U = A + B
Num1A
Num2B
11
U = A + B
EXOR
Data la somma esclusiva di due numeri l'operazione restituisce il valore 0 quando i due numeri sono uguali, cioè tutti e due 1 o 0.
Data la somma esclusiva di due numeri l'operazione restituisce il valore 1 quando i due numeri sono diversi tra loro, cioè 0 e 1 o 1 e 0.
Somma esclusiva (Exclusive Or) di numeri binari caratterizzata da particolari proprietà.
1=
Simbolo IEC
Num1 Num2 Somma Esclusiv
a 0 0 0
0 1 1
1 0 1
1 1 0
Tabella delle verità
Somma esclusiva (Exclusive Or) di variabili booleane caratterizzata da particolari proprietà.
Tratta coppie di variabili booleane.
Tratta coppie di numeri.
Data la somma esclusiva di due variabili booleane l'operazione restituisce il valore FALSO quando le due variabili sono uguali, cioè tutte e due VERE o FALSE.
Data la somma esclusiva di due variabili booleane l'operazione restituisce il valore VERO quando le due variabili sono diverse tra loro, cioè A = FALSA e B = VERA o A = VERA e B = FALSA.
Num1A
Num2B
Somma esclusivaU
Somma Esclusiva = Num1 + Num2
Tabella delle verità
A B U
0 0 0
0 1 1
1 0 1
1 1 1
A B U
0 0 0
0 1 1
1 0 1
1 1 1
A B U
0 0 0
0 1 1
1 0 1
1 1 1
A B U
0 0 0
0 1 1
1 0 1
1 1 1
A B U
FALSA FALSA FALSA
FALSA VERA VERA
VERA FALSA VERA
VERA VERA FALSA
12
U = A + B
EXNOR
Data la somma esclusiva negata di due numeri l'operazione restituisce il valore 1 quando i due numeri sono uguali, cioè tutti e due 1 o 0.
Data la somma esclusiva negata di due numeri l'operazione restituisce il valore 0 quando i due numeri sono diversi tra loro, cioè 0 e 1 o 1 e 0.
Somma esclusiva negata (Exclusive Nor) di numeri binari caratterizzata da particolari proprietà.
1=
Simbolo IEC
Num1 Num2 Somma Esclusiva Negata
0 0 1
0 1 0
1 0 0
1 1 1
Tabella delle verità
Somma esclusiva negata (Exclusive Nor) di variabili booleane caratterizzata da particolari proprietà.
Tratta coppie di variabili booleane.
Tratta coppie di numeri.
Data la somma esclusiva negata di due variabili booleane l'operazione restituisce il valore VERA quando le due variabili sono uguali, cioè tutte e due VERE o FALSE.
Data la somma esclusiva negata di due variabili booleane l'operazione restituisce il valore FALSA quando le due variabili sono diverse tra loro, cioè A = FALSA e B = VERA o A = VERA e B = FALSA.
Num1A
Num2B
Somma Esclusiva NegataU
Somma Esclusiva Negata = Num1 + Num2
Tabella delle verità
A B U
0 0 0
0 1 1
1 0 1
1 1 1
A B U
0 0 0
0 1 1
1 0 1
1 1 1
A B U
0 0 0
0 1 1
1 0 1
1 1 1
A B U
0 0 0
0 1 1
1 0 1
1 1 1
A B U
FALSA FALSA VERA
FALSA VERA FALSA
VERA FALSA FALSA
VERA VERA VERA
13
Espressioni ed Equazioni booleane
Utilizzando le regole dell'algebra booleana è possibile esprimere delle relazioni tra le variabili booleane, attraverso la formulazione di una Espressione logica.Il passo successivo è il confronto tra espressioni, così si arriva a formulare la Equazione logica.Poichè il risultato delle espressioni logiche è un elemento che appartiene alla classe delle variabili logiche è possibile esprimere un'equazione logica particolare chiamata Funzione logica (esiste un legame biunivoco tra le variabili dell'equazione e la variabile singola). In questo caso le variabili dell'espressione prendono il nome di Variabili d'ingresso (A, B, C, D, E, ecc.), mentre la variabile singola assume il nome di Variabile d'uscita (U, X, Y, W, ecc.)
Esempi
A + B *(C + D)
A + B *(C + D) = A + B * C + B * D
U = A + B *(C + D)
ESPRESSIONE
EQUAZIONE
FUNZIONE
14
Teoremi Fondamentali
Teorema di annullameno o di somma di una variabile con la costante 1
A + 1 = 1
Principio di dualitàIl principio di Dualità si applica alle espressioni booleane, per cui da una relazione che esprime una determinata regola, si può ottenere un'altra proprietà (vera anch'essa), che si dice duale della prima, sostituendo ordinatamente 0, 1, OR, AND, con 1, 0, AND, OR.
Teorema duale
A * 0 = 0
Teorema di identità o di somma di una variabile con la costante 0
A + 0 = A
Teorema duale
A * 1 = A
Teorema dei complementi o di complementarietà
A + A = 1
Teorema duale
A * A = 0
Teorema di idempotenza
A + A = A
Teorema duale
A * A = A
Primo Teorema dell'assorbimento
A + (A * B) = A
Teorema duale
A * (A + B) = A
Secondo Teorema dell'assorbimento o di raccoglimento
A + (A * B) = A + B
Teorema duale
A * (A * B) = A * B
Teorema di De Morgan
A + B = A * B
Teorema duale
A * B = A + B
Teorema di Shannon
Il complemento di una espressione logica è ottenibile complementando le singole variabili e scambiando tra loro le operazioni di somma e prodotto.
Tale teorema è una estensione del teorema di De Morgan ed è così definito:
A + (B * C) = A * (B + C)Esempio:
Teorema della negazione o dell'involuzione (doppia negazione o complementazione)
1 = 0
Espressione duale
0 = 1
(A) = A
(A) = A
negazione pari
negazione dispari
15
Proprietà Fondamentali
Proprietà Commutativa
A + B = B + A
Proprietà duale
A * B = B * A
Proprietà Associativa
(A + B) + C = A + (B + C)
Proprietà duale
(A * B) * C = A * (B * C)
Proprietà Distributiva
(A * B) + (A * C) = A * (B + C)
Proprietà duale
(A + B) * (A + C) = A + (B * C)
16
17
18
19
20
21
22
23
24
25
26