Pirini Ilario 3^ EA Istituto tecnico I.I.S. Maserati Indice: L’algebra di Boole o Applicazione dell’algebra di Boole o Esercizi e test o Approfondimenti e curiosità o Chi era George Boole? Boole George nasce il 2 novembre 1815 a Lincolnshire in Gran Bretagna. Sviluppò assieme ad Auguste De Morgan la logica matematica moderna e il metodo simbolico. Boole e De Morgan fondarono l'algebra della logica o algebra booleana. www.dizionarioinformatico.com L’ algebra Booleana Contempla due costanti 0 e 1 (falso e vero) Corrispondono a due stati che si escludono a vicenda Possono descrivere lo stato di apertura o chiusura di un generico contatto o di un circuito a più contatti 0 1 Si definiscono delle operazioni fra i valori booleani: AND, OR, NOT sono gli operatori fondamentali www.dizionarioinformatico.com L’operazione di AND Si definisce l’operazione di prodotto logico (AND): il valore del prodotto logico è il simbolo 1 se il valore di tutti gli operandi è il simbolo 1 00 01 10 11 = = = = 0 0 0 1 0 0 0 00 1 0 10 www.wikipedia.org 1 01 1 1 11 L’operazione di OR Si definisce l’operazione di somma logica (OR): il valore della somma logica è il simbolo 1 se il valore di almeno uno degli addendi è il simbolo 1 0+0 0+1 1+0 1+1 = = = = 0 1 1 1 0 0 0 1 0+0 0+1 1 1 0 1 1+0 1+1 www.wikipedia.org La negazione NOT Si definisce l’operatore di negazione (NOT): l’operatore inverte il valore della costante su cui opera 0 = 1 1 = 0 Dalla definizione… 0 = 0 1 = 1 www.wikipedia.org La tabella di verità • Dalle otto combinazioni si ottiene la tabella di verità della funzione logica A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 Y 0 1 1 0 1 0 0 1 • Si può scrivere la funzione Y come somma logica di prodotti logici Y = ABC + ABC + ABC + ABC Funzioni logiche Una variabile y è una funzione delle n variabili indipendenti x1, x2,…, xn, se esiste un criterio che fa corrispondere in modo univoco ad ognuna delle 2n configurazioni delle xi un valore di y y = F(x1,x2,…,xn) Una rappresentazione esplicita di una funzione è la tabella di verità, in cui si elencano tutte le possibili combinazioni di x1, x2, …, xn, con associato il valore di y x1 x2 y y = x1+x2 0 0 1 1 0 1 0 1 0 1 1 1 La forma canonica Date tre variabili booleane (A,B,C), si scriva la funzione Y che vale 1 quando solo due di esse hanno valore 1 A B C Y Si può scrivere la funzione 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 0 come somma logica delle configurazioni corrispondenti agli 1 Y = ABC + ABC + ABC Forma canonica: somma di prodotti (OR di AND) tutte le funzioni logiche si possono scrivere in questa forma Variabili binarie Una variabile binaria indipendente può assumere uno dei due valori 0 e 1 0 x 1 Date n variabili binarie indipendenti, la loro somma logica (OR) è 1 se almeno una xi vale 1 x1 + x2 + …+ xn = www.wikipedia.org 0 se x1= x2= …= xn = 0 AND e NOT con variabili binarie Date n variabili binarie indipendenti, il loro prodotto logico (AND) è 0 se almeno una xi vale 0 x 1 x 2 … x n = 1 se x1= x2= …= xn = 1 La negazione di una variabile x è x=0 x=1 www.wikipedia.org se se x=1 x=0 Configurazioni delle variabili Date n variabili binarie indipendenti x1, x2,…, xn, queste possono assumere 2n configurazioni distinte Ad esempio per n=3 si hanno 8 configurazioni x1 x2 x3 000 001 010 011 100 101 110 111 Una configurazione specifica è individuata univocamente da un AND (a valore 1) di tutte le variabili, dove quelle corrispondenti ai valori 0 compaiono negate 010 x 1 x2 x3 www.wikipedia.org Minterm Se in una configurazione una variabile compare con 1 si assume il valore diretto se invece compare con uno 0 si assume il valore negato. Prendendo una funzione in esempio scriveremo: y = x1x2x3 + x1x2x3 + x1x2x3 Ciascuno di questi prodotti si chiama MINTERM www.wikipedia.org Minterm La funzione conoscendo la sua tabella di verità, potrà essere espressa sotto forma di somme di prodotti dei termini minimi. Se una funzione è direttamente espressa sotto forma di somme di minterm sarà possibile costruire la sua tabella di verità, mettendo 1 nelle configurazioni relative ai minterm, e 0 negli altri casi. www.wikipedia.org Maxterm Dalla tabella di verità si può affermare ogni maxterm è la somma di tutte le variabili dirette o negate a seconda che la configurazione contenga 1 o 0. y = (x1+x2+x3)· (x1+x2+x°3)· (x1+x°2+x°3)· (x°1+x°2+x3)· (x°1+x°2+x°3) ossia sotto forma di prodotto di somme. Ciascuna delle somme chiama maxterm (termine massimo). Applicazione dell’algebra di Boole ai circuiti digitali In questa presentazione l'algebra di Boole verrà utilizzata in un diagramma di flusso per rendere più intuitivo comprendere il funzionamento di quei semplici circuiti digitali che costituiscono la base dei computer. "esco se è bel tempo ed è caldo.“ "esco se è bel tempo o se è caldo". www.nemesi.net Applicazione dell’algebra di Boole ai circuiti digitali Tenendo presente la seguente tabella possiamo verificare le due frasi Quindi avremo: •"esco se è bel tempo ed è caldo”= AND •"esco se è bel tempo o se è caldo“ = OR www.nemesi.net Applicazione dell’algebra di Boole ai circuiti digitali Nel Primo caso la lampadina si accenderà quando: A Nel secondo invece la lampadina si accenderà quando: A Y B A=0 B=0 B www.nemesi.net A=0 B=1 Y Un esercizio Progettare un circuito per accendere e spegnere una lampada da uno qualsiasi di tre interruttori indipendenti Y = 0 Cambia lo stato di un interruttore qualsiasi 0 0 0 1 1 1 A 0 B 0 C 0 Y = 1 0 0 0 1 1 1 A 0 B 1 C 0 Un circuito con due interruttori I due interruttori corrispondono a due variabili (A,B) a valori booleani le variabili assumono i due valori 0 e 1 che corrispondono alle due posizioni dell’interruttore A A 0 0 1 1 B Y A A B A=0 B=0 A A 0 0 1 1 B B A=1 B=0 Y A A 0 0 1 1 B Y B A B Y A=0 B=1 0 0 1 1 0 1 0 1 1 0 0 1 0 0 1 1 B B A=1 B=1 Y Y = AB+AB Altre proprietà Per gli operatori AND e OR valgono le seguenti proprietà: commutativa x1+x2 = x2+x1 x1 x2 = x2x1 associativa x1+x2+x3 = x1+(x2+x3) x1 x2x3 = x1(x2x3) distributiva del prodotto rispetto alla somma x1 x2 + x1x3 = x1(x2+x3) Per l’operatore NOT si provano le seguenti identità: x + x = 1 x x = 0 x = x Mappe di KARNAUGH Le mappe di Karnaugh sono delle tabelle che permettono in modo immediato la rappresentazione e la semplificazione di funzioni booleane fino 6 variabili. xy 00 01 11 10 0 1 1 0 0 1 0 1 1 1 z Rappresentazione con Mappa di K. di una funzione. Le Mappe di K. costituiscono un altro metodo per rappresentare una funzione booleana; Analisi delle combinazioni Si considera cosa accade a partire dalla configurazione di partenza, cambiando lo stato di un interruttore per volta Y = 1 Y = 0 Y = 0 A B C A B C 0 0 1 0 1 1 Y = 1 Y = 1 Y = 0 A B C A B C A B C 0 0 0 0 1 0 1 0 1 Y = 0 Y = 1 A B C A B C 1 0 0 1 1 0 A B C 1 1 1