Algebra di Boole. Cenni all Algebra di Boole

Documenti analoghi
L algebra di Boole. Cenni Corso di Reti Logiche B. Mariagiovanna Sami

Esercitazioni di Reti Logiche. Lezione 2 Algebra Booleana e Porte Logiche. Zeynep KIZILTAN zkiziltan@deis.unibo.it

Algebra di Boole. Le operazioni, nell algebra booleana sono basate su questi tre operatori: AND ( ), OR ( + ),NOT ( )

Sintesi di reti combinatorie. Sommario. Motivazioni. Sommario. Funzioni Espressioni. M. Favalli

Variabili logiche e circuiti combinatori

Reti Logiche. Le reti logiche sono gli elementi architettonici di base dei calcolatori, e di tutti gli apparati per elaborazioni digitali.

Codifica binaria e algebra di Boole

Architettura dei Calcolatori Algebra delle reti Logiche

Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE

Architettura degli Elaboratori Implementazione di funzioni booleane

RELAZIONI BINARIE. Proprietà delle relazioni Data una relazione R, definita in un insieme non vuoto U, si hanno le seguenti proprietà :

ESERCIZI DEL CORSO DI INFORMATICA

Esempi ed esercizi Aritmetica degli elaboratori e algebra di commutazione

Sintesi Combinatoria Uso di componenti diversi dagli operatori elementari. Mariagiovanna Sami Corso di reti Logiche 8 Anno

Teoria degli insiemi

Calcolatori: Algebra Booleana e Reti Logiche

Algebra di Boole. Le operazioni base sono AND ( ), OR ( + ), NOT ( )

Linguaggio del calcolatore. Algebra di Boole AND, OR, NOT. Notazione. And e or. Circuiti e reti combinatorie. Appendice A + dispense

Algebra Di Boole. Definiamo ora che esiste un segnale avente valore opposto di quello assunto dalla variabile X.

Cap. 3 Reti combinatorie: analisi e sintesi operatori logici e porte logiche

Esercitazioni di Reti Logiche. Lezione 1 Rappresentazione dell'informazione. Zeynep KIZILTAN zkiziltan@deis.unibo.it

Algebra di Boole e reti logiche. Giovedì 8 ottobre 2015

Algebra di Boole ed Elementi di Logica

R X X. RELAZIONE TOTALE Definizione: Si definisce relazione totale tra x e y se dati X,Y diversi dall'insieme vuoto

NORMALIZZAZIONE DI SCHEMI RELAZIONALI. Prof.ssa Rosalba Giugno

Algebra Booleana ed Espressioni Booleane

(anno accademico )

LOGICA PER LA PROGRAMMAZIONE. Franco Turini

4. Operazioni binarie, gruppi e campi.

Capitolo 2 - Algebra booleana

ALGEBRA DELLE PROPOSIZIONI

PROVA DI VERIFICA DEL 24/10/2001

CAPITOLO V. DATABASE: Il modello relazionale

Appunti di informatica. Lezione 2 anno accademico Mario Verdicchio

Sommario. Teoremi Maxterm Forme Canoniche Mappe di Karnaugh Fine lezione

Operatori logici e porte logiche

Albero semantico. Albero che mette in corrispondenza ogni formula con tutte le sue possibili interpretazioni.

La Logica Proposizionale. (Algebra di Boole)

PROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico

Convessità e derivabilità

APPUNTI DI ELETTRONICA DIGITALE

Algebra e Geometria. Ingegneria Meccanica e dei Materiali Sez (2) Ingegneria dell Automazione Industriale Sez (2)

Linguaggi. Rosario Culmone, Luca Tesei. 20/10/2009 UNICAM - p. 1/32

Algoritmo = Dati e Azioni Sistema numerico binario Rappresentazioni di numeri binari Rappresentazione in modulo e segno

Esercitazioni (a cura di R. Basili)

Algebra booleana. Si dice enunciato una proposizione che può essere soltanto vera o falsa.

I.I.S. Primo Levi Badia Polesine A.S

