Algebra di Boole
L’algebra di Boole prende il nome da George Boole, matematico inglese (1815-1864), che
pubblicò un libro nel 1854, nel quale vennero formulati i principi dell'algebra oggi conosciuta sotto il
nome del suo inventore: algebra booleana.
Sull'algebra di Boole si basa l'elettronica digitale (progettazione dei circuiti dei computer).
I suoi operatori vengono anche usati nella programmazione.
E’ un modello di algebra nel quale esistono solo due numeri: 1 e 0. A volte, al posto di 1 e 0
vengono utilizzati V, Vero; F, Falso oppure T, True = vero in inglese e F, False = falso in inglese.
Un predicato o variabile logica (o enunciato) è una grandezza che può assumere solo due
valori: 1 e 0 (V e F).
Predicato semplice: è costituito dal confronto di variabili, costanti o espressioni aritmetiche
tramite operatori di relazione [< (minore); > (maggiore); <= (minore o uguale); >= (maggiore o
uguale); <> (diverso)].
Esempi: A < B
(è Vero se A contiene un valore minore di quello contenuto in B)
A <> 20
(è Vero se A contiene qualsiasi valore escluso il 20)
Città = “Taranto” (è vero se la variabile Città contiene i caratteri “Taranto”, che sono
fra apici per non confonderli col nome di una variabile)
Predicato composto: è costituito da uno o più predicati semplici uniti dagli operatori logici
AND ( • ), OR ( + ) ,NOT ( ¯ ).
in ordine di priorità: il NOT (negazione) ha precedenza sull’AND (prodotto logico) che, a
sua volta, ha la precedenza sull’OR (somma logica).
I tre operatori possono essere definiti mediante le tre tavole di verità.
NOT : la negazione si applica ad un solo predicato (semplice o composto). Se il predicato
è vero lo rende falso; se è falso lo rende vero.
Tavola di verità del NOT
p
V
F
NOT p
F
V
AND : Il prodotto logico svolge il prodotto tra variabili logiche. Il simbolo di prodotto può
anche essere sottinteso ( omesso ).
Tavola di verità dell’AND
dati i predicati p e q il predicato p AND q sarà vero solo se p e q sono entrambi veri.
p q p AND q
V V
V
V F
F V
F F
F
F
F
Esempio: In italiano, la frase: “il fiore è rosso e (AND) giallo”
è vera solo se il fiore ha entrambi i colori.
in questo esempio p = “il fiore è rosso”
q = “il fiore è giallo”
OR : la somma logica effettua la somma tra variabili logiche.
Tavola di verità dell’OR
dati i predicati p e q il predicato p OR q sarà vero solo se p e q sono entrambi veri.
p q p OR q
V V
V
V F
F V
F F
V
V
F
Esempio: In italiano, la frase: “il fiore è rosso o (OR) giallo”
è vera se il fiore ha uno, l’altro o entrambi i colori.
in questo esempio p = “il fiore è rosso”
q = “il fiore è giallo”
PREDICATI COMPOSTI
Un predicato composto è costituito da predicati semplici (o composti) uniti tramite operatori logici
(NOT, AND, OR).
Esempio: dati i predicati semplici g, r, b consideriamo il predicato composto (g AND NOT r) OR b
La tavola di verità sarà:
g r b NOT r g AND not r (g AND NOT r) OR b
Infatti, se g = il fiore è giallo
V V V
F
F
V
r = il fiore è rosso
V V F
F
F
F
b = il fiore è bianco
V F V
V
V
V
V F F
V
V
V
il predicato composto sarà Vero se
F V V
F
F
V
il fiore è (giallo ma non rosso) oppure
F V F
F
F
F
se è bianco.
F F V
V
F
V
F F F
V
F
F
Vediamo che una tavola di verità con n variabili booleane (predicati semplici) avrà 2n righi.
In questo caso n=3 e quindi abbiamo 23 = 8 righi.
DATO UN PREDICATO CREIAMO IL SUO OPPOSTO
Se vogliamo invertire un predicato possiamo usare il NOT, oppure possiamo usare le formule di
De Morgan:
1.
p AND q
=
p OR q
2.
p OR q
=
p AND q
( p equivale a NOT p )
Il che equivale a dire che per invertire un predicato dobbiamo negare le variabili logiche e
scambiare gli OR con AND e viceversa.
Sapendo che due negazioni si annullano ( not not p = p ),
con l’esempio di prima (g AND NOT r) OR b avremmo (not g OR r) AND not b
La sua tavola di verità sarà:
g r b NOT g not g OR r NOT b (not g OR r) AND not b
Infatti, se g = il fiore è giallo
V V V
F
V
F
F
r = il fiore è rosso
V V F
F
V
V
V
b = il fiore è bianco
V F V
F
F
F
F
V F F
F
F
V
F
il predicato composto
F V V
V
V
F
F
sarà Vero se il fiore:
F V F
V
V
V
V
F F V
V
V
F
F
F F F
V
V
V
V
(non è giallo o è rosso) e non è bianco.
Notiamo che questo predicato è falso quando l’altro è vero ed è invece vero quando l’altro è falso.