Sei sulla pagina 1di 16

Unit didattica

Algebra booleana
e logica

CHE COSA IMPARERAI A FARE


$ Utilizzare le tabelle di verit

$ Attribuire un valore di verit a enunciati logici semplici e complessi


$ Utilizzare consapevolmente il linguaggio e il pensiero razionale
$ Utilizzare le regole del ragionamento logico
$ Utilizzare in modo consapevole i linguaggi logici per:

comprendere e interpretare informazioni


analizzare, porre in relazione, classificare elementi di una realt osservata
costruire ragionamenti
formulare ipotesi
generalizzare

CHE COSA DOVRAI STUDIARE


$ Formalismo dellalgebra booleana
$ Precedenza degli operatori
$ Tipi di sillogismo
$ Connettivi del ragionamento logico

TERMINOLOGIA
$ Logica formale
$ Tabella di verit
$ Operatori NOT, AND, OR
$ Proposizione ed enunciato
$ Asserzioni e relazioni
$ Sillogismo e implicazione
$ Bicondizionale
$ Induzione e deduzione
$ Fallacia e paradosso

Unit didattica
Algebra booleana e logica
7.1 Introduzione
Si potrebbe intitolare questa Unit didattica tributo a Boole in quanto i due argomenti che verranno affrontati si possono ricondurre al lavoro di Boole descritto nella sua opera pi importante Investigation of the laws of thought, pubblicata nel 1854, con la quale Boole pose le basi della logica
formale e i fondamenti di un nuovo tipo di algebra, nota oggi come algebra booleana: unalgebra innovativa per il periodo, che formalizza le teorie anticipate nel volumetto dal titolo Mathematical analysis of logic che lui stesso scrisse nel 1847, dove presente chiaramente il suo pensiero nei
riguardi della logica e della matematica stessa. A continuare la sua opera provvide il suo amico ed
estimatore Augustus De Morgan (di cui ricordiamo i teoremi e le leggi sugli insiemi): la nuova algebra della logica.
Boole opera in un periodo rivoluzionario, che vede la nascita delle geometrie non euclidee di Nicolaj Loba
cevskij (che si chiese se la somma degli angoli interni di triangoli costruiti su una sfera sia ancora
uguale a 180), della matematica dellinfinito di Georg Cantor (che volle indagare se i numeri reali sono
infiniti e sono di pi dei numeri naturali), mentre in Francia Evariste Galois, appena diciassettenne, sviluppa la teoria dei gruppi.

Per Boole linsieme universo vale 1, linsieme vuoto 0, il segno + sta a indicare lunione tra due insiemi e il segno x sta ad indicare lintersezione tra insiemi (i simboli oggi sono stati cambiati ma il
concetto lo stesso). Inoltre la sua algebra utile per rappresentare ragionamenti di tipo sillogistico
(la logica, per intenderci, oggi anche chiamata logica booleana) ed stata applicata con successo al calcolo delle probabilit.
Oltre che in matematica, lalgebra di Boole utilizzata oggi in molteplici discipline tecniche e scientifiche, come la teoria dellinformazione e della trasmissione dei segnali: impieghi impensabili nel
1860. Il lavoro di Boole ha contribuito alla nascita e allo sviluppo dei computer, macchine stupide
in grado di comprendere esclusivamente se c corrente (stato 1) oppure no (stato 0): con questi soli due simboli possibile rappresentare le informazioni mediante il codice binario (costituito appunto dai simboli 1 e 0). Grazie ai teoremi di Claude Shannon, sempre basati sulle regole dellalgebra
booleana, si riusciti a rappresentare un qualsiasi circuito costituito da una combinazione di interruttori e/o transistor (sistemi digitali) mediante un insieme di espressioni matematiche.
Da quanto stato detto si deduce che lalgebra di Boole spazia dalla matematica alla logica, dallinformatica allelettronica: nella nostra trattazione la studieremo affrontando separatamente le tre
discipline in cui trova applicazione, che possono essere cos riassunte:
: algebra degli insiemi;
: algebra delle proposizioni;
: algebra dei circuiti.

7.2 Algebra degli insiemi


Senza approfondire ogni dettaglio della teoria di Boole, doveroso conoscerne gli aspetti fondamentali. La definizione rigorosa la seguente:
101

Unit di apprendimento 2 - Dal problema al programma

Lalgebra di Boole una struttura algebrica costituita da due costanti, 0 e 1, una operazione unaria (o !, che la negazione) e due operazioni binarie * (congiunzione)
e + (disgiunzione) e che verifica gli assiomi riportati nella tabella che segue:
PROPRIET
associativa
commutativita
idempotenza
assorbimento
distributivit
identit
esistenza inverso

A + (B + C) = A + (B + C)
A*B=B*A
A+A=A
A + (A * B) = A
A * (B + C) = (A * B) + (A * C)
1*A=A
A * (A) = 0

(A * B) * C = A + (B * C)
A+B=B+A
A*A=A
A * (A + B) = A
A + (B * C) = (A + B) * (A + C)
0+A=A
A + (A) = 1

Riportiamo in ultimo anche i teoremi di De Morgan (prima citato):


!(A + B) = !A * !B
!(A * B) = !A + !B
Nella pratica la terminologia utilizzata la seguente:
ELEMENTI DELLA STRUTTURA VALORI

DESCRIZIONE

COSTANTI:
OPERATORI:

F = falso, V = vero oppure 0 = falso, 1 = vero


operatore binario chiuso detto anche
disgiunzione logica
operatore binario chiuso detto anche
congiunzione logica
operatore unario chiuso detto anche
negazione logica

