Katedra Informatiky Fakulta Matematiky, Fyziky a Informatiky Univerzita Komenského, Bratislava. Lucia Haviarová

Σχετικά έγγραφα
Matematika Funkcia viac premenných, Parciálne derivácie

7. FUNKCIE POJEM FUNKCIE

Ekvačná a kvantifikačná logika

Cvičenie č. 4,5 Limita funkcie

1. Limita, spojitost a diferenciálny počet funkcie jednej premennej

Matematika prednáška 4 Postupnosti a rady 4.5 Funkcionálne rady - mocninové rady - Taylorov rad, MacLaurinov rad

Goniometrické rovnice a nerovnice. Základné goniometrické rovnice

6 Limita funkcie. 6.1 Myšlienka limity, interval bez bodu

Start. Vstup r. O = 2*π*r S = π*r*r. Vystup O, S. Stop. Start. Vstup P, C V = P*C*1,19. Vystup V. Stop

Motivácia Denícia determinantu Výpo et determinantov Determinant sú inu matíc Vyuºitie determinantov. Determinanty. 14. decembra 2010.

Vektorový priestor V : Množina prvkov (vektory), na ktorej je definované ich sčítanie a ich

Úvod do lineárnej algebry. Monika Molnárová Prednášky

Planárne a rovinné grafy

Tomáš Madaras Prvočísla

Obvod a obsah štvoruholníka

ARMA modely čast 2: moving average modely (MA)

Matematika 2. časť: Analytická geometria

FUNKCIE N REÁLNYCH PREMENNÝCH

- vychádza z úplnej DNF a slúži pre získanie skrátenej DNF. Princíp metódy - aplikovanie modifikovaného pravidla spojovania. y + x y = y (5.

Funkcie - základné pojmy

Gramatická indukcia a jej využitie

Lineárna algebra I - pole skalárov, lineárny priestor, lineárna závislosť, dimenzia, podpriestor, suma podpriestorov, izomorfizmus

Komplexné čísla, Diskrétna Fourierova transformácia 1

Matematika 2. časť: Funkcia viac premenných Letný semester 2013/2014

VLASTNÉ ČÍSLA A JORDANOV KANONICKÝ TVAR. Michal Zajac. 3 T b 1 = T b 2 = = = 2b

3. kapitola. Axiomatická formulácia modálnej logiky Vzťah medzi syntaxou a sémantikou. priesvitka 1

Moderné vzdelávanie pre vedomostnú spoločnosť Projekt je spolufinancovaný zo zdrojov EÚ M A T E M A T I K A

9. kapitola Boolove funkcie a logické obvody

4. Výrokové funkcie (formy), ich definičný obor a obor pravdivosti

ARMA modely čast 2: moving average modely (MA)

Motivácia pojmu derivácia

x x x2 n

MIDTERM (A) riešenia a bodovanie

7 Derivácia funkcie. 7.1 Motivácia k derivácii

24. Základné spôsoby zobrazovania priestoru do roviny

2. prednáška. Teória množín I. množina operácie nad množinami množinová algebra mohutnosť a enumerácia karteziánsky súčin

Prechod z 2D do 3D. Martin Florek 3. marca 2009

M6: Model Hydraulický systém dvoch zásobníkov kvapaliny s interakciou

Definícia parciálna derivácia funkcie podľa premennej x. Definícia parciálna derivácia funkcie podľa premennej y. Ak existuje limita.

Jednotkový koreň (unit root), diferencovanie časového radu, unit root testy

Integrovanie racionálnych funkcií

Spojité rozdelenia pravdepodobnosti. Pomôcka k predmetu PaŠ. RNDr. Aleš Kozubík, PhD. 26. marca Domovská stránka. Titulná strana.

Reálna funkcia reálnej premennej

1. písomná práca z matematiky Skupina A

Automatizácia technologických procesov

1-MAT-220 Algebra februára 2012

Prednáška Fourierove rady. Matematická analýza pre fyzikov IV. Jozef Kise lák

Metódy vol nej optimalizácie

Deliteľnosť a znaky deliteľnosti

Kompilátory. Cvičenie 6: LLVM. Peter Kostolányi. 21. novembra 2017

Príklady na precvičovanie Fourierove rady

Logické systémy. doc. RNDr. Jana Galanová, PhD. RNDr. Peter Kaprálik, PhD. Mgr. Marcel Polakovič, PhD.

Obsah. 1.1 Reálne čísla a ich základné vlastnosti Komplexné čísla... 8

4 Reálna funkcia reálnej premennej a jej vlastnosti

Priamkové plochy. Ak každým bodom plochy Φ prechádza aspoň jedna priamka, ktorá (celá) na nej leží potom plocha Φ je priamková. Santiago Calatrava

3. Striedavé prúdy. Sínusoida

Goniometrické substitúcie

TECHNICKÁ UNIVERZITA V KOŠICIACH STROJNÍCKA FAKULTA MATEMATIKA 1. Funkcia jednej premennej a jej diferenciálny počet

Vybrané partie z logiky

Výroky, hypotézy, axiómy, definície a matematické vety

7. Dokážte, že z každej nekonečnej množiny môžeme vydeliť spočítateľnú podmnožinu.

Obyčajné diferenciálne rovnice

Technická univerzita v Košiciach. Zbierka riešených a neriešených úloh. z matematiky. pre uchádzačov o štúdium na TU v Košiciach

NUMERICKÁ MATEMATIKA. Moderné vzdelávanie pre vedomostnú spoločnosť/ Projekt je spolufinancovaný zo zdrojov EÚ. Fakulta elektrotechniky a informatiky

Algoritmy teórie grafov

Eulerovské grafy. Príklad Daný graf nie je eulerovský, ale obsahuje eulerovskú cestu (a, ab, b, bc, c, cd, d, da, a, ac, c, ce, e, ed, d, db).

Úvod 2 Predhovor... 2 Sylaby a literatúra... 2 Označenia... 2

Technická univerzita v Košiciach Fakulta elektrotechniky a informatiky MATEMATIKA II. Zbierka riešených a neriešených úloh

Prirodzené čísla. Kardinálne čísla

ALGEBRA. Číselné množiny a operácie s nimi. Úprava algebrických výrazov

1 Úvod Predhovor Sylaby a literatúra Základné označenia... 3

MATEMATICKÁ ANALÝZA 1

Mini minimaliz acia an BUˇ Koˇ sice 2011

Derivácia funkcie. Pravidlá derivovania výrazov obsahujúcich operácie. Derivácie elementárnych funkcií

1 Polynómy a racionálne funkcie Základy Polynómy Cvičenia Racionálne funkcie... 17

Podmienenost problému a stabilita algoritmu

FUNKCIE. Funkcia základné pojmy. Graf funkcie

Spojitosť a limity trochu inak

3. Výroková logika. Princíp dvojhodnotovosti (bivalencie): Existujú práve dve pravdivostné hodnoty pravda a nepravda.

Úvod do lineárnej algebry

Kódovanie a dekódovanie

VLADIMÍR KVASNIČKA JIŘÍ POSPÍCHAL. Matematická logika

ZÁKLADY MATEMATIKY 1 UNIVERZITA KONŠTANTÍNA FILOZOFA V NITRE FAKULTA PRÍRODNÝCH VIED

BANACHOVE A HILBERTOVE PRIESTORY

Riešenie sústavy lineárnych rovníc. Priame metódy.

Chí kvadrát test dobrej zhody. Metódy riešenia úloh z pravdepodobnosti a štatistiky

Metódy vol nej optimalizácie

Návrh vzduchotesnosti pre detaily napojení

23. Zhodné zobrazenia

Riešenie cvičení z 5. kapitoly

PREHĽAD ZÁKLADNÝCH VZORCOV A VZŤAHOV ZO STREDOŠKOLSKEJ MATEMATIKY. Pomôcka pre prípravný kurz

AerobTec Altis Micro

Cieľom cvičenia je zvládnuť riešenie diferenciálnych rovníc pomocou Laplaceovej transformácie,

Automaty a formálne jazyky

G. Monoszová, Analytická geometria 2 - Kapitola III

Symbolická logika. Stanislav Krajči. Prírodovedecká fakulta

3. prednáška. Komplexné čísla

Reprezentácia informácií v počítači

Základy matematickej štatistiky

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY

Transcript:

Katedra Informatiky Fakulta Matematiky, Fyziky a Informatiky Univerzita Komenského, Bratislava Čiastočné boolovské funkcie (Bakalárska práca) Lucia Haviarová Vedúci: doc. RNDr. Eduard Toman, CSc. Bratislava, 29

Čestne prehlasujem, že som túto bakalársku prácu vypracovala samostatne s použitím citovaných zdrojov a literatúry. Bratislava, dňa Lucia Haviarová

Pod akovanie Ďakujem vedúcemu bakalárskej práce doc. RNDr. Eduardovi Tomanovi, CSc. za odbornú pomoc, za výber témy, študijné materiály, konzultácie a ostatnú pomoc pri vypracovaní. Ďalej by som chcela pod akovat svojim rodičom za výraznú podporu pri štúdiu a svojmu priatel ovi za všetko, čo pre mňa urobil.

Abstract Autor: Lucia Haviarová Názov bakalárskej práce: Čiastočné boolovské funkcie Škola: Univerzita Komenského v Bratislave Fakulta: Fakulta matematiky, fyziky a informatiky Katedra: Katedra informatiky Vedúci bakalárskej práce: doc. RNDr. Eduard Toman, CSc. Rozsah práce: 54 strán Bratislava, jún 29 Ciel om tejto bakalárskej práce je formulovat úlohu minimalizácie v triede DNF a zvládnut základné techniky minimalizácie čiastočných boolovských funkcií. KL ÚČOVÉ SLOVÁ: čiastočná boolovská funkcia, disjunktívna normálna forma, Karnaughova mapa, techniky minimalizácie, lokálny algoritmus

Obsah Zoznam obrázkov 3 Zoznam tabuliek 4 Úvod 5 Algebra logiky 6. Čiastočné logické (boolovské) funkcie.............. 6.2 Ekvivalencia formúl, vlastnosti elementárnych funkcií..... 8.3 Rozklad čiastočných boolovských funkcií podl a premenných..4 Úplný systém logických spojok.................. 2 2 Disjunktívne normálne formy 4 2. Pojem disjunktívnej normálnej formy, konjunktívnej normálnej formy............................... 4 2.2 Karnaughove mapy........................ 5 2.3 Minimálna DNF, najkratšia DNF, problém minimalizácie čiastočných boolovských funkcií........................ 7 2.4 Iredundantné DNF, algoritmus zjednodušenia DNF...... 2 2.5 Formulácia úlohy v geometrickej forme............. 27 2.6 Skrátená DNF........................... 32

2.7 Iredundantnost na základe geometrických znázornení, algoritmus zostrojenia iredundantných DNF.............. 34 2.8 Quinova DNF, DNF typu ΣT.................. 4 2.9 Lokálne skúmanie pokrytia pri úlohách minimalizácie, pojem lokálneho algoritmu........................ 47 Záver 53

Zoznam obrázkov 2. Spôsob zostavenia Karnaughových máp............. 5 2.2 Karnaughova mapa čiastočnej boolovskej funkcie f....... 6 2.3 Hodnoty čiastočnej boolovskej funkcie f............. 7 2.4 Hodnoty čiastočnej boolovskej funkcie f............. 22 2.5 Projekcia 3-rozmernej kocky do roviny a Karnaghova mapa čiastočnej boolovskej funkcie 3 premenných........... 28 2.6 Projekcia 4-rozmernej kocky do roviny a Karnaghova mapa čiastočnej boolovskej funkcie 4 premenných........... 29 2.7 Projekcia 5-rozmernej kocky do roviny a Karnaghova mapa čiastočnej boolovskej funkcie 5 premenných........... 3 2.8 Karnaughova mapa čiastočnej boolovskej funkcie f....... 3 2.9 Hodnoty čiastočnej boolovskej funkcie f............. 33 2. Hodnoty čiastočnej boolovskej funkcie f............. 35 2. Množina N f a maximálne hrany................. 36 2.2 Schéma procesu minimalizácie.................. 4 2.3 Hodnoty čiastočnej boolovskej funkcie f............. 42 2.4 Množina N f a maximálne hrany................. 43 2.5 Schéma procesu minimalizácie.................. 47

Zoznam tabuliek. Hodnoty čiastočnej boolovskej funkcie f............. 7.2 Hodnoty čiastočnej boolovskej funkcie f............. 3 2. Popis jednotlivých krokov algoritmu pre východiskovú DN F 23 2.2 Popis jednotlivých krokov algoritmu pre východiskovú DN F 2 25 2.3 Tabul ka algoritmu zostrojenia iredundantných DNF...... 38 2.4 Výsledok algoritmu zostrojenia iredundantných DNF..... 39

Úvod Boolovská (logická) funkcia opisuje, ako určit boolovskú hodnotu výstupu založenú na logických výpočtoch z boolovských vstupov. Sú vhodným modelom pri riešení mnohých problémov v rozličných oblastiach, napr. zohrávajú významnú úlohu v otázkach komplexnosti ako aj v návrhu logických obvodov a čipov pre počítače. Vlastnosti boolovských funkcií zohrávajú dôležitú úlohu v kryptológii, hlavne v návrhu šifrovacích algoritmov so symetrickými kl účmi. V tejto bakalárskej práci sa budeme zaoberat čiastočnými boolovskými funkciami, teda funkciami, ktorých definičným oborom je vlastná podmnožina definičného oboru boolovskej funkcie. Každú čiastočnú boolovskú funkciu možno vyjadrit v tvare disjunktívnej normálnej formy, pričom pre každú funkciu môže existovat viacero vyjadrení pomocou DNF. Ciel om tejto práce je definovat tieto DNF a zvládnut základné metódy minimalizácie v triede DNF. V tejto práci sa tiež budeme zaoberat vzt ahmi medzi definovanými DNF.

Kapitola Algebra logiky. Čiastočné logické (boolovské) funkcie Logická (boolovská) funkcia premenných x, x 2,..., x n predstavuje zobrazenie, ktoré n ticiam hodnôt, prirad uje hodnotu z množiny B = {, }. Funkcia teda definuje zobrazenie B B... B B }{{} n Definičným oborom funkcie je množina B n, t.j. množina všetkých n tíc s prvkami a, ktorým zodpovedajú všetky možné usporiadané n tice hodnôt premenných x, x 2,..., x n. Obor hodnôt funkcie je B. Z definície boolovskej funkcie vyplýva, že existuje 2 2n n premenných. rôznych boolovských funkcií Čiastočná boolovská funkcia premenných x, x 2,..., x n predstavuje zobrazenie, ktoré vlastnej podmnožine množiny n tíc hodnôt, prirad uje hodnotu z množiny B = {, }. Funkcia teda definuje zobrazenie B B... B B }{{} n 6

KAPITOLA. ALGEBRA LOGIKY 7 Definičný obor funkcie je vlastná podmnožina množiny B n, funkcia nie je definovaná vo všetkých bodoch oboru B n boolovskej funkcie n premenných. Obor hodnôt čiastočnej boolovskej funkcie je B. Príklad.. Príklad čiastočnej boolovskej funkcie. Tabul ka.: Hodnoty čiastočnej boolovskej funkcie f x x 2 x 3 f Definičný obor funkcie f je množina {,,,, }. Obor hodnôt funkcie f je množina B = {, }. Funkcia nie je definovaná v bodoch,,. Tieto body sa nazývajú nedefinované body funkcie f. Lema... Elementárne logické funkcie:. f (x) = konštanta ; 2. f 2 (x) = konštanta ; 3. f 3 (x) = x funkcia identity; 4. f 4 (x) = x negácia x; 5. f 5 (x, x 2 ) = (x x 2 ) konjunkcia x a x 2, táto funkcia sa nazýva logickým súčinom;

KAPITOLA. ALGEBRA LOGIKY 8 6. f 6 (x, x 2 ) = (x x 2 ) disjunkcia x a x 2, táto funkcia sa nazýva logickým súčtom; 7. f 7 (x, x 2 ) = (x x 2 ) implikácia x a x 2, táto funkcia sa nazýva logickým dôsledkom; 8. f 8 (x, x 2 ) = (x + x 2 ) alternatíva x a x 2, súčet x a x 2 podl a mod 2; 9. f 9 (x, x 2 ) = (x x 2 ) Shefferova funkcia;. f (x, x 2 ) = (x x 2 ) Pierceova (Lukasiewiczova) funkcia; Definícia.. Nech X = {x, x 2,..., x n } je základná abeceda premenných. Označme P 2 množinu všetkých logických funkcií nad abecedou X. Nech P je nejaká (nemusí byt konečná) podmnožina funkcií z P 2. a) Indukčný predpoklad: Každá funkcia f(x, x 2,..., x n ) z P sa nazýva formulou nad P. b) Indukčný krok: Nech f(x, x 2,..., x n ) je funkcia z P a A, A 2,..., A n sú výrazy, ktoré sú alebo formulami nad P, alebo symbolmi premenných z U. Potom výraz f(a, A 2,..., A n ) sa nazýva formulou nad P. Definícia..2 Nech A je l ubovol ná formula nad P. Formuly, ktoré boli použité na jej vytvorenie, budeme nazývat podformuly formuly A..2 Ekvivalencia formúl, vlastnosti elementárnych funkcií Každá formula A zadáva prepis boolovskej funkcie, ktorú označíme f A, potom tabul ku, ktorou je táto funkcia zadaná, nazývame pravdivostnou tabul kou formuly A.

