Disjunktivní a konjunktivní normáln lní tvar formule 2.přednáška
Disjunktivní normáln lní forma Definice Řekneme, že formule ( A ) je v disjunktivním normálním tvaru (formě), zkráceně v DNF, jestliže je disjunkcí jedné nebo několika formulí, z nichž každá je literálem nebo konjunkcí literálů ( K i ) - minterm. Literál ( L j ) je logická proměnná nebo negace logické proměnné A = K K i K n K i = L... L j L m Buchtela@pef.czu.cz 2
Konjunktivní normáln lní forma Definice Řekneme, že formule ( A ) je v konjunktivním normálním tvaru (formě), zkráceně v KNF, jestliže je konjunkcí jedné nebo několika formulí, z nichž každá je literálem nebo disjunkcí literálů ( D i ) - maxterm. Literál ( L j ) je logická proměnná nebo negace logické proměnné A = D D i D n D i = L L j L m Buchtela@pef.czu.cz 3
Věty o DNF a KNF Ke každé formuli A existuje formule B v DN tvaru, která je s ní ekvivalentní ( A B ). Pokud k formuli A nalezneme ekvivalentní formuli B v DN tvaru, říkáme také, že jsme formuli A převedli do DN tvaru. Ke každé formuli A existuje formule B v KN tvaru, která je s ní ekvivalentní ( A B ). Pokud k formuli A nalezneme ekvivalentní formuli B v KN tvaru, říkáme také, že jsme formuli A převedli do KN tvaru. Buchtela@pef.czu.cz 4
Převod formule do DNF ( KNF ) Převedení formule do DNF ( KNF ) lze provést těmito způsoby: pomocí pravdivostní tabulky. ekvivalentními úpravami. pomocí Karnaughovy mapy. Buchtela@pef.czu.cz 5
Převod do DNF pomocí pravdivostní tabulky Předpokládejme, že formule A obsahuje výrokové proměnné p, p 2,..., p n. Potom: K formuli A sestrojíme pravdivostní tabulku. Pro každý řádek i pravdivostní tabulky, jehož výsledná pravdivostní hodnota je, vytvoříme konjunkci K i = L... L m, kde L j = p j pokud proměnná p j nabývá v tomto řádku L j = p j pokud proměnná p j nabývá v tomto řádku j =,..., m Konjunkce K i spojíme disjunkcemi. Buchtela@pef.czu.cz 6
Převod do DNF pomocí pravdivostní tabulky příklad Pravdivostní tabulka: Konjunkce: K = ( p q ) K 2 = ( p q ) K K 2 = ( p q ) ( p q ) ř. (p q) ( p q). 2. Zjednodušení DNF (pomocí ekvivalentních úprav): ( p q ) ( p q ) p ( q q ) p T p Buchtela@pef.czu.cz 7
Převod do DNF pomocí ekvivalentních úprav příklad ( p q ) ( p q ) { a b a b } ( p q ) ( p q ) { ( a b ) ( a b ) } ( p q ) ( p q ) { distributivní zákon } p ( q q ) { a a T } p T { a T a } p Buchtela@pef.czu.cz 8
Převod do KNF pomocí pravdivostní tabulky Postup je stejný jako u DNF, jen vytvoříme konjunkci pro každý řádek i pravdivostní tabulky, jehož výsledná pravdivostní hodnota je K i = L... L m, kde L j = p j pokud proměnná p j nabývá v tomto řádku L j = p j pokud proměnná p j nabývá v tomto řádku j =,..., m Konjunkce K i spojíme disjunkcemi. Provedeme negaci výsledného tvaru ( K K i K n ) Pomocí De Morganových zákonů převedeme na KNF K K i K n D D i D n Buchtela@pef.czu.cz 9
Převod do KNF pomocí pravdivostní tabulky příklad Pravdivostní tabulka: Konjunkce: K = ( p q ) K 2 = ( p q ) Disjunkce K i : K K 2 = ( p q ) ( p q ) Negace výsledku: ř. (p q) ( p q). 2. (( p q ) ( p q )) ( p q ) ( p q ) ( p q ) ( p q ) Zjednodušení KNF (pomocí ekvivalentních úprav): ( p q ) ( p q ) p ( q q ) p F p Buchtela@pef.czu.cz
Převod do KNF pomocí ekvivalentních úprav příklad ( p q ) ( p q ) { a b a b } ( p q ) ( p q ) { ( a b ) ( a b ) } (( p q ) ( p q )) (( p q ) ( p q )) { distributivní zákon } ( p ( q q )) { a a F } ( p F ) { a F a } p Buchtela@pef.czu.cz
Karnaughovy mapy
Karnaughovy mapy Definice Nechť je dán seznam logických proměnných a,,, a n obsažených ve formuli A. Pravdivostní tabulka formule A má potom 2 n řádků. Dvourozměrné tabulce (matici) říkáme Karnaughova mapa, jestliže platí: na svislé a vodorovné osy nanášíme ohodnocení jednotlivých proměnných (souřadnice) sousedí přesně ty souřadnice, které se liší právě v jedné položce výsledná matice obsahuje právě 2 n políček, do kterých se zapíší příslušné hodnoty z pravdivostní tabulky Buchtela@pef.czu.cz 3
Karnaughovy mapy n = - Karnaughova mapa je shodná s pravdivostní tabulkou n = 2 - Karnaughova mapa tvaru čtverce a f f f a /a f f 2 f 2 f 3 f f 3 Buchtela@pef.czu.cz 4
Karnaughovy mapy n = 3 - Karnaughova mapa tvaru válce a a 3 f f f f 2 f 3 f 4 a a 3 /a a 3 f f 4 f 6 f 2 f 5 f f 5 f 7 f 3 f 6 f 7 Buchtela@pef.czu.cz 5
Karnaughovy mapy a a 3 a 4 f f f f 2 f 3 n = 4 - Karnaughova mapa tvaru anuloidu a f 4 f 5 f 6 a 3 a 3 a 4 /a a 4 f 7 f f 8 f 2 f 4 f 8 f 9 f f 2 f f 4 f 6 f f 2 f 3 f f 5 f 7 f 3 f 4 f f 9 f 3 f 5 f 5 Buchtela@pef.czu.cz 6
Karnaughovy mapy Tvar Karnaughovy mapy pro n = 3 - válec n = 4 - anuloid Mapy vyššího řádu ( n 5 ) nelze zobrazit v E 3 Buchtela@pef.czu.cz 7
Bazická matice Definice Bazická matice jedniček (nul) je taková část Karnaughovy mapy, ve které všechny jedničky (nuly) tvoří obdélník ze sousedních políček Rozměr bazické matice musí být mocninou dvojky U kontradikce je rozměr bazické matice jedniček roven nule a rozměr bazické matice nul je roven celé mapě (2 n ) U tautologie je rozměr bazické matice nul roven nule a rozměr bazické matice jedniček je roven celé mapě (2 n ) Buchtela@pef.czu.cz 8
Tvrzení Bazická matice Každá bazická matice jedniček odpovídá právě jedné konjunkci v DNF Každá bazická matice nul odpovídá právě jedné disjunkci v KNF (po znegování odpovídající konjunkce) Pravidlo: K popisu větší plochy na mapě je třeba méně informace (tj. kratší konjunkce/disjunkce) Buchtela@pef.czu.cz 9
Bazické matice pro n=2 2 x a /a K = D = ( ) = a /a K = D = ( ) = Buchtela@pef.czu.cz 2
Bazické matice pro n=2 2 x a /a K = a D = ( a ) = a a /a K = a D = ( a ) = a Buchtela@pef.czu.cz 2
Bazické matice pro n=2 x a /a a /a K = a. K 2 = a. D = (a. ) = a + D 2 = (a. ) = a + K = a. K 2 = a. D = a + D 2 = a + Buchtela@pef.czu.cz 22
Bazické matice pro n=3 2 x 2 a a 3 a 3 /a K = D = ( ) = a a a 3 /a 3 K = D = ( ) = Buchtela@pef.czu.cz 23
Bazické matice pro n=3 2 x 2 a a 3 a 3 /a K = a D = ( a ) = a a a a 3 /a 3 K = a D = ( a ) = a Buchtela@pef.czu.cz 24
Bazické matice pro n=3 4 x a a 3 a 3 /a K = a 3 D = ( a 3 ) = a 3 a a a 3 /a 3 K = a 3 D = ( a 3 ) = a 3 Buchtela@pef.czu.cz 25
Bazické matice pro n=3 2 x a K = a. a 3 a 3 /a K 2 = a. D = a + D 2 = a + a a a 3 /a 3 K = a. K 2 = a. D = a + D 2 = a + Buchtela@pef.czu.cz 26
Bazické matice pro n=3 2 x a K = a. a 3 a 3 a 3 /a K 2 = a. a 3 D = a + a 3 D 2 = a + a 3 a a a 3 /a 3 K = a. a 3 K 2 = a. a 3 D = a + a 3 D 2 = a + a 3 Buchtela@pef.czu.cz 27
Bazické matice pro n=3 2 x a K =. a 3 a 3 a 3 /a K 2 =. a 3 D = + a 3 D 2 = + a 3 a a a 3 /a 3 K =. a 3 K 2 =. a 3 D = + a 3 D 2 = + a 3 Buchtela@pef.czu.cz 28
Bazické matice pro n=3 x a K = a.. a 3 a 3 a 3 /a K 2 = a.. a 3 K 3 = a.. a 3 K 4 = a.. a 3 a a a 3 /a 3 D = a + + a 3 D 2 = a + + a 3 D 3 = a + + a 3 D 4 = a + + a 3 Buchtela@pef.czu.cz 29
Bazické matice pro n=4 4 x 2 a K = a 4 a 3 a 3 a 4 /a a 4 D = ( a 4 ) = a 4 Buchtela@pef.czu.cz 3
Bazické matice pro n=4 4 x 2 a K = a a 3 a 3 a 4 /a a 4 D = ( a ) = a Buchtela@pef.czu.cz 3
Bazické matice pro n=4 4 x 2 a K = a 3 a 3 a 3 a 4 /a a 4 D = ( a 3 ) = a 3 Buchtela@pef.czu.cz 32
Bazické matice pro n=4 2 x 2 a K =. a 4 a 3 a 3 a 4 /a a 4 K 2 =. a 4 D = + a 4 D 2 = + a 4 Buchtela@pef.czu.cz 33
Bazické matice pro n=4 2 x 2 a 3 a a 3 a 4 /a a 4 K = a. a 3 K 2 = a. a 3 D = a + a 3 D 2 = a + a 3 Buchtela@pef.czu.cz 34
Bazické matice pro n=4 2 x a 3 a a 4 a 3 a 4 /a K =. a 3. a 4 K 2 =. a 3. a 4 K 3 =. a 3. a 4 K 4 =. a 3. a 4 D = + a 3 + a 4 D 2 = + a 3 + a 4 D 3 = + a 3 + a 4 D 4 = + a 3 + a 4 Buchtela@pef.czu.cz 35
Bazické matice pro n=4 2 x a 3 a a 4 a 3 a 4 /a K = a. a 3. a 4 K 2 = a. a 3. a 4 K 3 = a. a 3. a 4 K 4 = a. a 3. a 4 D = a + a 3 + a 4 D 2 = a + a 3 + a 4 D 3 = a + a 3 + a 4 D 4 = a + a 3 + a 4 Buchtela@pef.czu.cz 36
Bazické matice pro n=4 x a 3 a a 4 a 3 a 4 /a K = a.. a 3. a 4 K 2 = a.. a 3. a 4 K 3 = a.. a 3. a 4 D = a + + a 3 + a 4 D 2 = a + + a 3 + a 4 D 3 = a + + a 3 + a 4 Buchtela@pef.czu.cz 37
Převod do DNF pomocí Karnaughovy mapy Předpokládejme, že formule A obsahuje výrokové proměnné p, p 2,..., p n. Potom: Sestavíme Karnaughovu mapu formule A Najdeme bazické matice jedniček A,, A n tak, aby: -každámatice A i měla co největší rozměr -počet matic A i (tj. číslo n) byl co nejmenší Každé matici A i přiřadíme příslušnou konjunkci K i Konjunkce K K n spojíme disjunkcemi: A = K K 2 K n Buchtela@pef.czu.cz 38
Převod do KNF pomocí Karnaughovy mapy Předpokládejme, že formule A obsahuje výrokové proměnné p, p 2,..., p n. Potom: Sestavíme Karnaughovu mapu formule A Najdeme bazické matice nul A,, A n tak, aby: -každámatice A i měla co největší rozměr -počet matic A i (tj. číslo n) byl co nejmenší Každé matici A i přiřadíme příslušnou disjunkci D i Disjunkce D D n spojíme konjunkcemi: A = D D 2 D n Buchtela@pef.czu.cz 39
Příklad Převeďte formuli ( a b ) c pomocí Karnaughovy mapy do DNF a KNF a b c f c a b c/ab Buchtela@pef.czu.cz 4
Příklad převod do DNF a b konjunkce: c c / a b K = c K 2 = a. b a b c c / a b A = c + a.b Buchtela@pef.czu.cz 4
Příklad převod do KNF a b disjunkce: c c / a b D = (b. c ) = b + c D 2 = (a. c ) = a + c a b c c / a b A = ( b + c ). ( a + c ) Buchtela@pef.czu.cz 42
Systém ELVYS
Systém m ELVYS Elektronický VÝukový Systém elektronické studijní materiály vzájemná komunikace diskusní fóra k probírané problematice plnění a hodnocení průběžných úkolů upozornění na důležité termíny semestru heslo pro registraci do systému: orchidea registrace možná do 3.3.25 přístup na adrese: http://kii.pef.czu.cz/elvys/ Buchtela@pef.czu.cz 44
Děkuji za pozornost! Příští přednáška: Úplný systém logických spojek Logické obvody