4 Algebra Di Boole

4,628 views
4,259 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
4,628
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
59
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • (Logic - feb97) 3 © A.Lioy - Politecnico di Torino (1992-97) Sistemi di Elaborazione delle Informazioni
  • (Logic - feb97) 11 © A.Lioy - Politecnico di Torino (1992-97) Sistemi di Elaborazione delle Informazioni
  • (Logic - feb97) 9 © A.Lioy - Politecnico di Torino (1992-97) Sistemi di Elaborazione delle Informazioni
  • (Logic - feb97) 11 © A.Lioy - Politecnico di Torino (1992-97) Sistemi di Elaborazione delle Informazioni
  • (Logic - feb97) 15 © A.Lioy - Politecnico di Torino (1992-97) Sistemi di Elaborazione delle Informazioni
  • (Logic - feb97) 19 © A.Lioy - Politecnico di Torino (1992-97) Sistemi di Elaborazione delle Informazioni
  • (Logic - feb97) 20 © A.Lioy - Politecnico di Torino (1992-97) Sistemi di Elaborazione delle Informazioni
  • 4 Algebra Di Boole

    1. 1. Algebra di Boole
    2. 2. La Logica Booleana <ul><li>Nel XIX secolo un matematico inglese, George Boole, si occupò della possibilità di ricondurre il ragionamento al rigore delle costruzioni matematiche, sviluppando l'algebra che ancor oggi porta il suo nome. </li></ul><ul><li>Gli studi di Boole rimasero semplici esercizi teorici finché, all'inizio del ‘900, apparvero i primi dispositivi elettrici di commutazione (relays) e si rese necessario un supporto teorico per trattare questo tipo di circuiti. </li></ul>
    3. 3. La Logica Booleana <ul><li>Boole poneva alla base del ragionamento le asserzioni : queste possono essere solo vere o false , assumendo quindi due soli stati (0 e 1). </li></ul><ul><li>Anche un circuito di commutazione può assumere solo due stati: chiuso (OFF) oppure aperto (ON). </li></ul><ul><li>Da qui dunque l'analogia, e la possibilità di correlare situazioni apparentemente così differenti. </li></ul>
    4. 4. Variabili Booleane <ul><li>L'algebra booleana opera su variabili x 1 , x 2, …….., x n che possono assumere soltanto due valori: 0 e 1. Queste variabili prendono il nome di variabili logiche o booleane . </li></ul><ul><li>  </li></ul><ul><li>Con esse si possono rappresentare eventi tipicamente binari: per esempio, un'affermazione può essere </li></ul><ul><li>vera ( true = 1 ) oppure falsa ( false = 0) , </li></ul><ul><li>un interruttore può essere </li></ul><ul><li>aperto ( ON = 1) oppure chiuso ( OFF = 0) , </li></ul><ul><li>ecc. </li></ul>
    5. 5. Funzioni Booleane <ul><li>Sulle variabili booleane può essere definita una funzione, detta funzione booleana , o funzione logica , </li></ul><ul><li>F (x 1 , x 2, …….., x n ) , </li></ul><ul><li>la quale, in corrispondenza di ogni n-pla x i , assume soltanto valori 0 e 1. </li></ul><ul><li>Una particolare funzione booleana F è definita quando ad essa è assegnata la tavola della verità, tabella in cui è specificato il valore che assume F in corrispondenza di ogni combinazione delle variabili x 1 , x 2, …….., x n . </li></ul>
    6. 6. Tavola della Verità: esempio F V V V F V F V F F F F F( x 1 , x 2 ) x 2 x 1
    7. 7. Funzioni Booleane <ul><li>Il numero di combinazioni di n variabili è 2 n . </li></ul><ul><li>Poiché per ogni combinazione delle n variabili una funzione può assumere 2 valori, 0 oppure 1, si possono avere 2 2 n funzioni diverse di n variabili. </li></ul><ul><li>Ad esempio con 4 variabili si hanno 2 4 = 16 combinazioni e 2 16 = 65.536 possibili funzioni. </li></ul>
    8. 8. Esempio di Funzione Booleana <ul><li>In una stazione un treno parte se e solo se il semaforo è verde e il capotreno ha segnalato il via. </li></ul><ul><li>Variabili logiche: </li></ul><ul><li>T : vale 1 (vero) se il treno parte; </li></ul><ul><li>S : vale 1 (vero) se il semaforo è verde; </li></ul><ul><li>C : vale 1 (vero) se il capotreno ha dato il via . </li></ul><ul><li>Tavola di verità: </li></ul>1 1 1 0 0 1 0 1 0 0 0 0 T C S
    9. 9. Operatori Booleani <ul><li>Sulle variabili logiche agiscono gli operatori logici o booleani. </li></ul><ul><li>Operatori fondamentali </li></ul><ul><ul><li>AND (  ) prodotto logico </li></ul></ul><ul><ul><li>OR (  ) somma logica </li></ul></ul><ul><ul><li>NOT (  ) negazione logica (complementazione) </li></ul></ul><ul><li>Gli operatori di somma e prodotto logico godono della proprietà associativa e distributiva come gli analoghi dell'algebra numerica. </li></ul>
    10. 10. Operatori Booleani <ul><li>Operatore AND </li></ul><ul><li>Operatore OR </li></ul>Operatore NOT F V V F  A A V V V V F V V V F F F F A  B B A V V V F F V F V F F F F A  B B A
    11. 11. Precedenza degli Operatori <ul><li>Gerarchia degli operatori: </li></ul><ul><ul><li>NOT > AND > OR </li></ul></ul><ul><li>L’ordine può essere modificato tramite l’uso delle parentesi. </li></ul><ul><li>Esempi: </li></ul><ul><ul><li>f = A  B  C  A  B </li></ul></ul><ul><ul><li>f = A  B  ( C  A  B ) </li></ul></ul>
    12. 12. Espressioni Booleane <ul><li>Un insieme di variabili booleane, a cui siano applicati gli operatori logici AND, OR e NOT, prende il nome di espressione booleana o espressione logica T . </li></ul><ul><li>Una espressione T corrisponde e può rappresentare quella funzione logica F che assume valore 1 in corrispondenza di quelle combinazioni di valori delle variabili per cui T = 1 e assume valore 0 in corrispondenza di quelle per cui T = 0 . </li></ul>
    13. 13. Notazione <ul><li>Per motivi pratici, la notazione viene così semplificata: </li></ul><ul><ul><li>AND • </li></ul></ul><ul><ul><li>OR + </li></ul></ul><ul><ul><li>NOT oppure ’ </li></ul></ul><ul><li>Esempio: </li></ul><ul><ul><ul><li>A  (  B ) </li></ul></ul></ul><ul><ul><li>diventa: </li></ul></ul><ul><ul><li>A + B oppure A + B’ </li></ul></ul>
    14. 14. Operatori Booleani non elementari <ul><li>NAND (NOT AND) </li></ul>NOR (NOT OR) • Falso se A e B sono veri Vero se A e B sono falsi F V V V F V V V F V F F A B B A F V V F F V F V F V F F A + B B A
    15. 15. Operatori Booleani non elementari <ul><li>EXOR (OR esclusivo) </li></ul><ul><li>EXNOR (OR esclusivo negato) </li></ul>Vero se A diverso da B Vero se A uguale a B A A  B = A • B + A • B A  B = A • B + A • B F V V V F V V V F F F F A  B B A V V V F F V F V F V F F A  B B A
    16. 16. Espressione duale <ul><li>Una espressione T b è detta duale di una espressione T a se è ottenuta da quest'ultima sostituendo l'operatore AND con l'operatore OR, e viceversa, e la cifra 0 con la cifra 1, e viceversa. </li></ul><ul><li>Esempio: </li></ul><ul><li>T a = a • c + a • b + 0 </li></ul><ul><li>T b = T ad = (a + c) • (a + b) • 1 </li></ul>
    17. 17. Teoremi <ul><li>I teoremi dell’algebra logica possono essere utilizzati per dedurre espressioni che abbiano un minor numero di termini ( semplificazione delle espressioni logiche ). </li></ul><ul><li>Al contrario dell'algebra ordinaria, dove non è possibile dimostrare i teoremi sostituendo alle variabili tutti i valori che possono assumere, nell'algebra booleana i teoremi sono dimostrabili per “induzione completa”, cioè verificandone la validità per tutte le combinazioni di valori (0 o 1) delle variabili. </li></ul><ul><li>Per ogni teorema esiste il teorema duale , ottenuto applicando la regola di dualità. Si può dimostrare che, provata la validità di un teorema, risulta provata la validità anche del teorema duale. </li></ul>
    18. 18. Teoremi <ul><li>Proprietà commutativa </li></ul><ul><li>A  B = B  A A + B = B + A </li></ul><ul><li>Proprietà associativa </li></ul><ul><li>A  B  C = (A  B)  C = A  (B  C) A + B + C = (A + B) + C = A + (B + C) </li></ul><ul><li>Proprietà distributiva </li></ul><ul><li>A  ( B + C ) = A  B + A  C A + ( B  C ) = ( A + B )  ( A + C ) </li></ul>
    19. 19. Teoremi <ul><li>A  F = F A  V = A </li></ul><ul><li>A + F = A A + V = V </li></ul><ul><li>A  A = F A + A = V </li></ul><ul><li>A = A A  A = A A  A = A </li></ul><ul><li>A + A  B = A </li></ul><ul><li>A  ( A + B ) = A </li></ul><ul><li>A + A  B = A + B </li></ul><ul><li>A  ( A + B ) = A  B </li></ul>
    20. 20. Teorema di De Morgan <ul><li>f ( a, b, ..., z; +,  ) = f ( a, b, ..., z;  , + ) </li></ul><ul><li>Esempi: </li></ul><ul><li>A + B = ( A  B ) </li></ul><ul><li>( A + B ) = A  B </li></ul><ul><li>( A  B ) = A  B </li></ul>
    21. 21. Espressione canonica <ul><li>Un problema logico viene espresso mediante frasi che esprimono le condizioni che devono essere soddisfatte affinché si verifichi qualche evento. </li></ul><ul><li>Avendo enucleato le variabili booleane indipendenti, è possibile descrivere lo stesso problema per mezzo della tavola della verità della variabile indipendente (funzione booleana). </li></ul><ul><li>Resta da fare un ultimo passo, ovvero il passaggio dalla tavola di verità all’espressione logica che la rappresenta. </li></ul>
    22. 22. Espressione canonica <ul><li>Per ottenere l’espressione logica dalla tavola di verità si può applicare la seguente regola pratica: </li></ul><ul><ul><li>l'espressione è formata da tanti termini, legati dall'operatore OR, quanti sono gli 1 della funzione; </li></ul></ul><ul><ul><li>in ogni termine compaiono tutte le variabili indipendenti, legate dall'operatore AND, nella forma affermata o negata a seconda che per quella combinazione nella tavola della verità assumano il valore 1 o 0. </li></ul></ul><ul><li>L'espressione che si trova con questo metodo è detta canonica , ed è una delle tante espressioni equivalenti che possono rappresentare la stessa funzione. </li></ul>
    23. 23. Espressione canonica: esempio <ul><li>Esempio: si supponga che l’analisi del problema abbia condotto alla seguente tavola di verità: </li></ul>a b c d 1 1 1 1 0 0 1 1 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 0 0 0 0 0 0 F z y x
    24. 24. Espressione canonica: esempio <ul><li>Applicando alla precedente tavola di verità le regole per l’estrazione dell’ espressione canonica otteniamo la seguente espressione: </li></ul><ul><li>F = x y z + x y z + x y z + x y z </li></ul><ul><li>Questa espressione può essere ridotta con l’uso dei teoremi dell’algebra di Boole. </li></ul>a b c d
    25. 25. Minimizzazione dell’espressione <ul><li>F = x y z + x y z + x y z + x y z </li></ul>F = x z ( y + y ) + x z ( y + y ) F = x z + x z F = z ( x + x ) F = z =1 =1 =1
    26. 26. Applicazioni <ul><li>Il campo di applicazione dell’algebra di Boole è molto vasto, consentendo di risolvere problemi che, in origine, sono di natura molto diversa dalla logica. </li></ul><ul><li>Ad esempio la somma di due numeri binari può essere ricondotta a una sequenza di somme elementari di 3 bit di ugual peso: </li></ul>1 1 1 1 1 1 0 1 0 1 1 0 1 1 0 0 1 1 0 0 1 0 0 1 1 0 1 0 0 1 0 1 0 1 0 0 0 0 0 0 Rip S c y x
    27. 27. Applicazioni <ul><li>Considerando x, y e c variabili logiche possiamo scrivere: </li></ul><ul><li>S = c • x • y + c • x • y + c • x • y + c • x • y = </li></ul><ul><li>= c • ( x • y + x • y ) + c • ( x • y + x • y ) = </li></ul><ul><li>= c • ( x  y ) + c • ( x  y ) = </li></ul><ul><li>= c  x  y </li></ul><ul><li>Un analoga funzione può essere scritta per il riporto risolvendo così, con semplicità, il problema della somma binaria </li></ul>
    28. 28. Applicazioni <ul><li>Realizzando le due funzioni (risultato e riporto) in un unico dispositivo elettronico otteniamo un circuito di addizione completa ( full adder ) </li></ul>x n y n r n-1 s n carry x 0 y 0 0 s 0 r 0 x 1 y 1 r 0 s 1 r 1

    ×