KAPITOLA. ALGEBRA LOGIKY 9 Definícia.2. Formuly A a B sa nazývajú ekvivalentnými, ak im priradené funkcie f A a f B majú rovnakú pravdivostnú tabul ku (zapisujeme A = B). Ked označíme (x x 2 ) l ubovol nú z funkcií (x x 2 ), (x x 2 ), (x + x 2 ), potom nasledujúce ekvivalencie charakterizujú vlastnosti nejakej množiny elementárnych funkcií:. Funkcia (x x 2 ) je asociatívna práve vtedy, ked platí ((x x 2 ) x 3 ) = (x (x 2 x 3 )) 2. Funkcia (x x 2 ) je komutatívna práve vtedy, ked platí (x x 2 ) = (x 2 x ) 3. Pre konjunkciu a disjunkciu platia distributívne zákony ((x x 2 ) x 3 ) = ((x x 3 ) (x 2 x 3 )) ((x x 2 ) x 3 ) = ((x x 3 ) (x 2 x 3 )) 4. Medzi konjunkciou, disjunkciou a negáciou platia vzt ahy x = x (x x 2 ) = ( x x 2 ) (x x 2 ) = ( x x 2 ) 5. Vlastnosti konjunkcie a disjunkcie (x x) = x (x x) = x (x x) = (x x) = (x ) = (x ) = x (x ) = x (x ) =