{F, V oppure 0, 1}
+, OR
*, AND
!, NOT

Gli operatori vengono anche denominati, rispettivamente, somma logica, prodotto logico e negazione.
Il valore assunto da unoperazione logica elementare (e, pi in generale, da una funzione logica) pu
essere espresso mediante una tabella di verit
(TT, Truth Table) che riassume tutte le combinazioni dei valori di ingresso e il corrispondente valore del risultato delloperazione logica. La tabella di verit di una funzione a n ingressi ha 2n righe, che corrispondono a tutte
le possibili configurazioni di ingresso e un insieme di colonne suddivise in due gruppi, gli
ingressi e le uscite:
: colonne degli ingressi: contengono tutte le combinazioni di valori delle variabili coinvolte

nelloperazione;

: colonna delluscita: riporta i valori assunti dalla funzione in corrispondenza degli ingressi in-

dicati nelle colonne precedenti.


Nei paragrafi che seguono procediamo allesame delle singole operazioni.

7.2.1 Operatore AND (*): prodotto logico


Prende anche il nome di prodotto logico in quanto il risultato pu essere ottenuto dal prodotto algebrico delle due variabili di ingresso: solamente quando entrambi i valori sono uguali a 1 luscita assume
valore 1, negli altri casi il prodotto vale 0.
102

Unit didattica 7 - Algebra booleana e logica

Il simbolo che rappresenta tale operatore pu assumere diverse forme, a seconda della disciplina in cui viene impiegato; le notazioni pi diffuse sono le
seguenti:
A AND B, A && B, AB, A x B
In elettronica digitale esiste un circuito che effettua automaticamente questa operazione; esso viene rappresentato negli schemi elettrici mediante il
simbolo funzionale riportato nella figura a lato. E
Lanalogia che meglio si presta a descrivere questo operatore quella elettrica in cui i due ingressi sono rappresentati da interruttori collegati in serie e luscita costituita da un lampadina: affinch possa
essere accesa la lampadina entrambi gli interruttori devono essere
chiusi.

7.2.2 Operatore OR (+): somma logica


Prende anche il nome di somma logica in quanto il risultato pu essere ottenuto dalla somma algebrica (senza riporto) delle due variabili di ingresso:
luscita assume valore 0 soltanto quando entrambi i valori sono uguali a 0,
mentre negli altri casi la somma ha come risultato 1.
Il simbolo che rappresenta tale operatore pu assumere diverse forme, a seconda della disciplina in
cui viene impiegato; le notazioni pi diffuse sono le seguenti:
A OR B, A || B, A + B
In elettronica digitale esiste un circuito che effettua automaticamente questa
operazione e viene rappresentato negli schemi elettrici mediante il simbolo
funzionale riportato nella figura a lato. E

Sempre utilizzando lanalogia elettrica, in questo caso gli interruttori dovranno essere connessi in parallelo e la lampadina si accender quando almeno
uno dei due interruttori verr chiuso: infatti viene garantito il passaggio in almeno uno dei due rami e, di conseguenza, laccensione della lampadina.

7.2.3 Operatore NOT (!): complemento o negazione


Prende anche il nome di negazione logica, in quanto effettua il ribaltamento del
valore della variabile in ingresso: in uscita viene riportato il valore opposto al valore della variabile di ingresso, detto appunto valore negato, o complementato. Si
ha che:
: la negazione di 0 1 e, viceversa, la negazione di 1 0;
: il complemento di 0 1 e, viceversa, il complemento di 1 0.

Le notazioni pi utilizzate sono le seguenti:

NOT A, !A, A, A
103

Unit di apprendimento 2 - Dal problema al programma

Il simbolo funzionale del circuito che in elettronica digitale espleta questa


operazione quello della figura a lato. E

7.2.4 Operatore XOR: disgiunzione esclusiva


Oltre ai tre operatori descritti, che svolgono le funzioni logiche elementari,
esiste un ultimo operatore, che prende il nome di disgiunzione esclusiva,
molto utilizzato nei circuiti digitali (insieme alloperatore NAND): la sua
uscita ha valore 1 esclusivamente se uno solo degli ingressi ha valore 1, cio
soltanto quando gli ingressi hanno valore diverso. Viene infatti spesso utilizzata proprio per individuare tale differenza.

Le notazione pi utilizzata A XOR B e il simbolo funzionale del circuito che in


elettronica digitale espleta questa operazione riportato nella figura a lato. E
Attenzione a non confondere il connettivo OR (uno o laltro, o entrambi) con il connettivo XOR (uno o laltro, ma non entrambi) che per nella lingua italiana sono resi con la stessa congiunzione disgiuntiva o.
Ecco due esempi chiarificatori:
: vado in bicicletta o a piedi una cosa esclude laltra;
: biondo o tinto entrambe le cose sono possibili.

Il risultato del connettivo XOR pu essere ottenuto combinando le operazioni logiche elementari come nella tabella che segue:

7.2.5 Combinazione e precedenza degli operatori


possibile combinare pi operatori in modo da ottenere espressioni logiche complesse: si pu osservare come gi le propriet del reticolo definite in precedenza presentassero combinazioni tra pi
di due variabili, quindi la possibilit di utilizzare operatori diversi nella medesima espressione.
Come nellalgebra tradizionale, anche nellalgebra di Boole sono definite precise precedenze tra gli
operatori, che sono le seguenti:
NOT - AND - OR
cio viene prima effettuata loperazione di negazione, quindi il prodotto e per ultima la somma logica.
Possiamo vedere come, modificando lordine, il risultato finale risulti diverso prendendo in esame
lesempio riportato di seguito.
NOT A AND B

