16
Unitˆ didattica 7 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 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 CHE COSA DOVRAI STUDIARE $ Formalismo dellÕalgebra booleana $ Precedenza degli operatori $ Tipi di sillogismo $ Connettivi del ragionamento logico

Algebra booleana e logica

  • Upload
    elisa

  • View
    42

  • Download
    4

Embed Size (px)

DESCRIPTION

algebra booleana

Citation preview

Unitˆ didattica 7Algebra booleana

e logicaCHE 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

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

CHE COSA DOVRAI STUDIARE

$ Formalismo dellÕalgebra booleana

$ Precedenza degli operatori

$ Tipi di sillogismo

$ Connettivi del ragionamento logico

101

Unità didatticaAlgebra booleana e logica

77

7.1 Introduzione

Si potrebbe intitolare questa Unità didattica “tributo a Boole” in quanto i due argomenti che ver-ranno affrontati si possono ricondurre al lavoro di Boole descritto nella sua opera più importante In-vestigation 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: è un’alge-bra innovativa per il periodo, che formalizza le teorie anticipate nel volumetto dal titolo Mathema-tical analysis of logic che lui stesso scrisse nel 1847, dove è presente chiaramente il suo pensiero neiriguardi della logica e della matematica stessa. A continuare la sua opera provvide il suo amico edestimatore Augustus De Morgan (di cui ricordiamo i teoremi e le leggi sugli insiemi): è la nuova al-gebra della logica.