KAPITOLA. ALGEBRA LOGIKY Ekvivalencie možno l ahko overit porovnaním funkcií priradených l avej a pravej strane ekvivalencie. V nasledujúcich kapitolách budeme používat označenie Označenie.2. s x i = x x 2... x s i= s x i = x x 2... x s i= Tieto zápisy majú zmysel pre s..3 Rozklad čiastočných boolovských funkcií podl a premenných Označenie.3. x σ = xσ x σ kde σ je parameter rovnajúci sa alebo. Je zrejmé, že x σ = { x, ak σ = x, ak σ = Vidiet, že x σ = vtedy a len vtedy, ked x = σ, t.j. hodnota základu sa rovná hodnote exponentu. Veta.3. (Veta o rozklade funkcií podl a premenných). Každú logickú funkciu f(x,..., x m, x m+,..., x n ) možno vyjadrit pre l ubovol né m( m n) v tvare f(x,..., x m, x m+,..., x n ) = σ,...,σ m x σ... x σm m f(σ,..., σ m, x m+,..., x n ) ()

KAPITOLA. ALGEBRA LOGIKY kde sa disjunkcia berie cez všetky možné m tice hodnôt premenných x,..., x m. Toto vyjadrenie sa nazýva rozklad čiastočnej boolovskej funkcie podl a m premenných x,..., x m. Dôkaz.3. Nech (α, α 2,..., α n ) je l ubovol ný vektor hodnôt premenných. Ukážeme, že l avá a pravá strana vzt ahu () nadobúda na tomto vektore rovnakú hodnotu. Na l avej strane dostaneme f(α, α 2,..., α n ), a na pravej σ,...,σ m α σ... α σm m f(σ,..., σ m, α m+,..., α n ) = = α σ... α σm m f(α,..., α m, α m+,..., α n ) = f(α, α 2,..., α n ) Ako dôsledky vety.3. dostávame dva špeciálne prípady rozkladu.. Rozklad podl a premennej: f(x,..., x n, x n ) = x n f(x,..., x n, ) x n f(x,..., x n, ) Funkcie f(x,..., x n, ) a f(x,..., x n, ) sa nazývajú komponenty rozkladu. Tento rozklad je vhodný vtedy, ked sa nejaké vlastnosti boolovských funkcií určujú metódou indukcie. 2. Rozklad podl a všetkých n premenných: f(x,..., x n ) = x σ... x σn n f(σ,..., σ n ) σ,...,σ n Pre f(x,..., x n ) môže byt tento rozklad vyjadrený takto: x σ... x σn n f(σ,..., σ n ) = σ,...,σ n Nakoniec dostaneme: f(x,..., x n ) = σ,...,σn f(σ,...,σn)= σ,...,σn f(σ,...,σn)= x σ... x σn n x σ... x σn n Takýto rozklad sa nazýva úplnou disjunktívnou normálnou formou (úplnou DNF) a formálne ho zadefinujeme v nasledujúcej kapitole.

KAPITOLA. ALGEBRA LOGIKY 2.4 Úplný systém logických spojok Definícia.4. Množina logických spojok tvorí úplný systém logických spojok, ak pre každú formulu A existuje formula B s ňou ekvivalentná, ktorá používa len spojky z množiny. Veta.4. Spojky negácia, konjunkcia a disjunkcia tvoria úplný systém. Dôkaz.4.. Nech f(x,..., x n ) =. Potom zrejme f(x,..., x n ) = x x 2. Nech f(x,..., x n ). Potom ju možno vyjadrit v tvare úplnej DNF f(x,..., x n ) = σ,...,σn f(σ,...,σn)= x σ... x σn n Takto sa v obidvoch prípadoch vyjadruje čiastočná boolovská funkcia f formulou nad negáciou, konjunkciou a disjunkciou. Uvedená veta má konštruktívny charakter a umožňuje pre každú funkciu zostrojit formulu, ktorá ju realizuje v tvare úplnej DNF. Z tabul ky funkcie f(x,..., x n ) (f ) vyberieme všetky riadky (σ,..., σ n ), v ktorých f(σ,..., σ n ) =, pre každý takýto riadok vytvárame logický súčin x σ... x σn n potom spojíme všetky získané konjunkcie znakom disjunkcie.

KAPITOLA. ALGEBRA LOGIKY 3 Príklad.4. Nájdite úplnú DNF čiastočnej boolovskej funkcie danej nasledujúcou tabul kou: Tabul ka.2: Hodnoty čiastočnej boolovskej funkcie f x x 2 x 3 f(x, x 2, x 3 ) Definičný obor funkcie f je množina {,,,,, }. Obor hodnôt funkcie f je množina B = {, }. Funkcia nie je definovaná v bodoch,. DNF N = x x 2 x 3 x x 2 x 3 x x 2 x 3

Kapitola 2 Disjunktívne normálne formy 2. Pojem disjunktívnej normálnej formy, konjunktívnej normálnej formy Definícia 2.. Výraz K = x σ i... x σr i r, (i v i u pre v u) sa nazýva elementárnou konjunkciou. Číslo r sa nazýva rádom elementárnej konjunkcie. Definitoricky považujeme konštantu za konjunkciu rádu. Definícia 2..2 Výraz kde K i N = s i=k i (K i K j pre i j) (i =,..., s) je elementárna konjunkcia rádu r i, sa nazýva disjunktívna normálna forma (DNF). Definícia 2..3 Výraz D = x σ i... x σr i r, (i v i u pre v u) sa nazýva elementárnou disjunkciou. Číslo r sa nazýva rádom elementárnej disjunkcie. Definitoricky považujeme konštantu za disjunkciu rádu. 4

DISJUNKTÍVNE NORMÁLNE FORMY 5 Definícia 2..4 Výraz N = s i=d i (D i D j pre i j) kde D i (i =,..., s) je elementárna disjunkcia rádu r i, sa nazýva konjunktívna normálna forma (KNF). 2.2 Karnaughove mapy Karnaughova mapa je dvojrozmerné pole, slúžiace na zápis boolovskej funkcie, ktorá mi umožní jednoduché grafické vyznačenie DNF tejto funkcie. Definícia 2.2. Karnaughova mapa pre čiastočné boolovské funkcie n premenných x,..., x n je tabul ka pozostávajúca z 2 n štvorčekov, pričom ku každému štvorčeku je priradená práve jedna hodnota z B n. Obr. 2.: Spôsob zostavenia Karnaughových máp Karnaughovu mapu o vel kosti tvoria dva štvorce nad sebou, pričom štvorčeku, ktorý je zl ava vyznačený zvislou čiarou, je priradená hodnota a štvorčeku nad ním hodnota. Nech M n je Karnaughova mapa pre čiastočnú boolovskú funkciu n premenných x,..., x n. Mapa M n+ sa skladá z mapy M n a jej súmerne združeného obrazu M n podl a osi o. Vodorovná resp. zvislá

DISJUNKTÍVNE NORMÁLNE FORMY 6 kódovacia čiara pri M n označená premennou x n+ vyjadruje, že ku každému štvorčeku z M n je priradená hodnota (x,..., x n ) B n+, pre ktorú x n+ =, a ku každému štvorčeku z M n zas hodnota, pre ktorú x n+ =. Kódovacie čiary pri M n rovnobežné s osou, ktoré vznikli súmernost ou podl a tejto osi, sa nevykresl ujú. Ak v Karnaughovej mape pre n premenných do každého štvorčeka, ktorý zodpovedá bodu (x,..., x n ) B n, vpíšeme hodnotu čiastočnej boolovskej funkcie f (ak je v danom bode definovaná, - v opačnom prípade), získame Karnaughovu mapu čiastočnej boolovskej funkcie f. Obr. 2.2: Karnaughova mapa čiastočnej boolovskej funkcie f

DISJUNKTÍVNE NORMÁLNE FORMY 7 2.3 Minimálna DNF, najkratšia DNF, problém minimalizácie čiastočných boolovských funkcií Príklad 2.3. Uvažujeme čiastočnú boolovskú funkciu f(x, x 2, x 3 ) danú nasledujúcou Karnaughovou mapou: Obr. 2.3: Hodnoty čiastočnej boolovskej funkcie f Definičný obor funkcie f je množina {,,,,, }. Obor hodnôt funkcie f je množina B = {, }. Funkcia nie je definovaná v bodoch,. Úplná DNF funkcie f: N = x x 2 x 3 x x 2 x 3 x x 2 x 3 x x 2 x 3 x x 2 x 3 Táto funkcia sa dá vyjadrit aj inou DNF: N 2 = x 2 x 3 x Uvedený príklad ukazuje, že l ubovol ná čiastočná boolovská funkcia môže byt vo všeobecnosti vyjadrená vo forme DNF nejednoznačne. V súvislosti s tým vzniká možnost výberu najvhodnejšej realizácie. Preto zavedieme index jednoduchosti L(N) charakterizujúci zložitost DNF. Pre funkcionál L(N) vyžadujeme splnenie týchto axióm: I. Axióma nezápornosti. Pre l ubovol nú DNF L(N).

DISJUNKTÍVNE NORMÁLNE FORMY 8 II. Axióma monotónnosti (vzhl adom na násobenie). Nech N = N x σ i i K. Potom L(N) L(N K ). III. Axióma vypuklosti (vzhl adom na sumáciu). Nech N = N N 2. Ak N N 2, tak platí L(N) L(N ) + L(N 2 ). IV. Axióma invariantnosti (vzhl adom na izomorfizmus). Nech DNF N bola získaná z DNF N premenovaním premenných (bez stotožnenia). Potom L(N) = L(N ). Príklady rozličných indexov jednoduchosti DNF:. L P (N) je počet symbolov premenných, ktoré sa vyskytujú v zápise DNF N. Ak vezmeme DNF N a N 2 z príkladu 2.., tak L P (N ) = 5 a L P (N 2 ) = 3, t.j. v zmysle tohoto indexu je DNF N jednoduchšia ako DNF N 2. 2. L K (N) je počet elementárnych konjunkcií vyskytujúcich sa v DNF. Pre DNF N a N 2 je zrejme L P (N ) = 5 a L P (N 2 ) = 2, t.j. v zmysle tohoto indexu je DNF N jednoduchšia ako DNF N 2. 3. L (N) je počet symbolov s negáciou vyskytujúcich sa v zápise DNF N. Pre DNF N a N 2 je L P (N ) = 7 a L P (N 2 ) = 2, t.j. v zmysle tohoto indexu je DNF N jednoduchšia ako DNF N 2. Každý z uvedených indexov vyhovuje axiómam I IV. Nad abecedou premenných {x, x 2,..., x n } môžeme zostrojit 3 n rôznych elementárnych konjunkcií, každé x i do konjunkcie dáme, dáme negované alebo nedáme (prázdnej konjunkcii priradíme konštantu ). Každú z 3 n konjunkcií potom do DNF dáme alebo nie, z toho vyplýva, že počet DNF nad touto abecedou z n písmen sa rovná 2 3n.

DISJUNKTÍVNE NORMÁLNE FORMY 9 Definícia 2.3. DNF N, ktorá realizuje čiastočnú boolovskú funkciu f(x, x 2,..., x n ) a má minimálny index L(N), sa nazýva minimálnou DNF vzhl adom na L. Minimálna DNF vzhl adom na index jednoduchosti L P (N) sa nazýva jednoducho minimálna DNF. Minimálna DNF vzhl adom na index jednoduchosti L K (N) sa nazýva najkratšou DNF. K príkladu 2.3.: DNF N 2 = x 2 x 3 x je minimálna. Funkcia f(x, x 2, x 3 ) ktorá je realizovaná touto DNF závisí od premenných x, x 2, x 3, a preto nemôže byt realizovaná DNF, ktorá by obsahovala menej ako tri premenné. DNF N 2 = x 2 x 3 x je najkratšou DNF, pretože funkciu f(x, x 2, x 3 ), ktorá je realizovaná touto DNF nemožno vyjadrit len elementárnou konjunkciou. Základná otázka spočíva v tom, ako pre l ubovol nú čiastočnú boolovskú funkciu f(x, x 2,..., x n ) zostrojit minimálnu DNF vzhl adom na L. Táto úloha sa nazýva problém minimalizácie čiastočných boolovských funkcií. Úloha pripúšt a triviálne riešenie: Najskôr v l ubovol nom poradí vytvoríme všetky DNF nad premennými x, x 2,..., x n. Potom vyberieme z tohto súboru tie DNF, ktoré realizujú danú čiastočnú boolovskú funkciu f(x, x 2,..., x n ). Nakoniec sa pre vybrané DNF vyčísluje hodnota indexu jednoduchosti a jeho porovnaním nájdeme minimálnu DNF (vzhl adom na L). Uvedený algoritmus je vel mi náročný z hl adiska jeho realizácie, pretože je založený na prezeraní všetkých DNF, t.j. vyžaduje si vo všeobecnosti vel ké množstvo jednoduchších operácií. Nedá sa prakticky použit pre n 3. Z toho vyplýva záver, že algoritmy úplného prezerania, t.j. algoritmy podobné Pretože všetkých DNF pre 4 premenné je 2 34 = 2.478564 24

DISJUNKTÍVNE NORMÁLNE FORMY 2 triviálnemu algoritmu, prezerajúce všetky DNF, sú nepoužitel ným prostriedkom pri riešení problémov minimalizácie čiastočných boolovských funkcií. 2.4 Iredundantné DNF, algoritmus zjednodušenia DNF Nech N je l ubovol ná DNF a N = N K a N = N x σ i i K kde K je nejaká elementárna konjunkcia z N, N je DNF vytvorená z ostatných konjunkcií nachádzajúcich sa v N, x σ i i je neurčitý činitel z K a K je súčin zvyšných činitel ov z K. Poznáme dva typy transformácií z K: I. Operácia vynechania elementárnej konjunkcie. Prechod od DNF N k DNF N sa nazýva transformácia, ktorá spočíva vo vynechaní elementárnej konjunkcie K. Táto transformácia je definovaná vtedy a len vtedy, ked N = N. II. Operácia vynechania činitel a. Prechodom od DNF N k DNF N K je transformácia, ktorá spočíva vo vynechaní činitel a x σ i i. Táto transformácia je definovaná vtedy a len vtedy, ked N K = N. Definícia 2.4. DNF N, ktorú nemožno zjednodušit pomocou transformácií a 2 sa nazýva iredundantnou DNF vzhl adom na transformácie I a II. K príkladu 2.3.: Je zrejmé, že DNF N = x x 2 x 3 je iredundantná vzhl adom na uvedené transformácie. Na základe uvedených dvoch transformácií môžeme sformulovat algoritmus zjednodušenia DNF. Tento algoritmus je názorný, pretože L(N) L(N),

DISJUNKTÍVNE NORMÁLNE FORMY 2 L(N) L(N K ). L ahko vidiet, že medzi iredundantnými DNF funkcie f(x, x 2,..., x n ) sa nachádzajú aj minimálne DNF.. Vyberieme l ubovol nú DNF funkciu f(x, x 2,..., x n ) ako východiskovú. Možno napr. vziat úplnú DNF, pretože existuje jednoduchý spôsob jej zostrojenia. 2. Usporiadame elementárne konjunkcie a v každej konjunkcii usporiadame činitele. Toto usporiadanie možno zadat zápisom DNF. 3. Potom prezrieme zápis DNF zl ava doprava. Pre každú konjunkciu K i (i =,..., s) skúšame najskôr použitie operácie vynechania elementárnej konjunkcie K i. Ak to nie je možné, tak prezeráme členy x σ iv i v konjunkcie K i zl ava doprava (v =,..., r) K i = x σ i i,..., x σ ir i r a aplikujeme operáciu vynechania činitel a dovtedy, kým je to možné. Potom prechádzame k nasledujúcej elementárnej konjunkcii. Po ukončení spracovania poslednej elementárnej konjunkcie ešte raz prezrieme získanú DNF zl ava doprava a skúšame možnost použitia operácie vynechania elementárnej konjunkcie. Ako výsledok tohto procesu dostaneme hl adanú DNF. DNF, ktorá sa získa použitím algoritmu zjednodušenia, je iredundantná DNF (vzhl adom na transformácie I a II).

DISJUNKTÍVNE NORMÁLNE FORMY 22 Príklad 2.4. Uvažujme funkciu f(x, x 2,..., x n ) danú nasledujúcou Karnaughovou mapou: Obr. 2.4: Hodnoty čiastočnej boolovskej funkcie f Ako východiskovú DNF vezmeme jej úplnú DNF v dvoch usporiadaniach:. N = x x 2 x 3 x x 2 x 3 x x 2 x 3 x x 2 x 3 x x 2 x 3 x x 2 x 3 2. N = x x 2 x 3 x 3 x x 2 x 2 x x 3 x x 2 x 3 x 3 x x 2 x x 2 x 3

DISJUNKTÍVNE NORMÁLNE FORMY 23 Algoritmus zjednodušenia pracuje nasledovne: Tabul ka 2.: Popis jednotlivých krokov algoritmu pre východiskovú DN F Číslo kroku 2 3 4 5 6 7 Získaná DNF x x 2 x 3 x x 2 x 3 x x 2 x 3 x x 2 x 3 x x 2 x 3 x x 2 x 3 x 2 x 3 x x 2 x 3 x x 2 x 3 x x 2 x 3 x x 2 x 3 x x 2 x 3 x 2 x 3 x x 3 x x 2 x 3 x x 2 x 3 x x 2 x 3 x x 2 x 3 x 2 x 3 x x 3 x x 2 x 3 x x 2 x 3 x x 2 x 3 x 2 x 3 x x 3 x x 2 x 3 x x 2 x 3 x 2 x 3 x x 3 x x 3 x x 2 x 3 x 2 x 3 x x 3 x x 3 x 2 x 3 Opakované prezeranie nemení DNF Koniec algoritmu. Konštrukcia úplnej DNF čiastočnej boolovskej funkcie ako vstup algoritmu 2. Z konjunkcie x x 2 x 3 možno vynechat činitel x, pretože x 2 x 3 = x x 2 x 3 x x 2 x 3. V dôsledku toho dostávame konjunkciu x 2 x 3. 3. Konjunkciu x x 2 x 3 tiež nemožno vynechat, možno z nej vynechat činitel x 2, pretože x x 3 = x x 2 x 3 x x 2 x 3. V dôsledku toho dostávame konjunkciu x x 3. 4. Konjunkciu x x 2 x 3 môžeme vynechat, pretože x x 3 = x x 2 x 3 x x 2 x 3. 5. Konjunkciu x x 2 x 3 môžeme taktiež vynechat.

DISJUNKTÍVNE NORMÁLNE FORMY 24 6. Z konjunkcie x x 2 x 3 možno vynechat činitel x 2. V dôsledku toho dostávame konjunkciu x x 3. 7. Z konjunkcie x x 2 x 3 možno vynechat činitel x. V dôsledku toho dostávame konjunkciu x 2 x 3. Dostaneme tak DNF N = x 2 x 3 x x 3 x x 3 x 2 x 3 Opakované prezeranie tejto DNF za účelom vynechania konjunkcií už neumožňuje zjednodušenie. Z toho vyplýva, že získaná DNF je výsledkom použitia algoritmu zjednodušenia.

DISJUNKTÍVNE NORMÁLNE FORMY 25 Tabul ka 2.2: Popis jednotlivých krokov algoritmu pre východiskovú DN F 2 Číslo kroku 2 3 4 5 6 7 8 9 2 Získaná DNF Prvé prezeranie DNF x x 2 x 3 x 3 x x 2 x 2 x x 3 x x 2 x 3 x 3 x x 2 x x 2 x 3 x 2 x 3 x 3 x x 2 x 2 x x 3 x x 2 x 3 x 3 x x 2 x x 2 x 3 x 2 x 3 x x 2 x 2 x x 3 x x 2 x 3 x 3 x x 2 x x 2 x 3 x 2 x 3 x x 2 x x 3 x x 2 x 3 x 3 x x 2 x x 2 x 3 x 2 x 3 x x 2 x x 3 x 2 x 3 x 3 x x 2 x x 2 x 3 x 2 x 3 x x 2 x x 3 x 2 x 3 x x 2 x x 2 x 3 x 2 x 3 x x 2 x x 3 x 2 x 3 x x 2 Druhé prezeranie DNF x 2 x 3 x x 2 x x 3 x 2 x 3 x x 2 x 2 x 3 x x 2 x x 3 x 2 x 3 x x 2 x 2 x 3 x x 3 x 2 x 3 x x 2 x 2 x 3 x x 3 x 2 x 3 x x 2 x 2 x 3 x x 3 x x 2 x 2 x 3 x x 3 x x 2 Koniec algoritmu V tabul ke 2.4.3 sú uvedené základné etapy činnosti algoritmu pre východiskovú DNF 2 (v kroku 7, 9 a nie je použitel ná žiadna z operácií I, II). V tomto prípade dostávame ako výsledok algoritmu zjednodušenia DNF N 2 = x 2 x 3 x x 3 x x 2. L P (N ) = 8, L P (N 2 ) = 6, L P (N ) L P (N 2 )

DISJUNKTÍVNE NORMÁLNE FORMY 26 Z uvedeného príkladu vyplýva, že výsledok použitia algoritmu zjednodušenia závisí od výberu usporiadania východiskovej DNF. Iredundantné DNF môžu mat rôznu zložitost a môžu sa líšit od minimálnych DNF. V súvislosti s tým vzniká otázka, či môžeme pre l ubovol nú čiastočnú boolovskú funkciu, vychádzajúc z niektorého usporiadania, získat po použití algoritmu zjednodušenia minimálnu DNF. Veta 2.4. Nech f(x, x 2,..., x n ) je l ubovol ná čiastočná boolovská funkcia (f ) a N = s i= K i je jej l ubovol ná iredundantná DNF (vzhl adom na transformácie I a II). Potom existuje také usporiadanie úplnej DNF, z ktorého sa pomocou algoritmu zjednodušenia získa iredundantná DNF N. Dôkaz 2.4. Vezmeme úplnú DNF čiastočnej boolovskej funkcie f(x, x 2,..., x n ) v prirodzenom poradí konjunkcií a činitel ov N = σ,...,σn f(σ,...,σn)= x σ... x σn n Nech x σ... x σn n je jej l ubovol ná konjunkcia. Pretože f(σ,..., σ n ) = existuje v krajnom prípade aspoň jedna konjunkcia K i, i = i(σ,..., σ n ) z iredundantnej DNF taká, že K i(σ,...,σ n) = Z toho vyplýva, že K i = x σ i i... x σ ir i r. V konjunkcii x σ i i... x σ in i n vyberieme usporiadanie činitel ov tak, aby spočiatku nasledovali činitele nevyskytujúce sa v K i a až potom v l ubovol nom poradí činitele z K i. Z toho vyplýva x σ... x σn n = K σ K i(σ) (σ = (σ,..., σ n )) Získali sme úplné usporiadanie úplnej DNF, charakteristické zápisom N. Algoritmus zjednodušenia pre každú konjunkciu K σ K i(σ) v DNF N vedie k jednému z výsledkov: alebo ju vynechá, alebo ju transformuje na konjunkciu

DISJUNKTÍVNE NORMÁLNE FORMY 27 K i(σ). Takto získaná DNF N ktorá je výsledkom práce algoritmu, pozostáva jedine z elementárnych konjunkcií vyskytujúcich sa v N. Na druhej strane, v dôsledku iredundantnosti DNF N platí N = N. Pretože sa medzi iredundantnými DNF nevyhnutne vyskytujú aj minimálne DNF vzhl adom na L, algoritmus zjednodušenia pri príslušnom usporiadaní úplnej DNF umožňuje nájdenie aj minimálnej DNF. 2.5 Formulácia úlohy v geometrickej forme Množinu všetých binárnych n-tíc (α,..., α n ) označíme B n. Možno ju považovat za množinu všetkých vrcholov n-rozmernej jednotkovej kocky. Množinu B n budeme nazývat n-rozmernou kockou a n-tice (α,..., α n ) vrcholmi kocky. Definícia 2.5. Nech σ i,..., σ ir je pevne zvolená r-tica čísel z a taká, že i <... < i r n. Množina všetkých vrcholov (α,..., α n ) kocky B n takých, že α i = σ i, α i2 = σ i2,..., α ir = σ ir sa nazýva (n-r)-rozmernou hranou. (n-r)-rozmerná hrana je (n-r)-rozmernou podkockou kocky B n. Nech f(x, x 2,..., x n ) je l ubovol ná čiastočná boolovská funkcia. Priradíme jej podmnožinu N f vrcholov kocky B n tak, že (α,..., α n ) N f vtedy a len vtedy, ked f(α,..., α n ) = Množinu vrcholov kocky, v ktorých funkcia nie je definovaná znázorníme na obrázku červenou farbou. Z podmnožiny N f a z množiny nedefinovaných bodov sa pôvodná čiastočná funkcia určuje spätne jednoznačne.

DISJUNKTÍVNE NORMÁLNE FORMY 28 Obr. 2.5: Projekcia 3-rozmernej kocky do roviny a Karnaghova mapa čiastočnej boolovskej funkcie 3 premenných N f = {(,, ), (,, ), (,, ), (,, ), (,, )}

DISJUNKTÍVNE NORMÁLNE FORMY 29 Obr. 2.6: Projekcia 4-rozmernej kocky do roviny a Karnaghova mapa čiastočnej boolovskej funkcie 4 premenných N f = {(,,, ), (,,, ), (,,, ), (,,, ), (,,, ), (,,, ), (,,, )}

DISJUNKTÍVNE NORMÁLNE FORMY 3 Obr. 2.7: Projekcia 5-rozmernej kocky do roviny a Karnaghova mapa čiastočnej boolovskej funkcie 5 premenných N f = {(,,,, ), (,,,, ), (,,,, ), (,,,, ), (,,,, ), (,,,, ), (,,,, ), (,,,, ), (,,,, ), (,,,, ), (,,,, ), (,,,, )} Definícia 2.5.2 Nech K(x, x 2,..., x n ) je elementárna konjunkcia dĺžky r, kde K(x, x 2,..., x n ) = x σ i i... x σ ir i r. Množina N K, odpovedajúca konjunkcii K, sa nazýva interval r-tého rádu. Interval r-tého rádu N K je vlastne (n-r)-rozmerná hrana. Príklad 2.5. Konjunkciám K (x, x 2, x 3 ) = x 2 x 3 K 2 (x, x 2, x 3 ) = x x 2

DISJUNKTÍVNE NORMÁLNE FORMY 3 K 3 (x, x 2, x 3 ) = x odpovedajú intervaly N K = {(,, ), (,, )} N K2 = {(,, ), (,, )} N K3 = {(,, ), (,, ), (,, ), (,, )} ktoré majú príslušné rády 2, 2 a. Tieto intervaly odpovedajú jednorozmernej hrane (N K ), jednorozmernej hrane (N K2 ) a dvojrozmernej hrane (N K3 ). DNF čiastočnej boolovskej funkcie f odpovedá pokrytie N f intervalmi N K,..., N Ks a ku každému pokrytiu množiny N f intervalmi, nachádzajúcimi sa vnútri množiny N f, odpovedá DNF funkcie. Príklad 2.5.2 Vezmeme DNF čiastočnej boolovskej funkcie f(x, x 2, x 3 ), ktorá je daná nasledujúcou Karnaughovou mapou: Obr. 2.8: Karnaughova mapa čiastočnej boolovskej funkcie f N = x x 2 x 3 x x 2 x 3 x x 2 x 3 x x 2 x 3 x x 2 x 3 N 2 = x 2 x 3 x Týmto DNF odpovedajú dve pokrytia množiny N f N f = N K N K2 N K3 N K4 N K5

DISJUNKTÍVNE NORMÁLNE FORMY 32 N f2 = N K N K 2 kde N K = {(,, )}, N K2 = {(,, )}, N K3 = {(,, )}, N K4 = {(,, )}, N K5 = {(,, )}, N K = {(,, ), (,, )}, N K 2 = {(,, ), (,, ), (,, ), (,, )}. Jedno z týchto pokrytí je bodové a druhé pozostáva z jednorozmernej a dvojrozmernej hrany. Nech r i označuje rád intervalu N Ki, číslo r, kde r = s i= r i, budeme nazývat rádom pokrytia. Toto umožňuje sformulovat v geometrickom jazyku úlohu, úlohu o pokrytí, ktorá je ekvivalentná s úlohou minimalizácie čiastočnej boolovskej funkcie. Nájst pre danú množinu N f také pokrytie intervalmi, patriacimi do N f N f = N K N K2 N K3... N Ks aby jeho rád bol minimálny. K príkladu 2.5.2 Rád pokrytia r pre množinu N f danej čiastočnej boolovskej funkcie je 5, pre množinu N f2 3. 2.6 Skrátená DNF Definícia 2.6. Interval N K, obsiahnutý v N f, sa nazýva maximálny (vzhl adom na N f ), ak neexistuje interval N K taký, že. N K N K N f 2. Rád intervalu N K je menší ako rád intervalu N K. Definícia 2.6.2 Konjunkcia K, odpovedajúca maximálnemu intervalu N K množiny N f, sa nazýva prostý implikant čiastočnej boolovskej funkcie f.

DISJUNKTÍVNE NORMÁLNE FORMY 33 Definícia 2.6.3 DNF, ktorá je disjunkciou všetkých prostých implikantov funkcie f, sa nazýva skrátená DNF. N s = K K2... Km Geometrický prístup umožňuje aj spôsob zostavenia skrátenej DNF. Algoritmus zostrojenia funguje nasledovne. Vezmeme l ubovol nú konjunktívnu normálnu formu čiastočnej boolovskej funkcie f(x, x 2,..., x n ) (napr. úplnú KNF). Potom rozpíšeme zátvorky, t.j. realizujeme distributívne zákony. V získanom výraze vynecháme nulové členy, odstránime pohltené a násobné členy, t.j. uskutočňujeme transformácie typu K K 2 K = K, K K = K. Aplikovaním tohoto postupu dostaneme skrátenú DNF. Príklad 2.6. Uvažujeme funkciu f(x, x 2, x 3 ) danú nasledujúcou Karnaughovou mapou: Obr. 2.9: Hodnoty čiastočnej boolovskej funkcie f Úplná KNF funkcie: f(x, x 2, x 3 ) = (x x 2 x 3 ) ( x x 2 x 3 ) Po roznásobení zátvoriek a zjednodušení dostaneme (x x 2 x 3 ) ( x x 2 x 3 ) = x x x x 2 x x 3 x x 2 x 2 x 2 x 2 x 3 x x 3 x 2 x 3 x 3 x 3 = = x x 2 x x 3 x x 2 x 2 x 3 x x 3 x 2 x 3

DISJUNKTÍVNE NORMÁLNE FORMY 34 2.7 Iredundantnost na základe geometrických znázornení, algoritmus zostrojenia iredundantných DNF Definícia 2.7. Pokrytie množiny N f, pozostávajúce z maximálnych hrán (vzhl adom na N f ), sa nazýva ireducibilné, ak množina hrán, ktorá sa získa z pôvodnej vynechaním l ubovol nej hrany, nebude pokrytím N f. Definícia 2.7.2 DNF, odpovedajúca ireducibilnému pokrytiu množiny N f, sa nazýva iredundantná (v geometrickom zmysle). Príklad 2.7. Pre čiastočnú boolovskú funkciu f(x, x 2, x 3 ) danú Karnaughovou mapou 2.4. je N f = N x2 x 3 N x x 3 N x x 2 ireducibilným pokrytím a N = x 2 x 3 x x 3 x x 2 je iredundantnou DNF (v geometrickom zmysle). Pojem iredundantnej DNF vzhl adom na transformácie I a II a iredundantnej DNF v geometrickom zmysle sú ekvivalentné. Medzi definovanými DNF - skrátenou, iredundantnou a minimálnou existujú nasledujúce vzt ahy. Iredundantná DNF sa získa zo skrátenej vynechaním niektorých jej členov. Minimálna DNF (vzhl adom na index L P ) je iredundantná. Medzi iredundantnými DNF sa nachádza minimálna DNF (vzhl adom na L). V tejto kapitole ukážeme zložitejší príklad zostrojenia iredundantnej DNF, pri ktorom využijeme geometrické predstavy.

DISJUNKTÍVNE NORMÁLNE FORMY 35 Príklad 2.7.2 Nech f(x, x 2, x 3 ) je čiastočná boolovská funkcia daná nasledujúcou Karnaughovou mapou: Obr. 2.: Hodnoty čiastočnej boolovskej funkcie f Definičný obor funkcie f je množina {,,,,,,,,,,,, }. Obor hodnôt funkcie f je množina B = {, }. Funkcia nie je definovaná v bodoch,,.

DISJUNKTÍVNE NORMÁLNE FORMY 36 Na nasledujúcom obrázku je znázornená množina N f. Obr. 2.: Množina N f a maximálne hrany N f = {(,,, ), (,,, ), (,,, ), (,,, ), (,,, ), (,,, ), (,,, ), (,,, ), (,,, ), (,,, ), (,,, )} Do N f patria maximálne hrany: N 5, N 6, N 7 - jednoduché hrany a N, N 2, N 3, N 4 - dvojrozmerné hrany. Pokrytiu N N 2 N 3 N 4 N 5 N 6 N 7 teda odpovedá skrátená DNF. Dve hrany - N 3 a N 4 patria do l ubovol ného pokrytia, pretože iba ony pokrývajú vrcholy () a (). Na pokrytie vrchola () treba vziat hranu N alebo hranu N 2. a) Vezmeme hranu N. Zostáva pokryt vrcholy () a (), čo možno urobit dvoma spôsobmi: Alebo vezmeme hrany N 5 a N 7, alebo vezmeme hranu N 6. Dostaneme takto dve ireducibilné pokrytia N N 3 N 4 N 5 N 7, N N 3 N 4 N 6

