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.