I polinomi 1; x;x 2 ;x 3 sono linearmente indipendenti; infatti. 0= x+ 3 x x 3 =) 1 = 2 == 4 =0

Utilizzo I mintermini si usano quando si considererà la funzione di uscita Q come Somma di Prodotti (S. P.) ossia OR di AND.

Algebra e Logica Matematica. Calcolo delle proposizioni Logica del primo ordine

orario ricevimento via orario ufficio risposta entro 3 giorni

Logica combinatoria. La logica digitale

ISTITUTO D'ISTRUZIONE SUPERIORE A. MOTTI

STRUTTURE ALGEBRICHE

Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing

Alcuni Preliminari. Prodotto Cartesiano

APPUNTI DI MATEMATICA ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1)

ITCS Erasmo da Rotterdam. Anno Scolastico 2014/2015. CLASSE 4^ M Costruzioni, ambiente e territorio

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Fondamenti di calcolo booleano

Comparatori. Comparatori di uguaglianza

Syllabus: argomenti di Matematica delle prove di valutazione

ALGEBRA E LOGICA (v1.5)

l insieme Y è detto codominio (è l insieme di tutti i valori che la funzione può assumere)

CORSO DI LAUREA IN INGEGNERIA.

TEORIA RELAZIONALE: INTRODUZIONE

Reti Logiche A Appello del 24 febbraio 2010

A i è un aperto in E. i=1

f: AxB f(x)=y, f={<x,y> per ogni x in A esiste unica y in B f(x)=y} f={<1,2>, <2,3>, <3,3>} : {1,2,3} {1,2,3} f(1)=2, f(2)=3, f(3)=3

Algebra booleana e circuiti logici. a cura di: Salvatore Orlando

Esercitazione di Calcolatori Elettronici Ing. Battista Biggio. Corso di Laurea in Ingegneria Elettronica. Esercitazione 1 (Capitolo 2) Reti Logiche

x y z F x y z F F = x z + y z + yz + xyz G = wyz + vw z + vwy + vwz + v w y z Sommario

CALCOLO COMBIN I A N T A O T RIO

Appunti di LOGICA MATEMATICA (a.a ; A.Ursini) Algebre di Boole. 1. Definizione e proprietá

UNIVERSITÀ DEGLI STUDI DI FERRARA

b) Il luogo degli estremanti in forma cartesiana è:

Sintesi di reti logiche multilivello. Sommario. Motivazioni. Sommario. M. Favalli

Esercitazione Informatica I AA Nicola Paoletti

a n. a 0 x n + a 1 x n 1. b 0 x m + b 1 x m b m 0. Funzioni reali di variabile reale. Definizione classica. Funzioni razionali

Lezione 6 Nucleo, Immagine e Teorema della Dimensione. 1 Definizione di Nucleo e Immagine

G. Pareschi ALGEBRE DI BOOLE. 1. Algebre di Boole

Capitolo I STRUTTURE ALGEBRICHE ELEMENTARI

Corso di Informatica

modulo A1.1 modulo A1.2 livello A1 modulo A2.1 modulo A2.2 matematica livello A2 livello A3

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

Funzioni con dominio in R 2

FOCUS GROUP. Trento, e

LOGICA DEI PREDICATI. Introduzione. Predicati e termini individuali. Termini individuali semplici e composti

Definizione Dati due insiemi A e B, contenuti nel campo reale R, si definisce funzione reale di variabile reale una legge f : A

CONCETTO DI LIMITE DI UNA FUNZIONE REALE

Minimizzazione di Reti Logiche Combinatorie Multi-livello

Protocollo dei saperi imprescindibili Ordine di scuola: professionale

Introduzione ai microcontrollori

Fondamenti di Informatica II

Ancora sugli insiemi. Simbologia

Sistemi di Numerazione e Algebra Booleana

Matematica Computazionale Lezione 4: Algebra di Commutazione e Reti Logiche

Trasformazioni Geometriche 1 Roberto Petroni, 2011

Prodotto elemento per elemento, NON righe per colonne Unione: M R S