DISJUNKTÍVNE NORMÁLNE FORMY 37 b) Vezmeme hranu N 2. Zostáva pokryt vrcholy (), () a (), čo možno urobit dvoma spôsobmi: Alebo vezmeme hrany N 5 a N 7, alebo vezmeme hrany N 6 a N 7. Dostávame d alšie dve ireducibilné pokrytia N 2 N 3 N 4 N 5 N 7, N 2 N 3 N 4 N 6 N 7 Pri zostrojení iredundantných DNF si všimnime, že maximálnym hranám N,..., N 7 odpovedajú prosté implikanty K = x 2 x 4, K 2 = x x 2, K 3 = x x 4, K 4 = x 2 x 3 K 5 = x 2 x 3 x 4, K 6 = x x 2 x 3, K 7 = x x 3 x 4 Dostaneme N = x 2 x 4 x x 4 x 2 x 3 x 2 x 3 x 4 x x 3 x 4 N 2 = x 2 x 4 x x 4 x 2 x 3 x x 2 x 3 N 3 = x x 2 x x 4 x 2 x 3 x 2 x 3 x 4 x x 3 x 4 N 4 = x x 2 x x 4 x 2 x 3 x x 2 x 3 x x 3 x 4 L P (N 2 ) = 9, L P (N ) = L P (N 3 ) = L P (N 4 ) = 2 Teraz uvedieme algoritmus zostrojenia iredundantných DNF, na základe využitia geometrických predstáv: Vychádzae z pokrytia množiny N f sústavou všetkých jej maximálnych intervalov N K,..., N Km Nech N f = {P,..., P λ } a P je l ubovol ný vrchol taký, že P / N f (predpokladáme, že f ). Zostavíme tabul ku, v ktorej σ ij = {, ak Pj / N Ki (i =,..., m), ak P j N Ki (j =,,..., λ)

DISJUNKTÍVNE NORMÁLNE FORMY 38 Prvý stĺpec je zrejme nulový, pretože P / N f, a v každom stĺpci rôznom od prvého je aspoň jedna jednotka. Pre každé j ( j λ) nájdeme množinu E j všetkých čísel riadkov, v ktorých sa v stĺpci P j nachádza (líši sa od stĺpca P ). Nech E j = {e j,..., e jµ(j) }. Zostavíme výraz λ (e j,..., e jµ(j) ) j= a realizujeme transformáciu pričom uvažujeme symboly e ako boolovské premenné. Potom v získanom výraze vylúčime pohlcované a násobné členy, t.j. realizujeme transformácie typu A B A = A, A A = A. Dostali sme výraz, ktorý je čast ou výrazu. Každý sčítanec v bude určovat ireducibilné pokrytie. Tabul ka 2.3: Tabul ka algoritmu zostrojenia iredundantných DNF - P P... P j... P N K σ σ... σ j... σ λ..................... N Ki σ i σ i... σ ij... σ λ..................... N Km σ m σ m... σ mj... σ mλ K príkladu 2.4. Množina N f danej čiastočnej boolovskej funkcie pozostáva zo šiestich vrcholov: {(,, ), (,, ), (,, ), (,, ), (,, ), (,, )} Vrcholy očíslujeme postupne I, II,..., V I. Maximálnymi intervalmi sú hrany N = {(,, ), (,, )}, N 2 = {(,, ), (,, )}, N 3 = {(,, ), (,, )}, N 4 = {(,, ), (,, )}, N 5 = {(,, ), (,, )}, N 6 = {(,, ), (,, )},

DISJUNKTÍVNE NORMÁLNE FORMY 39 ktorým odpovedajú prosté implikanty K = x x 2, K 2 = x x 3, K 3 = x 2 x 3, K 4 = x x 2, K 5 = x x 3, K 6 = x 2 x 3. Zostavíme podl a algoritmu nasledujúcu tabul ku: Tabul ka 2.4: Výsledok algoritmu zostrojenia iredundantných DNF - I II III IV V VI 2 3 4 5 6 Dostaneme E = {, 6}, E 2 = {, 2}, E 3 = {2, 3} E 4 = {3, 4}, E 5 = {4, 5}, E 6 = {5, 6} Potom = ( 6) ( 2) (2 3) (3 4) (4 5) (5 6) = = ( 2 5) (3 2 4) (5 4 6) = = ( 3 2 3 6 2 4 2 4 6) (5 4 6) = = 3 5 2 3 5 6 2 4 5 2 4 5 6 3 4 6 2 3 4 6 2 4 6 2 4 6 = = 3 5 2 3 5 6 2 4 5 3 4 6 2 4 6

DISJUNKTÍVNE NORMÁLNE FORMY 4 Dostávame pät ireducibilných pokrytí alebo pät iredundantných DNF N = x x 2 x 2 x 3 x x 3 N 2 = x x 3 x 2 x 3 x x 3 x 2 x 3 N 3 = x x 2 x x 3 x x 2 x x 3 N 4 = x x 2 x 2 x 3 x x 2 x 2 x 3 N 5 = x x 3 x x 2 x 2 x 3 Dve z nich, N a N 5, sú minimálne. Uvedený algoritmus je efektívny pre tento príklad, avšak už pre funkcie nevel kého počtu premenných sa môže stat, že časová zložitost algoritmu je vysoká, a teda je nevhodný. Súvisí to s rozsiahlost ou tabul ky, zložitost ou transformácií a v neposlednom rade aj s vel kým počtom iredundantných DNF.

DISJUNKTÍVNE NORMÁLNE FORMY 4 2.8 Quinova DNF, DNF typu ΣT Proces zostrojovania minimálnych DNF, ktorý vychádza z úplnej DNF, možno charakterizovat nasledujúcou schémou: Obr. 2.2: Schéma procesu minimalizácie Najskôr sa získa skrátená DNF, (pritom v danom kroku sa zložitost DNF môže zväčšit ), d alej prechádza jednoznačný proces do vetviaceho sa procesu získavania iredundantných DNF a nakoniec sa z iredundantných DNF vyčleňujú minimálne DNF. Vel mi náročná čast tohto procesu je práve vetviaca sa čast, zostrojenie iredundantných DNF. Možno sa pokúsit zjednodušit ho, použitím dvoch okolností. a) Vopred vylúčit čast členov skrátenej DNF, ktoré sa nezúčastňujú pri zostrojovaní iredundantných DNF a tým skrátit prezeranie. b) Vynechanie časti členov skrátenej DNF realizovat tak, aby zvyšujúca čast umožnila zostrojit aspoň jednu minimálnu DNF. Najvhodnejšie je, aby sa tento krok realizoval jednoznačne.