Per Boole l’insieme universo vale 1, l’insieme vuoto 0, il segno + sta a indicare l’unione tra due in-siemi e il segno x sta ad indicare l’intersezione tra insiemi (i simboli oggi sono stati cambiati ma ilconcetto è 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 suc-cesso al calcolo delle probabilità.Oltre che in matematica, l’algebra di Boole è utilizzata oggi in molteplici discipline tecniche e scien-tifiche, come la teoria dell’informazione e della trasmissione dei segnali: impieghi impensabili nel1860. 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 so-li due simboli è possibile rappresentare le informazioni mediante il codice binario (costituito appun-to dai simboli 1 e 0). Grazie ai teoremi di Claude Shannon, sempre basati sulle regole dell’algebrabooleana, si è riusciti a rappresentare un qualsiasi circuito costituito da una combinazione di inter-ruttori e/o transistor (sistemi digitali) mediante un insieme di espressioni matematiche.Da quanto è stato detto si deduce che l’algebra di Boole spazia dalla matematica alla logica, dal-l’informatica all’elettronica: nella nostra trattazione la studieremo affrontando separatamente le trediscipline 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 fonda-mentali. La definizione rigorosa è la seguente:

Boole opera in un periodo rivoluzionario, che vede la nascita delle geometrie non euclidee di Nicolaj Lo-bacevskij (che si chiese se la somma degli angoli interni di triangoli costruiti su una sfera sia ancorauguale a 180°), della matematica dell’infinito di Georg Cantor (che volle indagare se i numeri reali sonoinfiniti e sono “di più” dei numeri naturali), mentre in Francia Evariste Galois, appena diciassettenne, svi-luppa la teoria dei gruppi.

Unità di apprendimento 2 - Dal problema al programma

102

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:

Gli operatori vengono anche denominati, rispettivamente, somma logica, prodotto logico e negazione.Il valore assunto da un’operazione 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 com-binazioni dei valori di ingresso e il corrispon-dente valore del risultato dell’operazione logi-ca. La tabella di verità di una funzione a n in-gressi ha 2n righe, che corrispondono a tuttele possibili configurazioni di ingresso e un in-sieme di colonne suddivise in due gruppi, gliingressi e le uscite:

: colonne degli ingressi: contengono tutte le combinazioni di valori delle variabili coinvoltenell’operazione;

: colonna dell’uscita: riporta i valori assunti dalla funzione in corrispondenza degli ingressi in-dicati nelle colonne precedenti.

Nei paragrafi che seguono procediamo all’esame delle singole operazioni.

7.2.1 Operatore AND (*): prodotto logicoPrende anche il nome di prodotto logico in quanto il risultato può essere ottenuto dal prodotto alge-brico delle due variabili di ingresso: solamente quando entrambi i valori sono uguali a 1 l’uscita assumevalore 1, negli altri casi il prodotto vale 0.

L’algebra di Boole è una struttura algebrica costituita da due costanti, 0 e 1, una ope-razione unaria – (o !, che è la negazione) e due operazioni binarie * (congiunzione)e + (disgiunzione) e che verifica gli assiomi riportati nella tabella che segue:

PROPRIETÀ

associativa A + (B + C) = A + (B + C) (A * B) * C = A + (B * C)commutativita A * B = B * A A + B = B + Aidempotenza A + A = A A * A = Aassorbimento A + (A * B) = A A * (A + B) = Adistributività A * (B + C) = (A * B) + (A * C) A + (B * C) = (A + B) * (A + C)identità 1 * A = A 0 + A = Aesistenza inverso A * (–A) = 0 A + (–A) = 1

ELEMENTI DELLA STRUTTURA VALORI DESCRIZIONE

COSTANTI: {F, V oppure 0, 1} F = falso, V = vero oppure 0 = falso, 1 = veroOPERATORI: +, OR operatore binario chiuso detto anche

disgiunzione logica

*, AND operatore binario chiuso detto anche congiunzione logica

!, NOT operatore unario chiuso detto anche negazione logica

Il simbolo che rappresenta tale operatore può assumere diverse forme, a se-conda della disciplina in cui viene impiegato; le notazioni più diffuse sono leseguenti:

A AND B, A && B, AB, A x B

In elettronica digitale esiste un circuito che effettua automaticamente que-sta operazione; esso viene rappresentato negli schemi elettrici mediante ilsimbolo funzionale riportato nella figura a lato. E

L’analogia che meglio si presta a descrivere questo operatore è quel-la elettrica in cui i due ingressi sono rappresentati da interruttori col-legati in serie e l’uscita è costituita da un lampadina: affinché possaessere accesa la lampadina entrambi gli interruttori devono esserechiusi.

7.2.2 Operatore OR (+): somma logicaPrende anche il nome di somma logica in quanto il risultato può essere ot-tenuto dalla somma algebrica (senza riporto) delle due variabili di ingresso:l’uscita 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 incui 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 questaoperazione e viene rappresentato negli schemi elettrici mediante il simbolofunzionale riportato nella figura a lato. E

Sempre utilizzando l’analogia elettrica, in questo caso gli interruttori dovran-no essere connessi in parallelo e la lampadina si accenderà quando almenouno dei due interruttori verrà chiuso: infatti viene garantito il passaggio in al-meno uno dei due rami e, di conseguenza, l’accensione della lampadina.

7.2.3 Operatore NOT (!): complemento o negazionePrende anche il nome di negazione logica, in quanto effettua il “ribaltamento” delvalore della variabile in ingresso: in uscita viene riportato il valore “opposto” al va-lore della variabile di ingresso, detto appunto valore negato, o complementato. Siha 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

Unità didattica 7 - Algebra booleana e logica

103

Il simbolo funzionale del circuito che in elettronica digitale espleta questaoperazione è 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 all’operatore NAND): la suauscita ha valore 1 esclusivamente se uno solo degli ingressi ha valore 1, cioèsoltanto quando gli ingressi hanno valore diverso. Viene infatti spesso utiliz-zata proprio per individuare tale differenza.

Le notazione più utilizzata è A XOR B e il simbolo funzionale del circuito che inelettronica digitale espleta questa operazione è riportato nella figura a lato. E

Il risultato del connettivo XOR può essere ottenuto combinando le operazioni logiche elementari co-me 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ò os-servare 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 nell’algebra tradizionale, anche nell’algebra di Boole sono definite precise precedenze tra glioperatori, che sono le seguenti:

NOT - AND - OR

cioè viene prima effettuata l’operazione di negazione, quindi il prodotto e per ultima la somma logica. Possiamo vedere come, modificando l’ordine, il risultato finale risulti diverso prendendo in esamel’esempio riportato di seguito.

NOT A AND B

1. Eseguiamo l’espressione dapprima con le precedenzecorrette, cioè ((NOT A) AND B), eseguendo la negazio-ne di A e solo successivamente l’AND di tale risultatocon B; la tabella di verità è riportata a lato. E

Unità di apprendimento 2 - Dal problema al programma

104