1. Eseguiamo lespressione dapprima con le precedenze


corrette, cio ((NOT A) AND B), eseguendo la negazione di A e solo successivamente lAND di tale risultato
con B; la tabella di verit riportata a lato. E
104

Unit didattica 7 - Algebra booleana e logica

2. Eseguiamo ora lespressione con le precedenze errate,


cio (NOT (A AND B)): otteniamo dapprima il risultato di
A AND B e solo successivamente effettuiamo la negazione, ottenendo i risultati riportati nella tabella a lato. E

Come si appena visto, il risultato completamente diverso. Il rispetto delle precedenze fondamentale per ottenere il corretto risultato della espressione; in caso di perplessit o dubbio operativo si suggerisce di introdurre le parentesi che, come nellalgebra, definiscono in maniera esplicita le precedenze.

7.3 Algebra delle proposizioni


Gli studi di Boole trovano applicazione nellalgebra delle proposizioni (anche chiamata logica delle proposizioni); anzi, spesso si identificano con essa!
Definiamo innanzi tutto il concetto di proposizione.
Una proposizione (o enunciato) unaffermazione che pu essere VERA o FALSA.

Potendo assumere esclusivamente due valori la proposizione , quindi, un naturale campo di applicazione dellalgebra di Boole, di tutti i suoi enunciati, operatori e teoremi: il risultato quella che viene comunemente chiamata logica moderna, sulla quale si basano giochi, quesiti ed enigmi che farciscono riviste di enigmistica e test attitudinali.
Anche alcuni presunti test di intelligenza si riducono a quesiti di logica che, come vedremo, non
danno alcuna indicazione riguardo allintelligenza di chi li risolve, ma evidenziano solamente la conoscenza delle regole dellalgebra di Boole da parte del candidato.
Prima di procedere doveroso ricordare le origini della logica classica, quindi Aristotele (384-322 a.C.).
Dato che logica deriva dal greco logos (pensiero, ragione) possiamo ricordare la seguente definizione
classica: la logica la scienza del ragionamento corretto quale possiamo osservarlo attraverso i discorsi che le persone fanno.

La logica moderna studia le asserzioni, cio si basa su proposizioni che esprimono relazioni e ne studia il loro valore (o significato).
In particolare possiamo individuare due compiti della logica moderna:
: stabilire come calcolare il valore di verit di unasserzione composta a partire dai valori di ve-

rit delle asserzioni che la compongono;

: formalizzare e riprodurre le forme di ragionamento dellessere umano, cio quei processi

mentali che permettono di ottenere, a partire da asserzioni considerate vere (premesse), nuove asserzioni (conclusioni). Questa parte della logica prende il nome di teoria della dimostrazione.
Iniziamo con la distinzione delle proposizioni da semplici frasi, come negli esempi che seguono.
Vero e Falso oppure 1 e 0: le due terminologie sono equivalenti. Infatti, invece di dire che unasserzione
vera possiamo dire che ha valore di verit 1, invece di dire che falsa possiamo dire che ha valore
di verit 0.

105

Unit di apprendimento 2 - Dal problema al programma

FRASE
A
B
C
D
E
F
G
H
I
L
M
N
O
P

Roma la capitale dItalia


Milano la capitale dItalia
Il gatto miagola
6 * 7 uguale a 42
6 * 7 uguale a 22
Forse domani piover
Ti piace la marmellata?
Telefonami quando arrivi a casa
Piove perch le nuvole sono sopra di noi
Cadendo ti rompi una gamba
Adesso piove
Adesso piove
Frequento la III classe
Frequento la III classe

TIPOLOGIA

ESITO

proposizione
proposizione
proposizione
proposizione
proposizione
non proposizione
non proposizione
non proposizione
non proposizione
non proposizione
proposizione
proposizione
proposizione
proposizione

VERO
FALSO
VERO
VERO
FALSO
???
???
???
???
???
VERO
FALSO
FALSO
VERO

:
:

Le proposizioni vengono indicate da una lettera maiuscola (per esempio: A, B, C...).


Non ammesso che una proposizione sia contemporaneamente vera o falsa, quindi frasi interrogative o esclamative che possono assumere diversi valori a seconda dellinterlocutore non sono
proposizioni (frasi F, G e H).
: Non sono proposizioni frasi che includono eventi casuali (frasi I e L).
: Il valore di una proposizione pu modificarsi nel tempo, come si pu vedere nelle ultime quattro proposte della tabella (frasi M, N, O, P) che restano comunque sempre delle proposizioni.

Nel calcolo proposizionale non importante il significato che hanno le proposizioni, ma esclusivamente il loro valore di verit o falsit. Per esempio, frasi come: 6 * 8 uguale a 48 oppure la domenica viene dopo il sabato, pur avendo contenuti completamente diversi, per la logica proposizionale sono uguali in quanto il loro valore di verit VERO (V). Se allinterno di una proposizione
presente un solo predicato verbale la proposizione si dice semplice mentre composta se costituita da due o pi proposizioni semplici. Per esempio la frase I non una proposizione semplice;
potrebbe essere scomposta nelle due frasi seguenti:
Q
R

Piove
Le nuvole sono sopra di noi

immediato constatare che la frase completa I non una proposizione: infatti, anche se le due proposizioni sono vere, la veridicit della proposizione composta non garantita, poich dipende anche
da altre considerazioni non presenti (infatti, non basta vedere le nuvole sopra la propria testa affinch piova!).
In generale, la presenza del connettivo perch implica considerazioni aggiuntive, quindi esso non
deve essere utilizzato nella costruzione di proposizioni composte.
Vediamo un altro esempio:
lInter non vince mai perch Moratti un bravo presidente.
Anche se le due proposizioni A (lInter non vince mai) e B (Moratti un bravo presidente) sono vere
singolarmente, una volta composte (A perch B) determinano unaffermazione falsa, quindi non
danno vita a una proposizione corretta.
Per poter costruire proposizioni complesse si utilizzano i connettivi (operatori) dellalgebra di Boole: negazione (NOT), congiunzione (AND) e disgiunzione (OR).