DISJUNKTÍVNE NORMÁLNE FORMY 42 V tejto kapitole opíšeme zostrojovanie dvoch takýchto jednoznačne určovaných DNF - Quinova DNF a DNF typu ΣT. Definícia 2.8. Hrana N K, maximálna vzhl adom na množinu N f, sa nazýva jadrová hrana, ak existuje taký vrchol α z N f, že α N K a α nepatrí žiadnej inej maximálnej hrane (vzhl adom na N f ). Definícia 2.8.2 Množina všetkých jadrových hrán vzhl adom na N f sa nazýva jadro (vzhl adom na N f ). Definícia 2.8.3 DNF N Q, ktorá sa získa z úplnej DNF vynechaním všetkých prostých implikantov odpovedajúcim maximálnym hranám, ktoré sa pokrývajú jadrom, sa nazýva Quinova DNF. Pre každú čiastočnú boolovskú funkciu existuje jediná Quinova DNF. Definícia Quinovej DNF dáva sformulovanie algoritmu umožňujúcemu zostrojit Quinovu DNF. Príklad 2.8. Uvažujme funkciu f(x, x 2, x 3 ) danú nasledujúcou Karnaughovou mapou: Obr. 2.3: Hodnoty čiastočnej boolovskej funkcie f Definičný obor funkcie f je množina {,,,,, }. Obor hodnôt funkcie f je množina B = {, }. Funkcia nie je definovaná v bodoch,.

