Università di Salerno
Fondamenti di Informatica
Corso di Laurea Ingegneria
Corso B
Docente: Ing. Giovanni Secondulfo
Anno Accademico 2010-2011
ALGEBRA DELLE PROPOSIZIONI
Fondamenti di Informatica Algebra delle Proposizioni- A.A. 2010-11 Ing. Giovanni Secondulfo
1
Che cosa è la LOGICA.
Il Concetto di Logica esprime l elemento essenziale del pensiero umano.
La logica permette all uomo di formulare ragionamenti e di elaborare informazioni.
La logica è esprimibile con il linguaggio binario.
Le frasi del linguaggio della logica prendono il nome di proposizioni logiche o, più semplicemente,
proposizioni.
In logica si chiama proposizione ogni frase per la quale ha senso dire che è vera , o è falsa .
La logica delle proposizioni è anche detta logica bivalente proprio perché ogni proposizione può avere
uno solo dei due valori: vero o falso.
Esempi
Ad esempio, le frasi:
A) Napoli si trova in Campania;
B) 5 è un numero dispari;
C) Roma si trova in Campania;
sono proposizioni logiche, perché posiamo dire con certezza che le frasi A e B sono vere, mentre C è
falsa; quindi, ogni frase ha un valore di verità o falsità, senza ambiguità.
Ad esempio, la frase:
D) che bella l Informatica;
non è una proposizione logica in quanto non si può dire se è vera o falsa; infatti potrà essere una
proposizione vera solo per chi ama l Informatica, ma non per tutti.
La verità o la falsità della frase dipendono solo dalle emozioni soggettive.
L algebra delle proposizioni è detta anche ALGEBRA BOOLEANA (dal matematico inglese,
George Boole, che nel 1854 ne formulò la teorizzazione).
In Informatica, l algebra di Boole trova applicazioni in diversi settori:
1. è la logica di cui si avvalgono i calcolatori per interpretare ed eseguire le istruzioni dei programmi;
2. è la logica usata nella progettazione e per il funzionamento dei circuiti elettronici;
3. è utilizzata nello studio dei sistemi elettronici digitali che fanno parte di un computer;
4. nei linguaggi di programmazione, per esprimere scelte in base a dei criteri di selezione, nella
sequenza di esecuzione delle istruzioni di un programma;
5. rappresenta uno strumento matematico su cui si basano i sistemi digitali, che utilizzano variabili che
possono avere solo uno di due valori: 1 (Vero) o 0 (Falso).
L Algebra Booleana trova applicazione nella progettazione di circuiti logici digitali.
Fondamenti di Informatica Algebra delle Proposizioni- A.A. 2010-11 Ing. Giovanni Secondulfo
2
I segnali binari sono livelli di tensione. Il valore esatto della tensione del segnale non è significativo:
conta l appartenenza ad un livello contrassegnato alto e ad un livello contrassegnato basso.
I componenti di un computer comunicano tra loro mediante segnali elettrici ai quali sono assegnati solo
due stati diversi. L algebra booleana quindi diventa lo strumento più opportuno per descrivere il loro
funzionamento.
In generale, il computer può essere considerato come una rete logica, cioè come un insieme di
dispositivi chiamati porte logiche, opportunamente connessi.
Le porte logiche sono dispositivi capaci di eseguire operazioni logiche su segnali binari.
Questi segnali sono identificati tramite una coppia di simboli, per esempio:
0-1;
Vero-Falso;
Aperto-Chiuso; ..
Allo stato attuale della tecnologia, è possibile integrare in un unico componente di pochi mm2, diversi
milioni di porte logiche (CPU, RAM, ecc.).
Gli elementi di un'Algebra Booleana possono essere astratti o concreti; ad esempio possono essere
numeri, proposizioni, insiemi o reti elettriche.
Di solito, gli elementi considerati sono proposizioni, o semplici dichiarazioni, aventi la caratteristica di
poter essere o vere o false, con la completa esclusione di casi ambigui.
La logica booleana si basa su tre operatori logici:
OR
AND
NOT
Una variabile logica (o booleana) è una variabile che può assumere solo uno di due valori (valori di
verità):
VERO - simboli alternativi: true, 1, ON, SI
FALSO - simboli alternativi: false, 0, OFF, NO
Fondamenti di Informatica Algebra delle Proposizioni- A.A. 2010-11 Ing. Giovanni Secondulfo
3
In tale algebra vengono definiti i concetti :
variabili booleane
operatori booleani
porte logiche
Variabili booleane
Una variabile booleana è una variabile binaria che può assumere esclusivamente due valori logici che
saranno denotati con 0 e 1, oppure V e F.
Se x è una variabile booleana, vale quindi la seguente definizione:
x = 0 se x diverso da 1
x = 1 se x diverso da 0
Operatori booleani
Si definiscono gli operatori booleani o logici fondamentali:
Fondamenti di Informatica Algebra delle Proposizioni- A.A. 2010-11 Ing. Giovanni Secondulfo
4
NOT : Negazione Logica, o COMPLEMENTAZIONE
AND : Prodotto Logico, o CONGIUNZIONE
OR : Somma Logica, o DISGIUNZIONE
La verità o la falsità di una variabile booleana sono dette Valori di Verità:
una variabile può essere vera o falsa, ma non entrambe le cose.
Le operazioni sono rappresentate da opportune tabelle di verità.
Esempio di proposizione semplice:
A: Napoli è una città;
B: Campania è una regione.
Esempio di proposizione composta:
C: Napoli è una città AND Campania è una regione.
La Proposizione Composta, è ottenuta operando sulle proposizioni A e B per mezzo dell operatore
AND. Il valore di verità di C dipende dai valori delle due proposizioni.
L operazione binaria che da come risultato il valore di verità C si chiama Congiunzione.
Si usa AND per unire due elementi che devono essere entrambe necessariamente veri nel contesto del
risultato ricercato.
Si usa OR per unire due elementi che devono essere presenti l una o l'altra nel contesto del risultato
ricercato.
Esempio (analisi di un elenco di costruttori di automobili):
automobili AND Alfa Romeo AND Ferrari
Si possono utilizzare delle parentesi per stabilire l ordine nel quale si devono eseguire le operazioni.
Esempio:
(Alfa Romeo OR Ferrari) AND automobili
Tavola di verità
Una espressione complessa ha bisogno di parentesi per indicare l'ordine di applicazione degli operatori.
L'algebra booleana prevede delle priorità di applicazione: prima si applica l'operatore NOT, poi AND
e infine OR.
L espressione A OR NOT B AND C equivale all espressione A OR ((NOT B) AND C).
L'espressione (A OR (NOT B)) AND C non rappresenta la stessa funzione della precedente.
Come si può dimostrare questo fatto?
Fondamenti di Informatica Algebra delle Proposizioni- A.A. 2010-11 Ing. Giovanni Secondulfo
5
Un metodo e quello di applicare l'induzione perfetta. Questa regola prevede che due formule sono
equivalenti se hanno lo stesso valore di verità per qualsiasi valore di verità associato alle variabili che
le costituiscono.
Per verificare che due espressioni A e B sono equivalenti (A B) si devono quindi esaminare tutti i
possibili valori di verità delle variabili costituenti A e B e controllare che i valori di verità delle
proposizioni A e B coincidano in ogni circostanza.
Questo viene fatto con le cosiddette tabelle di verità. Le tabelle di verità associano a ogni
combinazione dei valori di verità delle variabili di una espressione, i valori di verità dell espressione
stessa.
Gli Operatori Logici
NOT : Negazione o Complementazione
Operazione unaria che restituisce il valore logico opposto a quello della variabile di ingresso.
Per rappresentare il complemento di una variabile x vengono usate varie notazioni:
not(x)
Rappresentazione dell operazione not(x) con la tavola della verità:
x
V
F
not(x)
F
V
Oppure
x
0
1
not(x)
1
0
Proprietà:
not(not(x)) = x
Le tavole di verità sono tabelle matematiche utilizzate come principale rappresentazione di una
funzione booleana, per determinare se, attribuiti i valori di verità alle proposizioni che la
compongono, una determinata proposizione è VERA o FALSA.
AND : Prodotto Logico (AND)
L operazione di prodotto logico fra due (o più) variabili fornisce il valore logico 1 se e solo se tutte le
variabili assumono valore logico 1.
Per rappresentare il prodotto logico di due variabili x e y si usa la notazione:
x and y
x.y
xy
Fondamenti di Informatica Algebra delle Proposizioni- A.A. 2010-11 Ing. Giovanni Secondulfo
6
Rappresentazione dell operazione x and y con la tavola della verità:
x
0
0
1
1
y
0
1
0
1
x and y
0
0
0
1
Oppure
x
F
F
V
V
y
F
V
F
V
x and y
F
F
F
V
Proprietà:
x.0=0
x.1=x
x.x=x
OR : Somma Logica (OR)
L operazione di somma logica fra due (o più) variabili fornisce il valore logico 1 se e solo se almeno
una delle variabili assume valore logico 1.
Per rappresentare la somma logica di due variabili x e y si usa la notazione:
x or y
x+y
Rappresentazione dell operazione x or y con la tavola della verità:
x
0
0
1
1
y
0
1
0
1
x or y
0
1
1
1
Oppure
x
y
F
F
F V
V F
V V
x or y
F
V
V
V
Fondamenti di Informatica Algebra delle Proposizioni- A.A. 2010-11 Ing. Giovanni Secondulfo
7
Proprietà:
x+0=x
x+1=1
x+x=x
L'algebra di Boole trova numerose applicazioni nel campo dei computer e dell'elettronica.
Proposizioni più complicate danno luogo a circuiti interruttori più articolati.
Si Associa un interruttore a ognuna delle due proposizioni x e y: l interruttore si chiude se la
proposizione è vera, e si apre se la proposizione è falsa.
In questo caso, l'espressione x AND y si può associare a due interruttori collegati in serie: c è corrente
nel circuito se e solo se entrambi gli interruttori sono chiusi, cioè se e solo se entrambe le proposizioni
x e y sono vere.
Siano x e y due proposizioni.
1) x AND y
Corrente nel circuito
2) x OR y
Corrente nel circuito
Proposizioni più complicate danno luogo a circuiti con interruttori più articolati.
Una relazione logica è esprimile anche con la circuiteria delle porte elementari AND, OR e NOT, si
abbia ad esempio la relazione :
e la si voglia realizzare con una circuiteria apposita; la tabella della verità della relazione precedente è
rappresentabile come segue
Fondamenti di Informatica Algebra delle Proposizioni- A.A. 2010-11 Ing. Giovanni Secondulfo
8
Il circuito corrispondente alla funzione prima proposta è rappresentabile come in figura dove ogni
blocco parentesi viene realizzato con un circuito logico
Fondamenti di Informatica Algebra delle Proposizioni- A.A. 2010-11 Ing. Giovanni Secondulfo
9
La riga in rosso ad esempio ha la seguente articolazione di segnali .
Fondamenti di Informatica Algebra delle Proposizioni- A.A. 2010-11 Ing. Giovanni Secondulfo
10