Programmazione Dichiarativa. Programmazione Logica. SICStus PROLOG PROLOG. Bob Kowalski: "Algoritmo = Logica + Controllo"

Maturità Scientifica PNI, sessione ordinaria

Transcript:

Algebra di Boole Cenni all Algebra di Boole Introduzione Rappresentazione di una funzione combinatoria Proprietà dell algebra di commutazione Forme canoniche Teorema di espansione di Shannon

Algebra Booleana: operazioni e sistema algebrico Operazione: una operazione α sull'insieme S={s1,s2,...} è una funzione che da SxS (S cartesiano S) porta in S. Quindi, ad ogni coppia ordinata appartenente ad SxS corrisponde un elemento di S, cioè α: SxS S. Alcune considerazioni: L operazione * (di moltiplicazione) sull intervallo [0,1] consente di ottenere un valore incluso in [0,1] a partire da elementi inclusi in [0,1] La sottrazione sull insieme dei naturali non è una operazione. Es: 5-10 non appartiene ai naturali. Sistema Algebrico: Combinazione di un insieme di elementi e un insieme di operatori e un numero fissato di assiomi. esempio: ([0,1], *) è un sistema algebrico. - 2 -

Algebra Booleana: definizione Algebra Booleana B: è un sistema algebrico identificato dalla sestupla (B,+,*,,0,1) dove: B è l'insieme su cui vengono definite le operazioni (supporto) +,*, sono le operazioni binarie OR e AND e l operazione unaria NOT 0,1 sono elementi speciali di B. 0 è l elemento neutro rispetto a + 1 è l elemento neutro rispetto a * Assiomi Esempio: Algebra delle classi, l algebra delle funzioni proposizionali, l algebra booleana aritmetica e l algebra a due valori. - 3 -

Algebra Booleana a due valori: Algebra di Commutazione Tra tutte le algebre booleane, l'algebra booleana a due valori...è la più utile. Essa è la base matematica della analisi e progetto di circuiti di commutazione che realizzano i sistemi digitali. [Lee, S.C., Digital Circuit And Logic Design. Englewood Cliffs, NJ: Prentice-Hall, 1976] - 4 -

Algebra Booleana a due valori: Algebra di Commutazione Le variabili dell algebra booleana a due valori possono assumere solo i due valori 0 e 1 precisamente, se x indica una variabile, è x = 0 se e solo se x 1 x = 1 se e solo se x 0 Algebra Booleana a due valori: ({0,1},+,*,,0,1) dove + e * sono definiti come + 0 1 0 0 1 1 1 1 * 0 1 0 0 0 1 0 1 esiste precedenza tra i due operatori Mentre l operazione a un solo elemento (unary operation) detta complementazione o negazione (NOT) è definita come 0 1 1 0 Nota: il simbolo associato al NOT è spesso indicato come (esempio x ),!(esempio!x) o sopra segnando la variabile. - 5 -

Vale per la somma rispetto al prodotto come per il prodotto rispetto alla somma non esiste precedenza fra le due operazioni, occorre sempre immaginare le parentesi sottintese intorno a ogni applicazione di un operazione. Algebra Booleana a due valori: Assiomi Gli operatori descritti godono delle proprietà definite dai seguenti assiomi (postulati di Huntington): Le operazioni di disgiunzione (+) e congiunzione ( ) sono commutative, cioè per ogni elemento a,b B a+b = b+a a b = b a Esiste un elemento neutro (o identità) rispetto a + (indicato con 0) e un elemento neutro rispetto a (indicato con 1), cioè: a+0=a a 1=a Le due operazioni sono distributive rispetto all altra, cioè per ogni a,b,c B, risulta: a+(b c)=(a+b) (a+c) a (b+c)=(a b)+(a c) Per ogni a B esiste l elemento a B, detto negazione logica o complemento di a, tale che: a+a =1 a a =0-6 -