Prima di proseguire riportiamo unultima definizione, concettualmente semplice, che sar utilizzata
in seguito.
106

Unit didattica 7 - Algebra booleana e logica

Una proposizione composta si dice, a seconda del numero di variabili che lega:
: unaria: se contiene una sola variabile;
: binaria: se contiene due variabili;
: ternaria: se contiene tre variabili;
: N-aria: se contiene N variabili.

Gli esempi riportati di seguito chiariscono quanto appena definito.


PROPOSIZIONE

DESCRIZIONE

A un numero pari
A maggiore di B (A > B)
A pi bello di B e di C
A pi bello di B e di C e di D...

unaria
binaria
ternaria
N-aria

Vediamo ora alcuni esempi di proposizioni complesse ottenute mediante i connettivi.


FRASE
A
B
C
D
E
F
G

Milano non la capitale dItalia


Il gatto miagola e il cane abbaia
6 * 7 uguale a 42 o 6 * 7 uguale a 48
6 * 7 non uguale a 42
I pesci non nuotano
Non vero che i pesci non nuotano
La Ferrari rossa o il fuoco caldo

CONNETTIVO

ESITO

negazione
congiunzione
disgiunzione
negazione
negazione
negazione doppia
disgiunzione

VERO
VERO
FALSO
FALSO
FALSO
FALSO
VERO

Come si pu vedere nella proposizione G, possibile combinare pi volte i connettivi nella stessa proposizione: nellesempio stato riportato il caso classico di doppia negazione che diventa una affermazione. La proposizione non ho voglia di fare niente, se possiamo accettare che niente la negazione di qualcosa, pu essere cos trasformata:
:
:
:

non (ho voglia di fare niente)


non (non ho voglia di fare qualcosa)
non non (ho voglia di fare qualcosa);

quindi, togliendo la doppia negazione si ottiene:


ho voglia di fare qualcosa.

Il risultato di una produzione composta si ottiene mediante la tabella della verit che, in base alla veridicit o meno delle due proposizioni semplici, fornisce i possibili valori della proposizione composta, come nellesempio che segue:
Per comprarmi la merenda o ho contanti (A) oppure ho la carta di credito (B)
Dalla tabella di verit del connettivo OR possiamo affermare che la proposizione composta vera
quando una delle due proposizioni che la compongono vera, mentre falsa nellunico caso in cui
entrambe sono false.
Osserviamo che la tabella di verit identica a
quella vista in precedenza per loperatore OR:
basta assegnare a FALSO il valore 0 e a VERO il
valore 1.

107

Unit di apprendimento 2 - Dal problema al programma

Analogo confronto pu essere fatto con le tabelle di verit degli altri operatori logici; se, per, ricordiamo
la definizione di struttura algebrica, in cui si detto che sono presenti due costanti, gi si visto che queste costanti possono essere sia Falso e Vero che 0 e 1 ecc.

7.4 Proposizioni: sillogismo, implicazione, fallacia e paradosso


7.4.1 Sillogismo
Prima di vedere alcuni esempi di come la logica sia un valido aiuto nella risoluzione dei problemi
doveroso fare un passo indietro nel tempo introducendo il concetto di ragionamento logico derivato dalla sillogistica, che la teoria dellargomentazione codificata e sistematizzata da Aristotele:
la sillogistica la branca della logica che concerne ragionamenti di una forma piuttosto particolare,
detti appunto sillogismi.
Un sillogismo sempre costituito da due premesse e da una conclusione: le due asserzioni devono avere in comune la caratteristica di porre in relazione due termini
che designano classi di oggetti, uno in posizione di soggetto e laltro in posizione di
predicato.

Il pi famoso sillogismo il seguente:


Tutti gli uomini sono mortali
Socrate un uomo
Se ritengo vere le asserzioni allora posso concludere che Socrate mortale.
Le due premesse possono essere di quattro tipi diversi:

A.
E.
I.
O.

universali affermative (per esempio, tutti gli uomini sono mortali);


particolari affermative (qualche uomo mortale);
universali negative (nessun uomo mortale);
particolari negative (qualche uomo non mortale).

(Le quattro etichette vocaliche A, E, I, O sono state introdotte dai logici medievali.)
Come detto nella definizione, la caratteristica in comune che hanno tutte queste asserzioni che
pongono sempre in relazione due termini che designano classi di oggetti:
: il primo in posizione di soggetto (nellesempio: uomo);
: il secondo in posizione di predicato (mortale).

Caso particolare quello delle proposizioni singolari (Pippo un cane o Pippo non un cane)
che possono essere considerate universali in quanto attribuiscono interamente il predicato a un singolo soggetto.
In un sillogismo le due premesse devono contenere entrambe i due termini soggetto e predicato e
cos pure la conclusione, che deve essere costituita dai seguenti elementi:

1. dal soggetto e dal predicato (denominati rispettivamente termine minore e termine maggiore del sillogismo);
2. da un terzo termine (il termine medio) che figura in entrambe le premesse;
3. i termini maggiore e minore devono figurare una sola volta in ognuna delle premesse.
Riprendendo lesempio precedente, possibile distinguere nel nostro sillogismo questi elementi:
108

Unit didattica 7 - Algebra booleana e logica

