Konjunkční normální forma logické funkce. Disjunktivní a konjunktivní dokonalé normální formy

Prostý spojení volala spojení jeden nebo několik proměnné, pro to je každý proměnná setkat ne více jeden časy (nebo sám, nebo její negace).

Například je jednoduchá spojení,

Diunivum normální formulář (DNF) volala disjunkce jednoduchý spojky.

Výraz je například DNF.

Perfektní diunivum normální formulář (SDNF) volala takový diunivum normální formulář, w. který v kAŽDÝ spojení enter. všechno proměnné tento seznam (nebo sebe, nebo jim odmítnutí), navíc v jeden a tom stejnýobjednat.

Exprese je například DNF, ale ne SDNF. Výraz je CDNF.

Podobné definice (s nahrazením spojení pro disjunkci a naopak) jsou pravdivé pro PFF a SCFF. Dáváme přesné znění.

Prostý disjunkce volala disjunkce jeden nebo několik proměnné, pro to je každý proměnná zahrnuta ne více jeden časy (nebo sám, nebo její negace). Výraz je například jednoduchý disjunkce,

Konjunktive normální formulář (KNF) volala spojení jednoduchý disjunctions. (například výraz - pff).

Perfektní konjunktivní normální forma (SCPF) se nazývá takový QF, ve kterém každý jednoduchý disjunkce obsahuje všechny proměnné tohoto seznamu (buď sami, nebo jejich popírání), a stejným způsobem.

Například výraz je SKPF.

Představujeme přechodové algoritmy z jedné formy do druhé. Samozřejmě v konkrétních případech (s určitým kreativním přístupem) je použití algoritmů více časově náročné než jednoduché transformace, které používají specifický typ tohoto formuláře:

a) přechod z DNF k KNF

Algoritmus tohoto přechodu je následující: dal přes DNF dva popírání a pomocí pravidel de Morgan (ne dotýká horní popírání), dejte DNF opět popření DNF. Současně je nutné zveřejnit závorky s použitím pravidla absorpce (nebo Blake Pravidla). Denial získaného DNF (opět podle pravidla de Morgan) nám okamžitě dává CNF:

Všimněte si, že CNF lze získat z počátečního výrazu, pokud uděláte w. pro závorky;

b) Přechod z KNF do DNF

Tento přechod se provádí jednoduchým zveřejněním závorek (s opětovným použitým pravidlem absorpce)

Dostali tak DNF.

Reverzní přechod (od SDNF do DNF) je spojen s problémem minimalizace DNF. To bude řečeno v sekci. 5, zde ukážeme, jak zjednodušit DNF (nebo SDNF) podle pravidla Blake. Taková DNF se nazývá zkráceně DNF;

c) Snížení DNF (nebo SDNF) pravidlo Blake.

Aplikace tohoto pravidla se skládá ze dvou částí:

Pokud existují základy mezi nesouvislými termíny v DNF a přidejte koncepci všem disjunkce NA 1 NA 2. Děláme tuto operaci několikrát (může být postupně, můžete současně) pro všechny možné dvojice termínů, a pak aplikovat obvyklou absorpci;

Pokud byl již přidaný termín již uchováván v DNF, může být například vyřazen například

nebo

Samozřejmě, zkrácený DNF není určen jediným, ale všichni obsahují stejný počet písmen (například je zde DNF Po uplatňování na něj lze k DNF dosáhnout pravidla Blake, což odpovídá tomu):

c) přechod z DNF do SDNF

Pokud v některé jednoduché spojení postrádá například proměnnou, z., Vložte expresi do něj, poté, co odhalíme závorky (s opakujícím se disjunktivním termínem nepište). Například:

d) Přechod z KNF na SKFF

Tento přechod se provádí způsobem podobným předchozímu: Pokud není v jednoduchém disjunkce dostatek proměnné (například z., Přidám k ní výraz (to nezmění samotný disjunkce), po které odhalujeme závorky pomocí práva distribuce):

SKFF tak byl získán z PH.

Všimněte si, že minimální nebo zkrácený PFF se obvykle získává z odpovídajícího DNF.