DISJUNKTÍVNE NORMÁLNE FORMY 43 Obr. 2.4: Množina N f a maximálne hrany Na obrázku sú znázornené maximálne hrany - N, N 2 a N 3. N a N 3 sú jadrové hrany, pretože vrchol (,,) pokrýva iba hrana N a vrchol (,,) iba hrana N 3. Jadro je {N, N 3 }. Jadro patrí do každého ireducibilného pokrytia, z toho vyplýva, že hrany pokrývané jadrom nepatria do žiadneho pokrytia, ktoré nie je ireducibilné. Skrátená DNF tejto čiastočnej boolovskej funkcie je N S = x x 2 x 2 x 3 x x 3 Jadro {N, N 3 } pokrýva hranu N 2, ktorej odpovedá prostý implikant x 2 x 3. To znamená, že Quinova DNF má tvar N Q = x x 2 x x 3 Uvedený príklad ukazuje, že od skrátenej DNF čiastočnej boolovskej funkcie vynechaním niektorých prostých implikantov možno prejst ku Quinovej DNF, ktorá realizuje tú istú funkciu a pokrýva všetky jej iredundantné DNF. Definícia 2.8.4 DNF N ΣT, ktorá odpovedá pokrytiu množiny N f súborom všetkých takých maximálnych hrán (vzhl adom na N f ), ktoré v krajnom prípade patria aspoň do jedného ireducibilného pokrytia, sa nazýva DNF typu ΣT a označuje N ΣT.

