+ All Categories
Home > Documents > Booleovská algebra. - Univerzita Karlovabayertom/images/courses/Prog1/... · 2016. 11. 4. ·...

Booleovská algebra. - Univerzita Karlovabayertom/images/courses/Prog1/... · 2016. 11. 4. ·...

Date post: 12-Feb-2021
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
30
Booleovská algebra. Booleovské binární a unární funkce. Základní zákony. Tomáš Bayer | [email protected] Katedra aplikované geoinformatiky a kartografie, Pˇ rírodov ˇ edecká fakulta UK. Tomáš Bayer | [email protected] (Katedra aplikované geoinformatiky a kartografie, Pˇ Booleovská algebra. 1 / 30
Transcript
  • Booleovská algebra.Booleovské binární a unární funkce. Základní zákony.

    Tomáš Bayer | [email protected]

    Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK.

    Tomáš Bayer | [email protected] (Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK.)Booleovská algebra. 1 / 30

  • Obsah přednášky

    1 Booleovská funkce

    2 Přehled unárních booleovských funkcí

    3 Přehled binárních booleovských funkcí

    4 Booleovská algebra

    5 Tautologie a kontradikce

    6 Převod pravdivostní tabulky na formuli

    Tomáš Bayer | [email protected] (Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK.)Booleovská algebra. 2 / 30

  • Booleovská funkce

    1. Úvod

    Spojité veličiny:Proměnné veličiny, které nabývají “nekonečného” množství hodnot.Lze je popsat spojitými proměnnými a vyjádřit reálnými datovými typy.

    Diskrétní veličiny:Proměnné veličiny, které nabývají konečného množství hodnot.Lze je popsat diskrétními proměnnými a vyjádřit celočíselnýmidatovými typy.

    Booleovská algebra:Proměnné veličiny nabývají hodnot 0,1.Hodnotu 0 lze interpretovat jako nepravda, hodnotu 1 jako pravda.Obě hodnoty lze simulovat fyzikálně: prochází proud, neprocházíproud.V informatice hraje velmi výraznou roli při konstrukci relací.

    Tomáš Bayer | [email protected] (Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK.)Booleovská algebra. 3 / 30

  • Booleovská funkce

    2. Booleovská funkce

    DefinitionBooleovskou funkci f s argumenty x1, ..., xn označujeme takovou funkciy = f (x1, ..., xn), která libovolné kombinaci argumentů přiřadí funkční hodnotu

    f (x1, ..., xn)→ {0,1}

    Počet argumentů n obecně libovolný, většinou bývá konečný, n ∈ Z+:n = 1: unární booleovská funkce.n = 2: binární booleovská funkce.

    Definiční obor booleovské funkce: xi = {0,1}, k = ‖Df‖ = 2n.Počet booleovských funkcí m = 2k .

    Vektor kombinací βVektor β tvořený konečnou uspořádanou posloupností nul a jedničekvyjádřený ve tvaru (β1, β2, ..., βn), kde

    βi = f (x1, ..., xn) =

    {01

    Tomáš Bayer | [email protected] (Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK.)Booleovská algebra. 4 / 30

  • Booleovská funkce

    3. Pravdivostní tabulka

    Udává závislost funkčních hodnot f (x1, ..., xn) na hodnotáchargumentu (x1, ..., xn).

    x1 x2 ... xn f (x1, ..., xn)0, 1 0, 1 ... 0, 1 0, 10, 1 0, 1 ... 0, 1 0, 10, 1 0, 1 ... 0, 1 0, 10, 1 0, 1 ... 0, 1 0, 10, 1 0, 1 ... 0, 1 0, 1... ... ... ... ...

    Počet řádků pravdivostní tabulky dán definičním oborem booleovskéfunkce:

    unární booleovská funkce = dva řádky x dva sloupce,binární booleovská funkce = čtyři řádky x tři sloupce.

    Tomáš Bayer | [email protected] (Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK.)Booleovská algebra. 5 / 30

  • Přehled unárních booleovských funkcí

    4. Unární booleovská funkce

    Unární booleovská funkce pracuje pouze s jednou proměnnou:f (x)→ {0,1}.

    Definiční obor unární funkce dán 21 hodnotami.Existuje 22

    1unárních booleovských funkcí.

    Přehled unárních booleovských funkcí:

    Falsum.Negace.Aserce.Verum.

    Tomáš Bayer | [email protected] (Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK.)Booleovská algebra. 6 / 30

  • Přehled unárních booleovských funkcí

    5. Falsum

    Funkci y = f1(x) nazýváme falsum, jestliže platí

    f1(0,1)→ {0}.

    Tato funkce libovolné hodnotě x přiřazuje hodnotu nepravda.

    Pravdivostní tabulka funkce f1(x):

    x f1(x)

    0 01 0

    Tomáš Bayer | [email protected] (Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK.)Booleovská algebra. 7 / 30

  • Přehled unárních booleovských funkcí

    6. Negace

    Funkci y = f2(x) nazýváme negací, jestliže platí

    f2(0,1) =

    {1 pro x = 00 pro x = 1

    .

    Negace je nejznámější a nejčastěji používanou unární funkcí.Přiřazuje hodnotě f (x) opačnou hodnotu proměnné x .Označení negace: x .

    Pravdivostní tabulka negace:

    x f1(x)

    0 11 0

    V programovacích jazycích odvozených od jazyka C bývá negaceoznačována symbolem !.

    Tomáš Bayer | [email protected] (Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK.)Booleovská algebra. 8 / 30

  • Přehled unárních booleovských funkcí

    7. Aserce

    Funkci y = f3(x) nazýváme asercí, jestliže platí

    f2(0,1) =

    {1 pro x = 10 pro x = 0

    .

    Aserce přiřazuje hodnotě f (x) hodnotu proměnné x .

    Pravdivostní tabulka aserce:

    x f1(x)

    0 01 1

    Tato funkce se v praxi příliš nepoužívá.

    Tomáš Bayer | [email protected] (Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK.)Booleovská algebra. 9 / 30

  • Přehled unárních booleovských funkcí

    8. Verum

    Funkci y = f4(x) nazýváme verum, jestliže platí

    f4(0,1)→ {1}

    Tato funkce libovolné hodnotě x přiřazuje hodnotu pravda.

    Pravdivostní tabulka verum:

    x f1(x)

    0 11 1

    Tato funkce se v praxi příliš nepoužívá.

    Tomáš Bayer | [email protected] (Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK.)Booleovská algebra. 10 / 30

  • Přehled binárních booleovských funkcí

    9. Binární booleovská funkce

    Binární booleovské funkce pracují s dvojicí argumentů x1, x2, platíf (x1, x2)→ {0,1}.

    Definiční obor binární funkce dán 22 hodnotami.Existuje 22

    12= 16 binárních booleovských funkcí.

    Nejčastěji používané booleovské binární funkce:KonjunkceDisjunkceNegace konjunkceNegace disjunkceEkvivalenceNonekvivalenceImplikace.

    Definiční obor každé binární booleovské funkce je tvořen 22

    hodnotami.Tomáš Bayer | [email protected] (Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK.)Booleovská algebra. 11 / 30

  • Přehled binárních booleovských funkcí

    10. Konjunkce

    Konjunkcí neboli “logickým součinem” nazýváme takovou funkci fpopsanou následující pravdivostní tabulkou:

    x1 x2 f (x1, x2)0 0 00 1 01 0 01 1 1

    Funkční hodnota je rovna jedné pouze v případě, kdy jsou oba vstupníargumenty x1, x2 rovny jedné.Logický součin označujeme znakem ∧, zápis a ∧ b čteme jako “a i b”.Pro vyjádření konjunkce používáme logickou spojku AND.

    V programovacích jazycích odvozených od jazyka C bývá konjunkceoznačována symbolem &&.

    Tomáš Bayer | [email protected] (Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK.)Booleovská algebra. 12 / 30

  • Přehled binárních booleovských funkcí

    11. Disjunkce

    Disjunkcí neboli “logickým součtem” nazýváme takovou funkci fpopsanou následující pravdivostní tabulkou:

    x1 x2 f (x1, x2)0 0 00 1 11 0 11 1 1

    Poslední řádkou tabulky se disjunkce liší od “obyčejného” součtu.

    Funkční hodnota je rovna nule pouze v případě, kdy jsou oba vstupníargumenty x1, x2 rovny nule.Logický součet označujeme znakem ∨, zápis a ∨ b čteme jako “a nebob”.Pro vyjádření disjunkce používáme logickou spojku OR.

    V programovacích jazycích odvozených od jazyka C bývá disjunkceoznačována symbolem ||.

    1 2 a f

    1 10 1010 1111

    1 0010 1010 1111

    Tomáš Bayer | [email protected] (Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK.)Booleovská algebra. 13 / 30

  • Přehled binárních booleovských funkcí

    12. Negace konjunkce

    Negaci logického součinu nazýváme takovou funkci f popsanounásledující pravdivostní tabulkou.

    x1 x2 f (x1, x2)0 0 10 1 11 0 11 1 0

    Funkční hodnota nabývá jedné v případě, kdy oba argumenty x1, x2nejsou rovny jedné.Tuto funkci nazýváme Shefferovou funkcí .

    Pro její vyjádření používáme logickou spojku NAND.

    Tomáš Bayer | [email protected] (Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK.)Booleovská algebra. 14 / 30

  • Přehled binárních booleovských funkcí

    13. Negace disjunkce

    Negaci logického součtu nazýváme takovou funkci f popsanounásledující pravdivostní tabulkou.

    x1 x2 f (x1, x2)0 0 10 1 01 0 01 1 0

    Funkční hodnota nabývá jedné v případě, kdy oba argumenty x1, x2nejsou jsou rovny nule.Tuto funkci nazýváme Pierceovou funkcí .

    Pro její vyjádření používáme logickou spojku NOR.

    Tomáš Bayer | [email protected] (Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK.)Booleovská algebra. 15 / 30

  • Přehled binárních booleovských funkcí

    14. Nonekvivalence

    Nonekvivalencí nazýváme takovou funkci f popsanou následujícípravdivostní tabulkou.

    x1 x2 f (x1, x2)0 0 00 1 11 0 11 1 0

    Funkce je analogií sčítání, označujeme ji znakem ⊕.Její hodnota je pravdivá pokud se oba argumenty x1, x2 liší.

    Pro její vyjádření používáme XOR=”eXlucive OR”.

    Tomáš Bayer | [email protected] (Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK.)Booleovská algebra. 16 / 30

  • Přehled binárních booleovských funkcí

    15. Implikace

    Implikací nazýváme takovou funkci f popsanou následujícípravdivostní tabulkou.

    x1 x2 f (x1, x2)0 0 10 1 11 0 01 1 1

    U implikace je důležité pořadí argumentů x1, x2, x1 je p°edpoklad a x2je tvrzení.

    Implikaci lze interpretovat jako “Jestliže platí x1, pak platí x2”.Funkční hodnota nabývá hodnoty nepravda, pokud je první výrokpravdivý a druhá nepravdivý.

    Pro vyjádření implikace používáme⇒.Tomáš Bayer | [email protected] (Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK.)Booleovská algebra. 17 / 30

  • Přehled binárních booleovských funkcí

    16. Vztahy mezi booleovskými funkcemi

    Každou booleovskou funkci lze vyjádřit kombinací ostatníchbooleovských funkcí stejné třídy.

    Funkce lze vzájemně upravovat a zjednodušovat.

    Úpravy musí být ekvivalentní, nesmí se při nich změnit pravdivostníhodnota výrazu.

    PříkladSchefferova funkce: f (x1, x2) = x1 ∧ x2 = x1 ∨ x2.Pierceova funkce: f (x1, x2) = x1 ∨ x2 = x1 ∧ x2.

    Tomáš Bayer | [email protected] (Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK.)Booleovská algebra. 18 / 30

  • Booleovská algebra

    17. Booleovská algebra

    Je tvořena booleovskými funkcemi s konečným počtem argumentů sdefinovanými algebraickými pravidly.V praxi pracuje pouze se 3 základními booleovskými unárními abinárními funkcemi: negací, konjunkcí, disjunkcí.

    Booleovská formule:Konečný logický výraz obsahují kombinace elementárníchbooleovských funkcí, jehož pravdivost lze vyhodnotit (viz dále).

    Minimalizace formule:Zápis logického výrazu s co nejmenším počtem logických funkcí aargumentů.Cílem zjednodušení a zpřehlednění formule.Praktické využití⇒šetření strojovým časem při vyhodnocování výrazu.

    Tomáš Bayer | [email protected] (Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK.)Booleovská algebra. 19 / 30

  • Booleovská algebra

    18. Booleovská formule a jejich identita

    Booleovskou formulí označujeme logický výraz V tvořený konečnýmpočtem m booleovských funkcí f a n booleovských proměnných x

    V = (f (1)(x1), f (1)(x2), ..., f (1)(xn), ..., ..., f (m)(x1), f (m)(x2), ..., f (m)(xn)).

    Identita formulí:Ověřuje existenci ekvivalence mezi dvěma booleovskými formulemi.Využíváme zákony booleovské algebry (unární zákony,binární zákony)+ provádíme její minimalizaci.

    Tomáš Bayer | [email protected] (Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK.)Booleovská algebra. 20 / 30

  • Booleovská algebra

    19. Priorita booleovských operací

    Udává, v jakém pořadí jsou jednotlivé booleovské operace prováděny=> analogie s běžnými aritmetickými operacemi.Vyhodnocování výrazu z leva do prava.

    Pravidlo priority operací:Pravidlo priority operací platí následujícím způsobem:

    1 Negace.2 Konjunkce.3 Disjunkce.

    Změna priorit operací:Pořadí vyhodnocování booleovských operací lze změnitprostřednictvím závorek.

    Příklad: platí následující ekvivalence?:V1(x , y , z) : x ∧ (y ∨ z ∧ x) = (x ∧ y) ∨ z ∧ x . Neplatí.V2(x , y , z) : (x ∧ y) ∨ z ∧ x) = x ∧ y ∨ z ∧ x . Platí.

    Tomáš Bayer | [email protected] (Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK.)Booleovská algebra. 21 / 30

  • Booleovská algebra

    20. Booleovské unární zákonyZákon dvojí negace:

    x = x (1)Zákon vyloučení třetí možnosti:

    x ∨ x = 1 (2)Zákon sporu:

    x ∧ x = 0 (3)Zákony opakování (idempotence):

    x ∨ x = x (4)x ∧ x = x (5)

    Zákony neutrálnosti:

    x ∨ 0 = x (6)x ∧ 1 = x (7)

    Zákony agresivnosti:

    x ∨ 1 = 1 (8)x ∧ 0 = 0 (9)

    Tomáš Bayer | [email protected] (Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK.)Booleovská algebra. 22 / 30

  • Booleovská algebra

    21. Booleovské binární zákony (1/2)

    Komutativní zákony:

    x1 ∨ x2 = x2 ∨ x1 (10)x1 ∧ x2 = x2 ∧ x1 (11)

    Asociativní zákony:

    x1 ∨ (x2 ∨ x3) = (x1 ∨ x2) ∨ x3 (12)x1 ∧ (x2 ∧ x3) = (x1 ∧ x2) ∧ x3 (13)

    Distributivní zákony:

    x1 ∧ (x2 ∨ x3) = (x1 ∧ x2) ∨ (x1 ∧ x3) (14)x1 ∨ (x2 ∧ x3 = (x1 ∨ x2) ∧ (x1 ∨ x3) (15)

    Tomáš Bayer | [email protected] (Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK.)Booleovská algebra. 23 / 30

  • Booleovská algebra

    22. Booleovské binární zákony (2/2)

    De Morganovy zákony:

    (x1 ∨ x2) = x1 ∧ x2 (16)(x1 ∧ x2) = x1 ∨ x2 (17)

    Adsorpční zákony:

    x1 ∨ (x1 ∧ x2) = x1 (18)x1 ∧ (x1 ∨ x2) = x1 (19)

    Zákony adsorpce negace:

    x1 ∨ (x1 ∧ x2) = x1 ∨ x2 (20)x1 ∧ (x1 ∨ x2) = x1 ∧ x2 (21)

    Tomáš Bayer | [email protected] (Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK.)Booleovská algebra. 24 / 30

  • Booleovská algebra

    23. Příklad použití booleovských zákonů

    Zjednodušte s využitím booleovských unárních a binárních zákonůnásledující formuli:

    V (x1, x2) = (((x1 ∧ x2) ∨ (x1 ∧ x2))∨x1

    V = ((x1 ∧ x2)∧(x1 ∧ x2))∨x1 ‖ (18) = ((x1 ∧ x2) ∧ (x1 ∧ x2)) ∨ x1 ‖ (2.)= 0 ∨ x1 ‖ (4) = x1.

    Tomáš Bayer | [email protected] (Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK.)Booleovská algebra. 25 / 30

  • Tautologie a kontradikce

    24. Tautologie

    Představuje booleovskou formuli, která je vždy pravdivá.

    Pro libovolnou kombinaci argumentů nabývá hodnoty pravda.Většina booleovských unárních a binárních zákonů představujítautologie.

    Tautologie se ve formalizovaných jazycích používají při posuzováníidentity vztahů, důkazech, atd. Nejjednodušší tautologii představujezákon dvojí negace x = x .

    Při navrhování podmínek sloužících k ukončení cyklu či rekurze jenutno dát pozor, aby formule nebyla tautologií, a nevznikl nekonečnýcyklus či nekonečná rekurze.

    Tomáš Bayer | [email protected] (Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK.)Booleovská algebra. 26 / 30

  • Tautologie a kontradikce

    25. Kontradikce

    Kontradikce představuje booleovskou formuli, která je vždynepravdivá.

    Pro libovolnou kombinaci argumentů nabývá hodnoty nepravda.Kontradikce je negací tautologie, tautologie je negací kontradikce.

    Příkladem kontradikce je zákon sporu x ∧ x = 0.

    Při navrhování podmínek sloužících k ukončení cyklu či rekurze jenutno dát pozor, aby formule nebyla kontradikcí, a nevznikl nekonečnýcyklus či nekonečná rekurze.

    Tomáš Bayer | [email protected] (Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK.)Booleovská algebra. 27 / 30

  • Tautologie a kontradikce

    26. Příklad

    Ověřte, zda jsou následující formule tautologií či kontradikcí.V1(x) = x ∧ (x ∨ (x ∨ x)),V2(x1, x2) = ((x1 ∧ x2) ∨ x1) ∧ (x1 ∧ (x2 ∨ x1)).

    Formuli V1(x) můžeme upravovat: V1(x) = x ∧ (x ∨ 1) ‖ 3= x ∧ (1) ‖ 9= x ∧ 0 ‖ 10 = 0. Formule V1(x) je kontradikcí.

    Formuli V2(x1, x2) můžeme upravovat:V2(x1, x2) = ((x1 ∧ x2) ∨ x1) ∧ (x1) ‖ 20 = (x1) ∧ (x1) ‖ 19 = 0 ‖ 4 = 1.Formule V2(x1, x2) je tautologií.

    Tomáš Bayer | [email protected] (Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK.)Booleovská algebra. 28 / 30

  • Převod pravdivostní tabulky na formuli

    27. Vztah mezi formulí a pravdivostní tabulkou:Každou booleovskou formuli lze vyjádřit jako logický součet logických součinůjednotlivých argumentů a negací těchto argumentů.

    Tento postup představuje rozklad booleovské formule V na součet součinů.

    Každý řádek pravdivostní tabulky lze zapsat jako jako dílčí formuli Vi :

    Vi(x1, ..., xn) = ({

    x1x1

    }∧{

    x2x2

    }∧ ... ∧

    {xnxn

    }) (22)

    Výslednou formuli V lze vyjádřit jako disjunkci dílčích formulí Vi .

    S jednotlivými řádky pravdivostní tabulky pracujeme následujícím způsobem:

    vybereme pouze ty řádky, u kterých je funkční hodnota rovna 1,

    pokud je hodnota argumentu xi = 1, je v algebraickém výrazu argument valgebraickém výrazu vyjádřen jako xi .

    pokud je hodnota argumentu xi = 0, je v algebraickém výrazu argument valgebraickém výrazu vyjádřen jako x i .

    Tomáš Bayer | [email protected] (Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK.)Booleovská algebra. 29 / 30

  • Převod pravdivostní tabulky na formuli

    28. Příklad

    Booleovská formule V (x1, x2, x3) je dána následující pravdivostní tabulkou, nalezněte její

    algebraické vyjádření.

    x1 x2 x3 f (x1, x2, x3)

    0 0 0 1

    0 0 1 0

    0 1 0 1

    0 1 1 0

    1 0 0 0

    1 0 1 1

    1 1 0 0

    1 1 1 0

    Pak V1(x1, x2, x3) = x1 ∧ x2 ∧ x3, V3(x1, x2, x3) = x1 ∧ x2 ∧ x3, V6(x1, x2, x3) = x1 ∧ x2 ∧ x3.Výslednou formuli můžeme vyjádřit jakoV (x1, x2, x3) = V1(x1, x2, x3)∨V3(x1, x2, x3)∨V6(x1, x2, x3) = x1∧x2∧x3∨x1∧x2∧x3x1∧x2∧x3.

    Tomáš Bayer | [email protected] (Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK.)Booleovská algebra. 30 / 30

    Booleovská funkcePrehled unárních booleovských funkcíPrehled binárních booleovských funkcíBooleovská algebraTautologie a kontradikcePrevod pravdivostní tabulky na formuli


Recommended