Algebra di Commutazione: proprietà (1) 1: elemento complemento a+1=1 a*0=0 2: idempotenza a+a=a a*a=a 3: unicità elemento inverso: il complemento di a, a, è unico 4: associativa a+(b+c)=(a+b)+c a*(b*c)=(a*b)*c 5: assorbimento a+(a*b)=a a*(a+b)=a - 7 -

Algebra di Commutazione: proprietà (2) 6: involuzione ((a) ) = a 7: Leggi di De Morgan (a+b) = a *b (a*b) = a +b 8: consenso a*b+a *c+b*c = a*b + a *c (a+b)*(a +c)*(b+c)=(a+b)*(a +c) 9: Semplificazione a+a b = a+b a*(a +b) = a*b - 8 -

- 9 -

Algebra di Commutazione: proprietà (3) 10: principio di dualità Ogni identità deducibile dai postulati dell algebra di Boole è trasformata in un altra identità se: 1. Ogni operazione + viene sostituita da una operazione * e vice versa. 2. Ogni elemento identità 0 viene sostituito da un elemento identità 1 e vice versa. Esempio: (assorbimento) a+(a*b)=a a*(a+b)=a - 10 -

Algebra di Commutazione: proprietà (4) Il modo più semplice per dimostrare le proprietà è quello esaustivo (si dimostra per tutti i possibili valori di tutte le variabili). Sono possibili altri tipi di dimostrazione: Ad esempio, si voglia dimostrare a+a b b = a+b Si sostituisce a con a*1 Dalla proprietà della negazione (b+b =1) applicata da destra verso sinistra si sostituisce a1 + a b a con a(b+b )+a )+a b Applicando la proprietà distributiva si ottiene ab+ab +a +a b Applicando la proprietà di idempotenza da destra verso sinistra al termine ab si ottiene ab + ab + ab + a ba Applicando la proprietà distributiva da destra verso sinistra si ottiene a(b+b ) ) + b(a + a ) a Applicando la proprietà dell inverso si ha infine a*1 + b*1= a + b - 11 -

Algebra di Commutazione: rappresentazione di una funzione Una funzione di commutazione a n variabili f: {0,1} n {0,1} può essere rappresenta in modo univoco utilizzando una tabella della funzione o tabella della verità Una tabella della verità specifica la relazione che esiste tra ogni elemento del dominio di f ({0,1} n ) e la corrispondente immagine (elemento del codominio): è una relazione di ingresso/uscita Esempio: a b c f(a,b,c) 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 0 1 1 1 1-12 -

Algebra di Commutazione: definizioni (1) Letterale: un letterale è una coppia (Variabile,Valore) (x,1) è indicato come x (variabile in forma naturale); (x,0)rappresenta la variabile x in forma negata (complementata) ed è indicato come x (oppure!x). In modo equivalente, dato a {0,1} un letterale è espresso come x a dove, per a=1 x a =x e per a=0 x a =x'. Ad esempio, il letterale z vale 1 ogni qual volta che la variabile z vale 1, mentre il letterale z vale 1 ogni volta che la variabile z vale 0. a b c variabili di commutazione, i simboli a a b b c c sono i letterali - 13 -

Algebra di Commutazione: definizioni (2) Termine prodotto: Un termine prodotto è il prodotto logico o congiunzione (AND) di più letterali. Un termine prodotto in cui compaiono letterali corrispondenti a tutte le variabili della funzione e tale per cui la configurazione di valori delle variabili definite dai letterali genera un valore 1 della funzione stessa nella tabella delle verità, costituisce un mintermine della funzione (spesso si sottintende il segno *) Ad esempio, a b c e ab c rappresentano due mintermini della funzione di cui si è prima data la tabella delle verità Un termine prodotto in cui compaiono solo alcuni dei letterali e che corrisponda a un insieme di 1 della funzione è denominato implicante. Ad esempio, a c rappresenta un implicante della funzione data - 14 -

- 15 -

