Booleana algebro

**Booleana algebro** esas la fako di matematiko, logiko, e elektroniko qua studias l'operaci e functoni pri la logikala variadi.

La nomo devenas de George Boole, Britaniana matematikisto, qua dum la mezo dil 19ma yarcento ristrukturis komplete la logiko em la formala sistemo.

Nune, Booleana algebro uzesas multe en informo-teorio ed en la konceptajo di elektronikal cirkuiti. Ol uzesis unesmafoye por la cirkuiti di telefonala komutado da Claude Shannon.

Ol expresas « stando » en funciono di kondicioni:
Exemple :
: Verda = Blua e Flava KAD havas dil blua e dil flava.
: desakrochar = (envidio de respondar E sonifo) O envidio di apelar.

## Booleana algebro di verat-valori

On apelas *B* l'ensemblo konstitucata di du elementi nomizata **valori de verata** {VERA, FALSA}. Ica ensemblo esas anke notata 
**B* = {1 , 0} 
**B* = \{\top , \perp \}.
On privilejos dop la noteso *B* = {1 , 0}.

Sur ica ensemblo on povas definar du kompozo-legi (od operanta o funcionesi), la legi E ed O e transformanta apelata la komplemento, l'inversigo o la kontreajo.

### La lego E

Olu esas definata del sequa maniero : *a* E *b* esas VERA sed e sole sed *a* esas VERA e *b* esas VERA.
Ta lego esas anke notata
* \cdot \,
*\wedge.
* « & » o « && » en kelka lingui de programeso (Perl, C...)
* « ∧ » en kelka algebra notizi, od en APL
On privilijos dop la notizo \cdot \,

### La lego O

Olu esas definata del sequa maniero : *a* O *b* esas VERA sed e sole sed *a* esas VERA o *b* esas VERA (o amba esas VERA).
Ta lego esas anke notata
*+ \,
* « | » o « || » en kelka lingui de programeso
* « ∨ » en kelka algebra notizi, od en APL.
On privilejos dop la noteso + \, ma on prenos garda ke ta lego ne havas raporte kon l'adiciono ke on konocas.

 hi

### La kontreajo

La kontreajo di "a" esas VERA sed e sole sed *a* esas FALSA. La kontreajo di a esas notita
*ne-a
*\bar{a}
*\neg (a)
* « ! » en kelka lingui de programeso
* « ~ » en kelka algebra notizi, od en APL.
On privilejos dop la noteso \bar{a}.

On obtenas lore \bar{0}=1 e \bar{1}=0

### Proprieti

#### Asociativata

Kun la habitala operaci, certa parentesi esas neutila:
( a + b ) + c = a + (b + c) = a + b + c
( a . b ) . c = a . (b . c) = a . b . c

#### Comutativata

L'ordino esas sen importanta.
a + b = b + a 
a . b = b . a

#### dispozivata

Kun la habitala operaci, esas posibla di disdonar:
a . ( b + c ) = a . b + a . c
Atencez: admise diferanta per raporto ad operacanti + e * habitala:
a + ( b . c ) = ( a + b ) . ( a + c )

#### Samajibeto

a + a + a [...] = a
a . a . a [...] = a

#### komplementivata

a = \overline{\overline{a}} 
: (« La lumo esas acendata » = « la lumo ne esas neacendata »)
a + \overline{a} = 1
: (« VERA » SED lumo acendata O lumo neacendata → sempre la kazo → sempre VERA)
a . \overline{a} = 0
: (« VERA » SED lumo acendata E lumo neacendata → ne-posibla → sempre FALSA)

#### Strukturo

On retrovas lore multi la proprieti ke konferas ye *B* une strukturo.

#### Priora

Per faciligar lia kontenajo, olu esis decidata ke ta operacii esus submizanta a mem normi ke l'operacii « de multi la dii », la funciono E (logikala multipliko) esas tale priora per raporto ala funciono O (logikala sumo) ; on povas, per helpar su, pozar di parentesi en l'operacii

: Exemplo :
:  { a = 0 ; b = 1 ; c = 1 }
:  On serchas a . b + c = ???
: Unesme on kalkulas a . b:
:  a . b = 0 . 1
:  0 . 1 = 0
: Pose, on kalkulas 0 + c:
:  0 + c = c
:  c = 1
: Le fina rezulto esas do:
:  a . b + c = 1

#### Teorio de De Morgan

\overline{ a + b } = \overline{a} . \overline{b}
: En la du kazo, l'expreso esas VERA sed a esas falsa E b esas falsa.
\overline{ a . b } = \overline{a} + \overline{b}
: En la du kazo, l'expreso esas VERA sed a esas falsa O b esas falsa.

## logikala funcioni

