StrumentiAltre lingue
|
Algebra di BooleIn matematica ed informatica, le algebre booleane, o reticoli booleani, sono strutture algebriche che rivestono una notevole importanza per varie ragioni:
Questi collegamenti per criptomorfismo fra reticoli booleani, posets reticolati e anelli booleani è opportuno siano chiariti in modo completo: solo in questo modo si può avere un controllo completo di tutte le applicazioni delle algebre booleane (e delle strutture relazionali e di anello associate). Sono state definite da George Boole, un matematico inglese dell'University College di Cork, che per primo, verso la metà del XIX secolo le ha definite come componenti di un sistema logico. In particolare, l'algebra booleana era un tentativo di usare le tecniche algebriche per elaborare le espressioni nel calcolo proposizionale. Oggi, le algebre booleane trovano molte applicazioni, tra le quali la progettazione dei circuiti elettronici. In primo luogo sono state applicate alla commutazione da Claude Shannon negli anni intorno al 1940. Gli operatori dell'algebra booleana possono essere rappresentati in vari modi. Spesso sono scritti semplicemente come AND, OR e NOT. Nella descrizione dei circuiti, possono anche essere usati NAND (NOT AND), NOR (NOT OR) e XOR (OR esclusivo). In matematica spesso si usa + per OR e Qui useremo alternativamente la notazione "a parole" e quella comune
[modifica] Definizione algebricaSe B è un insieme formato da almeno 2 elementi, diciamo algebra booleana avente B come supporto la struttura algebrica costituita da B, da due operazioni binarie su B, OR e AND, da un'operazione unaria NOT su B e da un elemento particolare di B che indichiamo 0 i quali godono delle seguenti proprietà.
Per ogni algebra booleana si definisce l'elemento 1 come la negazione, o il complementare, dello 0: 1 := NOT(0). Per esso si deducono le proprietà
e in particolare
Si definisce inoltre, come operazione derivata dalle precedenti, l'operatore binario "OR esclusivo", denotato XOR: Si può osservare la simmetria della definizione e quindi quella di XOR: : A dire il vero, un'algebra booleana potrebbe essere formata da due sole operazioni, il NOT e una tra AND e OR, in quanto è possibile definire l'altra tramite le due restanti, e cioè rispettivamente: ma data l'importanza di entrambe le operazioni, e la non immediatezza di queste definizioni appena date, è comodo introdurle direttamente insieme. La collezione di tutti i sottoinsiemi di un dato insieme (cioè l'insieme delle parti, che qua può essere opportuno chiamare insieme ambiente) munita delle operazioni di unione, intersezione e complementazione di insiemi, che giocano rispettivamente il ruolo di OR, AND e NOT, costituisce un'algebra booleana. In questa algebra all'operatore XOR corrisponde la differenza simmetrica. Vista questa importante associazione, si usa anche indicare le tre operazioni con questi simboli: Come per ogni reticolo, ad un'algebra booleana (A,
Si può anche associare un'algebra booleana a un reticolo distributivo (A,
Qui La definizione di algebra booleana come struttura dotata di relazione d'ordine e come struttura algebrica, come di consueto, possono essere usate scambievolmente ed entrambe sono di grande utilità per importare risultati e concetti sia dall'algebra universale che dalla teoria degli ordini. Le due definizioni sono equivalenti e possono essere scambiate all'occorrenza. In molti casi pratici lavorare usando congiunzioni, disgiunzioni e complementi può essere il metodo migliore per affrontare un problema e definirlo correttamente. [modifica] SimbologiaGli operatori dell'algebra booleana possono essere rappresentati in vari modi, oltre a quello adottato in precedenza consistente nel servirsi dei loro nomi AND, OR, NOT. Le diverse simbologie sono scelte in base al campo in cui si lavora. I matematici usano spesso il simbolo + per l'OR, e × per l'AND, in quanto per alcuni versi questi operatori lavorano in modo analogo alla somma e alla moltiplicazione. La negazione NOT viene rappresentata spesso da una linea disegnata sopra l'argomento della negazione, cioè dell'espressione che deve essere negata. Nella progettazione di circuiti elettronici, vengono utilizzati anche gli operatori brevi NAND (AND negato), NOR (OR negato) e XNOR (XOR negato); questi operatori, come XOR, sono delle combinazioni dei tre operatori base e quindi non costituiscono un arricchimento della specie di strutture, vengono usati solo per rendere la notazione più semplice. Operatori:
Valori: [modifica] NOTL'operatore NOT restituisce il valore inverso di quello in entrata. Una concatenazione di NOT è semplificabile con un solo NOT in caso di dispari ripetizioni o con nessuno nel caso di pari.
Spesso, per semplificare espressioni complesse, si usano operatori brevi che uniscono l'operazione di NOT ad altre, questi operatori sono NOR (OR + NOT), NAND (AND + NOT), XNOR (XOR + NOT). La negazione, in questi casi, viene applicata dopo il risultato dell'operatore principale (OR, AND, XOR). [modifica] ORL' operazione logica OR (letteralmente o in inglese) restituisce 1 (vero) se almeno uno degli elementi è 1 (vero); altrimenti dicibile: OR restituisce 0 (falso) se e solo se tutti gli operandi sono 0 (falso). Tale operazione è anche detta somma logica.
Nella teoria degli insiemi corrisponde all'unione. [modifica] ANDL' operazione AND (letteralmente e in inglese) restituisce 1 (vero) se e solo se tutti gli operandi hanno valore 1 (vero), altrimenti restituisce 0 (falso). Tale operazione è anche detta prodotto logico.
È possibile realizzare un'operazione logica AND con un numero di proposizioni arbitrarie concatenando varie AND a due ingressi, per esempio: p1 AND (p2 AND (p3 AND p4)) Nei circuiti digitali, la porta logica AND è un meccanismo comune per avere un segnale di vero se un certo numero di altri segnali sono tutti veri. Nella teoria degli insiemi corrisponde all'intersezione. [modifica] XORL'operatore XOR (detto anche EX-OR, OR esclusivo o somma modulo 2) nella sua versione a due elementi restituisce 1 (vero) se e solo se un unico dei due operandi è 1, mentre restituisce 0 (falso) in tutti gli altri casi.
Nella teoria degli insiemi corrisponde alla differenza simmetrica. [modifica] NORL'operatore NOR, (cioè la negazione del risultato dell'operazione OR) restituisce 1 (vero) se e solo se tutti gli elementi sono 0, mentre restituisce 0 (falso) in tutti gli altri casi.
[modifica] NANDL'operatore NAND (cioè la negazione del risultato dell'operazione AND) restituisce 0 (falso) se e solo se tutti gli elementi sono 1, mentre restituisce 1 (vero) in tutti gli altri casi.
[modifica] XNORL'operatore XNOR (detto anche EX-NOR, cioè la negazione del risultato dell'operazione XOR) nella sua versione a due elementi restituisce 1 se: tutti gli elementi sono uguali a 1, oppure se tutti gli elementi sono uguali a 0.
[modifica] Simboli[modifica] VeroViene definito vero un bit 1, sia in Input che in Output. [modifica] FalsoViene definito falso un bit 0, sia in Input che in Output. [modifica] EsempiQuesta algebra ha applicazioni nella logica, dove 0 è interpretato come "falso", 1 come vero, L'algebra booleana a due stati è inoltre importante nella teoria generale delle algebre booleane, perché un'equazione che coinvolge parecchie variabili è generalmente vera in ogni algebra booleana se e soltanto se è vera nell'algebra booleana a due stati. Ciò può, per esempio, essere usato per indicare che le seguenti leggi ( teoremi di consenso ) sono generalmente valide in ogni algebra booleana:
A = { a in R : a2 = a e a L'insieme A diventa un'algebra booleana con le operazioni a [modifica] Omomorfismi ed isomorfismiUn omomorfismo tra due algebre booleane A e B è una funzione f: A
Da queste proprietà segue anche f( [modifica] Anelli, ideali e filtri booleaniAd ogni algebra booleana (A, Viceversa, assegnato un anello booleano A, possiamo trasformarlo in un'algebra booleana definendo x Un anello ideale dell'algebra booleana A è un sottoinsieme I tale che per ogni x, y in I si ha x Il duale di un ideale è un filtro. Un filtro dell'algebra booleana A è un sottoinsieme F tale che per ogni x, y in F si ha x L'operazione di complementazione * applicata ai sottoinsiemi manda dunque gli ideali in filtri e viceversa: se B è un'algebra booleana e [modifica] Espressioni booleaneAll'interno di ciascuna algebra di Boole, dato un insieme di variabili e le operazioni correlate, è possibile definire delle espressioni, che vengono ad assumere un determinato valore ottenibile anche sotto forme diverse. Possono esistere cioè delle espressioni che, pur essendo differenti, si rivelino equivalenti. Certamente le espressioni booleane assumono una particolare importanza per quanto riguarda il calcolo proposizionale, in cui vengono come variabili delle proposizioni legate tramite congiunzioni, disgiunzioni, negazioni ed altre operazioni più complesse. Al di là del calcolo proposizionale, però, possono esistere moltissime altre espressioni, accomunate però sempre dalle proprietà e deagli assiomi booleani, nelle quali si sostituisce spesso l'operazione + (comunemente detta somma) con ∨ e * (comunemente detta prodotto) con ∧ e in cui la complementazione è indicata col simbolo ' . Per poter presentare in modo più efficiente una espressione booleana, la si riduce in somma di prodotti fondamentali o forma normale disgiuntiva. Un prodotto fondamentale è, per l'appunto, un prodotto in cui ciascuna variabile, o il suo complemento, appaia una sola volta e rigorosamente fuori da parentesi, complementazioni complesse, ecc. Ad esempio, date le variabili x, y, z all'interno di un'algebra di Boole, sono prodotti fondamentali
Mentre non sono prodotti fondamentali
È così possibile avere una somma di prodotti fondamentali, forma in cui ogni espressione può essere ridotta, ma che non è unica. Un esempio è: xy + xz + z'. Nel momento in cui ogni singola variabile, o il suo complemento, siano contenuti in tutti i prodotti fondamentali della forma normale disgiuntiva, si ha allora una somma di prodotti fondamentali completa o forma normale disgiuntiva completa. Tale scrittura è unica, pertanto se due espressioni sono equivalenti avranno la stessa forma normale disgiuntiva completa. Se si desidera invece che un'espressione sia scritta nel modo più corto possibile, allora la si esprime in somma di implicanti prime o minimali. Un' implicante prima (o minimale) rispetto a un'espressione è un prodotto fondamentale che, sommato per intero ad essa, non la altera, cioè restituisce un risultato equivalente a quella iniziale, tuttavia se si somma un prodotto strettamente contenuto nell'implicante, non si ottiene un'equivalenza. Per individuare tutte le implicanti prime, ci sono varie tecniche, tra cui il metodo del consenso. Esso si basa sull'applicazione ciclica delle proprietà di assorbimento, idempotenza, involuttività e di De Morgan, accompagnate ad ogni passo dall'opportuna addizione di un consenso. Dati due prodotti fondamentali, se solo e solo una variabile appare in uno di essi non negata e nell'altro negata, allora chiamiamo appunto consenso il risultato della moltiplicazione delle restanti variabili. Ad esempio:
La somma di implicanti prime è unica, pertanto due espressioni equivalenti avranno la stessa. Nel momento in cui, completando ogni singola implicante prima, ci si accorge che l'apporto all'espressione di una o più di esse sia inutile, in quanto contenuta/e nelle altre, la/e si può eliminare, ottenendo così la più essenziale delle scritture, la forma minimale. Essa, pur essendo comoda, ha l'inconveniente di non essere unica, e dunque di non consentire l'individuazione di equivalenze tra più espressioni. [modifica] Rappresentazione delle algebre booleaneSi può dimostrare che ogni reticolo booleano finito è isomorfo al reticolo booleano di tutti i sottoinsiemi di un insieme finito. Di conseguenza, il numero di elementi di ogni reticolo booleano finito ha un sostegno che contiene un numero di elementi uguale ad una potenza di 2. Marshall Stone ha enunciato il celebre teorema di rappresentazione per le algebre booleane dimostrando che ogni algebra booleana "A" è isomorfa a tutte le algebre booleane aperte-chiuse in un certo spazio topologico, detto compatto non connesso di Hausdorff [modifica] Voci correlate
[modifica] Collegamenti esterni |