Lezione 02 Corso Elementi di Informatica

CORSO DI ELEMENTI DI
INFORMATICA
Corso di Laurea Triennale in Ingegneria Gestionale della
Logistica e della Produzione – Area didattica Ingegneria
Elettrica
a.a. 2016/2017
Docente: Ing. Domenico Amalfitano
Dipartimento di Ingegneria Elettrica e delle Tecnologie dell’Informazione
(DIETI) – Università degli Studi di Napoli Federico II. Via Claudio 21, 4°
Piano – Laboratorio 4.04
Algebra di Boole
Riferimenti:
Dispensa Iannello, capitolo 2
Teoria e progetto delle reti logiche. B. Fadini e A. Esposito,
capitolo 2
Proposizioni Logiche
•  Una proposizione logica semplice è una dichiarazione che
può assumere valore vero o falso
•  Roma è la capitale dell'Italia; V
•  25 è un numero pari; F
•  Domenico è molto simpatico ?
•  Sulle proposizioni logiche è possibile effettuare delle
operazioni tramite gli operatori logici:
•  NOT - la NEGAZIONE (¬), operatore unario
•  OR - la DISGIUNZIONE (v) o SOMMA LOGICA, operatore binario
•  AND - la CONGIUNZIONE (^) o PRODOTTO LOGICO, operatore
binario
Proposizioni logiche e operatori di
confronto
•  Le proposizioni semplici possono essere costruite
utilizzando degli operatori di confronto (o di relazione)
•  Gli operatori di relazione più noti sono quelli che
permettono di confrontare quantità numeriche:
•  uguale ( simbolo ‘=’)
•  diverso ( simbolo ‘≠’)
•  maggiore ( simbolo ‘>’)
•  minore ( simbolo ‘<’)
•  maggiore o uguale ( simbolo ‘≥’)
•  minore o uguale ( simbolo ‘≤’)
Proposizioni Composte
• 
Applicando gli operatori logici a più proposizioni
semplici si ottengono proposizioni composte
• 
• 
• 
Oggi è lunedì e c’è il sole
la casa ha meno di 20 anni o è stata ristrutturata da meno
di 5 anni
Oggi non è domenica e devo lavorare
•  Ciascuna proposizione semplice può essere vera o
falsa, e allo stesso modo la proposizione composta
può avere valore vero o falso
•  La funzione logica che ha come ingresso il valore delle
proposizioni semplici componenti e come uscita il
valore della proposizione composta risultante può
essere rappresentata con una tabella di verità
Esempio
• Consideriamo la seguente proposizione:
• ‘Il sabato sera lavoro solo se devo lavorare, e ho
riposato o ho bevuto il caffè’
• A=devo lavorare
• B=ho riposato
• C=ho bevuto il caffè
• La condizione composta è A and (B or C)
La logica delle Proposizioni e l’algebra di Boole
• 
• 
• 
George Boole (1815-1864) studiò un mezzo
matematico per descrivere in forma algebrica la
logica delle proposizioni e definì la cosiddetta
algebra di Boole
Oggi quest’algebra ha numerose applicazioni nelle
scienze fisiche, in particolare nel campo dei
calcolatori e dell’elettronica
Nel 1938, Claude Shannon ha introdotto l’algebra di
commutazione (o dei circuiti) in cui le porte logiche
vengono usate al posto degli operatori logici e i
valori logici vero/falso sono sostituiti da segnali
elettrici alto/basso in ingresso o uscita da circuiti
elettrici
Cos’è un’algebra?
Nel linguaggio comune il termine algebra
indica un capitolo della matematica
elementare
•  Più formalmente, si dice che un insieme K è
un’ algebra, se in esso sono definite due
leggi binarie di composizione interna, ossia
due funzioni che facciano corrispondere ad
una qualsiasi coppia di elementi di K ancora
un elemento di K
•  Indicando con + (OR) e · (AND) le due leggi
binarie, un’algebra è la tripla
<K, +, ⋅ >
• 
Definizione dell’Algebra di Boole
•  L’algebra di Boole è un particolare tipo di algebra dotato di
specifiche proprietà
•  può essere definita in base ad altre strutture algebriche
(non c’è un modo solo per definire l’algebra di Boole)
•  si può definire attraverso i «reticoli» o…
• 
…attraverso «gruppi» e «anelli»
•  Noi vedremo la definizione che sfrutta il concetto di
reticolo
9
L’AdB definita attraverso i reticoli
Un'algebra <K,+, ⋅> si dice reticolo se per ogni elemento di K
valgono le seguenti proprietà
q  commutativa:
P1 : a+b = b+a
P’1 : a⋅b = b⋅a
q  associativa:
P2 : (a+b)+c = a+(b+c) = a+b+c
P’2 : (a·b)·c = a·(b·c) = a ⋅b ⋅c
q  idempotenza o potenza identica:
P3 : a+a = a
P’3 : a·a = a
q  assorbimento:
P4 : a+(a·b) = a
P’4 : a·(a+b) = a
La proprietà associativa ci
dice che le due operazioni
binare possono essere
generalizzate a funzioni di
più di due ingressi
10
Proprietà dei reticoli
•  In maniera equivalente, un reticolo può essere definito
come un insieme parzialmente ordinato, che possiede
cioè una relazione d’ordine x≤y
•  Ricordiamo che una relazione d’ordine “≤” deve godere
delle seguenti proprietà
•  riflessiva: x ≤ x
•  antisimmetrica: x ≤ y e y ≤ x => x = y
•  transitiva: x ≤ y e y ≤ z => x ≤ z
•  Data il nostro reticolo <K,+, ⋅>, la relazione d’ordine è
espressa dalle seguente relazione binaria:
•  x+y=y o equivalentemente
•  x·y=x
11
Reticoli distributivi
•  Un reticolo si dice distributivo se per ogni elemento di K
vale la proprietà distributiva
P5 : a·(b+c)=a·b+a·c
P’5 : a+(b·c)=(a+b)·(a+c)
•  Si noti che la proprietà è assegnata sia per la somma
rispetto al prodotto che per il prodotto rispetto alla somma
12
Minimo e Massimo
•  Un reticolo distributivo si dice dotato di minimo e
massimo assoluti se in K sono presenti due elementi che diremo 0 e 1 rispettivamente - i quali verificano la
proprietà del minimo e massimo
P6 : a · 0 = 0
P’6 : a + 1 = 1
•  Gli elementi 0 e 1 si dicono minimo e massimo in
quanto si ha:
• 
a≤1 e 0≤a per ogni elemento di K
13
Complemento
• 
14
Algebra di Boole
•  Un reticolo distributivo, dotato di minimo e massimo e
complementato si dice algebra di Boole
•  Un’algebra di Boole è dunque una sestupla:
• 
<K,+, ⋅ ,-,0,1>
15
16
Postulati: ricapitolando
Commutativa
P1
Associativa
P2
Idempotenza
a+b = b+a
P’1
a•b = b•a
(a+b)+c = a+(b+c)
P’2
(a•b)•c = a•(b•c)
P3
a+a = a
P’3
a•a = a
Assorbimento
P4
a+a•b = a
P’4
a•(a+b) = a
Distributiva
P5
a•(b+c) = a•b+a•c
P’5
a+b•c = (a+b)•(a+c)
Min e max
P6
a•0 = 0
P’6
a+1 = 1
Complemento
P7
a•ā = 0
P’7
a+ā = 1
Alcuni “teoremi”
•  Complementi di 0 e 1
•  0 ed 1 sono l’uno il complemento dell’altro
• Convoluzione
•  Negando due volte un elemento si ottiene l’elemento
stesso: !(!a)=a
• Assorbimento del complemento
•  a+!a * b=a+b
• Elementi neutri
•  0 è l’elemento neutro della somma a+0=a
•  1 è l’elemento neutro del prodotto a*1=a
17
Legge di dualità
•  Si può dimostrare che da qualsiasi identità booleana se
ne può trarre un'altra equivalente per dualità, sostituendo
cioè ad ogni operatore e agli elementi 0 ed 1 il rispettivo
duale
•  il duale di + è *,
•  il duale di 0 è 1
•  il duale di a è in generale !a (a negato, NOT a).
18
Teoremi di De Morgan
p + q = p⋅q
pq = p + q
§  Si può dimostrare con le tabelle di verità
19
Algebre di Boole
• 
La definizione di AdB come reticolo non specifica
quale sia K e come siano definite le operazioni
“+”,“·”,“-”
•  Specifica soltanto un insieme di proprietà che devono
essere soddisfatte da tali operazioni
• 
Sono così possibili diversi modelli di algebra di
Boole
l’algebra degli insiemi
•  l’algebra della logica delle proposizioni
•  l’algebra dei circuiti, in cui K assume solo i due valori 0 e 1
• 
20
Algebra degli insiemi
I
21
Algebra degli insiemi (1/2)
22
Algebra degli insiemi (2/2)
•  Dati due insiemi A,B ∈ T,sono definite le operazioni di
•  Unione (∪)
•  Intersezione (∩)
•  Complemento (~)
T
A∩B
a ∩ Φ= Φ
a ∪ T= T
A
A∪B
B
Diagramma
di Venn
la sestupla ‹K, ∪, ∩, ¬,Φ,T› è un’algebra di Boole.
ove:
•  K indica l’insieme delle parti di T
•  Φ indica l’insieme vuoto
•  La relazione d’ordine ≤ equivale alla relazione di inclusione tra insiemi
23
Algebra della logica delle proposizioni
•  L’insieme K={F,V} su cui siano definite le operazioni
•  Congiunzione(^)
•  Disgiunzione (v)
•  Negazione (¬)
•  è un’algebra di Boole con F = 0, V = 1,
congiunzione = ⋅ , disgiunzione = +, negazione = ¬
x
y
x^y
x
y
xvy
x
¬x
F
F
F
F
F
F
F
V
F
V
F
F
V
V
V
F
V
F
F
V
F
V
V
V
V
V
V
V
Algebra di commutazione
•  L’algebra di commutazione, anche detta algebra di Boole a
due valori o algebra dei circuiti, è caratterizzata da un
supporto K con soli due valori 0 e 1
• 
<{0,1}, +, ·,!, 0,1>
•  Le operazioni + (OR) , · (AND) ,! (NOT), sono definite dalle
tabelle di verità degli operatori logici
25
Circuiti logici
•  I circuiti logici sono circuiti elettronici nei quali una grandezza
elettrica ai morsetti di ingresso e di uscita può assumere solo
due valori, convenzionalmente rappresentati con i due
elementi dell’algebra di Boole 0 ed 1
•  In elettronica digitale si studia come realizzare circuiti
elettronici per i quali il legame tra ingressi ed uscite
corrisponde a quello delle operazioni fondamentali AND, OR
e NOT dell’algebra di Boole
•  PORTE LOGICHE
26
Algebra dei circuiti
•  Associa i simboli “0” e “1” ai livelli logici “basso” e “alto”
•  Un circuito è descritto dalla funzione
y = ƒ(x1, x2, ..., xn)
dove: y=bit di uscita; x1, x2, ..., xn=bit di ingresso
27
Algebra dei circuiti – porte logiche o gate
Circuiti elettronici che realizzano le operazioni fondamentali
x
y
z z = x AND y
x
z z = x OR y
y
x
y
y = NOT x
x
NOT x
0
1
1
0
28
x
y
x AND y
0
0
0
0
1
0
1
0
0
1
1
1
x
y
x OR y
0
0
0
0
1
1
1
0
1
1
1
1
Esercizi di riepilogo
•  Scrivere la tabella di verità corrispondente alla seguente funzione
logica di 3 variabili
((not A) and B) OR ((A and B) and C)
•  Scrivere la tabella di verità di una funzione logica a 3 variabili che dia
risultato vero solo se almeno due dei suoi argomenti sono uguali a
vero
•  Usando operatori logici e operatori di relazione si scriva la condizione
che esprime che il valore della variabile x appartiene all’insieme [-5,3]
U [8,15]
•  Data la condizione «stasera esco se ho finito i compiti o se domani
non vado a scuola» scriverne la formulazione in termini di proposizioni
logiche e trovarne la formulazione duale