En elektroniko, logikala funciono esas *nigra boxo* ke recevas en eniro certa nombro di logikala variado e ke retrodonas en ekiro logikala variado di enira variadi. L'artiklo logikala funciono precizas qual konstruktas la nigra boxi di kelka fundamentala funcioni.

Tabulo di verata permisas di precizar la stato di l'ekiro en funciono di eniri-stati.

On demonstras ke omna logikala funciono povas deskriptar su ye helpo di tre operaci di bazo.
*+\,
*\cdot\,
*\bar{}\,

### logikala Fundamentala funcioni

Ol esas ekirinta di tre operaci di bazo e definas lore
* funciono di *B* en *B* : komplemento o l'inversigo
* du funcioni di *B<sup>2</sup>* en *B* ke esas la sumo (od O) e la produkto (od E)

### Funcioni logikala kompozatala

Ta esas la logikala funcioni a du variadi. Inter to, on kontas certa sufice interesanta per ke on lia donas nomo.

#### Exkluziva O

L' O studiata tala prezento devas komprenar su del segun maniero: « l'un o l'altra o la du ». Ol esas egale apelata « exkluziva O ». L' exkluziva O (o XOR) komprenas su kom : « l'un o l'altra ma ne la du ».

Ol kompozesas su segun ca maniero :
:a\ XOR\ b = (a+b).\overline{(a.b)}

L' « exkluziva O » esas kelkafoye notata per aritmetikala signo *diferanta de*, a qua ol esas equivalanta. Funcionale, on uzas anke + cirklatra: a ⊕ b.

#### Equivalante

L'equivalante (notata EQV) esas VERA se la du eniri havas la sama valoro e FALSA se ne. Ol kompozesas quale sequas :
:a\ EQV\ b = \overline{(a+b)}+(a.b)
On povas anke dicas ke :
:a\ EQV\ b = \overline{a\ XOR\ b}

Ol advenas ke l'equivalante esas notata per la signo « = », quankam ta selekto ne esas rekomendata enskribata di altra posibla sensi ligata ye ta signo.

#### Impliko

L'impliko (notata IMP) skribesas sequante:
a\ IMP\ b = \overline{a}+b

#### Inhibo

L'inhibo (notata INH) kompozesas quale:
:a\ INH\ b = a.\overline{b}
Ta operacio ne esas komutativa.

### Exemplo di logikala funcioni a tre o quar variadi

#### logikala funcioni a tre variadi

Kad on riprenas l'exemplo di telefono, on trovas su koram 3 variadi:
* a = "telefono sonas"
* b = "on havas envidio de respondar"
* c = "on havas envidio d'apelar kelku"
variado d = "on desakrochas" esas logikala funciono di 3 ante-lasti.
On skribus ke

L'observo di tablo indikas ke nua unesma analizo admisis absurda situo : kal la tefono sonas e ke on ne havas envidio de respondar, on ne desakrochas *mem kal on havas envidio di apelar kelku*.

Ol oportas do modifikar la tabulo di verata tale :

#### logikala funcioni a quar variadi

Lernanto questionas su kal ol esas saja di ekirar vespero. Il devas decidar en funciono di quar propozi:
*a = il havas sat pekunio
*b = il havas finata sua devi
*c = la komuna transporto esas strikanta
*d = l'automobilo de sua patro esas disponebla

Lernanto povus ekirar kal:

*a = il havas sat pekunio, a = vera
*b = il havas finata sua devi, do b = vera
*c = la komuna transporto esas strikanta, do c = falsa
*d = l'automobilo de sua patro esas disponebla, do d = vera

Do la logikala expreso di ekirar en funciono del stato di variadi a, b, c e d ; ed ol povas skribas su tale : 
:ekirar =  a.b.({\bar c}+d)

### mikreganta di expreso

logikala funciono povas esar determinata 
* sive sub formo di expreso iganta eventar li 3 operi (+\, , \cdot\, , \bar{}\,)
* sive sub formo di sua tabulo di verata. En ta kazo ol esos sempre posiblar di skribar ta funciono kom sumo de produkti.

Exemplo: En l'exemplo di "desakrochar2", on remarkas ke la rezulto esas a 1 kande (a, b , c) = (0 , 0 , 1) o (0 , 1 , 1) o (1 , 1 , 0) o (1 , 1 , 1).
: To permisas di definar d2 per  d2 =\bar a.\bar b.c + \bar a.b.c + a.b.\bar c + a.b.c

Ol esas lore interesanta di trovar expreso mikreganta la nombro di termi e la nombro di leteri en omna termo.

To esas l'objektivo di ta tekniki kom la metodo de Quine-Mc Cluskey, Karnaugh-tabulo ....

Exemplo (dop): l'ante-lasta sumo povas esar reduktata en
: d2 =\bar a.c + a.b 
per faktoreso di du unesma termi per \bar a.c  e per faktoreso di du lasta termi per  a.b \,