V dnešním světě se Booleova logika stal tématem velkého významu a zájmu pro různé sektory společnosti. Jeho důsledky přesahují hranice a pokrývají osobní i profesní aspekty. Od svého vzniku Booleova logika vyvolal nekonečné debaty a diskuse, které podpořily jeho důležitost a relevanci ve veřejné sféře. V tomto článku prozkoumáme různé aspekty související s Booleova logika a analyzujeme jeho dnešní dopad a rozsah. Ponoříme se do jeho původu, vývoje a budoucích perspektiv a budeme se snažit osvětlit toto téma, které upoutalo pozornost tolika lidí po celém světě.
Booleova logika se zabývá logickými operacemi konjunkce (značená též "*", AND, "&" nebo ), disjunkce (značena též "+", OR, "|", "." nebo ) a negace (značena též pruhem nad částí výrazu, NOT) na množině hodnot { 0, 1 }. Jejím rozšířením je pak Booleova algebra.
A | ID | NOT | |
---|---|---|---|
0 | 0 | 1 | |
1 | 1 | 0 |
ID – vrací stejnou hodnotu, jako měl vstup. Platí:
NOT – vrací opačnou hodnotu, než měl vstup. Platí:
A | B | OR | NOR | AND | NAND | 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 |
OR – vrací součet hodnot vstupů. Platí:
AND – vrací součin hodnot vstupů. Platí:
Párová pravidla platí i po vzájemné záměně "+" za "*", zde jsou tyto operace vzájemně symetrické.
Ve výrazu (A+B) jeho část +B už nemůže rozšířit limitující A, proto je zbytečné.
Dodatečné (A*B) nemůže zúžit šíři faktu A, proto je zbytečné.
Obě tato pravidla se dají na sebe vzájemně převést:
A*(A+B) = A*A + A*B = A + (A*B).
Z věty "Přijde Karel (A), nebo přijde se ženou(B)." vyplývá, že můžeme bez obav ohlásit: "Karel přijde!(A)".
Odvození je poměrně snadné: ~A*(A+B) = ~A*A + ~A*B = ~A*B. Výraz B v závorce je rozšiřován o A, ale množina daná výrokem ~A*A je prázdná.
"Zítra přijde Karel nebo Monika. (A+B)" "Ne ne, pozor, Karel nepřijde. (~A)" "Aha, tak to přijde jen Monika. (~A*B)"
Odvození je zajímavé, protože Booleova algebra jinak roznásobovává závorky než běžná aritmetika:
A+(~A*B)=(A+~A)*(A+B)=(A+B)
Vedoucí přemýšlí: "Kdo zítra maže turbínu?" Na stole mu podřízení nechali dva lístečky: "Přijde Karel. (A)" a na druhém je napsáno: "Nepřijde Karel, přijde Jana. (~A*B)". Vedoucí teď neví, který lísteček je časově poslední, který platí, jestli tedy přijde nebo nepřijde Karel, pak si řekne: "To je jedno. Prostě jeden z nich přijde (A+B)."
Logický součet a součin lze vyjádřit jeden pomocí druhého, při použití negace.
De Morganovy zákony tedy definují negace logického součtu a součinu:
NOR – negace součtu vstupů:
NAND – negace součinu vstupů:
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:
EQ – porovnává shodnost hodnot všech vstupů:
XOR – porovnává unikátnost hodnoty každého vstupu:
Obecně jsou XOR a nonekvivalence rozdílné funkce, ale pro dvě dvouhodnotové proměnné dále platí:
nebo jinak,