FRASE

SOGGETTO

PREDICATO

ASSERZIONI
gli uomini sono mortali
Socrate un uomo
CONCLUSIONE
Socrate mortale

uomini (termine medio)


Socrate (termine minore)

mortali (termine maggiore)


uomo (termine medio)

Socrate (termine minore)

mortale (termine maggiore)

7.4.2 Implicazione
Il ragionamento logico prevede inoltre un connettivo, detto di implicazione.
Date due proposizioni A e B detto implicazione lenunciato che risulta falso se e solo se A vera e B falsa.

Viene indicato formalmente con A B e si legge A implica B oppure


se A allora B: anche chiamata regola di inferenza o modus ponens e ha la tabella di verit riportata a lato. E

La proposizione che si presenta in tale forma prende il nome di condizionale: A detta antecedente
e B conseguente.
Attenzione a non confondere limplicazione logica con la naturale interpretazione che B vera solo se A
vera della lingua parlata, come se ho fame allora mangio.

Un esempio di implicazione logica il seguente:


Se io sono colpevole, allora devo essere punito; io sono colpevole, quindi devo essere punito.
(da A B e A segue B conclusione vera)
Un errore tipico quello di applicare la regola di induzione al caso di proposizioni false, cio trasformare A B in forma negata ottenendo NOT A NOT B, ma NOT A non implica logicamente NOT B. Per
esempio:
Se una figura un quadrato, allora ha quattro lati; ma la figura non un quadrato, quindi non ha quattro lati: la conclusione falsa se la figura , per esempio, un rettangolo.
Se Cip e Ciop sono fratelli, allora sono parenti; ma Cip e Ciop non sono fratelli, quindi non sono parenti: la conclusione falsa se Cip e Ciop sono, per esempio, cugini.

Un ulteriore connettivo utilizzato nel ragionamento logico quello detto bicondizionale.


Date due proposizioni A e B detto bicondizionale lenunciato che risulta falso quando A e B sono tra loro diverse, cio se A vera e B falsa o viceversa.

Viene indicato formalmente con A B, si legge A se e solo se B. Il


connettivo bicondizionale viene anche chiamato regola di coimplicazione e ha la tabella di verit riportata a fianco. E

Il simbolo stabilisce unequivalenza logica tra gli enunciati A e B ed esprime la doppia implicazione. Attraverso esso si produce una proposizione che in sostanza equivale alla congiunzione di due
109

Unit di apprendimento 2 - Dal problema al programma

proposizioni condizionali uguali con lordine tra antecedente e conseguente invertito, cio
A B AND B A.
Essa corrisponde a una proposizione del tipo:
I negozi sono chiusi se e solo se un giorno festivo.
Questo significa la doppia condizione:

A. se i negozi sono chiusi allora un giorno festivo;


B. se un giorno festivo allora i negozi sono chiusi.
Dal punto di vista logico vuol dire che le due proposizioni A e B sono perfettamente equivalenti.

7.4.3 Linguaggio logico e naturale


Siamo partiti affermando che la logica si occupa delle inferenze per valutarne la correttezza. A tal fine essenziale il passaggio dalla formulazione nel linguaggio naturale a quella in linguaggio logico
poich, per vedere se sussiste il nesso di conseguenza logica, si deve prescindere dai contenuti delle proposizioni A e B. Nelle regole del modus ponens la verit si trasmette dalle premesse alla conclusione, quali che siano le proposizioni denotate da A e da B.
La logica ha quindi carattere formale ed basata su un processo di astrazione rispetto al linguaggio naturale.
La formalizzazione richiede che siano eliminate le possibili ambiguit del linguaggio naturale: per
esempio, dalla proposizione Sono andato alla stazione e ho preso il treno non segue logicamente
Ho preso il treno e sono andato alla stazione, in quanto dalla verit della prima non segue quella
della seconda.
La proposizione la maglia dellInter nera e azzurra non equivale alla proposizione la maglia dellInter nera e la maglia dellInter azzurra: mentre la prima vera, le seconde sono false.
Nel linguaggio naturale la congiunzione e viene usata in diversi contesti e molti non sono verofunzionali: spesso la e non si trova tra due proposizioni ma tra due nomi, o due verbi, o due attributi (come nellultimo esempio) e a volte equivale a una congiunzione logica (come in Ciro e Dino sono italiani che equivale a Ciro italiano e Dino italiano), a volte no (come in Ciro e
Dino sono amici che ovviamente non equivale a Ciro amico e Dino amico).
Questo tipo di considerazioni (che possono essere estese agli altri connettivi) indica che possibile
proporre unanalisi logica delle proposizioni del linguaggio naturale al fine di scoprire in che modo la verit/falsit delle proposizioni costituenti una proposizione composta determinino o meno
lesito della proposizione composta, sia (o non sia) questa una funzione di verit delle proposizioni
componenti. La gran parte dei ragionamenti svolti nella vita quotidiana non sono logici, nel senso
che nelle inferenze non rispettato il nesso di conseguenza logica che caratterizza le regole della logica classica e, quindi, doveroso prestare molta attenzione alle applicazioni delle regole del ragionamento logico a frasi non semanticamente logiche.

7.4.4 Applicazione delle regole logiche di ragionamento


Applicare la logica al progetto di una soluzione di un problema significa percorrere una strada coerente, come gi detto in precedenza: significa dare uno sguardo globale e sviluppare ogni passo del
progetto affinch ogni fase sia collegata a quella successiva per necessit logica, nel senso che ogni
passo deve essere concatenato logicamente allaltro.
La logica un valido strumento da utilizzarsi per:
: formalizzare e modellizzare, cio riscrivere il problema in un linguaggio dalla sintassi rigoro-

