George BOOLE (1815-64) L’algebra booleana. (logica proposizionale) La logica e George BOOLE • • • George BOOLE nel 1847 pubblicò il libro Mathematical Analysis of Logic, nel quale presentava ciò che oggi si conosce come l’algebra di BOOLE, che aveva l’intento di utilizzare le tecniche algebriche per il trattamento di espressioni della logica proposizionale, e più tardi, della logica dei predicati. Agli inizi le scoperte di BOOLE ebbero un riconoscimento limitato agli esperti del campo: i logici. Fino al XX secolo non si comprenderà adeguatamente la sua importanza né la sua utilità nel campo dell’informatica Le proposizioni • Nomenclatura • Per indicare una proposizione si usano di solito le lettere: p, q, r, s,… • Per indicare il valore di verità si usa la lettera «v» • Per indicare il valore di falsità si usa la lettera «f» • Definizione • Si definisce « proposizione» una qualunque affermazione cui possa essere associato un valore di verità «v» oppure di falsità «f», • In pratica non sono proposizioni logiche i giudizi soggettivi, le domande, le esclamazioni e le frasi senza senso. Es. due più due è uguale a quattro; è una proposizione vera. Latina è la capitale d’italia ; è una proposizione falsa. Sono bella !! non è una proposizione. Principi della logica • Principio di identità: ogni oggetto del pensiero logico è uguale solamente a se stesso e non è uguale a nessun altro oggetto. • Principio di non contraddizione: la stessa proposizione non può essere contemporaneamente vera e falsa: Il fatto che «p» sia vera esclude che «p» sia falsa Il fatto che «p» sia falsa esclude che «p» sia vera • Principio del terzo escluso: ad ogni proposizione si potrà associare solamente il valore vero oppure falso e non esiste una terza possibilità ( tertium non datur). • P.S. Una proposizione è semplice se non è possibile scomporla in parti più semplici per cui sia possibile dire se sono vere o false, altrimenti diremo che le proposizioni sono complesse. Tavole di verità Le tabelle della verità (o tabelle logiche) sono tabelle matematiche usate nella logica per determinare se, attribuiti i valori di verità alle proposizioni che la compongono, una determinata proposizione è vera o falsa. La tabella di verità elenca sulle caselle delle righe corrispondenti alle colonne delle variabili della funzione tutte le possibili combinazioni di valori che possono assumere le variabili booleane ed il risultato della funzione nelle caselle delle righe corrispondenti all'ultima colonna a destra, per tale combinazione di valori. A lato un esempio date le proposizioni: P, Q, R. In pratica se ho «n» proposizioni allora avrò 2^n possibilità. • P Q R F: (P, Q, R) F F F F F F V F F V F F F V V V V F F F V F V V V V F V V V V V Calcolo delle proposizioni Negazione • La negazione è un'operazione unaria perchè si applica su una sola proposizione ed è definita come l'operazione che applicata a p restituisce il valore di verità contrario di p. • Avremo quindi la tavola di verità come in fig.1. Congiunzione logica • • • La congiunzione logica (e) è un’operazione binaria perché si applica su due proposizioni ed è definita come l’operazione che applicata a p e q restituisce i valori di verità come da tabella in fig. 2. La proposizione composta è vera solo se sono entrambi vere le proposizioni componenti. Oltre al termine et è utilizzato il simbolo ^(et). Disgiunzione inclusiva • • • • Anche la disgiunzione inclusiva (o, od anche) è un'operazione binaria perchè si applica su due proposizioni ed è definita come l'operazione che applicata a p e q restituisce i valori di verità come da tabella in fig. 3. La proposizione composta è vera se almeno una delle proposizioni componenti è vera. Oltre al termine vel è utilizzato il simbolo V(vel). La congiunzione logica e la disgiunzione esclusiva trovano i loro equivalenti nella teoria degli insiemi nei concetti di intersezione e unione di insiemi rispettivamente. • • • • • • • • Gli operatori visti finora: not, et, vel sono detti operatori logici fondamentali perché tramite essi è possibile ricavare tutti gli altri operatori: da qui la loro importanza fondamentale. In pratica tutta la logica può essere trattata con questi soli tre operatori; fatto particolarmente significativo in informatica, materia estremamente collegata alla logica. Ecco allora che la logica booleana è stata riscoperta da tale disciplina poiché fornisce lo scenario ideale per lo sviluppo di una logica binaria. Gioca con i valori zero e uno e da rigore alle operazione di base: AND cioè la congiunzione ( operazione binaria denotata con «^»); OR cioè la disgiunzione ( operazione binaria denotata con «˅»); NOT cioè la negazione ( operazione binaria denotata con «¬»). Le operazioni si posso definire secondo la seguente tabella di verità: X Y AND X^Y OR XvY NOT ¬ X 0 0 0 0 1 0 1 0 1 1 1 0 0 1 0 1 1 1 1 0 Disgiunzione esclusiva Trattando i tre operatori logici ci siamo riferiti alla disgiunzione specificando l’aggettivo disgiuntiva, ma la disgiunzione può essere anche esclusiva. Mentre in italiano la o si puo' interpretare in modo diverso nella lingua latina vengono usate due congiunzioni diverse per indicare: o l'uno o l'altro o tutte e due (o inclusivo) vel o l'uno o l'altro e non tutte e due (o esclusivo) aut quindi in logica vengono usate preferibilmente i simboli in latino piuttosto che in italiano e -> et o inclusivo -> vel o esclusivo -> aut. Anche la disgiunzione esclusiva (o l'uno, oppure l'altro ma non tutti e due) è un'operazione binaria perchè si applica su due proposizioni ed è definita come l'operazione che applicata a p e q restituisce i valori di verità come da tabella in fig.4 (si usa il simbolo aut). • • • • •