Úvod do výrokové logiky

Proč logika v číslicové technice?

  • Logika
    • Je to nauka o vytváření úsudků, rozhodnutí a důkazů.
    • V technice pomocí ní děláme přesná pravidla, kterými následně popisujeme chování obvodů.
  • Cíl logiky
    • Z běžných sdělení (rozhodovacích vět, tzv. výroků) udělat funkce nad logickými proměnnými, které lze realizovat pomocí obvodů.
    • Laicky řečeno: nepřehlednou větu je třeba upravit pomocí pevně daných (nejlépe matematických) pravidel do jednoznačné podoby.

Výrok

  • Výrok (tzv. propozice): tvrzení, u něhož má smysl rozhodnout, zda je pravda nebo nepravda (nic mezi).
  • Není to otázka ani rozkaz.
  • V technice: ohodnocení kódujeme jako 1 = pravda, 0 = nepravda.
    • Ohodnocení nazýváme pravdivostní hodnota
  • Příklady:
    • „Tlačítko je stisknuto.“
    • „Dveře jsou otevřené.“
    • „Zařízení je v poruše.“

Výroková proměnná

  • Jiný název – logická proměnná
  • Jde o ohodnocení výroku – byl výrok pravdivý nebo ne?
  • Definice: veličina nabývající právě jedné ze dvou hodnot z množiny \{0, 1\} (nepravda=False / pravda=True).
  • Značení: x, y, z, nebo s indexy x_1, x_2, \ldots
  • Fyzikální reprezentace:
    • Konkrétní úrovně fyzikální veličiny – el. napětí / el. proudu / světla / hydraulického či pneumatického tlaku, apod.
    • Logická hodnota je abstrakce nad nimi.
    • Příklad: logická 0 (vypnuto) = napětí menší než 2.5V, logická 1 (zapnuto) = napětí větší než 2.5V
  • Můžeme tvořit vektory proměnných:
    • Spojení více proměnných do jedné (n-bitový signál; bit, byte, …)
    • x = (x₁, \ldots, xₙ)
    • Hodí se, například když potřebujeme udělat naráz stejný výpočet nad větším množstvím proměnných.
  • Speciální stavy v praxi:
    • V praxi můžeme narazit na některé speciální stavy
    • Nejsou to třetí logické hodnoty, jen modelové fyzikální stavy.
    • Např.:
      • Nedefinovaná hodnota – veličina se pohybuje v rozsahu, kdy nemůžeme určit, zda se jedná o log. 0 nebo 1
      • Vysoká impedance – nepřipojený signál (např. el. napětí není přítomno vůbec).
  • Hodnoty proměnných se mohou měnit v čase (a systém na ně může reagovat).
  • Příklad: proměnná S představující výrok „Slunce svítí“ – ve dne je odpověď ano (S=1), v noci ne (S=0)

Výroková logika

  • Obor, který pracuje s výroky a jejich pravdivostní hodnotou.
  • Formální odvozovací systém
    • Výrokům přiřadíme výrokové proměnné – vytvoříme tzv. atomické formule (atomické = dále nedělitelné, neobsahuje spojky)
    • Z výroků formálně odvozujeme jejich důsledky – tzv. formule
      • K tomu slouží logické operace zapsané pomocí symbolů/spojek (např. \land \lor)- tzv. odvozovací pravidla
    • Na základě formule můžeme učinit rozhodnutí – tzv. ohodnocení formule
  • Skládá se ze:
    • Syntaktických pravidel – určují, kdy je formule správně utvořená
    • Odvozovacích pravidel – určují, jak můžeme formule kombinovat

Logická funkce

  • Formalizované rozhodnutí/důsledek nad vstupními výroky/proměnnými.
  • Každé kombinaci hodnot vstupních logických proměnných přiřazuje výstupní ohodnocení 1 nebo 0.
  • Jedná se vlastně o matematický zápis výrokové formule.
  • Arita (stupeň) funkce: počet vstupních proměnných.
  • Funkce je deterministická – tedy pro každou vstupní kombinaci je výstup vždy stejný (jednoznačný).
  • Vstupní proměnné jsou nezávislé – navzájem se neovlivňují.
    • Například „Motor je pod napětím.“ a „Motor pracuje.“ jsou vzájemně závislé a lze je nahradit jedinou vstupní proměnnou.
  • Příklady:
    • „Alarm je zapnut, pokud jsou dveře (d) otevřené a servisní klíč (k) není zapnut.“
      • f(d, k)=d \land \overline{k}
    • „Čerpadlo čerpá, když je hladina v nádrži nízká (h) a je dostatečný přívod vody (p).“
      • f(h, p)=h \land p

Logický obvod

  • Logický obvod: fyzická realizace logické funkce (nebo více funkcí) – převádí logické vstupy na logické výstupy podle definovaných pravidel.
  • Např.: elektrický, mechanický, pneumatický, hydraulický, …

Rychlé aktivity / kontrolní otázky

  1. Napiš 3 výroky z praxe (např. škola/dílna/domácnost) a urči, kdy jsou pravdivé.
  2. Zkus vytvořit logickou funkci – navrhni vstupní proměnné a slovně popiš, kdy bude výstup log. 1.
    • Příklad proměnných: svítí slunce (S), prší (P)
    • Příklad funkce: Pokud svítí slunce a zároveň prší, bude duha.
    • Tedy funkce je log. 1, právě když S a zároveň P.