Algebra di Commutazione: definizioni (3) Termine somma (duale): Un termine somma è la somma logica o disgiunzione (OR) di più letterali. Un termine somma in cui compaiono letterali corrispondenti a tutte le variabili della funzione e tale per cui la configurazione di valori delle variabili definite dai letterali genera un valore 0 della funzione stessa nella tabella delle verità, costituisce un maxtermine della funzione Ad esempio, a+b+c e a+b +c rappresentano due maxtermini della funzione data Un termine somma in cui compaiono solo alcuni dei letterali e che corrisponda a un insieme di 0 della funzione è denominato implicato. Ad esempio, a+c rappresenta un implicato della funzione data - 16 -

Algebra di Commutazione: funzioni Una funzione booleana di n variabili può essere espressa attraverso una espressione booleana di n variabili costituita da letterali, costanti, operatori AND, OR e NOT. Esempio di espressione booleana: f(a,b,c)=ab+a c Le proprietà dell algebra di commutazione possono essere utilizzate per manipolare una espressione booleana ed ottenerne una equivalente. Due espressioni booleane sono equivalenti se e solo se sono riconducibili alla stessa funzione booleana. Esempio: f(a,b,c)= (a *b ) *a = (a+b)*a = a De Morgan Assorbimento - 17 -

Algebra di commutazione: espressioni e funzioni (1) Il numero di espressioni booleane di n variabili definite su una algebra booleana B è infinito. La relazione tra espressioni booleane e funzioni booleane non è 1 a 1. Esempio: a b c f(a,b,c) 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 f(a,b,c)= (a *b ) *a f(a,b,c)=... f(a,b,c)= a - 18 -

Algebra di commutazione: espressioni e funzioni (2) Data una funzione booleana ad esempio, mediante la tabella delle verità - il problema è identificare almeno una espressione booleana ad essa corrispondente In molte applicazioni dell'algebra booleana uno scopo fondamentale è determinare una buona rappresentazione della funzione booleana, avendo preventivamente definito il concetto di buono ed un modo per valutarlo : obiettivo e cifra di merito Ad esempio: l obiettivo è minimizzare il costo del circuito corrispondente a un espressione, la cifra di merito usata è il numero di letterali presenti nell espressione. Solitamente la buona rappresentazione algebrica viene ricavata manipolando una soluzione iniziale. - 19 -

Algebra di commutazione: espressioni e funzioni (3) Data una funzione booleana, la soluzione iniziale al problema di determinare una sua espressione consiste nel ricorso alle forme canoniche. Le forme canoniche sono, rispettivamente, la forma somma di prodotti (SoP) e quella prodotto di somme (PoS). Data una funzione boolena esistono una ed una sola forma canonica SoP ed una e una sola forma PoS che la rappresentano. - 20 -

Algebra Booleana: Forme canoniche Si consideri il seguente esempio: a b f(a,b) 0 0 0 0 1 1 1 0 0 1 1 1 È intuitivo osservare che la funzione possa essere ottenuta dal OR delle seguenti funzioni: a b f(a,b) 0 0 0 0 1 1 1 0 0 1 1 1 a b f 1 (a,b) 0 0 0 0 1 1 1 0 0 1 1 0 = + a b f 2 (a,b) 0 0 0 0 1 0 1 0 0 1 1 1-21 -

Algebra Booleana: Forme canoniche Per cui, intuitivamente, si ottiene: a b f(a,b) 0 0 0 0 1 1 1 0 0 1 1 1 a b f 1 (a,b) 0 0 0 0 1 1 1 0 0 1 1 0 = + a b f 2 (a,b) 0 0 0 0 1 0 1 0 0 1 1 1 f 1 (a,b)=a b f 2 (a,b)=ab Poiché, ad esempio, quando a=0 e b=1 il prodotto a b assume valore 1 mentre vale 0 in tutti gli altri casi. - 22 -

Algebra Booleana: Forme canoniche Ne consegue: a b f(a,b) 0 0 0 0 1 1 1 0 0 1 1 1 a b f 1 (a,b) 0 0 0 0 1 1 1 0 0 1 1 0 = + a b f 2 (a,b) 0 0 0 0 1 0 1 0 0 1 1 1 f(a,b) = a b + Mettendo in OR i mintermini della funzione si ottiene l espressione booleana della funzione stessa espressa come somma di prodotti. Questa espressione booleana è denominata prima forma canonica. Si ricorda che nel mintermine una variabile compare nella forma naturale x se nella corrispondente configurazione di ingresso ha valore 1, nella forma complementata x se ha valore 0 ab - 23 -

