Trasparenze_Fondamenti_pp40-73

Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016
Elementi di calcolo combinatorio
Insieme di n elementi
ES.
{A,B,C,D}
(n=4)
SEMPLICE PERMUTAZIONE P
sequenza nella quale compaiono tutti gli elementi in ordine diverso
ES [A,C,B,D]
oppure [D,A,B,C]
NUMERO DI PERMUTAZIONI POSSIBILI su n elementi
Pn = n!
Fondamenti di Informatica
40
Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016
Elementi di calcolo combinatorio
Insieme di n elementi
ES.
{A,B,C,D}
(n=4)
SEMPLICE DISPOSIZIONE D
sequenza nella quale compare un sottoinsieme di elementi di dimensione k
ES [A,B,D]
oppure [D,A,C]
(k=3)
NUMERO DI DISPOSIZIONI di dimensione k su n elementi
Dn,k = n! / (n-k)!
ES D4,2
= 4*3*2 / 2 = 12
[A,B] [A,C] [A,D] [B,A] [B,C] [B,D] [C,A] [C,B] [C,D] [D,A] [D,B] [D,C]
Fondamenti di Informatica
41
Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016
Elementi di calcolo combinatorio
Insieme di n elementi
ES.
{A,B,C,D}
(n=4)
SEMPLICE COMBINAZIONE C
sequenza nella quale compare un sottoinsieme di elementi di dimensione k
L'ORDINE NON CONTA
ES [A,B,D]
oppure [D,A,C] ma non [A,D,B]
(k=3)
NUMERO DI COMBINAZIONI di dimensione k su n elementi
Cn,k = Dn,k / Pk
ES C4,2
= n! / ( k! * (n-k)!) =
n
k
()
= 4*3*2 / (2*2) = 6
[A,B] [A,C] [A,D] [B,A] [B,C] [B,D] [C,A] [C,B] [C,D] [D,A] [D,B] [D,C]
Fondamenti di Informatica
42
Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016
Elementi di calcolo combinatorio
COSA ACCADE SE GLI ELEMENTI POSSONO APPARIRE IN MODO RIPETUTO?
Insieme di n elementi
ES. {A,B,C,D}
(n=4)
DISPOSIZIONE CON RIPETIZIONE D'
sequenza nella quale compare un sottoinsieme di elementi di dimensione k
ES [A,B,B]
oppure [D,D,D](k=3)
NUMERO DI DISPOSIZIONI CON RIPETIZIONE di dimensione
k su n elementi
D'n,k = nk
ES D'4,2
= 4*4 = 16
[A,B] [A,C] [A,D] [B,A] [B,C] [B,D] [C,A] [C,B] [C,D] [D,A] [D,B] [D,C]
[A,A] [B,B] [C,C] [D,D]
Fondamenti di Informatica
43
Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016
Elementi di calcolo combinatorio
COSA ACCADE SE GLI ELEMENTI POSSONO APPARIRE IN MODO RIPETUTO?
Insieme di n elementi
ES. {A,B,C,D}
(n=4)
COMBINAZIONE CON RIPETIZIONE C'
sequenza nella quale compare un sottoinsieme di elementi di dimensione k
L'ORDINE NON CONTA
ES [A,B,B]
oppure [D,A,A] ma non [B,A,B]
(k=3)
NUMERO DI COMBINAZIONI CON RIPETIZIONE di dimensione
k su n elementi
C'n,k
= (n+k-1)! / ( k! * (n-1)!) =
ES C'4,2
= 5*4*3*2 / (2*6) = 10
(
n+ k −1
k
) (
=
n+ k −1
n−1
)
[A,B] [A,C] [A,D] [B,A] [B,C] [B,D] [C,A] [C,B] [C,D] [D,A] [D,B] [D,C]
[A,A] [B,B] [C,C] [D,D]
Fondamenti di Informatica
44
Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016
Elementi di calcolo combinatorio
COSA ACCADE NEL CASO DI UN INSIEME BINARIO?
Insieme di 2 elementi
{0,1}
(n=2)
DISPOSIZIONI CON RIPETIZIONE D' di dimensione k
D'n,k
= 2k
ES D'2,3
= 8
[0,0,0] [0,0,1] [0,1,0] [0,1,1] [1,0,0] [1,0,1] [1,1,0] [1,1,1]
COMBINAZIONI CON RIPETIZIONE C' di dimensione k
C'n,k
= K+1
ES C'2,3
= 4
[0,0,0] [0,0,1] [0,1,1] [1,1,1]
Fondamenti di Informatica
45
Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016
Elementi di calcolo combinatorio
HOMEWORK
Quanti oggetti possiamo differenziare con un codice costituito da due
simboli di cui il primo è una lettera dell’alfabeto (21 lettere) e il
secondo è una cifra da 0 a 9 ?
Uno studente deve sostenere 6 esami ogni anno per i 3 anni di durata del
suo corso di studi, senza poter rimandare un esame da un anno all’altro,
nell’ordine da lui preferito durante ogni singolo anno.
Quante sono le possibili sequenze dei 18 esami ?
Quanti numeri di sei cifre hanno almeno una cifra dispari?
Quattro giocatori di tennis vogliono giocare un doppio . Quante coppie
distinte possono formarsi?
Fondamenti di Informatica
46
Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016
Elementi di calcolo combinatorio
HOMEWORK
21*10 = 210
6!* 6! * 6!
9*10*10*10*10*10 – 56 +55
6
Fondamenti di Informatica
47
Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016
Algebra booleana
• Algebra booleana: base dei calcolatori moderni
– George Boole (1815-1864): fondamenti dell’algebra
booleana
– Shannon (1938): prima idea di applicare l’algebra
booleana ai circuiti
• Componenti:
– Variabili logiche
– Operatori
• Le funzioni logiche, ottenute applicando gli operatori alle
variabili, possono essere descritte tramite tavole di verità
Fondamenti di Informatica
48
Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016
Algebra booleana
•
Variabili logiche
– una variabile logica x puo` avere solo due stati:
x = VERO (TRUE) = 1
x = FALSO (FALSE) = 0
– questa e` definita logica positiva
– elettricamente:
• 1 e` rappresentato da un valore di tensione positivo
• 0 e` rappresentato da un valore di tensione nullo
•
Operatori
– Nell’algebra booleana esistono tre operatori fondamentali:
• AND
• OR
• NOT
Fondamenti di Informatica
49
Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016
Algebra booleana
• Operatore AND
A AND B -> simbolo A · B (moltiplicazione)
corrisponde ad una congiunzione stretta:
A · B è vero solo se A e B sono entrambi veri
Tavola di verità
A B f = A AND B
0
0
1
1
0
1
0
1
0
0
0
1
Fondamenti di Informatica
A
B
f = A. B
50
Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016
Algebra booleana
• Operatore OR
A OR B -> simbolo A + B (somma)
A + B è vero se A oppure B oppure entrambi sono veri
Tavola di verità
A B f = A OR B
0
0
1
1
0
1
0
1
0
1
1
1
Fondamenti di Informatica
A
B
f = A+ B
51
Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016
Algebra booleana
• NOT
NOT A -> simbolo A (negazione)
A è vero se A è falso e viceversa
Tavola di verità
A f = NOT A
0
1
1
0
Fondamenti di Informatica
A
f= A
52
Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016
Algebra booleana
• Gli operatori AND OR NOT possono essere sostituiti da vari
altri operatori logici
• Tra questi NOR e NAND sono chiamati universali in quanto
ognuno di essi e` in grado di sostituire da solo e
completamente i tre precedenti
• Sono ovvie le implicazioni di carattere costruttivo, per le
realizzazioni di circuiti integrati
Fondamenti di Informatica
53
Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016
Algebra booleana
• NOR (NOT OR)
A B f = A NOR B
0
0
1
1
0
1
0
1
1
0
0
0
Fondamenti di Informatica
A
B
f = A+ B
54
Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016
Algebra booleana
• NAND (NOT AND)
A B f = A NAND B
0
0
1
1
0
1
0
1
1
1
1
0
Fondamenti di Informatica
A
B
f = A.B
55
Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016
Algebra booleana
•
Un altro operatore importante è lo XOR (OR esclusivo)
A XOR B = (A AND NOT(B)) + (NOT(A) AND B)
●
●
●
Simbolo: A XOR B -> A + B
A XOR B è vero se solo uno tra A o B è vero
È talvolta chiamato EXOR o EOR
A B f = A XOR B
0
0
1
1
Fondamenti di Informatica
0
1
0
1
0
1
1
0
56
Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016
Algebra booleana
•
Proprieta` dell’algebra booleana (valgono anche le relazioni duali)
– Commutativa
A+B = B+A
– Associativa
A. (B. C) = (A. B) . C
– Assorbimento o inclusione
•
A . (A+B) = A
Proprieta` supplementari
– Distributiva
A. (B+ C) = A. B + A. C
(vale la duale!!)
– Elemento neutro
0+A=A
1 . A = A (duale)
– Complementare
A. A=0
A + A = 1 (duale)
Fondamenti di Informatica
57
Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016
Algebra booleana
• Altre proprieta` importanti (derivabili dalle precedenti)
assorbimento del complemento
A+A.B=A+B
(duale) A . (A + B) = A . B
fusione diretta
A.B+A.B=A
(duale) (A+B) . (A+B) = A
Fondamenti di informatica
58
Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016
Algebra booleana
• Leggi di De Morgan
A+ B = A. B
A B
0
0
1
1
0
1
0
1
Fondamenti di Informatica
A+ B A+ B A B A. B
0
1
1
1
1
0
0
0
1
1
0
0
1
0
1
0
1
0
0
0
59
Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016
Algebra booleana
• Leggi di De Morgan
A .B =A+B
A B
0
0
1
1
0
1
0
1
Fondamenti di Informatica
A· B A· B A B A+ B
0
0
0
1
1
1
1
0
1
1
0
0
1
0
1
0
1
1
1
0
60
Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016
Algebra booleana
Esempio di utilizzo di De Morgan: equivalenza tra circuiti digitali
complessi
A
B
A· B
(A·B) · (C·D) =
(A·B) + (C·D) =
C
D
Fondamenti di informatica
C·D
A·B + C·D
61
Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016
Algebra booleana
Circuito digitale equivalente al precedente
A
B
A· B
(A·B) · (C·D) =
(A·B) + (C·D) =
C
D
Fondamenti di informatica
C·D
A·B + C·D
62
Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016
Algebra booleana
• Sintesi di circuiti digitali
– consiste nel derivare la funzione logica a partire dalla
descrizione del problema
– esistono diverse metodologie tra cui la piu` semplice e` la
sintesi diretta; richiede:
• la costruzione della tabella di verita`
• la derivazione della funzione diretta
• la semplificazione tramite teoremi e proprieta` note
– NB - funziona solo per casi molto semplici!!
Fondamenti di informatica
63
Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016
L’algebra booleana
• Un esempio di aritmetica binaria: l’HALF ADDER
– serve a sommare due bit
– genera un riporto per lo stadio successivo
– utilizzato in cascata con un FULL ADDER consente di
sommare numeri binari
A
B
Fondamenti di informatica
HA
Ci+1
S
64
Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016
L’algebra booleana
PASSO 1: la tabella di verità
– INPUT operandi A, B
– OUTPUT somma S e riporto
per il passo successivo C i+1
Fondamenti di informatica
A B S Ci+1
0
0
1
1
0
1
0
1
0
1
1
0
0
0
0
1
65
Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016
L’algebra booleana
PASSO 2: derivazione della formula diretta:
– Per ogni riga in cui la funzione assume valore 1:
• AND di tutte le variabili:
– Normali quelle che hanno valore 1
– Negate le altre
– OR di tutte queste formule
Esempio per S:
– Riga 2 -> A · B
– Riga 3 -> A · B
– TOTALE : (A · B) + (A · B)
Fondamenti di informatica
66
Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016
L’algebra booleana
PASSO 3: Semplificazione
• Utilizzo le proprietà dell’algebra booleana per semplificare
la formula (come semplificazioni espressioni in algebra
lineare)
– In questo caso si vede che è uno XOR, quindi
S = A XOR B
•
Posso procedere allo stesso modo per Ci+1:
– Riga 4 -> A · B , quindi
Ci+1 = A · B
Fondamenti di informatica
67
Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016
L’algebra booleana
• Verifica:
– calcolo la tabella di verità di A  B e la confronto
con la tabella di verità di S
A B S A B
Fondamenti di informatica
0 0
0 1
1 0
0
1
1
0
1
1
1
0
0
1
68
Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016
L’algebra booleana
• Un altro esempio: il FULL ADDER
– serve a sommare due bit, tenendo conto di un riporto che
può derivare dallo stadio precedente
– genera a sua volta un riporto per lo stadio successivo
A
B
Ci
Fondamenti di Informatica
FA
Ci+1
S
69
Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016
L’algebra booleana
PASSO 1: la tabella di verità:
– INPUT operandi A, B, e il
riporto dal passo
precedente
– OUTPUT somma S e riporto
per il passo successivo C i+1
Fondamenti di Informatica
A B Ci Ci+1 S
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
1
0
1
1
1
0
1
1
0
1
0
0
1
70
Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016
L’algebra booleana
PASSO 2: derivazione della formula diretta:
• FORMULA S:
– Riga 2 -> A · B · Ci
– Riga 3 -> A · B · Ci
– Riga 5 -> A · B · Ci
– Riga 8 -> A · B · C
TOTALE : A · B · Ci + A · B · Ci + A · B · Ci + A · B · Ci
•
FORMULA Ci+1:
– Riga 4 -> A · B · Ci
– Riga 6 -> A · B · Ci
– Riga 7 -> A · B · Ci
– Riga 8 -> A · B · Ci
TOTALE : A · B · Ci + A· B · Ci + A· B · Ci + A · B · Ci
Fondamenti di Informatica
A B Ci Ci+1 S
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
1
0
1
1
1
0
1
1
0
1
0
0
1
71
Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016
L’algebra booleana
PASSO 3: Semplificazione
• in questo caso si vede che S è uno XOR a tre variabili mentre
Ci+1 può essere ridotto utilizzando la proprietà di inclusione
A B Ci Ci+1 S A  B A  B  Ci
S = A  B  Ci
Ci+1 = A·B + B·Ci + A·Ci
Fondamenti di Informatica
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
1
0
1
1
1
0
1
1
0
1
0
0
1
0
0
1
1
1
1
0
0
0
1
1
0
1
0
0
1
72
Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016
Algebra booleana
Co
S3
Full
Adder
Ci
A3
B3
Fondamenti di Informatica
Co
S2
Full
Adder
Ci
A2
B2
Co
S1
Full
Adder
Ci
A1
B1
Co
S0
Half
Adder
A0
B0
73