Attenzione a non confondere il connettivo OR (uno o l’altro, o entrambi) con il connettivo XOR (uno o l’al-tro, 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 l’altra;: è biondo o è tinto → entrambe le cose sono possibili.

2. Eseguiamo ora l’espressione con le precedenze errate,cioè (NOT (A AND B)): otteniamo dapprima il risultato diA AND B e solo successivamente effettuiamo la negazio-ne, ottenendo i risultati riportati nella tabella a lato. E

7.3 Algebra delle proposizioni

Gli studi di Boole trovano applicazione nell’algebra delle proposizioni (anche chiamata logica del-le proposizioni); anzi, spesso si identificano con essa!Definiamo innanzi tutto il concetto di proposizione.

Potendo assumere esclusivamente due valori la proposizione è, quindi, un naturale campo di appli-cazione dell’algebra di Boole, di tutti i suoi enunciati, operatori e teoremi: il risultato è quella che vie-ne comunemente chiamata logica moderna, sulla quale si basano giochi, quesiti ed enigmi che “far-ciscono” riviste di enigmistica e test attitudinali.Anche alcuni presunti “test di intelligenza” si riducono a quesiti di logica che, come vedremo, nondanno alcuna indicazione riguardo all’intelligenza di chi li risolve, ma evidenziano solamente la co-noscenza delle regole dell’algebra di Boole da parte del candidato.

La logica moderna studia le asserzioni, cioè si basa su proposizioni che esprimono relazioni e ne stu-dia il loro valore (o significato).In particolare possiamo individuare due compiti della logica moderna:

: stabilire come calcolare il valore di verità di un’asserzione composta a partire dai valori di ve-rità delle asserzioni che la compongono;

: formalizzare e riprodurre le forme di ragionamento dell’essere umano, cioè quei processimentali che permettono di ottenere, a partire da asserzioni considerate vere (premesse), nuo-ve asserzioni (conclusioni). Questa parte della logica prende il nome di teoria della dimo-strazione.

Iniziamo con la distinzione delle proposizioni da semplici frasi, come negli esempi che seguono.

Una proposizione (o enunciato) è un’affermazione che può essere VERA o FALSA.

Unità didattica 7 - Algebra booleana e logica

105

Come si è appena visto, il risultato è completamente diverso. Il rispetto delle precedenze è fondamen-tale per ottenere il corretto risultato della espressione; in caso di perplessità o dubbio operativo si sug-gerisce di introdurre le parentesi che, come nell’algebra, definiscono in maniera esplicita le precedenze.

Vero e Falso oppure 1 e 0: le due terminologie sono equivalenti. Infatti, invece di dire che un’asserzioneè vera possiamo dire che ha “valore di verità 1”, invece di dire che è falsa possiamo dire che ha “valoredi verità 0”.

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 definizioneclassica: la logica è la scienza del ragionamento corretto quale possiamo osservarlo attraverso i discor-si che le persone fanno.

Nel calcolo proposizionale non è importante il significato che hanno le proposizioni, ma esclusiva-mente il loro valore di verità o falsità. Per esempio, frasi come: “6 * 8 è uguale a 48” oppure “la do-menica viene dopo il sabato”, pur avendo contenuti completamente diversi, per la logica proposi-zionale sono uguali in quanto il loro valore di verità è VERO (V). Se all’interno di una proposizioneè presente un solo predicato verbale la proposizione si dice semplice mentre è composta se è co-stituita da due o più proposizioni semplici. Per esempio la frase I non è una proposizione semplice;potrebbe essere scomposta nelle due frasi seguenti:

È immediato constatare che la frase completa I non è una proposizione: infatti, anche se le due pro-posizioni sono vere, la veridicità della proposizione composta non è garantita, poiché dipende ancheda altre considerazioni non presenti (infatti, non basta vedere le nuvole sopra la propria testa affin-ché piova!).In generale, la presenza del connettivo perché implica considerazioni aggiuntive, quindi esso nondeve essere utilizzato nella costruzione di proposizioni composte.Vediamo un altro esempio:

l’Inter non vince mai perché Moratti è un bravo presidente.

Anche se le due proposizioni A (l’Inter non vince mai) e B (Moratti è un bravo presidente) sono veresingolarmente, una volta composte (A perché B) determinano un’affermazione falsa, quindi nondanno vita a una proposizione corretta.

Prima di proseguire riportiamo un’ultima definizione, concettualmente semplice, che sarà utilizzatain seguito.

Unità di apprendimento 2 - Dal problema al programma

106

FRASE TIPOLOGIA ESITO

A Roma è la capitale d’Italia proposizione VEROB Milano è la capitale d’Italia proposizione FALSOC Il gatto miagola proposizione VEROD 6 * 7 è uguale a 42 proposizione VEROE 6 * 7 è uguale a 22 proposizione FALSOF Forse domani pioverà non proposizione ???G Ti piace la marmellata? non proposizione ???H Telefonami quando arrivi a casa non proposizione ???I Piove perché le nuvole sono sopra di noi non proposizione ???L Cadendo ti rompi una gamba non proposizione ???M Adesso piove proposizione VERON Adesso piove proposizione FALSOO Frequento la III classe proposizione FALSOP Frequento la III classe proposizione 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 interro-

gative o esclamative che possono assumere diversi valori a seconda dell’interlocutore non sonoproposizioni (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 pro-

poste della tabella (frasi M, N, O, P) che restano comunque sempre delle proposizioni.

Q Piove R Le nuvole sono sopra di noi

Per poter costruire proposizioni complesse si utilizzano i connettivi (operatori) dell’algebra di Boole: ne-gazione (NOT), congiunzione (AND) e disgiunzione (OR).

Gli esempi riportati di seguito chiariscono quanto appena definito.

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

Il risultato di una produzione composta si ottiene mediante la tabella della verità che, in base alla ve-ridicità o meno delle due proposizioni semplici, fornisce i possibili valori della proposizione compo-sta, come nell’esempio 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 è veraquando una delle due proposizioni che la compongono è vera, mentre è falsa nell’unico caso in cuientrambe sono false.

Osserviamo che la tabella di verità è identica aquella vista in precedenza per l’operatore OR:basta assegnare a FALSO il valore 0 e a VERO ilvalore 1.

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.

Unità didattica 7 - Algebra booleana e logica

107

PROPOSIZIONE DESCRIZIONE

A è un numero pari unariaA è maggiore di B (A > B) binariaA è più bello di B e di C ternariaA è più bello di B e di C e di D... N-aria

FRASE CONNETTIVO ESITO

A Milano non è la capitale d’Italia negazione VEROB Il gatto miagola e il cane abbaia congiunzione VEROC 6 * 7 è uguale a 42 o 6 * 7 è uguale a 48 disgiunzione FALSOD 6 * 7 non è uguale a 42 negazione FALSOE I pesci non nuotano negazione FALSOF Non è vero che i pesci non nuotano negazione doppia FALSOG La Ferrari è rossa o il fuoco è caldo disgiunzione VERO

Come si può vedere nella proposizione G, è possibile combinare più volte i connettivi nella stessa pro-posizione: nell’esempio è stato riportato il caso classico di doppia negazione che “diventa” una affer-mazione. La proposizione “non ho voglia di fare niente”, se possiamo accettare che “niente” è la nega-zione 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”.

7.4 Proposizioni: sillogismo, implicazione, fallacia e paradosso

7.4.1 SillogismoPrima 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 de-rivato dalla sillogistica, che è la teoria dell’argomentazione codificata e sistematizzata da Aristotele:la sillogistica è la branca della logica che concerne ragionamenti di una forma piuttosto particolare,detti appunto sillogismi.

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. universali affermative (per esempio, “tutti gli uomini sono mortali”);E. particolari affermative (“qualche uomo è mortale”);I. universali negative (“nessun uomo è mortale”);O. 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 è chepongono sempre in relazione due termini che designano classi di oggetti:

: il primo in posizione di soggetto (nell’esempio: “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 sin-golo soggetto. In un sillogismo le due premesse devono contenere entrambe i due termini soggetto e predicato ecosì pure la conclusione, che deve essere costituita dai seguenti elementi:

1. dal soggetto e dal predicato (denominati rispettivamente termine minore e termine mag-giore 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 l’esempio precedente, è possibile distinguere nel nostro sillogismo questi elementi:

Un sillogismo è sempre costituito da due premesse e da una conclusione: le due as-serzioni devono avere in comune la caratteristica di porre in relazione due terminiche designano classi di oggetti, uno in posizione di soggetto e l’altro in posizione dipredicato.

Unità di apprendimento 2 - Dal problema al programma

108

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

7.4.2 ImplicazioneIl ragionamento logico prevede inoltre un connettivo, detto di implicazione.

Viene indicato formalmente con A → B e si legge “A implica B” oppure“se A allora B”: è anche chiamata regola di inferenza o “modus po-nens” 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 antecedentee B conseguente.

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 ulteriore connettivo utilizzato nel ragionamento logico è quello detto bicondizionale.

Viene indicato formalmente con A ↔ B, si legge “A se e solo se B”. Ilconnettivo bicondizionale viene anche chiamato regola di coimplica-zione e ha la tabella di verità riportata a fianco. E

Il simbolo ↔ stabilisce un’equivalenza logica tra gli enunciati A e B ed esprime la doppia implicazio-ne. Attraverso esso si produce una proposizione che in sostanza equivale alla congiunzione di due

Date due proposizioni A e B è detto bicondizionale l’enunciato che risulta falso quan-do A e B sono tra loro diverse, cioè se A è vera e B è falsa o viceversa.

Date due proposizioni A e B è detto implicazione l’enunciato che risulta falso se e so-lo se A è vera e B è falsa.

Unità didattica 7 - Algebra booleana e logica

109

FRASE SOGGETTO PREDICATO

ASSERZIONI

gli uomini sono mortali uomini (termine medio) mortali (termine maggiore)Socrate è un uomo Socrate (termine minore) uomo (termine medio) CONCLUSIONE

Socrate è mortale Socrate (termine minore) mortale (termine maggiore)

Un errore tipico è quello di applicare la regola di induzione al caso di proposizioni false, cioè trasforma-re A → B in forma negata ottenendo NOT A → NOT B, ma NOT A non implica logicamente NOT B. Peresempio: “Se una figura è un quadrato, allora ha quattro lati; ma la figura non è un quadrato, quindi non ha quat-tro 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 paren-ti”: la conclusione è falsa se Cip e Ciop sono, per esempio, cugini.

Attenzione a non confondere l’implicazione logica con la naturale interpretazione che “B è vera solo se Aè vera” della lingua parlata, come “se ho fame allora mangio”.

proposizioni condizionali uguali con l’ordine 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 naturaleSiamo partiti affermando che la logica si occupa delle inferenze per valutarne la correttezza. A tal fi-ne è essenziale il passaggio dalla formulazione nel linguaggio naturale a quella in linguaggio logicopoiché, per vedere se sussiste il nesso di conseguenza logica, si deve prescindere dai “contenuti” del-le proposizioni A e B. Nelle regole del modus ponens la verità si trasmette dalle premesse alla conclu-sione, 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 linguag-gio naturale. La formalizzazione richiede che siano eliminate le possibili ambiguità del linguaggio naturale: peresempio, 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 quelladella seconda.La proposizione “la maglia dell’Inter è nera e azzurra” non equivale alla proposizione “la maglia del-l’Inter è nera” e “la maglia dell’Inter è azzurra”: mentre la prima è vera, le seconde sono false.Nel linguaggio naturale la congiunzione “e” viene usata in diversi contesti e molti non sono vero-funzionali: spesso la “e” non si trova tra due proposizioni ma tra due nomi, o due verbi, o due attri-buti (come nell’ultimo esempio) e a volte equivale a una congiunzione logica (come in “Ciro e Di-no sono italiani” che equivale a “Ciro è italiano” e “Dino è italiano”), a volte no (come in “Ciro eDino 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 è possibileproporre un’analisi logica delle proposizioni del linguaggio naturale al fine di “scoprire” in che mo-do la verità/falsità delle proposizioni costituenti una proposizione composta determinino o menol’esito della proposizione composta, sia (o non sia) questa una funzione di verità delle proposizionicomponenti. La gran parte dei ragionamenti svolti nella vita quotidiana non sono logici, nel sensoche nelle inferenze non è rispettato il nesso di conseguenza logica che caratterizza le regole della lo-gica classica e, quindi, è doveroso prestare molta attenzione alle applicazioni delle regole del ragio-namento logico a frasi non semanticamente logiche.

7.4.4 Applicazione delle regole logiche di ragionamentoApplicare la logica al progetto di una soluzione di un problema significa percorrere una strada coe-rente, come già detto in precedenza: significa dare uno sguardo globale e sviluppare ogni passo delprogetto affinché ogni fase sia collegata a quella successiva per “necessità logica”, nel senso che ognipasso deve essere concatenato logicamente all’altro.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.

Unità di apprendimento 2 - Dal problema al programma

110

Se stabiliamo regole precise scopriamo che in ogni contesto restano valide le stesse regole logiche di ra-gionamento, 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, giun-ge 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 è l’induzione che, partendo dall’esame di alcuni casi par-ticolari, giunge a una conclusione (conseguenza) di carattere generale: “L’uomo percepisce dalla na-tura più oggetti circolari e ne ricaverà, per induzione, il cerchio”; è un processo molto semplice, mafondamentale per Aristotele, che appoggia lo studio di Socrate (a cui viene attribuita la scoperta).

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 diun certo insieme hanno una proprietà B [mortali], quindi ogni individuo che sia uomo è anche mortale.

7.4.5 Argomentazione debole o fallaceSpesso però il ragionamento logico porta a conclusioni errate, in tale caso si dice che l’argomenta-zione è debole o fallace. Negli uomini sono molteplici i modi di sbagliare e nonostante si sia tenta-to di darne una classificazione completa, non se ne è trovata una esaustiva.

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 l’ovvia 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 er-rori classici più frequenti.

: Fallacia induttivista (per derivazione): deriva una certezza da una serie di casi particolari, co-me nell’esempio del tacchino di Russell che sostiene: “tutti i giorni mi hanno dato da man-giare; 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-

Con fallacia si intende un tipo di ragionamento errato ma psicologicamente plausi-bile:

: “errato” vuol dire che il ragionamento non è tale da garantire la verità delle con-clusioni;

: “psicologicamente plausibile” vuol dire che il ragionamento è tale da convince-re ad accettare la conclusione come vera, facendo accettare la supposta veritàdelle premesse o una forma errata di inferenza.

Unità didattica 7 - Algebra booleana e logica

111

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 ope-rare è fondamentale nella progettazione per classi e oggetti.

vestigatori e poliziotti in: “dove hai nascosto le prove?”. Infatti presuppone che “tu” abbia na-scosto le prove e che “io” lo sappia.

: Fallacia per chiarezza: vengono usate frasi o parole ambigue, il cui significato cambia nel cor-so dell’argomento. Ecco alcuni esempi: “gli elefanti sono animali, quindi gli elefanti piccoli so-no animali piccoli”; “è un buon studioso, quindi è un buon insegnante” (non ne è una conse-guenza e spesso ottimi studiosi sono pessimi insegnanti).

: Fallacia per composizione: è quella più comune e la si ottiene quando si prende la parte peril tutto o i membri per la classe. Alcuni esempi: “ogni pezzo di un aereo è leggero; quindi unaereo è 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 ragionamentosolo se tutti gli husky sono tutti i cani, ma la mancanza del “tutti” porta a un ragionamentofallace.

: Fallacia per divisione: anche questa è molto comune ed è l’esatto contrario di quella prece-dente cioè quando qualcosa che è vero del tutto si ritiene vero per ogni singola parte: “gli uo-mini sono numerosi, Socrate è un uomo, Socrate è numeroso”; “i pellerossa stanno scompa-rendo, Tom è un pellerossa, Tom sta scomparendo”.

: Fallacia per errato modus ponens: è già stata introdotta precedentemente e la riportiamoqui per completezza: “se una figura è un quadrato, allora ha quattro lati; ma non è un qua-drato, quindi non ha quattro lati” ERRATO; “se Carlo e Piero sono fratelli, allora sono pa-renti; ma Carlo e Piero non sono fratelli, quindi non sono parenti” ERRATO; “se piove al-lora è freddo; piove, quindi è freddo” CORRETTO; “se piove allora è freddo; è freddo,quindi piove” ERRATO; “tutti i conigli sono veloci, alcuni cavalli sono veloci, alcuni cavallisono conigli” ERRATO.

7.4.6 Paradosso

Per ultimo riportiamo una tipologia di asserzioni che, dal punto di vista logico, sembrano esseresia vere sia false (o vere se e solo se false); la stessa situazione si verifica quando ci si trova dinnanziad argomentazioni che, per quanto logicamente valide, conducono a una conclusione che ci sem-bra inaccettabile pur “partendo” da premesse che ci sembrano indiscutibili: siamo di fronte a unparadosso.Il termine “paradosso” deriva dal greco e significa letteralmente “contrario all’opinione comune” manell’uso corrente ha assunto un significato più ampio e indica qualunque affermazione o ragiona-mento 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 l’assurdità 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 l’uomo è sincero e afferma di essere mentitore, la sua affermazione è falsa ma un sincero nonpuò fare affermazioni false,

2. se l’uomo è bugiardo e afferma di essere mentitore, la sua affermazione è vera ma un bugiar-do non può fare affermazioni vere.

Siamo quindi in presenza di un paradosso.

Unità di apprendimento 2 - Dal problema al programma

112

Gödel reinterpretò il paradosso.SITUAZIONE: “questa affermazione non ammette alcuna dimostrazione”.

Soluzione

Abbastanza simile a quella precedente.

7.5 Algebra dei circuiti

Nei calcolatori tutte le informazioni trattate sono codificate tramite stringhe di bit e le elaborazionida compiere su tali informazioni consistono nel costruire, a partire da determinate configurazioni dibit, altre configurazioni che, nella codifica prefissata, rappresentano i risultati richiesti. Queste ope-razioni vengono effettuate mediante circuiti elettronici detti circuiti di commutazione (switchingcircuits) o reti logiche. L’algebra di Boole consente di descrivere in forma algebrica le funzioni deicircuiti fornendo dei metodi per l’analisi e la sintesi delle reti logiche.Tramite l’algebra di Boole si sta-bilisce una corrispondenza biunivoca tra:

: operazioni dell’algebra e componenti elementari;: espressioni algebriche e circuiti.

Per tale motivo l’algebra di Boole a volte viene indicata come “l’algebra dei circuiti digitali”. I cir-cuiti digitali di base sono detti porte logiche (logical gate) e i loro comportamenti vengono descrit-ti mediante le funzioni e gli operatori dell’algebra di Boole: inoltre, mediante i teoremi di De Mor-gan e di Shannon, è possibile specificare l’operazione di ogni gate e analizzare e sintetizzare il cir-cuito ottenendo le reti logiche corrispondenti. I simboli delle diverse funzioni elementari utilizzatinei circuiti elettronici NOT, AND, OR, XOR, sono già stati introdotti con le rispettive tabelle; nella pra-tica viene utilizzata un’unica porta, la NAND (detta universale insieme alla porta NOR) in quanto tec-nologicamente 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 lo-giche (NOR, XOR, XNOR) e quindi, sempre utilizzando l’unica porta NAND, è possibile realizzare tut-ti i sistemi digitali.

Unità didattica 7 - Algebra booleana e logica

113

Il paradosso del bugiardo viene spesso presentato in altre formulazioni, come ad esempio la seguente:in una tribù selvaggia dell’Africa Centrale esisteva l’abitudine di uccidere i prigionieri di guerra dopo aver-li sottoposti a un interrogatorio puramente formale. Una inderogabile tradizione però voleva che si impa-lasse il prigioniero se diceva la verità e che lo si arrostisse se mentiva. Un giorno un prigioniero venne aconoscenza di questa regola e poiché era un furbo matricolato, trovò il modo di sfuggire alla morte. Eglidisse semplicemente tre parole; sapreste dire quali sono? La risposta è nota: “io sono un bugiardo”.

7.6 Conclusioni: perché la logica

Gran parte dei ragionamenti svolti nella vita quotidiana non sono logici, nel senso che nelle inferen-ze 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, nellafase di astrazione e modellizzazione del progetto informatico e in modo particolare nella formaliz-zazione della strategia risolutiva dei problemi.

Nella vita quotidiana l’attività inferenziale è fortemente influenzata dai “contenuti” e da conoscenzeimplicite e il ragionamento logico-formale non è affatto spontaneo, ma va coltivato in maniera esplici-ta: 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 giova-ni programmatori e portano a conseguenze spesso disastrose: si riscontrano nell’accettazione di ar-gomentazioni incomplete o parziali, nell’errata valutazione della verità o falsità delle proposizioniusate nell’argomentazione o in errori di concatenazione per cui tra le premesse e le conclusioni nonsi possono trarre inferenze valide. Gli informatici devono essere innanzi tutto dei matematici, notiper l’ostinazione con la quale esigono una dimostrazione assoluta prima di accettare qualunque as-serzione, come si evince dall’aneddoto del matematico Ian Stuart, riportato di seguito.

L’abilità logica concorre spesso a evitare errori, a smascherare fallacie o lacune presenti nell’analisi delproblema: paradossalmente, essere particolarmente abili a costruire ragionamenti deduttivi comples-si può addirittura rivelarsi controproducente, se induce a particolari situazioni difficili da seguire. Af-frontare un problema mediante la logica significa destrutturare un argomento da zero, atomizzandoogni singolo problema ed isolando ogni affermazione, curando con particolare attenzione i singolipassi e la loro coerenza interna in modo da rendere fluido l’intero progetto: più l’organizzazione deicontenuti è semplice, più la lettura, l’identificazione degli obiettivi e della strategia risolutiva saràimmediata.

7.6.1 Suggerimenti operativiPossiamo riassumere alcune osservazioni utili per sviluppare “il pensiero razionale” mediante lo “stu-dio 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 un’altra;: 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 con-

clusioni;: quando si formulano negazioni non lo si deve fare per negare proposizioni, ma fatti o eventi.

Unità di apprendimento 2 - Dal problema al programma

114

La logica fornisce alcune conoscenze indispensabili nel “bagaglio del sapere” degli informatici: ha be-nefiche ricadute sulla formazione complessiva, nella quale troviamo tra gli obiettivi l’educazione all’usoconsapevole del linguaggio e al pensiero razionale.

Si narra che un astronomo, un fisico e un matematico stessero viaggiando in Scozia. Guardando dal fi-nestrino scorsero una pecora nera in mezzo a un prato. “Interessante – osservò l’astronomo – tutte lepecore scozzesi sono nere!” Il fisico replicò: “No, no, alcune delle pecore scozzesi sono nere!”. Il mate-matico alzò gli occhi al cielo e con espressione compassionevole disse: “In Scozia esiste almeno un cam-po, che contiene almeno una pecora, un lato della quale è nero”.

Unitˆ didattica 7 - Algebra booleana e logica

DO

MA

ND

E E

RISP

OST

E

Unitˆ didattica 7

1. Esiste solo la logica booleana?

Oltre alla logica booleana che, come ormai sappiamo, utilizza esclusivamente due simboli (0 o 1, Ve-ro o Falso), esistono altre logiche, dette Òdel ragionamento incertoÓ in cui le proposizioni, a differen-za della logica classica, realizzano il superamento della dicotomia introducendo pi• di due stati o va-lori intermedi tra i due stati, passando quindi dal digitale al continuo. Questo pu˜ avvenire in modi di-versi:¥ 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).

2. Quali sono i benefici dei sistemi elettronici digitali?

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 al-

lÕaltro 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 sem-pre 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 qualun-que valore di veritˆ venga assegnato ai loro componenti (per esempio Òpiove e non pioveÓ).

4. Che legame esiste tra logica e intelligenza artificiale?

LÕintelligenza artificiale • unÕarea dellÕinformatica strettamente legata alla logica; nel corso degli anniha attraversato diverse fasi:¥ Prima fase (1956-1965): lÕintelligenza artificiale e la risoluzione automatica di problemi.

LÕintelligenza artificiale (IA o AI, da artificial intelligence) nasce nel 1956 con lÕobiettivo di proget-tare 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 co-noscenze a disposizione: lÕapproccio adottato • simbolico, nel senso che le conoscenze sono rap-presentate tramite strutture dati contenenti simboli (come per esempio le formule della logica).

¥ Terza fase (1975-1985): lÕingegneria della conoscenza e i sistemi esperti. Ci si sposta verso applicazioni realistiche e dÕinteresse industriale. Aumenta lÕinvestimento eco-nomico nel settore e si sviluppa lÕingegneria della conoscenza. Rappresentazioni dichiarative eprocedurali 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 over-selling e dellÕimpossibilitˆ di soddisfare le attese. Si indagano approcci alternativi, denominatispesso ÒsubsimboliciÓ o Ònon simboliciÓ, in contrasto con lÕapproccio simbolico tradizionale (peresempio le reti neurali, la computazione evolutiva e cos“ via, noti anche come metodi di soft com-puting).

¥ Quinta fase (dal 1995): il Web e le ontologie.Il grande successo del Web riporta in prima linea, in forma nuova, la questione della rappresen-tazione simbolica delle conoscenze.

115