Algebra Booleana: Forme canoniche Esempio: a b c f(a,b,c) 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1 f(a,b,c)=a b c+a bc +a bc+ab c +abc Prima Forma Canonica - 24 -

Algebra Booleana: Forme canoniche Si consideri nuovamente lo stesso esempio: a b f(a,b) 0 0 0 0 1 1 1 0 0 1 1 1 È intuitivo osservare che la funzione possa essere ottenuta dall AND delle seguenti funzioni: a b f(a,b) 0 0 0 0 1 1 1 0 0 1 1 1 a b f 1 (a,b) 0 0 0 0 1 1 1 0 1 1 1 1 = * a b f 2 (a,b) 0 0 1 0 1 1 1 0 0 1 1 1-25 -

Algebra Booleana: Forme canoniche Per cui, intuitivamente, si ottiene: a b f(a,b) 0 0 0 0 1 1 1 0 0 1 1 1 a b f 1 (a,b) 0 0 0 0 1 1 1 0 1 1 1 1 = * a b f 2 (a,b) 0 0 1 0 1 1 1 0 0 1 1 1 f 1 (a,b)= a+b f 2 (a,b)= a +b f(a,b)= f 1 (a,b) f 2 (a,b) * - 26 -

Algebra Booleana: Forme canoniche E quindi f(a,b) = (a+b)* (a +b) Mettendo in AND i maxtermini della funzione si ottiene l espressione booleana della funzione stessa espressa come prodotto di somme. Questa espressione booleana è denominata seconda forma canonica. Si ricorda che nel maxtermine una variabile compare nella forma naturale x se nella corrispondente configurazione di ingresso ha valore 0, nella forma complementata x se ha valore 1-27 -

Algebra Booleana: Forme canoniche Esempio: a b c f(a,b,c) 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1 f(a,b,c)=(a+b+c)*(a +b+c )*(a +b +c) Seconda Forma Canonica - 28 -

Algebra Booleana: Espansione di Shannon Formalmente, quanto esposto dal punto di vista intuitivo produce le forme canoniche come segue: prima forma canonica: f = (x 1...x n )*f(0,...,0)+(x 1...x n )*f(0,...,1)+...+(x 1... x n )*f(1,...,1) dove (x 1...x n ), (x 1...x n ),..., (x 1...x n ) sono i mintermini della funzione f, f(0,...,0),..., f (1,...,1) sono i valori che la funzione assume quando la configurazione delle variabili sia, rispettivamente, (0,...,0),...,(1,...,1) seconda forma canonica: f=((x 1 +...+x n )+f(1,...,1))*((x 1 +...+x n )+f(1,..,0))*...*((x 1 +...+x n )+f(0,...,0)) dove (x 1 +...+x n ), (x 1 +...+x n ),..., (x 1 +...+x n ) sono i maxtermini di f. Nota: f(0,0,...,0), f(0,0,...,1)... f(1,1,...,1) sono noti con il nome di discriminante della funzione feil loro valore appartiene a B La rete combinatoria che realizza una forma canonica si dice rete a due livelli - 29 -

- 30 -

Algebra Booleana: Espansione di Shannon La descrizione formale introdotta in precedenza deriva direttamente dall applicazione iterativa del Teorema di espansione di Shannon se f: B n B è una funzione booleana si ha f(x 1,x 2,...,x n )= x 1 *f x1' + x 1 *f x1 per ogni (x 1,x 2,...,x n ) in B n. Ad esempio, f(a,b,c)=a *f(0,b,c)+a*f(1,b,c) Dualmente, se f: B n B è una funzione booleana si ha f(x 1,x 2,...,x n )= (x 1 +f x1 )*(x 1 +f x1 ) per ogni (x 1,x 2,...,x n ) in B n. Ad esempio, f(a,b,c)=(a +f(1,b,c))*(a+f(0,b,c)) - 31 -

