Booleova logika

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

Booleova logika se zabývá logickými operacemi "+", "*" a "NOT()" na množině hodnot { 0, 1 }. Jejím rozšířením je pak Booleova algebra.

Obsah

[editovat] Definice logických funkcí

jeden argument
A ID NOT
0 0 1
1 1 0
dva argumenty
A B OR NOR AND NAND \Rightarrow \Leftrightarrow XOR
0 0 0 1 0 1 1 1 0
0 1 1 0 0 1 1 0 1
1 0 1 0 0 1 0 0 1
1 1 1 0 1 0 1 1 0

[editovat] Jednovstupové

[editovat] Identita

ID – vrací stejnou hodnotu, jako měl vstup. Platí:

  • A = ID(A)
  • ID( 0 ) = 0
  • ID( 1 ) = 1

[editovat] Negace

NOT – vrací opačnou hodnotu, než měl vstup. Platí:

[editovat] Dvouvstupové základní

[editovat] Disjunkce

OR – vrací součet hodnot vstupů. Platí:

[editovat] Konjunkce

AND – vrací součin hodnot vstupů. Platí:

[editovat] Základní pravidla

Párová pravidla platí i po vzájemné zámněně "+" za "*", zde jsou tyto operace vzájemně symetrické.

[editovat] Absorbce

  • A*(A+B) = A, protože (A+B) jen rozšiřuje už platný a užší fakt A, takže zbytečné.
  • A+(A*B) = A, protože (A*B) jen zužuje už platný a širší fakt A, takže zbytečné.

[editovat] Asociativita

  • (A+B)+C = A+(B+C)
  • (A*B)*C = A*(B*C)

[editovat] Distributivita

  • A*(B+C) = AB+AC
  • A+(B*C) = (A+B)*(A+C), protože A+AB+AC+BC = A+A*(B+C)+BC = (A+A*D)+E = A+E, (substituce, pak absorbce závorky)

[editovat] Neutrálnost 0 a 1

  • A+0 = A
  • A*1 = A

[editovat] Idempotence

  • A+A = A
  • A*A = A

[editovat] De Morganovy zákony

Logický součet a součin lze vyjádřit jeden pomocí druhého, při použití negace.

  • A + B = \overline{\overline{A} \cdot \overline{B}}
  • A \cdot B = \overline{\overline{A} + \overline{B}}

De Morganových zákony tedy definují negace logického součtu a součinu:

  • \overline{A + B}=\overline{A} \cdot \overline{B}
  • \overline{A \cdot B}=\overline{A} + \overline{B}

[editovat] Dvouvstupové odvozené

[editovat] NOR

NOR – negace součtu vstupů:

  • A NOR B = NOT (A+B)
  • A NOR B = NOT(A) * NOT(B)

[editovat] NAND

NAND – negace součinu vstupů:

  • A NAND B = NOT(A) + NOT(B)
  • A NAND B = NOT (A*B)

[editovat] Implikace

NOR – Buď při splněném předpokladu A vrací B, nebo z nesplněného předpokladu vyplývá cokoli a vrací 1:

  • A \Rightarrow B = NOT(A) + B = NOT( A*NOT(B) )

[editovat] Ekvivalence

EQ – porovnává shodnost hodnot všech vstupů:

  • A \Leftrightarrow B = A*B + NOT(A)*NOT(B) = (A+NOT(B)) * (NOT(A)+B)

[editovat] Exkluzivní disjunkce

XOR – porovnává unikátnost hodnoty každého vstupu:

  • A XOR B = A*NOT(B) + B*NOT(A)

[editovat] XOR versus NEQ

Obecně jsou XOR a nonekvivalence rozdílné funkce, ale pro dvě dvouhodnotové proměnné dále platí:

  • ( A XOR B ) = NOT( A \Leftrightarrow B )

nebo jinak,

  • XOR(A,B) = NOT(EQ(A,B))

[editovat] Související články