Algebra Di Boole L’algebra di Boole è un ramo della matematica basato sul calcolo logico a due valori di verità (vero, falso). Con alcune leggi particolari consente di operare su proposizioni allo stesso modo che su entità matematiche. L'algebra Booleana dal matematico inglese Boole, trova numerose applicazioni nelle scienze fisiche, in particolare nel campo dei computer e dell'elettronica. Oggi infatti questa algebra chiamata anche "algebra di commutazione", fornisce strumenti per la modellizzazione e la trattazione di dispositivi basati su logica binaria. Questo in quanto le grandezze che possono assumere solo due valori, possono facilmente essere associate ai dispositivi elettrici di un circuito digitale binario (dal momento che tali dispositivi sono realizzati in modo tale da assumere solo due stati elettrici estremi). Mediante l'algebra di commutazione, è possibile effettuare una progettazione logica dei dispositivi, trascurando il modo in cui verranno fisicamente realizzati. L'algebra booleana è basata sui seguenti POSTULATI: definiamo come X una qualsiasi variabile binaria. Il primo postulato afferma semplicemente che trattiamo logica binaria. Definiamo ora che esiste un segnale avente valore opposto di quello assunto dalla variabile X. Sulle variabili logiche così introdotte, si possono definire le operazioni di inversione (o negazione, o NOT, indicata dal tratto sopra il nome della variabile), di prodotto logico di due variabili (o operazione AND, indicata dal simbolo •, a volte omesso come nell'algebra comune), di somma logica di due variabili (o operazione OR, indicata dal simbolo +). I seguenti tre postulati definiscono le operazioni di prodotto e somma logici: Si noti che i postulati sono stati definiti sempre a coppie, il cui secondo membro è stato indicato da un apostrofo ('). Si noti anche che ciascun secondo membro è ottenibile dal primo mediante scambio dei valori 0 e 1 e scambio degli operatori · e +. Questo è un esempio del principio di dualità, vero per tutti i teoremi dell'algebra di commutazione poiché risulta vero per i suoi postulati. Da questi postulati si ricavano i seguenti teoremi, dimostrabili semplicemente sostituendo alle variabili tutti i possibili valori (0 e 1): Dei teoremi a n variabili citiamo quello di De Morgan: Le operazioni logiche fondamentali viste fino ad ora: NOT (negazione), OR (+) e AND (•), sono realizzabili fisicamente da dispositivi elementari costituiti da transistor. Questi "circuiti minimi" prendono il nome di porte logiche. La porta NOT nega o inverte il segnale ricevuto, la porta OR ne fa la somma logica, e la AND il prodotto logico. Funzioni booleane, ovvero funzioni di variabili booleane (assumono soltanto i valori vero e falso 1,0), possono essere realizzate con gruppi di porte logiche interconnesse opportunamente tra loro creando cosi un vero e proprio circuito digitale chiamato rete logica. Il vantaggio dell'algebra di Boole sta nel fatto che applicando i suoi teoremi permettere la semplificazione dei circuiti digitali. Per esempio: Le due funzioni sono equivalenti, infatti hanno la stessa tabella di verità, ma la seconda funzione è realizzabile con un circuito più semplice. G. BOOLE (1854) George Boole (1815 - 1864), logico e matematico inglese, creò lo strumento concettuale che sta alla base del funzionamento del calcolatore e che, in suo onore, va sotto il nome di algebra booleana. Si tratta di un calcolo logico a due valori di verità con alcune leggi particolari, che consente di operare su proposizioni allo stesso modo che su entità matematiche. Sviluppò i concetti espressi da Leibniz sul sistema binario e descrisse gli operatori logici che da lui presero il nome di operatori booleani. L'opera di Boole aprì l'orizzonte alle grandi scuole di matematica del '900. La sua logica, oggi, sta alla base della struttura dei componenti elettronici denominati porte logiche ed è la base del funzionamento dei calcolatori elettronici. Proposizioni: • • • Oggi Piove P [0/1 , vero/falso] } linguaggio naturale } linguaggio secondo Boole } implementazione secondo Shannon (1940) Le porte logiche (logical gate) sono i circuiti minimi per l'elaborazione di segnali binari. Sono circuiti che operano su più segnali di ingresso e producono un segnale di uscita. Circuiti nei quali vengono utilizzate più porte logiche connesse tra di loro vengono chiamati reti logiche. Allo scopo di descrivere i comportamenti dei circuiti logici si può usare l'algebra booleana che specifica l'operazione di ogni gate. Le variabili di questa algebra sono binarie, possono assumere solo due valori (0,1) e vengono indicate con le lettere A,B,C,X,Y,W,Z. Le porte logiche fondamentali sono: Porta NOT (invertitore, negatore) Porta AND (•) Porta OR (+) La tabella della verità, è l'elencazione di tutte le possibili configurazioni dei valori di ingresso, associate ai corrispondenti valori assunti dalle uscite. Esistono altri operatori di uso comune, i più utilizzati sono: XOR (or-esclusivo), NAND E NOR. Il NOR o NOT OR si distingue circuitalmente dall'OR per il piccolo cerchio all'uscita che rappresenta la negazione dell'OR stesso. Il NAND o NOT AND si distingue circuitalmente dall'AND per il piccolo cerchio all'uscita che rappresenta la negazione dell'AND stesso. La porta logica XOR implementa una funzione che restituisce il valore 1 se e solo se in entrata viene fornito un numero dispari di 1. Possono essere utilizzate porte con più di due ingressi, tipicamente si usano AND (o OR) a 2, 4 o 8 ingressi (raramente più di 8). Vediamo un esempio di porte logiche a 3 ingressi: Porta AND (x) a 3 ingressi: Porta OR (+) a 3 ingressi: Le porte AND e OR a 3 ingressi si realizzano spesso come albero di porte AND e OR a 2 ingressi. L'elemento funzionale fondamentale per la costruzione di porte logiche è il transistor. Infatti con un semplice transistor si può ottenere una porta NOT (a), con due transistor in serie una porta NAND (b) , con due transistor in parallelo un porta NOR (c) e analogamente anche le altre. Una rete logica è un collegamento di circuiti digitali logici, ovvero componenti hardware che manipolano informazione binaria. I circuiti di base sono detti PORTE LOGICHE (logical gate) cioè circuiti che operano su più segnali di ingresso e producono un segnale di uscita. Circuiti elettronici costituiti da più porte logiche o comunque da circuiti realizzati mediante dispositivi elettronici in grado di svolgere funzioni di porte logiche, dove le uscite sono in ogni istante "combinazioni" delle entrate (ovvero, tali reti non hanno storia del funzionamento passato) prendono il nome di reti combinatorie. Circuiti elettronici realizzati mediante dispositivi elettronici in grado di svolgere funzioni di porte logiche e caratterizzati dal fatto che i valori di uscita in ogni istante dipendono non solo dai valori applicati in tale istante agli ingressi, ma anche dai valori applicati agli ingressi precedentemente (ovvero, tali reti hanno storia del funzionamento passato) prendono il nome di reti sequenziali. ESEMPIO: ESEMPIO: PRIMO ESEMPIO DI ANALISI DI UN AUTOMA: SECONDO ESEMPIO DI ANALISI DI UN AUTOMA: