Cu toții ne plac computerele. Pot face atât de multe lucruri uimitoare. În câteva decenii, computerele au revoluționat complet aproape toate aspectele vieții umane.

Ei pot îndeplini sarcini de diferite grade de sofisticare, toate prin simpla răsucire a zerourilor și a unuia. Este remarcabil să vedem cum o acțiune atât de simplă poate duce la atâta complexitate.

Dar sunt sigur că știți cu toții că o astfel de complexitate nu poate fi atinsă (practic) doar prin răsturnarea numerelor. Există într-adevăr un raționament în spatele acestuia. Există reguli care guvernează modul în care ar trebui să se facă acest lucru. În acest articol vom discuta aceste reguli și vom vedea cum guvernează modul în care „gândesc” computerele.

Ce este Algebra Booleană?

Regulile pe care le-am menționat mai sus sunt descrise de un domeniu al matematicii numit Algebra Booleană.

În cartea sa din 1854, matematicianul britanic George Boole a propus un set sistematic de reguli pentru manipularea valorilor adevărului. Aceste reguli au dat o bază matematică pentru tratarea propozițiilor logice. Aceste seturi de fundații au condus la dezvoltarea Algebrei Booleene.

Pentru a înțelege cel mai bine Algebra Booleană, trebuie mai întâi să înțelegem asemănările și diferențele dintre Algebra Booleană și alte forme de Algebră.

Algebra, în general, se ocupă cu studiul simbolurilor matematice și cu operațiile care pot fi efectuate pe aceste simboluri.

Aceste simboluri nu au un sens propriu. Ele reprezintă o altă cantitate. Această cantitate conferă o anumită valoare acestor simboluri și este această cantitate pe care se efectuează efectiv operațiile.

Algebra booleană se ocupă și de simboluri și regulile care guvernează operațiunile pe aceste simboluri, dar diferența constă în ce reprezintă aceste simboluri.

În cazul algebrei obișnuite, simbolurile reprezintă numerele reale, în timp ce în algebra booleană ele reprezintă valorile adevărului.

Imaginea de mai jos prezintă întregul set de numere reale. Setul de numere reale include numere naturale (1, 2, 3, 4 ….), numere întregi (toate numerele naturale și 0), numere întregi (…..- 2, -1, 0, 1, 2, 3 …) și așa mai departe. Algebra obișnuită se ocupă de acest întreg set de numere.

În comparație, valorile Adevărului constau dintr-un set de doar două valori: Fals și Adevărat. Aici, aș dori să subliniez faptul că putem folosi orice alt simbol pentru a reprezenta aceste valori.

De exemplu, în informatică, reprezentăm mai ales aceste valori folosind 0 și 1. 0 este folosit pentru False și 1 pentru True.

De asemenea, o puteți face în moduri mai fanteziste reprezentând valorile adevărului cu alte simboluri, cum ar fi Pisici și câini sau Banane și portocale.

Ideea aici este că semnificația internă a acestor simboluri va rămâne aceeași, indiferent de simbolul pe care îl utilizați. Dar asigurați-vă că nu schimbați simbolurile în timp ce efectuați operațiile.

Acum întrebarea este că dacă (Adevărat și Fals), (0 și 1) sunt doar reprezentări, atunci ce încearcă să reprezinte?

Sensul care stă la baza valorilor adevărului provine din câmpul Logicii, unde valorile adevărului sunt folosite pentru a spune dacă o propoziție este „Adevărată” sau „Falsă”. Aici valorile adevărului reprezintă relația unei propoziții cu adevărul, adică dacă propoziția este adevărată sau falsă.

O propunere este doar o afirmație de genul „Toate pisicile sunt drăguțe”.

Dacă propoziția de mai sus este adevărată, atunci îi atribuim valoarea adevărată a „Adevărat” sau „1”, altfel îi atribuim „Fals” sau „0”.

În electronica digitală, valorile adevărului sunt folosite pentru a reprezenta stările „Activat” și „Dezactivat” ale circuitelor electronice. Vom discuta mai multe despre asta mai târziu în acest articol.

Operații booleene și tabele de adevăr

La fel ca Algebra obișnuită, Algebra Booleană are și operații care pot fi aplicate pe valori pentru a obține unele rezultate. Deși aceste operații nu sunt similare cu cele din algebra obișnuită, deoarece, așa cum am discutat mai devreme, algebra booleană funcționează mai degrabă pe valorile adevărului decât pe numerele reale.

Algebra booleană are trei operații de bază.

SAU: De asemenea cunoscut ca si Disjuncție. Această operație se efectuează pe două variabile booleene. Ieșirea operației SAU va fi 0 atunci când ambii operanzi sunt 0, altfel va fi 1.