Algebra Booleana: Espansione di Shannon Forme canoniche Espansione di Shannon e Ad esempio: f(a,b,c)=a b c *f(0,0,0)+a b c*f(0,0,1)+a bc *f(0,1,0) +a bc*f(0,1,1)+ab c *f(1,0,0)+ab c*f(1,0,1)+ +abc *f(1,1,0)+abc*f(1,1,1) a b c f(a,b,c) 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 0 1 1 1 1 Prima Forma Canonica a b c+a bc+ab c +ab c+abc (a+b+c)*(a+b +c)*(a +b +c) Seconda forma Canonica - 32 -

Algebra Booleana: Espansione di Shannon Osservazione: il teorema di espansione di Shannon può essere utilizzato anche su espressioni Booleane. Esempio: f(0,b,c)= b +bc f(1,b,c)= b+b f(0,0,c)= 1 f(0,1,c)= c f(0,0,0)= 1 f(0,0,1)= 1 Espandendo rispetto ad a l espressione booleana f(a,b,c)=ab+b +a bc, si ha la forma equivalente f(a,b,c)=a *(b +bc )+ a*(b+b )=a b +a bc +ab + ab = a b +a bc +a Espandendo rispetto ad a b e c la espressione booleana f(a,b,c)=ab+b +a bc, si ha la forma equivalente f(a,b,c)=a *(b +bc )+ a*(b+b ) =a *(b *(1)+b*(c ))+ a*(b *(1)+b*(1)) =a *(b *(c +c)+b*(c ))+a*(b (c +c)+b*(c +c)) =a b c +a b c+a bc +ab c +ab c+abc +abc» è la prima forma canonica della funzione associata alla espressione booleana di partenza. - 33 -

Algebra Booleana: Manipolazione delle espressioni (1) Data un espressione di una funzione booleana, le proprietà dell algebra di commutazione permettono di manipolarla in modo da ottenere un espressione equivalente, ma di forma diversa eventualmente con caratteristiche meglio rispondenti a particolari requisiti. Esempio: sia data la forma canonica f(x,y,z) = x yz + xyz + xyz e sia data la funzione di costo costituita dal numero di letterali presenti che in questo caso vale 9. Obiettivo: ridurre il costo. - 34 -

Algebra Booleana: Manipolazione delle espressioni (2) Una prima manipolazione mediante le regole dell algebra dà: f(x,y,z) = x yz + xyz + xyz 1. applicando la proprietà distributiva e quella della complementazione: f(x,y,z)= (x + x)yz +xyz= 1yz +xyz= yz +xyz. 2. poi, applicando di nuovo la proprietà distributiva f = y(z +xz) 3. E ricordando che a + a b = a + b, si ottiene infine f= y(z +x)= yz +xy - 35 -

Algebra Booleana: Manipolazione delle espressioni (3) Allo stesso risultato si sarebbe giunti anche: f(x,y,z) = x yz + xyz + xyz 1. applicando dapprima la proprietà dell idempotenza: f(x,y,z) = x yz + xyz + xyz + xyz 2. poi applicando la proprietà distributiva f = yz (x +x) + xy (z + z) 3. Da cui infine f = yz 1 +xy1 = yz + xy Si osservi che, rispetto alla forma canonica di partenza, l espressione logica ottenuta è di costo inferiore (4 letterali). - 36 -

Algebra Booleana: Manipolazione delle espressioni (5) Si osservi che l applicazione delle trasformazioni algebriche non permette di identificare una procedura sistematica Come conseguenza: Non è possibile identificare un algoritmo non possono essere realizzati strumenti CAD che consentano di produrre una soluzione ottima a due livelli utilizzando le proprietà dell algebra Non è possibile sapere se l espressione ottenuta è quella minima L immediatezza della bontà del risultato dipende molto dalla scelta delle proprietà da applicare e dall ordine in cui sono applicate. In pratica, non è questa la via che si sceglie! - 37 -