sa e ristretta;
: sottoporre ad analisi il testo formale cos ottenuto.
110

Unit didattica 7 - Algebra booleana e logica

Se stabiliamo regole precise scopriamo che in ogni contesto restano valide le stesse regole logiche di ragionamento, nelle due forme deduttivo e induttivo, che conosciamo come valide nel mondo reale.
La prima forma del ragionamento logico la deduzione che, partendo da alcuni casi generali, giunge a una conclusione di carattere particolare (come nei sillogismi).
Due esempi sono i seguenti:
: se ogni italiano un europeo e ogni europeo un terrestre allora ogni italiano un terrestre

(se ogni A un B e ogni B un C allora ogni A un C);


: se ogni europeo un terrestre e ogni italiano un europeo allora ogni italiano un terrestre

(se ogni A un B e ogni C un A allora ogni C un B).


La seconda forma di ragionamento logico linduzione che, partendo dallesame di alcuni casi particolari, giunge a una conclusione (conseguenza) di carattere generale: Luomo percepisce dalla natura pi oggetti circolari e ne ricaver, per induzione, il cerchio; un processo molto semplice, ma
fondamentale per Aristotele, che appoggia lo studio di Socrate (a cui viene attribuita la scoperta).
Il procedimento di astrazione si pu applicare ai concetti elementari per arrivare a concetti pi generali
(da specie a genere, per esempio da quadrilatero a poligono, da uomo ad animale): questo modo di operare fondamentale nella progettazione per classi e oggetti.

Un altro esempio:
: asserzioni: Socrate un uomo, Socrate mortale;
: conclusione: ogni uomo mortale.

Possiamo notare che gli elementi di un certo insieme hanno una propriet A [uomo], gli stessi individui di
un certo insieme hanno una propriet B [mortali], quindi ogni individuo che sia uomo anche mortale.

7.4.5 Argomentazione debole o fallace

Spesso per il ragionamento logico porta a conclusioni errate, in tale caso si dice che largomentazione debole o fallace. Negli uomini sono molteplici i modi di sbagliare e nonostante si sia tentato di darne una classificazione completa, non se ne trovata una esaustiva.
Con fallacia si intende un tipo di ragionamento errato ma psicologicamente plausibile:
: errato vuol dire che il ragionamento non tale da garantire la verit delle conclusioni;
: psicologicamente plausibile vuol dire che il ragionamento tale da convincere ad accettare la conclusione come vera, facendo accettare la supposta verit
delle premesse o una forma errata di inferenza.

Tradizionalmente le fallacie si distinguono in formali (argomenti errati nella forma logica) o informali
(argomenti che sfruttano abilit retoriche o altre funzioni del linguaggio per nascondere lovvia falsit
di una premessa del ragionamento, come le fallacie per ambiguit e la classica fallacia per divisione).
Senza entrare nel dettaglio, illustriamo di seguito alcuni esempi per offrire una panoramica degli errori classici pi frequenti.
: Fallacia induttivista (per derivazione): deriva una certezza da una serie di casi particolari, co-

me nellesempio del tacchino di Russell che sostiene: tutti i giorni mi hanno dato da mangiare; quindi anche domani mi daranno da mangiare; ma domani il giorno di Natale...
: Fallacia per asserzione presupposta: la classica fallacia usata abilmente, per esempio, da in-

111

Unit di apprendimento 2 - Dal problema al programma

vestigatori e poliziotti in: dove hai nascosto le prove?. Infatti presuppone che tu abbia nascosto le prove e che io lo sappia.
Fallacia per chiarezza: vengono usate frasi o parole ambigue, il cui significato cambia nel corso dellargomento. Ecco alcuni esempi: gli elefanti sono animali, quindi gli elefanti piccoli sono animali piccoli; un buon studioso, quindi un buon insegnante (non ne una conseguenza e spesso ottimi studiosi sono pessimi insegnanti).
Fallacia per composizione: quella pi comune e la si ottiene quando si prende la parte per
il tutto o i membri per la classe. Alcuni esempi: ogni pezzo di un aereo leggero; quindi un
aereo leggero; i cani sono comuni, gli husky sono cani, gli husky sono comuni.
In questo secondo caso viene fraintesa la seconda premessa che fa funzionare il ragionamento
solo se tutti gli husky sono tutti i cani, ma la mancanza del tutti porta a un ragionamento
fallace.
Fallacia per divisione: anche questa molto comune ed lesatto contrario di quella precedente cio quando qualcosa che vero del tutto si ritiene vero per ogni singola parte: gli uomini sono numerosi, Socrate un uomo, Socrate numeroso; i pellerossa stanno scomparendo, Tom un pellerossa, Tom sta scomparendo.
Fallacia per errato modus ponens: gi stata introdotta precedentemente e la riportiamo
qui per completezza: se una figura un quadrato, allora ha quattro lati; ma non un quadrato, quindi non ha quattro lati ERRATO; se Carlo e Piero sono fratelli, allora sono parenti; ma Carlo e Piero non sono fratelli, quindi non sono parenti ERRATO; se piove allora freddo; piove, quindi freddo CORRETTO; se piove allora freddo; freddo,
quindi piove ERRATO; tutti i conigli sono veloci, alcuni cavalli sono veloci, alcuni cavalli
sono conigli ERRATO.