DISJUNKTÍVNE NORMÁLNE FORMY 44 DNF N ΣT sa získava logickým súčtom (t.j. disjunkciou) všetkých iredundantných DNF čiastočnej boolovskej funkcie f a následným zlúčením rovnakých členov. Pre každú čiastočnú boolovskú funkciu existuje práve jedna DNF typu ΣT, ktorá ju realizuje. Získava sa zo skrátenej DNF vynechaním niektorých jej členov. Definícia 2.8.5 Nech α N f, potom súbor Π α všetkých maximálnych hrán (vzhl adom na N f ), obsahujúcich vrchol α, sa nazýva zväzok prechádzajúci cez α. Definícia 2.8.6 Nech α N f a N K je niektorá maximálna hrana taká, že α N K. Vrchol α sa nazýva regulárny vrchol (vzhl adom na N f a N K ), ak existuje vrchol β N f \ N K a Π β Π α. Definícia 2.8.7 Maximálna hrana N K sa vzhl adom na N f nazýva regulárna, ak každý jej vrchol je regulárny (vzhl adom na N f a N K ). Veta 2.8. (J. I. Žuravlev) Na to, aby prostý implikant K funkcie f nepatril do DNF typu ΣT, je nutné a stačí, aby odpovedajúca maximálna hrana N K bola regulárna. Dôkaz 2.8. Nutná podmienka: Nech K je prostý implikant funkcie f, K nepatrí do DNF typu ΣT a N K nie je (opačne ako tvrdí veta) regulárna hrana. V takomto prípade existuje vrchol α, α N K, ktorý nie je regulárny. Označíme β,..., β q vrcholy z množiny N f \ N K : N f \ N K = { β,..., β q } Podl a predpokladu Π β Π α,..., Π βq Π α preto existujú hrany N K,..., N K q, patriace postupne do zväzkov Π β,..., Π βq také, že α Π K,..., α Π K q

DISJUNKTÍVNE NORMÁLNE FORMY 45 Zrejme N K N K... N K q = N f Toto pokrytie umožňuje zostrojit ireducibilné pokrytie množiny N f. Pritom sa môžu vynechat niektoré z hrán N K... N K q. Zároveň však bude hrana N K nevyhnutne patrit do ireducibilného pokrytia, pretože iba ona pokrýva vrchol α. Dostávame, že N K patrí do niektorej iredundantnej DNF, a teda nevyhnutne aj do DNF typu ΣT, čo je spor s predpokladom. Hrana N K je teda regulárna. Postačujúca podmienka: Nech N K je regulárna hrana. Ukážeme, že K nepatrí do DNF typu ΣT. Označíme α,..., α t vrcholy množiny N K, t.j. N K = { α,..., α t } V dôsledku regulárnosti N K existujú vrcholy β,..., β t z N f \ N K také, že Π β Π α,..., Π βt Π αt () Vezmeme l ubovol nú iredundantnú DNF N funkcie f a príslušné ireducibilné pokrytie. Toto pokrytie N f = N... N m zrejme pokrýva vrcholy β,..., β t postupne hranami N i,..., N it. V dôsledku vzt ahov () tie isté hrany pokrývajú vrcholy α,..., α t, t.j. N i... N it N K Preto hrana N K nepatrí do daného ireducibilného pokrytia a prostý implikant K do DNF N. Uvedená veta tvorí základ pre sformulovanie algoritmu umožňujúceho vytvárat DNF typu ΣT. Zo skrátenej DNF je potrebné vynechat všetky konjunkcie, ktoré odpovedajú regulárnym hranám. DNF N ΣT čiastočnej boolovskej funkcie sa získava z Quinovej DNF N Q tejto funkcie vynechaním niektorých prostých implikantov. Vyplýva to zo skutočnosti, že každá maximálna hrana,

DISJUNKTÍVNE NORMÁLNE FORMY 46 ktorá je pohltená jadrom, je regulárna. K príkladu 2.8. Vezmeme si pre danú čiastočnú boolovskú funkciu za vrchol α vrchol (,,) a za maximálnu hranu N 2. Zrejme α N 2. Ukážeme, že vrchol α je regulárny vrchol (vzhl adom na N f a N 2 ). Nech β = (,,). Dostávame Π α = {N, N 2 }, Π β = {N }, Π β Π α Maximálna hrana N 2 je regulárna hrana, ale N a N 3 nie sú regulárne hrany. Jej vynechaním dostaneme N N 3, čo je DNF typu ΣT, ktorá je zhodná s iredundantnou DNF tejto funkcie.

DISJUNKTÍVNE NORMÁLNE FORMY 47 Teraz môžeme proces minimalizácie charakterizovat schémou na nasledujúcom obrázku: Obr. 2.5: Schéma procesu minimalizácie 2.9 Lokálne skúmanie pokrytia pri úlohách minimalizácie, pojem lokálneho algoritmu Algoritmy zostrojenia DNF N Q a DNF N ΣT vychádzajú zo špeciálneho skúmania pokrytia N f sústavou všetkých maximálnych hrán, v dôsledku čoho sa zhromažd uje určitá informácia o každej maximálnej hrane. Napr. sa zist uje, či je daná hrana jadrová (patrí do každého ireducibilného pokrytia) alebo regulárna (nepatrí ani do jedného ireducibilného pokrytia). Vychádzajúc z tejto in-