Pentru a obține o imagine mai clară a ceea ce face această operațiune o putem vizualiza cu ajutorul unui Tabelul Adevărului de mai jos.

Truth tables give us an insightful representation of what the Boolean operations do and they also act as a handy tool for performing Boolean operations.

		OR Operation

Variable-1	Variable-2	Output
  0		0		0
  0		1		1
  1		0		1
  1		1		1

ȘI: De asemenea cunoscut ca si Conjuncție. Această operație se efectuează pe două variabile booleene. Ieșirea operațiilor AND va fi 1 atunci când ambii operanzi sunt 1, altfel va fi 0. Reprezentarea tabelului de adevăr este după cum urmează.

		AND Operation

Variable-1	Variable-2	Output
  0		0		0
  0		1		0
  1		0		0
  1		1		1

NU: De asemenea cunoscut ca si Negare. Această operație se efectuează numai pe o singură variabilă. Dacă valoarea variabilei este 1, atunci această operațiune o convertește pur și simplu în 0 și dacă valoarea variabilei este 0, atunci o convertește în 1.

	Not Operation

Variable-1	Output
  0		1	
  1		0			

Algebra booleană și circuite digitale

După dezvoltarea sa inițială, Algebra booleană, pentru o perioadă foarte lungă de timp, a rămas unul dintre acele concepte din matematică care nu au avut aplicații practice semnificative.

În anii 1930, Claude Shannon, un matematician american, a realizat că Algebra Booleană ar putea fi utilizată în circuite în care variabilele binare ar putea reprezenta semnalele de tensiune „joasă” și „înaltă” sau stările „pornit” și „oprit”.

Această idee simplă de a realiza circuite cu ajutorul algebrei booleene a dus la dezvoltarea electronicii digitale care a contribuit puternic la dezvoltarea circuitelor pentru computere.

Circuitele digitale implementează algebra booleană cu ajutorul Logic Gates. Porțile logice sunt circuitele care reprezintă o operație booleană. De exemplu, o poartă OR va reprezenta o operație OR. Același lucru este valabil și pentru porțile NOT și AND.

Alături de porțile logice de bază avem și porți logice care pot fi create folosind combinația porților logice de bază.

NAND: Poarta NAND este formată dintr-o combinație a porților NOT și AND. Poarta NAND oferă o ieșire de 0 dacă ambele intrări sunt 1, altfel 1.

Poarta NAND deține proprietatea Functional Completeness, ceea ce înseamnă că orice funcție booleană poate fi implementată doar folosind o combinație de porți NAND.

		NAND Gate

Variable-1	Variable-2	Output
  0		0		1
  0		1		1
  1		0		1
  1		1		0

NICI: Poarta NOR este formată dintr-o combinație de porți NOT și SAU. Poarta NOR dă o ieșire de 1 dacă ambele intrări sunt 0, altfel 0.

Poarta NOR, la fel ca poarta NAND, deține proprietatea Functional Completeness, ceea ce înseamnă că orice funcție booleană poate fi implementată doar folosind o combinație de porți NOR.

		NOR Gate

Variable-1	Variable-2	Output
  0		0		1
  0		1		0
  1		0		0
  1		1		0

Majoritatea circuitelor digitale sunt construite folosind porți NAND sau NOR datorită proprietății lor complete de funcționalitate și, de asemenea, pentru că sunt ușor de fabricat.

În afară de porțile menționate mai sus, avem și un fel special de porți care servesc unor scopuri specifice. Acestea sunt după cum urmează:

XOR: Poarta XOR sau poarta Exclusive-OR este un tip special de poartă logică care dă 0 ca ieșire dacă ambele intrări sunt fie 0, fie 1, altfel dă 1.

		XOR Gate

Variable-1	Variable-2	Output
  0		0		0
  0		1		1
  1		0		1
  1		1		0

XNOR: Poarta XNOR sau poarta Exclusive-NOR este un tip special de poartă logică care dă 1 ca ieșire atunci când ambele intrări sunt fie 0, fie 1, altfel dă 0.

		XNOR Gate

Variable-1	Variable-2	Output
  0		0		1
  0		1		0
  1		0		0
  1		1		1

Concluzie

Deci, cu tot ce putem încheia acum discuția noastră despre algebra booleană aici. Sper că până acum aveți o imagine decentă despre ce este vorba despre algebra booleană.

Acest lucru nu este cu siguranță tot ce trebuie să știți despre algebra booleană. Algebra booleană are o mulțime de concepte și detalii despre care nu am putut discuta în acest articol.