7.4.6 Paradosso
Per ultimo riportiamo una tipologia di asserzioni che, dal punto di vista logico, sembrano essere
sia vere sia false (o vere se e solo se false); la stessa situazione si verifica quando ci si trova dinnanzi
ad argomentazioni che, per quanto logicamente valide, conducono a una conclusione che ci sembra inaccettabile pur partendo da premesse che ci sembrano indiscutibili: siamo di fronte a un
paradosso.
Il termine paradosso deriva dal greco e significa letteralmente contrario allopinione comune ma
nelluso corrente ha assunto un significato pi ampio e indica qualunque affermazione o ragionamento che risulti assurdo.
Il paradosso pi famoso, quello di Epimenide, riportato di seguito.
PROBLEMA: Il paradosso del bugiardo..............................................................................
SITUAZIONE: Un uomo dice Io sono un mentitore (oppure io sto mentendo).

Soluzione
abbastanza semplice dimostrare lassurdit di questa affermazione. Posto che:
: mentitore chi afferma il falso, se un uomo mentitore la proposizione che lui dice falsa,
: sincero chi afferma sempre il vero, quindi la proposizione che lui dice sempre vera,

si ottengono i due casi:

1. se luomo sincero e afferma di essere mentitore, la sua affermazione falsa ma un sincero non
pu fare affermazioni false,
2. se luomo bugiardo e afferma di essere mentitore, la sua affermazione vera ma un bugiardo non pu fare affermazioni vere.
Siamo quindi in presenza di un paradosso.
112

Unit didattica 7 - Algebra booleana e logica

Gdel reinterpret il paradosso.


SITUAZIONE: questa affermazione non ammette alcuna dimostrazione.

Soluzione
Abbastanza simile a quella precedente.
Il paradosso del bugiardo viene spesso presentato in altre formulazioni, come ad esempio la seguente:
in una trib selvaggia dellAfrica Centrale esisteva labitudine di uccidere i prigionieri di guerra dopo averli sottoposti a un interrogatorio puramente formale. Una inderogabile tradizione per voleva che si impalasse il prigioniero se diceva la verit e che lo si arrostisse se mentiva. Un giorno un prigioniero venne a
conoscenza di questa regola e poich era un furbo matricolato, trov il modo di sfuggire alla morte. Egli
disse semplicemente tre parole; sapreste dire quali sono? La risposta nota: io sono un bugiardo.

7.5 Algebra dei circuiti


Nei calcolatori tutte le informazioni trattate sono codificate tramite stringhe di bit e le elaborazioni
da compiere su tali informazioni consistono nel costruire, a partire da determinate configurazioni di
bit, altre configurazioni che, nella codifica prefissata, rappresentano i risultati richiesti. Queste operazioni vengono effettuate mediante circuiti elettronici detti circuiti di commutazione (switching
circuits) o reti logiche. Lalgebra di Boole consente di descrivere in forma algebrica le funzioni dei
circuiti fornendo dei metodi per lanalisi e la sintesi delle reti logiche.Tramite lalgebra di Boole si stabilisce una corrispondenza biunivoca tra:
: operazioni dellalgebra e componenti elementari;
: espressioni algebriche e circuiti.

Per tale motivo lalgebra di Boole a volte viene indicata come lalgebra dei circuiti digitali. I circuiti digitali di base sono detti porte logiche (logical gate) e i loro comportamenti vengono descritti mediante le funzioni e gli operatori dellalgebra di Boole: inoltre, mediante i teoremi di De Morgan e di Shannon, possibile specificare loperazione di ogni gate e analizzare e sintetizzare il circuito ottenendo le reti logiche corrispondenti. I simboli delle diverse funzioni elementari utilizzati
nei circuiti elettronici NOT, AND, OR, XOR, sono gi stati introdotti con le rispettive tabelle; nella pratica viene utilizzata ununica porta, la NAND (detta universale insieme alla porta NOR) in quanto tecnologicamente pi semplice e meno costosa da realizzare. Le altre porte si costruiscono mediante pi
dispositivi NAND, come nella figura che segue.

Inoltre, componendo le porte logiche elementari NOT, AND e OR possibile ottenere altre porte logiche (NOR, XOR, XNOR) e quindi, sempre utilizzando lunica porta NAND, possibile realizzare tutti i sistemi digitali.
113

Unit di apprendimento 2 - Dal problema al programma

7.6 Conclusioni: perch la logica


Gran parte dei ragionamenti svolti nella vita quotidiana non sono logici, nel senso che nelle inferenze non rispettato il nesso di conseguenza logica che caratterizza le regole della logica classica.
Si pu sostenere che la logica classica quella che interviene nelle dimostrazioni matematiche, nella
fase di astrazione e modellizzazione del progetto informatico e in modo particolare nella formalizzazione della strategia risolutiva dei problemi.
Nella vita quotidiana lattivit inferenziale fortemente influenzata dai contenuti e da conoscenze
implicite e il ragionamento logico-formale non affatto spontaneo, ma va coltivato in maniera esplicita: lo studio della logica quindi un valido strumento utile a favorire lo sviluppo di capacit deduttive.
Gli errori in un ragionamento (o fallacia, come si visto) sono normalmente commessi dai giovani programmatori e portano a conseguenze spesso disastrose: si riscontrano nellaccettazione di argomentazioni incomplete o parziali, nellerrata valutazione della verit o falsit delle proposizioni
usate nellargomentazione o in errori di concatenazione per cui tra le premesse e le conclusioni non
si possono trarre inferenze valide. Gli informatici devono essere innanzi tutto dei matematici, noti
per lostinazione con la quale esigono una dimostrazione assoluta prima di accettare qualunque asserzione, come si evince dallaneddoto del matematico Ian Stuart, riportato di seguito.
Si narra che un astronomo, un fisico e un matematico stessero viaggiando in Scozia. Guardando dal finestrino scorsero una pecora nera in mezzo a un prato. Interessante osserv lastronomo tutte le
pecore scozzesi sono nere! Il fisico replic: No, no, alcune delle pecore scozzesi sono nere!. Il matematico alz gli occhi al cielo e con espressione compassionevole disse: In Scozia esiste almeno un campo, che contiene almeno una pecora, un lato della quale nero.