Konjunktivní normální forma je vhodná pro automatické důkazy věty. Každý booleovský vzorec může být dán PFF. K tomu můžete použít: Právo Double Denial, De Morgana zákon, distribuce.

Encyklopedická youtube.

  • 1 / 5

    Vzorce v pff.:

    ¬ a ∧ (b ∨ c), (DisplayStyle \\ eg eg (b \\ v vee c),) (A ∨ b) ∧ (¬ b ∨ c ∨ ¬ d) ∧ (d ∨ ¬ e), (DisplayStyle (a vee b) klín (neg b \\ v vee c D \\ t A ∧ b. (DisplayStyle a Wedge B.)

    Vzorce ne v pff:

    ¬ (b ∨ c), (DisplayStyle \\ neg (b vee c),) (A ∧ b) ∨ C, (DisplayStyle (a \\ Worge b) vee c,) A ∧ (b ∨ (d ∧ e)). (DisplayStyle a Wedge (B Vee (D \\ Wedge e)).)

    Ale tyto 3 vzorce nejsou ekvivalentní následujícím vzorci v PBF:

    ¬ B ∧ ¬ C, (DisplayStyle Neg B Wedge Neg C,) (A ∨ c) ∧ (b ∨ c), (DisplayStyle (a \\ t c) klín (b \\ v vee c),) A ∧ (b ∨ d) ∧ (b ∨ e). (DisplayStyle a Wedge (B vee d) Wedge (B vee e).)

    Konstrukce CNF.

    Algoritmus pro stavbu ukrajinského PBF

    1) Zbavte se všech logických operací obsažených ve vzorci, které je nahrazují hlavním: spojení, disjunkcí, odmítnutí. To lze provést pomocí ekvivalentních vzorců:

    A → B \u003d ¬ A ∨ B, (DisplayStyle a Lightarrow B \u003d NEG A VEE B,) A ↔ b \u003d (¬ a ∨ b) ∧ (a ∨ ¬ b). (\\ DisplayStyle a Leftrightarrow b \u003d (neg a veee b) klín (a \\ t eg b).)

    2) Nahraďte znaménko negace týkající se celého výrazu, negačních značek týkajících se určitých variabilních příkazů na základě vzorců:

    ¬ (a ∨ b) \u003d ¬ A ∧ ¬ B, (DisplayStyle Neg (a vee b) \u003d NEG A WEDGE NEG B,) ¬ (a ∧ b) \u003d ¬ a ∨ ¬ b. (DisplayStyle Neg (a \\ Worge b) \u003d NEG A VEE NEGR B.)

    3) Zbavte se dvojí negačních značek.

    4) Použijte v případě potřeby ke spojení a disjunkci operací distribučních vlastností a absorpčních vzorců.

    Příklad konstrukce CNF.

    Dejme vzorec pff

    F \u003d (x → y) ∧ ((¬ y → z) → ¬ x). (DisplayStyle F \u003d (X Lightarrow y) Wedge ((neg Y Lightarrow z) Lightarrow \\ ODG).)

    Transformujeme vzorec F (DisplayStyle F) na vzorec, který neobsahuje → (DisplayStyle Lightarrow):

    F \u003d (¬ x ∨ y) ∧ (¬ (¬ y → z) ∨ ¬ x) \u003d (¬ x ∨ y) ∧ (¬ (¬ (¬ ¬ y ∨) ∨ ¬ x). (DisplayStyle f \u003d (neg x vee y) klín (neg (neg y lightarrow z) vee neg x) \u003d (neg x vee y) klín (neg (neg (neg \\ t NEG Y VEE Z) VEE NEG X).)

    Ve výsledném vzorci přejdeme odmítnutí proměnných a snížit dvojité popírání:

    F \u003d (¬ x ∨ y) ∧ ((¬ y ∧ ¬ z) ∨ ¬ x). (DisplayStyle F \u003d (Neg X Vee Y) Wedge ((((((((((neg y snížil) \\ t

    Například následující vzorec je zaznamenán ve 2-KPF:

    (A ∨ b) ∧ (¬ b ∨ c) ∧ (b ∨ ¬ c). (DisplayStyle (a \\ lor b) (neg b \\ lor c) země (b \\ lor "neg c).)

    Disjunktive a spojovací normální formy Algebry prohlášení.Pro každou funkci logiky prohlášení můžete vypracovat tabulku pravdy. Inverzní úkol je také vždy řešitelný. Představujeme několik definic.

    Základní spojky (konjunkty) se nazývají spojky proměnných nebo jejich popírání, ve kterých není každá proměnná více

    jednou.

    Disjunktive normální forma (DNF) se nazývá vzorec mající typ disjunkce elementárních spojů.

    Základní disjunkce (nesouvislý) Oni se nazývají disjunkce proměnných s nebo bez popírání.

    Konjunktivní normální forma (KNF) se nazývá vzorec, který má typ spojení elementárních disjunkcí.

    Pro každou funkci může prohlášení algebra najít mnoho disjunktivních a konjunktivních normálních forem.

    Algoritmus pro stavbu DNF:

    1. Přejděte na Booleovské operace pomocí vzorců ekvivalentních transformací.

    2. Jděte na vzorce s blízkými negacemi, to znamená, že vzorec, ve kterém nejsou popírání vyšší než výše uvedené proměnné - aplikovat zákony o de morgan.

    3. Zveřejnění závorky - aplikovat distribuční zákony.

    4. Opakující se komponenty trvají jednou - zákon idempotence.

    5. Aplikujte zákony absorpce a polotechniky.

    Příklad 6.Najít vzorec DNF :.

    V algebře bulových veletrhu principu duality. Skládá se v následujícím textu.

    Funkce se nazývá dvojí k funkci, pokud. Ty. Chcete-li najít funkci, dvojí k danému, je nutné budovat popření funkce z negace argumentů.

    Příklad 7.Najít funkci, dvojí.

    Mezi elementární funkce algebry logiky 1 Dual 0 a naopak, X dvojitá, dvojí, dvojí a naopak.

    Pokud ve vzorci f 1 reprezentující funkci všechny konjunkce nahrazují

    na disjunkce, disjunkce na spojení, 1 až 0, 0 až 1, získáme vzorec f *, reprezentující funkci *, dvojí.

    Konjunktivní normální forma (KNF) je dvojí koncept pro DNF, takže je snadné stavět podle schématu:

    Příklad 8.Najít vzorce CNF :.

    Využívání výsledku příkladu 6, máme

    Perfektní disjunktivní a dokonalé konjunktivní normální formy.V každém z typů normálních forem (disjunktive a spojunktivních) můžete vybrat třídu dokonalých forem SDNF a SCFF.

    Perfektní základní spojení je logický produkt všech proměnných s nebo bez nich nebo bez nich, a každá proměnná vstupuje pouze na produkt pouze jednou.

    Všechny DNF lze přivést do SDNF rozdělení konjunkcí, které neobsahují všechny proměnné, tj. Dodatek pro chybějící proměnnou X i násobí s použitím distribučního práva

    Příklad 9.Najít SDNF pro DNF Příklad 6

    Dokonalý základní disjunkce To se nazývá logická součet všech proměnných s nebo bez oddanosti, a každá proměnná je v množství pouze jednou.

    Všechny KNFS lze přivést do SCPF, přidání člena spojení, který neobsahuje žádnou proměnnou X I se spojení a uplatňováním distribučního práva

    Příklad 10.Přineste KNF na SCPF:

    Chcete-li vybudovat SCFF, můžete použít schéma

    Příklad 11.Najděte SKFF pro vzorec příkladu 6.

    Každá funkce má SDNF a navíc jediný. Každá funkce má SCPF a navíc jediná.

    Protože SDNF a SCFF jsou definitivně definovány vzorce, mohou být postaveny na pravdivé tabulce vzorce.

    Chcete-li vybudovat SDNF, je nutné zdůraznit řádky, ve kterých f trvá hodnotu 1 a zaznamenávají pro ně perfektní základní spojky. Pokud je hodnota proměnné v požadované řadě pravdy tabulky jedna, pak v dokonalém spojení je odebrána bez negace, pokud je nula odepřena. Pak jsou dokonalé konjunkty (jejich počet rovna počtu jednotek v tabulce) jsou spojeny znaky disjunkce.

    Chcete-li vybudovat SCFF na pravdivé tabulce, je nutné zvýraznit řádky v něm, kde f \u003d 0, a zaznamenávat dokonalé elementární disjunkce, po kterém je kombinována znaky spojení. Pokud v požadované řadě tabulky pravdy (f \u003d 0) hodnota proměnné odpovídá nule, pak v dokonalém nesouvislu je odebrána bez negativních, pokud je jeden popření.

    Příklad 12.Najít SDNF a SCPF na pravdivé tabulce pro vzorec příkladu 6.

    Tabulka 14 ukazuje pouze konečnou hodnotu F \u003d 10101101. Ve spravedlnosti tohoto prohlášení by mělo být viděno samostatně budováním detailní tabulky pravdy.

    Tabulka 14.

    X. y. Z.

    Definice 1.Konjunkční jednokřídlo (základní spojení) Z proměnných se nazývá spojení těchto proměnných nebo jejich popírání.

    například- Základní spojení.

    Definice 2.Disjunktivní jednostranný (základní disjunkce)od proměnných se volá disjunkce těchto proměnných nebo jejich popírání.

    například- Elementarydesjunction.

    Definice 3.Formule je ekvivalentní tomuto vzorci, algebře prohlášení a je volán disjunkcí elementárních konjunktivních univerzizí disjunktive normální forma (DNF) tohoto vzorce.

    Například, - DNF.

    Definice 4.Vzorec je ekvivalentní tomuto vzorci algebry prohlášení a je nazýván spojením elementárních disjunktivních homorálů konjunktivní normální forma (PFF) tohoto vzorce.

    například- KNF.

    Pro každý vzorec může prohlášení algebra najít mnoho disjunktivních a konjunktivních normálních forem.

    Algoritmus pro budování normálních forem

      S pomocí rovnocennosti, logická algebra nahradit všechny hlavní cíle dostupné ve vzorci: spojení, disjunkce, odmítnutí:

      Zbavte se symbolů dvojího negace.

      Pokud je to nutné, použijte pro spojení operací a disjunkcí vlastností distribučního a absorpčního vzorce.

    2.6. Perfektní disjunktivní a dokonalé konjunktivní normální formy

    Každá booleovská funkce může mít mnoho prezentací ve formě DNF a PFF. Zvláštní místo mezi těmito nápady je obsazeno perfektní DNF (SDNF) a dokonalým CNFS (SCPF).

    Definice 1. Perfektní disjunktivní normální forma (SDNF) je DNF, ve které je každá spojivace opuštěna s každou proměnnou od spěchu přesně jednou, a to buď sám nebo jeho popření.

    Konstruktivní SDNF pro každý vzorec výpisu Algebra dané DNF lze definovat následovně:

    Definice 2. Perfektní disjunktivní normální forma(SDNF) Vzorce prohlášení Algebra se nazývají jeho DNF, která má následující vlastnosti:

    Definice 3. Perfektní konjunktivní normální forma (SKPF) je QNF, ve kterém každá proměnná je opuštěna s každou proměnnou, která je hladce odlišná a je to buď sama nebo jeho odmítnutí.

    Konstruktivní SCFF pro každý vzorec výpisu Algebra dané PFF lze definovat následovně.

    Definice 4. Perfektní konjunktivní normální forma(SKFF) Tento vzorec algebry prohlášení se nazývá jeho KNF, který splňuje následující vlastnosti.

    Věta 1.Každý boolský rys z proměnných není identicky nepravdivá, může být reprezentována v SDNF a navíc.

    Způsoby, jak najít sdnf.

    1. cesta

    2. Way.

      zvýrazňujeme linie, kde vzorec přijímá hodnotu 1;

      vystavujeme disjunkci spojků, za předpokladu, že pokud je proměnná ve spojení s hodnotou 1, pak napište tuto proměnnou, pokud s hodnotou 0, pak jeho odmítnutí. Dostaneme SDNF.

    Věta 2.Každý boolský rys z proměnných není identifikována true, může být reprezentována v SCFF a více než jeden.

    Způsoby, jak najít SCFF

    1. cesta - S pomocí ekvivalentních transformací:

    2. Way. - S pomocí pravdivých tabulek:

      zvýrazňujeme linie, kde vzorec přijímá hodnotu 0;

      srovnáváme spojení disjunkce za předpokladu, že pokud je proměnná v disjunkce s hodnotou 0, pak napsat tuto proměnnou, pokud s hodnotou 1, pak jeho odmítnutí. Dostaneme SKFF.

    Příklad 1. Sestavte funkci PFF.

    Rozhodnutí

    Vyloučte vazbu "" zákony transformace proměnných:

    \u003d / zákony de morgan a dvojité odmítnutí / \u003d

    / Distribuční zákony / \u003d

    Příklad 2. Přinést na vzorec DNF.

    Rozhodnutí

    Vyjádřete logickou operaci icess a:

    \u003d / Rependitress Denial proměnil a snížit dvojité odmítnutí / \u003d

    \u003d / Distribuční právo.

    Příklad 3. Zapište si vzorec v DNF a SDNF.

    Rozhodnutí

    Použití zákonů logiky předkládáme tento vzorec do formuláře obsahující pouze disjunkci elementárních spojů. Výsledný vzorec bude požadovaný DNF:

    Chcete-li vybudovat SDNF, aby se tabulka pravdy pro tento vzorec:

    Oznámme ty řádky stolu, ve kterých vzorec (poslední sloupec) vezme hodnotu 1. Pro každou takovou linii odrazíme vzorec, který je pravdivý na sadě proměnných, tento řádek:

    Řádek 1 :;

    linka 3 :;

    Řádek 5:.

    Disjunkce těchto tří vzorců bude mít hodnotu 1 pouze na sadách proměnných v řádcích 1, 3, 5, a proto bude požadovaný perfektní disjunktivní normální forma (SDNF):

    Příklad 4. Přiveďte vzorec do SCPF dvěma způsoby:

    a) s pomocí ekvivalentních transformací;

    b) pomocí tabulky pravdy.

    Rozhodnutí:

    Transformujeme druhý základní disjunkce:

    Vzorec má formulář:

    b) Udělejte tabulku pravdy pro tento vzorec:

    Označujeme linky stolu, ve kterých vzorec (poslední sloupec) má hodnotu 0. Pro každou takovou linku odrazíme vzorec, který je pravdivý na sadě proměnných,, tohoto řetězce:

    Řádek 2 :;

    Řádek 6:.

    Spojení těchto dvou vzorců bude mít hodnotu 0 pouze na sadách proměnných v řádcích 2 a 6, a proto bude požadovaná dokonalá konjunktivová normální forma (SKFF):

    Otázky a úkoly pro sebehodnocení

    1. S pomocí ekvivalentních transformací přineste vzorec do DNF:

    2. S pomocí ekvivalentních transformací přineste vzorec k PFF:

    3. S pomocí druhého distribučního práva převést DNF v PFF:

    ale) ;

    4. Převést DNF zadaný v SDNF:

    5. Převést specifikované CNFS v SKFF:

    6. Pro dané logické vzorce vybudujte SDNF a SCPF dvěma způsoby: pomocí ekvivalentních transformací a pomocí tabulky pravdy.

    b) ;

    Jednoduchý disjunkce (eng. inkluzivní disjunkce) nebo dysyunkt. (Eng. Disjunkt) se nazývá disjunkce jednoho nebo více proměnných nebo jejich popírání a každá proměnná není více než jednou.

    Jednoduchý disjunkce

    • ÚplnýPokud je každá proměnná (nebo odmítnutí) přesně jednou;
    • monotonnaPokud neobsahuje ozubující proměnné.

    Konjunkční normální forma, CNF (Angličtina. Konjunktivní normální forma, CNF) Normální forma, ve které Boolean má typ spojení několika jednoduchých disjunktů.

    Příklad KNF: $ F (x, y) \u003d (x lor y) země (y lor "neg (z)) $

    SKFF.

    Perfektní konjunktivní normální forma, SKFF (Eng. Perfektní konjunktivní normální forma, PCNF) je takový PFF, který splňuje podmínky:

    • nemá žádný identický jednoduchý disjunkce
    • každá jednoduchá disjunktura kompletní

    Příklad SCPF: $ f (x, y, z) \u003d (x lor "neg (y) lor z) pozemek (x lor y lor" neg (z)) $

    Teorém: Pro všechny booleovská funkce $ f (X)) $ není rovna stejné jednotce, je zde SCFF, který ji určuje.

    Důkaz: Vzhledem k tomu, Inverze funkce $ NEG (F) (\\ VEC X) $ je rovna jednomu na těchto sadách, na kterém $ f (vec x) $ je nula, pak sdnf pro $ neg (f) (\\ t VEC x) $ ZAPOJENÍ:

    $ Neg (f) (vec x) \u003d bigvee limits_ (f (x ^ (sigma_ (1)), x ^ (sigma_ (2)), ..., x ^ (nigma_ (n ))) \u003d 0) (X_ (1) ^ (SIGMA_ (1)) klín X_ (2) ^ (SIGMA_ (2)) klín ... wedge x_ (n) ^ (Sigma_ (n) )))) $, kde $ Sigma_ (i) $ označuje přítomnost nebo absenci negace na $ x_ (i) $

    Najděte inverzi levé a pravé části výrazu:

    $ F (\\ vec x) \u003d neg ((bigevee limits_ (f (x ^ (sigma_ (1)), x ^ (\\ Sigma_ (2)), ..., x ^ (nigma_ (n ))) \u003d 0) (X_ (1) ^ (SIGMA_ (1)) klín X_ (2) ^ (SIGMA_ (2)) klín ... wedge x_ (n) ^ (SIGMA_ (n (n) ))))) $

    Dvakrát se dvakrát k výrazu získané v pravé části, pravidlo de morgan, získáme: $ f (vec x) \u003d bigwedge limits_ (f (x ^ (sigma_1), x ^ (\\ SIGMA_2), tečky , X ^ (Sigma_n)) \u003d 0) $ $ (Neg (X_1 ^ (SIGMA_1)) VEE NEG (x_2 ^ (SIGMA_2)) Vee ))) $

    Poslední výraz a je SKPF. Vzhledem k tomu, že SCFF se získá z SDNF, který může být konstruován pro jakoukoliv funkci, která není rovna identické nuly, teorém je prokázána.

    Algoritmus pro konstrukci SCFF na pravdě

    • V pravdivě si všimneme ty sady proměnných, na kterých je hodnota funkce 0 $.
    • Pro každou označenou sadu zapište na disjunkci všech proměnných podle následujícího pravidla: Pokud je hodnota určité proměnné je $ 0 $, pak v disjunkce zapnete proměnnou samotnou, jinak je odepřena.
    • Všechny získané disjunkce jsou spojeny s operacemi spojení.

    Příklad budovy SCFF pro medián

    jeden). V pravdivě si všimneme ty sady proměnných, na kterých je hodnota funkce 0 $.

    x. y. z. $ Langle X, Y, Z $ $
    0 0 0 0
    0 0 1 0
    0 1 0 0
    0 1 1 1
    1 0 0 0
    1 0 1 1
    1 1 0 1
    1 1 1 1

    2). Pro každou zaznamenanou sadu, záznam spojení všech proměnných následujícím pravidlem: Pokud hodnota určité proměnné je $ 0 $, pak v disjunkce zapnáváme samotnou proměnnou, jinak je odepřena.

    x. y. z. $ Langle X, Y, Z $ $
    0 0 0 0 $ (X lor y lor z) $
    0 0 1 0 $ (X lor y lor "neg (z)) $
    0 1 0 0 $ (X lor "neg (y) lor z) $
    0 1 1 1
    1 0 0 0 $ (Neg (x) lor y lor z) $
    1 0 1 1
    1 1 0 1
    1 1 1 1

    3). Všechny získané disjunkce jsou spojeny s operacemi spojení.

    $ Langle x, y, z rangle \u003d (x lor y lor z) Land (neg (x) lor y lor z) Pozemek (x lor "neg (y) \\ lor z) \\ t Land (X lor y lor "neg (z)) $

    Příklady SCPF pro některé funkce

    Pierce šipka: $ x downarrow y \u003d (neg (x) lor (y)) Pozemky ((x) lor "neg (y)) Pozemek (neg (x) lor" (y) ) $

    Vyjměte nebo: $ x OPLUS y (X lor "neg (y) lor" neg (z)) (x lor y lor z) $