L' algebra booleana o calcolo booleano, è la parte della matematica che si occupa di un approccio algebrico la visione logica in termini di variabili , di operatori e funzioni su variabili logiche, che permette di utilizzare tecniche algebriche per trattare espressioni a due valori del calcolo di proposte . Fu iniziato nel 1854 dal matematico britannico George Boole . Oggi l'algebra booleana trova molte applicazioni nell'informatica e nella progettazione di circuiti elettronici .
È stato utilizzato per la prima volta per i circuiti di commutazione telefonica da Claude Shannon .
L'algebra booleana delle funzioni logiche permette di modellare il ragionamento logico , esprimendo uno “stato” in funzione delle condizioni. Ad esempio, se studiamo l'espressione Comunicazione e l'espressione Pick up;
Comunicazione = Trasmettitore E Ricevitore
La comunicazione sarebbe "VERA" se entrambe le variabili Mittente E Destinatario fossero attive (questa è una funzione logica che dipende dalle variabili Mittente e Destinatario )Rispondi = (Squillo E Decisione di rispondere) OPPURE Decisione di chiamare
Per prendere sarebbe “TRUE” o se si sente la suoneria contemporaneamente E si decide di rispondere , o ( OR ) se semplicemente decidere di chiamare .Essendo l'algebra booleana un dominio comune a tre discipline, incontriamo notazioni diverse per designare lo stesso oggetto. Nel resto dell'articolo indicheremo le varie notazioni, ma ne privilegiamo una per mantenere una certa omogeneità.
Chiamiamo B l' insieme formato da due elementi chiamati valori di verità {VERO, FALSO}. Questo set è anche notato
con per e per .
La notazione sarà favorita nel seguito .
Su questo insieme possiamo definire due leggi (o operazioni) binarie, le leggi AND e OR, e un'operazione unaria, la negazione (o il complemento).
Per tutti i seguenti esempi e proprietà,
Tabella della legge ET | ||
b \ a | 0 | 1 |
0 | 0 | 0 |
1 | 0 | 1 |
È definito come segue: a AND b è VERO se e solo se a è VERO e b è VERO.
Si segnala anche questa legge:
Nel seguito sarà privilegiata la notazione “ ”.
La tavola di questa legge (analoga a una tavola di addizione o moltiplicazione ) non è una tavola di verità .
Tabella della legge OR | ||
b \ a | 0 | 1 |
0 | 0 | 1 |
1 | 1 | 1 |
È definito come segue: a OR b è TRUE se e solo se a è TRUE ob è TRUE. (In particolare, se a è vero e anche b è vero, allora a OR b è vero.)
Si segnala anche questa legge:
Sarà data la preferenza nel seguente notazione ma si avrà cura del fatto che questa legge non è la solita aggiunta in Z / 2 Z . Ecco perché, in matematica e in logica matematica , la notazione non è usata per designare il "o inclusivo": è riservata al " o esclusivo ", operazione che (unita alla "e") rende qualsiasi algebra di booleano un anello booleano , in particolare una Z /2 Z - algebra .
La negazione di a è TRUE se e solo se a è FALSE.
Si nota la negazione di a:
La notazione sarà favorita nel seguito .
Quindi otteniamo e .
Gli operatori sono interessati da diverse proprietà comuni:
Inoltre, ogni operatore ha un elemento neutro e un elemento assorbente :
Sono possibili semplificazioni quali:
il teorema del consenso si applica agli operatori di algebra booleana:
Infine, seguono il principio di complementarietà:
Troviamo quindi tutte le proprietà che danno a B una struttura di algebra booleana .
PrioritàPer semplificare le scritture, è consuetudine che le operazioni booleane siano soggette alle stesse regole di priorità delle normali operazioni aritmetiche: la funzione AND (moltiplicazione logica) ha quindi priorità sulla funzione OR (somma logica). In tal modo :
È ancora possibile inserire parentesi nei calcoli per modificare l'ordine di priorità delle operazioni.
Il teorema di De Morgan
Prima legge di De Morgan (negazione della disgiunzione)
è espresso dalla seguente uguaglianza
In entrambi i casi, l'espressione sarà vero solo |
Seconda legge di De Morgan (negazione della congiunzione)
In entrambi i casi, l'espressione sarà solo FALSE |
Matematicamente, una funzione logica o un operatore logico è un'applicazione a B n in B .
In elettronica , una funzione logica è una scatola nera che riceve in ingresso un certo numero di variabili logiche e che emette una variabile logica in funzione delle variabili di ingresso. La funzione logica dell'articolo spiega come costruire le scatole nere di alcune funzioni fondamentali.
Una tabella di verità permette di specificare lo stato dell'uscita secondo gli stati degli ingressi. Caratterizza la funzione logica.
Qualsiasi tabella di verità, e quindi qualsiasi funzione logica, può essere descritta utilizzando le tre operazioni fondamentali:
Dimostriamo anche che esistono esattamente funzioni logiche dei parametri. Basta infatti considerare tutte le possibili tavole di verità, oppure considerare lo sviluppo di una funzione di parametri.
Derivano dalle tre operazioni fondamentali e poi definiscono
|
|
|
|
Queste sono le funzioni logiche a due variabili. Tra questi, ce ne sono alcuni sufficientemente interessanti da poter dare un nome.
Disgiunzione esclusiva ExclusiveTabella della verità XOR | ||
a | b | un b |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
L'OR finora studiato va inteso nel modo seguente: "uno o l'altro o entrambi". Viene anche chiamato "OR inclusivo". L'OR esclusivo (o XOR per 'e X clusive OR' ) è inteso come: "uno o l'altro, ma non entrambi".
a XOR bPossiamo anche definirlo con un modulo su una somma ordinaria:
L'"o esclusivo" è talvolta indicato dal segno aritmetico ( diverso da ). Funzionalmente, usa anche un + circondato: .
Proprietà - Qualsiasi tabella di verità, qualsiasi funzione logica, può essere descritta utilizzando la costante 1 e le due operazioni: disgiunzione esclusiva e congiunzione, perché:, e
EquivalenzaTabella della verità EQV | ||
a | b | un b |
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
L' equivalenza (denotata EQV o XNOR) è vera se i due ingressi hanno lo stesso valore e falsa altrimenti. È la negazione dell'"o esclusivo".
L' equivalenza si può scrivereL'equivalenza è spesso indicata dal segno . Si può anche notare “==” in alcuni linguaggi (C, C++, PHP…) e “⊙” in elettronica.
coinvolgimentoTabella della verità IMP | ||
a | b | un b |
0 | 0 | 1 |
0 | 1 | 1 |
1 | 0 | 0 |
1 | 1 | 1 |
Questa operazione non è commutativa . a è una condizione sufficiente per b, che è una condizione necessaria per a.
Ma
Disegno :
Dalla dichiarazione “SE vivo in Francia (metropolitana), ALLORA vivo in Europa. » , Possiamo dedurre « SE non vivo in Europa, ALLORA non vivo in Francia. » Ma non « SE non vivo in Francia, ALLORA non vivo in Europa. » Perché posso vivere in Europa altrove che in Francia, senza contraddire l'affermazione iniziale.
InibizioneINH tabella di verità | ||
a | b | |
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 1 |
1 | 1 | 0 |
Se a è VERO, l'espressione è VERA, TRANNE se b è VERO.
Questa operazione non è commutativa.
Tavolo della verità da sganciare | ||||||||||||||||||||||||||||||||||||||||||
a | b | vs | d | |||||||||||||||||||||||||||||||||||||||
0 | 0 | 0 | 0 | |||||||||||||||||||||||||||||||||||||||
0 | 0 | 1 | 1 | |||||||||||||||||||||||||||||||||||||||
0 | 1 | 0 | 0 | |||||||||||||||||||||||||||||||||||||||
0 | 1 | 1 | 1 | |||||||||||||||||||||||||||||||||||||||
1 | 0 | 0 | 0 | |||||||||||||||||||||||||||||||||||||||
1 | 0 | 1 | 1 | |||||||||||||||||||||||||||||||||||||||
1 | 1 | 0 | 1 | |||||||||||||||||||||||||||||||||||||||
1 | 1 | 1 | 1 |
Legalità Rispondi = (Squillo E Decisione di rispondere) OPPURE Decisione di chiamare traduce la seguente situazione pratica: Alziamo un telefono quando decidiamo di chiamare qualcuno o quando il telefono squilla e decidiamo di rispondere .
È composto da tre variabili:
la variabile d = "Pick up" è una funzione logica delle 3 precedenti e si può scrivere d = ab + c
La tabella di verità di questa funzione d è quindi la seguente (a destra):
Tavola della verità di stallo2 | ||||||||||||||||||||||||||||||||||||||||||
a | b | vs | d2 | |||||||||||||||||||||||||||||||||||||||
0 | 0 | 0 | 0 | |||||||||||||||||||||||||||||||||||||||
0 | 0 | 1 | 1 | |||||||||||||||||||||||||||||||||||||||
0 | 1 | 0 | 0 | |||||||||||||||||||||||||||||||||||||||
0 | 1 | 1 | 1 | |||||||||||||||||||||||||||||||||||||||
1 | 0 | 0 | 0 | |||||||||||||||||||||||||||||||||||||||
1 | 0 | 1 | 0 | |||||||||||||||||||||||||||||||||||||||
1 | 1 | 0 | 1 | |||||||||||||||||||||||||||||||||||||||
1 | 1 | 1 | 1 |
La tabella indica una situazione assurda: quando decidi di chiamare qualcuno e il telefono squilla senza che tu voglia rispondere, risponderesti comunque. Una modifica della tabella al contrario correggerebbe questa assurdità. Questa tabella corrisponde ad una funzione logica Pick up d2 o d2 che può essere determinata e semplificata da .
Funzione logica a quattro variabiliUn bravo studente si chiede se sia saggio uscire una sera. Deve decidere in base a quattro variabili:
Questo studente potrà partire se:
L'espressione logica per uscire in base allo stato delle variabili a, b, c e d può essere quindi scritta come segue:Esci =
È possibile determinare una funzione logica
Esempio: nell'esempio di "Pick up2", la lettura della tabella mostra che è uguale a quando o o o .Questo rende possibile definire d2 da
È possibile trovare un'espressione che minimizzi il numero di termini e il numero di lettere in ciascun termine. Questo è l'obiettivo di alcune tecniche come il metodo Quine-McCluskey , i diagrammi di Karnaugh , il metodo del consenso , la doppia polarizzazione...
Esempio (continua): la somma precedente può essere ridotta fattorizzando i primi due termini per e fattorizzando gli ultimi due termini per
Le espressioni logiche sono spesso rappresentate in informatica come una struttura ad albero .
Vari sottoalberi (o rami) sono attaccati ad un primo vertice (radice). I vertici senza uscita sono chiamati foglie.
Ogni vertice interno corrisponde a un selettore booleano “se allora altrimenti ”, che riduce una domanda a due sotto-domande più semplici, eventualmente ridotte a 1/vero o 0/falso.
La valutazione di una funzione f dipendente da una variabile q scelta per la prima domanda è quindi , che porta a due espressioni indipendenti di .
O ; possiamo scrivere
Gli alberi dipendono dall'espressione e dall'ordine delle domande, per la stessa espressione alcuni questionari saranno più semplici di altri.