Labilit logica concorre spesso a evitare errori, a smascherare fallacie o lacune presenti nellanalisi del
problema: paradossalmente, essere particolarmente abili a costruire ragionamenti deduttivi complessi pu addirittura rivelarsi controproducente, se induce a particolari situazioni difficili da seguire. Affrontare un problema mediante la logica significa destrutturare un argomento da zero, atomizzando
ogni singolo problema ed isolando ogni affermazione, curando con particolare attenzione i singoli
passi e la loro coerenza interna in modo da rendere fluido lintero progetto: pi lorganizzazione dei
contenuti semplice, pi la lettura, lidentificazione degli obiettivi e della strategia risolutiva sar
immediata.
La logica fornisce alcune conoscenze indispensabili nel bagaglio del sapere degli informatici: ha benefiche ricadute sulla formazione complessiva, nella quale troviamo tra gli obiettivi leducazione alluso
consapevole del linguaggio e al pensiero razionale.

7.6.1 Suggerimenti operativi


Possiamo riassumere alcune osservazioni utili per sviluppare il pensiero razionale mediante lo studio del ragionamento:
:
:
:
:

i concetti non sono isolati ma collocati in relazione a quelli preesistenti;


non incontriamo normalmente una successione ordinata di esempi;
incontriamo esempi rappresentativi di una categoria, non esempi negativi di unaltra;
non deve essere presa in considerazione ciascuna premessa in maniera isolata rispetto alle altre
premesse e alle altre conoscenze rilevanti nel contesto;
: non si devono considerare in maniera ordinata coppie di premesse isolate per formulare conclusioni;
: quando si formulano negazioni non lo si deve fare per negare proposizioni, ma fatti o eventi.
114

Unit didattica 7 - Algebra booleana e logica

Unit didattica 7
1. Esiste solo la logica booleana?
Oltre alla logica booleana che, come ormai sappiamo, utilizza esclusivamente due simboli (0 o 1, Vero o Falso), esistono altre logiche, dette del ragionamento incerto in cui le proposizioni, a differenza della logica classica, realizzano il superamento della dicotomia introducendo pi di due stati o valori intermedi tra i due stati, passando quindi dal digitale al continuo. Questo pu avvenire in modi diversi:
logiche a pi valori (vero, falso, non so);
ragionamento probabilistico (vero con probabilit p);
con gradi di fiducia (vero con grado di fiducia c);
logica fuzzy (propriet sfumate, per esempio alto in misura m).

Si gi visto come, codificando in digitale, si abbiano notevoli benefici, che possiamo riassumere in:
economicit: sono considerate migliori rispetto a questa caratteristica le codifiche che utilizzano
pochi simboli;
semplicit di codifica e decodifica: auspicabile poter trasformare un linguaggio da un codice allaltro in modo efficiente;
semplicit di elaborazione: sono preferibili le codifiche che consentono di eseguire le operazioni
definite sui dati in modo agevole.
3. Che cos una tautologia?
Alcune proposizioni particolari vengono chiamate tautologie: una tautologia una proposizione sempre vera per qualsiasi valore venga assegnato ai suoi componenti (per esempio piove o non piove).
Esistono anche proposizioni che sono chiamate contraddizioni e che risultano sempre false qualunque valore di verit venga assegnato ai loro componenti (per esempio piove e non piove).
4. Che legame esiste tra logica e intelligenza artificiale?
Lintelligenza artificiale unarea dellinformatica strettamente legata alla logica; nel corso degli anni
ha attraversato diverse fasi:
Prima fase (1956-1965): lintelligenza artificiale e la risoluzione automatica di problemi.
Lintelligenza artificiale (IA o AI, da artificial intelligence) nasce nel 1956 con lobiettivo di progettare sistemi in grado di risolvere problemi automaticamente.
Seconda fase (1965-1975): la rappresentazione delle conoscenze.
Ci si rende presto conto che la capacit di risolvere problemi dipende in modo essenziale dalle conoscenze a disposizione: lapproccio adottato simbolico, nel senso che le conoscenze sono rappresentate tramite strutture dati contenenti simboli (come per esempio le formule della logica).
Terza fase (1975-1985): lingegneria della conoscenza e i sistemi esperti.
Ci si sposta verso applicazioni realistiche e dinteresse industriale. Aumenta linvestimento economico nel settore e si sviluppa lingegneria della conoscenza. Rappresentazioni dichiarative e
procedurali convivono negli stessi sistemi basati su conoscenze (linguaggio Prolog).
Quarta fase (1985-1995): la crisi e la ricerca di strade alternative.
Crolla la fiducia del mercato nei sistemi basati su conoscenze, anche a causa di un incauto overselling e dellimpossibilit di soddisfare le attese. Si indagano approcci alternativi, denominati
spesso subsimbolici o non simbolici, in contrasto con lapproccio simbolico tradizionale (per
esempio le reti neurali, la computazione evolutiva e cos via, noti anche come metodi di soft computing).
Quinta fase (dal 1995): il Web e le ontologie.
Il grande successo del Web riporta in prima linea, in forma nuova, la questione della rappresentazione simbolica delle conoscenze.

DOMANDE E RISPOSTE

2. Quali sono i benefici dei sistemi elettronici digitali?

115

Potrebbero piacerti anche