DISJUNKTÍVNE NORMÁLNE FORMY 48 formácie, realizuje sa d alej vynechanie niektorých maximálnych hrán. Definícia 2.9. Množina S (N K ) = {N K } sa nazýva okolie rádu maximálnej hrany N K. Nech sú definované okolia rádov,,..., u maximálnej hrany N K. Potom okolie S u (N K ) = {N K } rádu u maximálnej hrany N K sa definuje ako množina všetkých maximálnych hrán z N f, ktorých prienik s S u (N K ) = {N K } je neprázdny. Je zrejmé, že S (N K ) S (N K )... S u (N K )... Definícia 2.9.2 Hrany N K i a N K j sa nazývajú viazanými, ak existuje také u, že N K j S u (N K i ) K príkladu 2.8. Ako K vezmeme konjunkciu x x 2, potom S (N x x 2 ) = {N x x 2 } S (N x x 2 ) = {N x x 2, N x2 x 3, N x x 3 } S 2 (N x x 2 ) = {N x x 2, N x2 x 3, N x x 3, N x x 3, N x2 x 3 } S 3 (N x x 2 ) = {N x x 2, N x2 x 3, N x x 3, N x x 3, N x2 x 3, N x x 2 } S u (N x x 2 ) = S 3 (N x x 2 ), u 3 Platí S (N x x 2 ) S (N x x 2 ) S 2 (N x x 2 ) S 3 (N x x 2 ) = S 4 (N x x 2 ) =... Označíme u maximálny rád takého okolia, že S (N K ) S (N K )... S u (N K ) = S u +(N K ) =... pričom každé okolie rádu u (u > ) obsahuje v krajnom prípade jeden vrchol, ktorý nepatrí do okolia rádu u, ak u u. Z toho dostávame, že u 2 n.

DISJUNKTÍVNE NORMÁLNE FORMY 49 Na nasledujúcom príklade objasníme zmysel lokálneho skúmania pokrytí. Nech K... Km je skrátená DNF funkcie f a N K... N K m je pokrytie maximálnymi hranami množiny N f. Množina všetkých hrán {K Ki } sa jednoznačne delí na komponenty súvislosti, t.j. na také dve podmnožiny, z ktorých sú každé dve hrany viazané a hrany z rôznych podmnožín nie sú viazané. Vzniká otázka, ako pre l ubovol nú hranu N K nájst komponent súvislosti, do ktorého patrí. Označíme konjunkciu K a začneme prezeranie konjunkcií v poradí ich nasledovania v skrátenej DNF. Ak N K S (N K ), označíme konjunkciu K. Ak N K S (N K ), konjunkciu neoznačíme a prejdeme ku konjunkcii K2. Konjunkciu K2 označíme práve vedy, ked S (N K 2 ) obsahuje hrany označených konjunkcií. Takto prezrieme celú skrátenú DNF a označíme konjunkcie. Proces opakujeme dovtedy, kým sa nedostaneme k prípadu, ked sa pri niektorom prezeraní počet konjunkcií nezväčší. Vynecháme potom všetky neoznačené konjunkcie. Množina konjunkcií, ktoré nám ostanú, určujú hl adaný komponent súvislosti. Spočiatku sa skúma pokrytie pomocou okolia prvého rádu a na jeho základe sa označujú konjunkcie. Je teda potrebné si pre každú konjunkciu pamätat, či je alebo nie je označená a pamätat si, či sa pri danom prezeraní zvyšuje počet označení alebo nie. Ako druhý parameter vezmeme číslo v, počet prípustných buniek v binárnej pamäti pre každú konjunkciu. Prejdeme teraz k popisu lokálnych algoritmov 2 nad pokrytiami z maximálnych hrán s parametrami u a v. Činnost algoritmu sa delí na dve časti.. Skúmanie pokrytia. V určenom poradí sa prezerá skrátená DNF a na základe toho, čo sa vyskytuje v okolí S u (N K ) konjunkcie K, t.j. časti skrátenej DNF a informácie získanej pre konjunkciu z tohto okolia, vypočítavajú sa nové hodnoty γ,..., γl pamät ových buniek 2 Pojem Lokálneho algoritmu zaviedol J.I.Žuravlev

DISJUNKTÍVNE NORMÁLNE FORMY 5 pre K. Pritom sa vyžaduje, aby sa tento proces realizoval rovnako pre l ubovol né dve DNF, obsahujúce konjunkciu K, pri ktorých sú okolia konjunkcie K zhodné s hodnotami pamät ových buniek pre konjunkciu daného okolia (lokálnost zhromažd ovania informácie). Pri splnení uvedených požiadaviek je proces zhromažd ovania informácie konvergentný, a teda môže byt ukončený. V takýchto prípadoch získavame finálnu informáciu danú hodnotami pamät ových buniek pre konjunkciu zo skrátenej DNF. 2. Prijatie riešenia. Podl a vypočítaných hodnôt pamät ových buniek pre konjunkcie z S u (N K ) sa určuje možnost vynechania konjunkcie K. Táto procedúra sa uskutočňuje taktiež lokálnym spôsobom, t.j. je rovnaká pre l ubovol né dve DNF obsahujúce K, pri ktorých sú dve okolia K zhodné s hodnotami pamät ovych buniek pre konjunkcie z tohto okolia. Sformulovaný algoritmus na nájdenie komponentu súvislosti v skrátenej DNF, obsahujúcej danú konjunkciu K, je lokálnym algoritmom s parametrami u =, v =. Nech f(x, x 2,..., x n ) je taká funkcia, že pokrytie množiny N f sústavou všetkých jej maximálnych hrán vytvára komponent súvislosti (v opačnom prípade sa úloha minimalizácie s využitím lokálnych algoritmov rieši nezávisle pre každý komponent súvislosti). Existuje lokálny algoritmus s parametrami u =, a v = 2 n, ktorý umožňuje zostrojit minimálnu DNF.. etapa. Priradíme jednoznačne n-ticiam {α, α 2,..., α n } čísla z množiny {, 2,..., 2 n } (α,..., α n ) i(α,..., α n ) Každej konjunkcii K zo skrátenej DNF funkcie F priradíme binárny

DISJUNKTÍVNE NORMÁLNE FORMY 5 vektor (γ,..., γ 2 n) kde γ i(α,...,α n) = práve vtedy, ked K (α,..., α n ) =. Je zrejmé, že (γ,..., γ 2 n) bude kódom hrany K. Potom nasleduje skúmanie pokrytia pomocou okolia prvého rádu a nové hodnoty (γ,..., γ2 n) pre K sa vypočítavajú ako disjunkcia vektorov jednotlivých komponentov pre dané okolie. Vedie to k tomu, že pre každú konjunkciu skrátenej DNF vypočítame binárny vektor a ten bude rovnaký pre všetky konjunkcie - bude kódom pre funkcie. 2. etapa. Riešiace pravidlo definujeme takto: Vezmeme l ubovol nú minimálnu DNF funkcie f a danú konjunkciu vynecháme práve vtedy, ked nepatrí tejto minimálnej DNF. Toto riešiace pravidlo spĺňa požiadavku lokálnosti a vedie k minimálnej DNF. Na záver kapitoly si ukážeme, že Quinov algoritmus a algoritmus zostrojenia DNF typu ΣT sú lokálne a ohodnotíme ich parametre. V Quinovom algoritme sa najskor zist ujú jadrové konjunkcie, na to je nevyhnutné poznat okolie prvého rádu konjunkcií skrátenej DNF a pamätat si označenia. Ak konjunkcia nie je jadrová, je označená, ak je jadrová, tak je označená. Na prijatie riešenia o možnosti vynechania konjunkcie je potrebné opät poznat okolie prvého rádu a pozriet sa, či sa pokrýva označenými konjunkciami z tohoto okolia. Jedná sa vlastne o lokálny algoritmus s parametrami u =, v =. V algoritme zostrojenia DNF typu ΣT sa najskôr určuje, či je daná konjunkcia regulárna, na to treba porovnávat zväzky prechádzajúce vrcholmi danej hrany (konjunkcie) a zväzky prechádzajúce vrcholmi z okolia prvého rádu danej hrany a neležiacich v nej (t.j. ležiacich v okolí druhého rádu). Regulárne hrany označíme symbolom, hranu, ktorá nie je regulárna sym-

DISJUNKTÍVNE NORMÁLNE FORMY 52 bolom. Potom realizujeme prijatie riešenia. Vynechávajú sa hrany so symbolom. Tento algoritmus je lokálny s parametrami u = 2 a v =.

Záver V tejto práci definujeme rôzne DNF, pomocou ktorých môžeme vyjadrit čiastočné boolovské funkcie. Na určenie zložitosti DNF sa zavádza index jednoduchosti. Je to funkcionál, ktorý vyžaduje splnenie štyroch axióm - axiómy nezápornosti, axiómy vypuklosti, axiómy invariantnosti a axiómy monotónnosti. Ukázali sme vybrané algoritmy na minimálizáciu v triede DNF. Spôsob konštrukcie minimálnej DNF pripúšt a triviálne riešenie, avšak je vel mi náročné z hl adiska realizácie, pretože je založené na prezeraní všetkých DNF. Sú známe aj iné algoritmy, ako algoritmus zjednodušenia DNF, ktorý pracuje v troch fázach. V prvej fáze sa skonštruuje l ubovol ná DNF ako východisková. V druhej fáze sa preusporiadajú konjunkcie a v každej sa preusporiadajú činitele. V poslednej fáze sa aplikujú operácie vynechania elementárnej konjunkcie a vynechania činitel a. Ako výsledok procesu dostaneme iredundantnú DNF. Vychádzajúc z niektorého usporiadania konjunkcií a činitel ov v DNF, dostaneme týmto algoritmom minimálnu DNF. Ďalej sme popísali algoritmus zostrojenia skrátenej DNF na základe geometrických znázornení, ktorý vychádza z konjunktívnej normálnej formy čiastočnej boolovskej funkcie a algoritmus zostrojenia iredundantnej DNF. Neskôr sme uviedli algoritmy zostrojenia Quinovej DNF a DNF typu ΣT, ktoré vychádzajú zo špeciálneho skúmania pokrytia N f sústavou všetkých maximálnych hrán. Na základe informácie o danej hrane (teda či je daná hrana regulárna alebo jadrová) sa neskôr realizujú vynechanie niektorej maximálnej hrany. Vhodné 53