Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
BulgaraCeha slovacaCroataEnglezaEstonaFinlandezaFranceza
GermanaItalianaLetonaLituanianaMaghiaraOlandezaPoloneza
SarbaSlovenaSpaniolaSuedezaTurcaUcraineana

įstatymaiįvairiųApskaitosArchitektūraBiografijaBiologijaBotanikaChemija
EkologijaEkonomikaElektraFinansaiFizinisGeografijaIstorijaKarjeros
KompiuteriaiKultūraLiteratūraMatematikaMedicinaPolitikaPrekybaPsichologija
ReceptusSociologijaTechnikaTeisėTurizmasValdymasšvietimas

Bulio algebra

matematika



+ Font mai mare | - Font mai mic



DOCUMENTE SIMILARE

Bulio algebra

Bulio algebra yra viena iš matematikos sričių, turinčių labai platų pritaikymą kompiuterių moksle, o ypač kompiuterių aparatūrinės įrangos srityje. Pradžią šiam mokslui davė anglų matematiko Džordžo Bulio (George Boole, 1815-1864) 1854 m. išleistas fundamentalus darbas “Mąstymo dėsnių tyrimas”. Šio mokslininko pavarde ir buvo pavadinta ši algebra.



Kompiuterinės įrangos srityje plačiausią pritaikymą turi viena iš Bulio algebros atšakų arba viena iš jos dalių – dvejetainė algebra. Šios šakos pagrindą sudaro sritis, susidedanti tik iš dviejų elementų aibės (paprastai šie elementai yra įvardijami kaip 0 ir 1). Jos svarbą praktiniame taikyme apsprendžia tai, kad absoliučios daugumos šiuo metu praktikoje naudojamų kompiuterių funkcionavimas grindžiamas dvejetaine sistema. Kompiuterių aparatūros vystymosi istorijoje būta bandymų konstruoti ir kitokiomis skaičiavimo sistemomis pagrįstus kompiuterius (pavyzdžiui, trejetaine), tačiau praktikoje šie bandymai nepasiteisino. Todėl dvejetainė skaičiavimo sistema (o tuo pačiu ir dvejetainė algebra) išliko absoliučiai dominuojanti kompiuterinės įrangos analizės ir sintezės srityje. Fizinės realizacijos aspektu tai paaiškinama labai paprastai: loginės reikšmės 0 ir 1 interpretuojamos kompiuteriuose paprastai – loginį 0 atitinka žemas įtampos lygis (artimas 0 V, “nėra įtampos”), o loginį 1 atitinka tam tikras įtampos lygis (apie +5 V, “yra įtampa”). Naudojant pavyzdžiui, trejetainę skaičiavimo sistemą jau prireiktų dviejų “nenulinės” įtampos lygių, kas reikštų būtinumą analizuoti šiuos lygius, o tuo pačiu ir kur kas sudėtingesnę techninę realizaciją.

Bulio algebra kaip algebrinė sistema

Bulio algebrą sudaro sistema

kur

B yra aibė,

ir yra dvivietės operacijos konjunkcija ir disjunkcija (toliau tekste vietoje simbolių ir naudosime atitinkamai * ir +, nes toks žymėjimas yra labiau įprastas Bulio algebroje),

yra vienvietė operacija neigimas,

0 ir 1 yra atitinkamai nulinis ir vienetinis elementai.

Šioje sistemoje galioja aksiomos:

Egzistuoja bent du elementai , tokie, kad a b.

Visiems galioja:

a)   

b)  

galioja:

a)    - komutatyvumo atžvilgiu operacijos * dėsnis,

b)   - komutatyvumo atžvilgiu operacijos + dėsnis.

a) toks, kad – egzistuoja nulinis elementas 0, toks, kad kiekvienam a iš aibės B galioja

b)  toks, kad – egzistuoja vienetinis elementas 1, toks, kad kiekvienam a iš aibės B galioja

galioja:

a)    - distributyvumo atžvilgiu operacijos “+” dėsnis,

b)   - distributyvumo atžvilgiu operacijos “*” dėsnis.

(a neigimas arba a inversija), toks, kad

a)    - kintamojo neigimo egzistavimo snis,

b)   - kintamojo neigimo egzistavimo snis.

Aukščiau pateikta aksiomų sistema yra suderinta (t.y. nei viena iš aukščiau pateiktų aksiomų rinkinio neprieštarauja kuriai nors kitai iš šio rinkinio) ir nepriklausoma (t.y. nė viena iš rinkinio aksiomų negali būti įrodoma kitų rinkinio aksiomų pagalba). Egzistuoja panašumas tarp šių aksiomų rinkinio ir įprastinės algebros aksiomų, tačiau pilnos analogijos nėra, pavyzdžiui, distributyvumo atžvilgiu operacijos “+” dėsnis, t.y. įprastinėje algebroje negalioja.

Nesunku pastebėti, kad aukščiau pateiktoje aksiomų sistemoje beveik visos aksiomos (t.y. 2 - 6) yra sugrupuotos poromis. Taip pat akivaizdu, kad kiekvienoje poroje viena aksioma gali būti gaunama iš kitos, sukeitus vietomis operacijas + ir *, bei 1 ir 0. Šis principas vadinamas dualumo principu.

Pavyzdžiui,

( iš aksiomos 6 (a) gaunama jai duali 6 (b) ).

Praktiniame Bulio algebros taikyme didžiulį vaidmenį vaidina Bulio išraiškų pertvarkymas. Panagrinėsime kai kurias Bulio algebros teoremas, plačiai naudojamas tokiuose pertvarkymuose.

Įrodymas

- aksioma 4 (b)

- aksioma 6 (a)

- aksioma 5 (a)

- aksioma 6 (b)

- aksioma 4 (a).

Gavome, kad   .

Žemiau pateikiamos (be įrodymo) kitos plačiai pertvarkymuose naudojamos teoremos.

- ši teorema, o taip pat ir aukščiau pateikta 1-oji teorema, vadinamos vienodos galios idempotentiškumo dėsniu.

ir - veiksmai su nuliniu ir vienetiniu elementais.

ir - padengimo (absorbcijos) dėsnis.

- dvigubo neigimo (involiucijos) dėsnis.

ir - De Morgano teorema.

Bulio funkcijos

Tegu yra n-matis vektorius, kur kiekvienas xi įgyja reikšmes iš aibės Bet kuri tokio vektoriaus X reikšmė yra vadinama atomu, o visų galimų atomų aibė Bn sudaro Bulio funkcijos apibrėžimo sritį. Akivaizdu, kad Bulio funkcijos apibrėžimo srities galia yra 2n. Bulio funkcijos kitimo sritis yra aibė Atvaizdavimas iš atomų aibės Bn į aibę yra vadinamas Bulio funkcija:

Paprastai Bulio funkcija yra žymima , kur kintamieji yra vadinami Bulio kintamaisiais. Jei Bulio funkciją atitinkantis atvaizdavimas suskaido aibę Bn į du poaibius ir , tokius, kad , o , tai funkcija yra vadinama pilnai apibrėžta.

Jei atvaizdavimas suskaido aibę Bn į tris poaibius ir , tokius, kad , , o , kur d – neapibrėžta reikšmė (nuo angliško žodžio Don’t care), tai funkcija yra vadinama nepilnai apibrėžta.

Priklausomai nuo konkretaus praktinio pritaikymo tikslų, Bulio funkcijos (BF) yra atvaizduojamos skirtingais būdais. Plačiausiai paplitę praktikoje yra šie būdai:

a)      teisingumo lentelės;

b)      diagramos;

c)      analitinės išraiškos;

d)      grafinis būdas;

e)      matricinis būdas.

Panagrinėsime detaliau kiekvieną iš šių būdų.

BF atvaizdavimas teisingumo lentelėmis

n kintamųjų Bulio funkcijos teisingumo lentelė yra sudaryta iš stulpelio ir 2n eilučių:

kiekvienas iš pirmųjų n stulpelių atitinka vieną pradinį kintamąjį;

– asis stulpelis atitinka nagrinėjamos BF reikšmes;

kiekviena eilutė atitinka vieną iš 2n BF kintamųjų kombinacijų.

2.1 lentelėje pateiktos dviejų funkcijų a) ir b)  teisingumo lentelės:

2.1 lentelė. BF ir teisingumo lentelės

a)

b)

Jei nagrinėjamos kelios BF, priklausančios nuo tų pačių įėjimo kintamųjų, tada funkcijų užrašymo kompaktiškumo tikslu dviejų ar daugiau funkcijų teisingumo lentelių kairiosios dalys (atitinkančios įėjimo kintamuosius) yra sutapdinamos. Pavyzdžiui, BF ir galima užrašyti vienoje lentelėje (žr. 2.2 lentelė):

2.2 lentelė. BF ir teisingumo lentelė

Jei nagrinėjama funkcija yra nepilnai apibrėžta, tada jos teisingumo lentelėje funkcijos reikšmių stulpelyje yra ne tik reikšmės iš aibės bet ir d, t.y. iš aibės .

BF atvaizdavimas diagramomis

Plačiausiai naudojamas diagramų, naudojamų BF atvaizdavimui, tipas yra Karno ir Veičo diagramos. Bet kuriuo iš šių dviejų būdų atvaizduojant n kintamųjų funkciją , yra naudojama diagrama, turinti 2n langelių. Dažniausiai naudojamas diagramų pavidalas – stačiakampės. Jei nagrinėjama BF turi n kintamųjų, tai diagrama turi turėti 2n langelių, o pačios diagramos struktūra paprastai parenkama taip: skaičius n yra padalinamas maždaug pusiau, t.y. n = p + q, čia p ir q gali būti lygūs, bet nebūtinai. Pati diagrama yra konstruojama kaip stačiakampė struktūra, su kraštinėmis sudalintomis viena į dalių, kita į dalių. Skaičiaus n suskaidymas į dvi dalis p ir q ( n = p + q ) atitinka Bulio funkcijos kintamųjų aibės suskaidymą į du poaibius ir . Kiekvienas diagramos stulpelis (ir atitinkamai kiekviena eilutė) atitinka vieną kintamųjų kombinaciją. Pavyzdžiui, tegu turime 5 kintamųjų BF . Įėjimo kintamųjų aibę suskaidysime į du poaibius: ir . Tokiam suskaidymui atitinkanti BF atvaizduota 2.3 lentelėje.

2.3 lentelė. BF diagrama

00

01

10

11

Tokios struktūros BF diagrama vadinama Karno diagrama. Jos (kaip ir kiekvienos kito tipo diagramos) kiekvienas langelis atitinka vieną įėjimo kintamųjų kombinaciją. Tuo pačiu tame langelyje diagramoje rašoma BF reikšmė, atitinkanti duotą įėjimo kintamųjų kombinaciją (iš aibės pilnai apibrėžtoms BF ir iš aibės – nepilnai apibrėžtoms BF). Pavyzdžiui, 2.4 lentelėje pateikta diagrama atvaizduoja penkių kintamųjų pilnai apibrėžtą BF. Stulpelio 000 ir eilutės 00 sankirtoje esantis 0 reiškia, kad prie įėjimo kintamųjų kombinacijos 00000 nagrinėjamos BF reikšmė yra lygi 0. Analogiškai, stulpelio 000 ir eilutės 01 sankirtoje esantis 1 reiškia, kad prie įėjimo kintamųjų kombinacijos 00001 nagrinėjamos BF reikšmė yra lygi 1.

2.4 lentelė Penkių kintamųjų BF Karno diagramos pavyzdys

00

01

11

10

BF Veičo diagrama skiriasi nuo aukščiau aprašytos Karno diagramos tik kintamųjų kombinacijų išsidėstymu diagramoje. Jei Veičo diagramoje stulpeliai ir eilutės žymimi dvejetainiais kodais, surašytais leksikografine tvarka, tai Karno diagramoje jie žymimi Grėjaus kodais. Pavyzdžiui, 2.5 lentelėje pateikta 5 kintamųjų BF Veičo diagrama, atitinkanti kintamųjų suskaidymą į du poaibius ir :

2.5 lentelė. Penkių kintamųjų BF Veičo diagrama

00

01

10

11

Bet kuriuo atveju (tiek Karno, tiek Veičo diagramų atveju) pusė diagramos langelių atitinka bet kurio kintamojo reikšmę, lygią 0, o kita pusė langelių - to paties kintamojo reikšmę, lygią 1. Pavyzdžiui, Karno diagramoje x reikšmę 1 atitinka išryškinta diagramos dalis, pavaizduota 2.6 lentelėje:

2.6 lentelė. Karno diagrama su išryškinta sritimi, atitinkančia x1=1

00

01

11

10

Atitinkamai, Karno diagramoje x reikšmę 1 atitinka išryškinta diagramos dalis, pavaizduota 2.7 lentelėje:

2.7 lentelė. Karno diagrama su išryškinta sritimi, atitinkančia x3=1

00

01

11

10

Veičo diagramose kintamųjų x1 ir x reikšmes, lygias 1, atitinka 2.8 a) ir 2.8 b) lentelėse pavaizduotos diagramų dalys.

Nesunku pastebėti, kad interpretuojant kintamųjų kombinacijas kaip dvejetainius skaičius, jų išsidėstymas diagramose yra:

Karno diagrama – iš eilės rašomi skaičiai atitinka Grėjaus kodo iš eilės einančias kombinacijas (pavyzdžiui, jei n = , tai kombinacijų reikšmės yra 0, 1, 3, 2, 6, 7, 5, 4);

Veičo diagrama – kintamųjų reikšmių kombinacijos yra tiesiog iš eilės einantys skaičiai (pavyzdžiui, jei n = , tai kombinacijų reikšmės yra 0, 1, 2, 3, 4, 5, 6, 7).

Toks skirtingas kombinacijų išsidėstymas yra svarbus tik tolimesniam diagramų panaudojimui BF minimizacijoje. Pačią diagramą yra paprasčiau sudaryti naudojant Veičo diagramos struktūrą, tačiau naudojant Karno diagramas yra šiek tiek patogiau atlikti BF minimizavimą.

lentelė. Penkių kintamųjų BF Veičo diagramos

a) išryškinta sritis,atitinkanti x1 = 1

00

01

10

11

b) išryškinta sritis, atitinkanti x3 = 1

00

01

10

11

Sudarant n kintamųjų BF Karno ir Veičo diagramas, galima vadovautis tokia procedūra:

n kintamųjų aibė suskaidoma į du lygius arba apylygius poaibius

Braižoma dydžio diagrama.

Naudojant Karno diagramos struktūrą, kintamųjų reikšmių kombinacijos yra išdėstomos kaip Grėjaus kodo skaičių dvejetainės išraiškos. Naudojant Veičo diagramos struktūrą, kintamųjų reikšmių kombinacijos yra išdėstomos kaip iš eilės einantys dvejetainiai skaičiai.

Atitinkamuose langeliuose įrašomos BF reikšmės.

Galimi ir kiti Karno ir Veičo diagramų sudarymo būdai. Jau minėjome, kad bet kurioje diagramoje bet kurio kintamojo xi atžvilgiu pusė diagramos langelių atitinka , o kita pusė - . Todėl galima traktuoti, kad bet kokio dydžio (bet kuriam kintamųjų skaičiui n) diagrama yra sudaroma, paimant stačiakampį ir nuosekliai jį dalinant į reikiamą skaičių dalių. Pavyzdžiui, jei turime tik vieną kintamąjį x , tai vieno kintamojo BF diagramą galima įsivaizduoti kaip stačiakampį, padalintą pusiau:

Įvedant dar vieną kintamąjį x2 , turimą stačiakampį (tiksliau, abi jo dalis) reikia padalinti dar į dvi dalis:

Įvedant dar vieną kintamąjį x , turimą diagramą reikia dar padvigubinti. Tas padvigubinimas gali būti atliktas dvejopai:

Šiuo atveju gavome Veičo diagramą.

Šiuo atveju gavome Karno diagramą.

Nesunku pastebėti, kad geometriškai dar vieno kintamojo įvedimas į Veičo diagramą reiškia esamos diagramos pakartojimą šalia kurios nors esamos diagramos kraštinės. Tuo tarpu dar vieno kintamojo įvedimas į Karno diagramą reiškia esamos diagramos pakartojimą kaip veidrodinį atspindį šalia kurios nors esamos diagramos kraštinės. Pavyzdžiui:

Veičo diagrama

Karno diagrama

Dar vienas kartais naudojamas praktikoje diagramos BF atvaizdavimui tipas – apskritiminės diagramos. Kaip rodo pavadinimas, šio tipo BF vaizdavimo pagrindą sudaro apskritimas arba skritulys. Jei turime n kintamųjų BF, tai šiai BF atvaizduoti apskritimas yra padalinamas į 2n segmentų, kiekvienas iš kurių ir atitinka vieną įėjimo kintamųjų kombinaciją. Šios kombinacijos paprastai išdėstomos tokioje diagramoje kaip nuosekliai einančios Grėjaus kodo skaičių sekos. Kaip ir bet kurioje kito tipo diagramoje, pusę iš 2n diagramos segmentų atitinka kiekvieną kintamąjį, o likusioji pusė – to kintamojo inversiją.

Pavyzdžiui, trijų kintamųjų BF atvaizdavimui apskritiminės diagramos pagalba, gautume tokio tipo diagramą (žr. 2.1 pav.):

2.1 pav Trijų kintamųjų BF apskritiminė diagrama

Įvairių BF atvaizdavimui naudojamų diagramų tipų palyginimui žemiau pateikiame penkių kintamųjų BF

atvaizdavimą Karno, Veičo ir apskritiminės diagramų pagalba:

Karno diagrama:

00

01

11

10

Veičo diagrama:

00

01

10

11

Apskritiminė diagrama (trumpumo dėlei diagramos segmentai, t.y. įėjimo kintamųjų kombinacijos yra pažymėti 8-ainiais Grėjaus kodo skaičiais):

Analitinis BF užrašymo būdas

Šiuo būdu Bulio funkcija yra atvaizduojama analitinės išraiškos pagalba, naudojant kintamuosius xi bei ir kitų operacijų ženklus.

Pavyzdžiui, BF užrašo supaprastinimui vietoje disjunkcijos ženklo toliau naudosime ženklą +, o konjunkciją vaizduosime kaip vienas šalia kito parašytus kintamuosius, t.y. pavyzdžiui, vietoje naudosime . Tuo būdu vietoje aukščiau užrašytos funkcijos naudosime paprastesnį užrašą

Viena ir ta pati BF analitiniu būdu gali būti atvaizduota nevienodai, todėl dažnai yra naudojami taip vadinami kanoniniai (arba standartizuoti) analitinio atvaizdavimo, kartais dar naudojama sąvoka normaliniai, būdai. Dažniausiai yra naudojami du normaliniai BF pavidalai: disjunktyvinis ir konjunktyvinis. Prieš plačiau aprašant šiuos pavidalus, apibrėšime termo, mintermo ir makstermo sąvokas.

Termu yra vadinama n kintamųjų BF išraiška, sudaryta iš m (m n) kintamųjų, apjungtų vienos iš operacijų “konjunkcija” arba “disjunkcija” ženklais.

n kintamųjų BF mintermu yra vadinamas termas, sudarytas iš n kintamųjų, apjungtų konjunkcijos operacijos ženklais, t.y. n kintamųjų konjunkcija.

n kintamųjų BF makstermu yra vadinamas termas, sudarytas iš n kintamųjų, apjungtų disjunkcijos operacijos ženklais, t.y. n kintamųjų disjunkcija.

Termo, mintermo ir makstermo apibrėžimuose naudojama sąvoka “kintamasis” yra suprantama kaip kintamasis tiesioginiame pavidale arba jo inversija neigimas . Sąvokų mintermas ir makstermas naudojimas yra pagrįstas tuo, kad mintermas iš visos BF įėjimo kintamųjų reikšmių erdvės išskiria tik vieną reikšmę (vieną iš visų galimų n kintamųjų reikšmių , tuo tarpu makstermas iš visos n įėjimo kintamųjų reikšmių erdvės išskiria reikšmes iš visų galimų n kintamųjų reikšmių

BF disjunktyvine normaline forma (DNF yra vadinama nagrinėjamos BF kintamųjų konjunkcijų suma (disjunkcija).

BF konjunktyvine normaline forma (KNF yra vadinama nagrinėjamos BF kintamųjų disjunkcijų loginė sandauga (konjunkcija).

BF tobula disjunktyvine normaline forma (TDNF yra vadinama BF kintamųjų mintermų suma (disjunkcija).

BF tobula konjunktyvine normaline forma (TKNF yra vadinama BF kintamųjų makstermų loginė sandauga (konjunkcija).

Kaip jau buvo minėta, viena ir ta pati BF gali turėti labai daug analitinių pavidalų. TDNF arba TKNF naudojimas turi tą privalumą, kad vienai ir tai pačiai funkcijai egzistuoja vienintelis TDNF arba TKNF pavidalas, tuo tarpu viena ir ta pati BF gali turėti labai įvairias DNF arba KNF. Iš kitos pusės, ypač kai kalba eina apie techninę BF realizaciją, ekonomiškumo aspektu tikslinga turėti trumpiausią analitinę išraišką. TDNF arba TKNF beveik visada nėra pačios trumpiausios išraiškos. Todėl, pavyzdžiui, pradiniame BF sintezės etape, aprašant skaitmeninių įrenginių darbą ir pan., dažnai yra patogu naudoti TDNF arba TKNF, o vėliau jos minimizuojamos į trumpesnes išraiškas (dažnai DNF arba KNF), kurių aparatūrinė realizacija yra pigesnė.

Pavyzdžiui, tegu turime BF

Kadangi nagrinėjamos BF DNF sudarantys termai yra mintermai, tai akivaizdu, kad turime TDNF. Ta pati nagrinėjama BF gali būti užrašyta ir taip:

Akivaizdu, kad šis BF pavidalas yra kur kas trumpesnis už anksčiau nagrinėtą TDNF.

Kaip atskirą analitinės išraiškos modifikaciją galima taip pat nagrinėti BF užrašą, susidedantį iš ženklo ir po jo skliaustuose einančio nagrinėjamos funkcijos TDN formą sudarančių mintermų numerių sąrašo. Pavyzdžiui, ankstesniajame pavyzdyje pateiktos BF išraiška, užrašyta tokiame pavidale, yra:

Toks BF pavidalas kartais yra vadinamas skaitmeniniu. Jis yra patogus trumpesniam BF užrašymui. Kartais, ypač kai BF kintamųjų skaičius yra didesnis, į TDNF įeinančių mintermų numeriams išreikšti yra patogu naudoti ir kitas skaičiavimo sistemas. Tuo atveju prie ženklo yra nurodoma, kokia skaičiavimo sistema yra naudojama mintermų numerių užrašams.

Pavyzdžiui, tegu turime BF

Šios BF skaitmeninis pavidalas gali būti pateikiamas taip (trys alternatyvūs variantai):

Grafinis BF atvaizdavimo būdas

Šiuo būdu n kintamųjų Bulio funkcija yra atvaizduojama kaip n-mačio hiperkubo viršūnių aibės atvaizdavimas į aibę . Kiekviena įėjimo kintamųjų kombinacija atitinka vieną hiperkubo viršūnę. Taigi grafiniame BF atvaizdavime nagrinėjamos BF reikšmės yra pažymimos ties atitinkama hiperkubo viršūne. Pavyzdžiui, vienetinės BF reikšmės yra pažymimos taškais arba apskritimais ties atitinkamomis viršūnėmis.

Tegu turime 3 kintamųjų BF. Jos atvaizdavimui grafiniu būdu reikia panaudoti 3-matį kubą. Tegu nagrinėjama Bulio funkcija yra . Jos grafinis atvaizdavimas parodytas . pav.:

2.2 pav Grafinis atvaizdavimas

Matricinis BF atvaizdavimo būdas

Šiuo būdu Bulio funkcijos yra atvaizduojamos dvejetainių matricų pagalba. Jei turime n kintamųjų BF, tai jai atvaizduoti matriciniu būdu yra naudojama ( m x n ) matrica, kur m yra BF įėjimo kintamųjų kombinacijų, prie kurių nagrinėjama BF įgyja vienetines reikšmes, skaičius.

Pavyzdžiui, tegu turime BF

(skaitmeninis pavidalas

Šios funkcijos matricinis pavidalas yra:  .

Analogiškai matriciniu būdu galima atvaizduoti tą pačią funkciją, nurodant ne Bulio funkcijos vienetines reikšmes atitinkančių kintamųjų kombinacijų aibę, bet nulines reikšmes atitinkančių kintamųjų kombinacijų aibę. Tam, kad atskirti, kokios kombinacijos (atitinkančios 0 ar 1), yra pateikiamos matriciniame pavidale, yra naudojamos matricos, žymimos F0 ir F1. Aukščiau pateiktam pavyzdžiui matricos ir būtų:

.

Akivaizdu, kad turint pilnai apibrėžtą BF, abiejų matricų ir eilutės sudaro pilną galimų įėjimo kintamųjų reikšmių aibę, t.y. yra visos galimų kintamųjų reikšmių aibės suskaidymas. Kitaip tariant, matricos ir yra viena kita papildančios, o konkrečiai funkcijai apibrėžti pakanka nurodyti kurią nors vieną iš jų. Jeigu turime nepilnai apibrėžtą BF, tada šalia ir naudojama dar viena matrica Fd, kuri atitinka kintamųjų kombinacijas, prie kurių BF yra neapibrėžta. Šiuo atveju matricos ir ir Fd yra visos galimų kintamųjų reikšmių aibės suskaidymas, ir konkrečiai BF apibrėžti pakanka nurodyti kurias nors dvi iš šių trijų matricų.

Iki šiol nagrinėti visi BF atvaizdavimo būdai, lyginant juos su analitinėmis išraiškomis, atitiko BF atvaizdavimą TDNF. Kaip jau minėjome anksčiau, TDNF dažniausiai yra labai neekonomiška praktinės realizacijos prasme, todėl praktikoje dažnai yra naudojami įvairūs BF minimizacijos metodai, leidžiantys gauti kitas, trumpesnes BF išraiškas (dažnai – DNF pavidale). Šiek tiek modifikavus matricinį metodą, jo pagalba galima atvaizduoti ir BF, išreikštas DNF. Ši modifikacija susiveda į tai, kad vietoje dvejetainių matricų ir (arba ir ir Fd ) yra naudojamos atitinkamos trejetainės matricos. Šiuo atveju vietoje matricos elementų 0 ir 1 yra naudojami elementai 0, 1 ir “-“, kur elementas “-“ reiškia, kad į nagrinėjamą termą šis kintamasis neįeina (dvejetainėse matricose ir ir Fd j-oji matricos eilutė atitinka pilną n kintamųjų konjunkciją, t.y. j-ajį mintermą).

Pavyzdžiui, tegu turime pilnai apibrėžtą BF

Šios funkcijos matricinis pavidalas yra:  .

Bulio funkcijų minimizavimas

Aukščiau pateiktame pavyzdyje nagrinėtos funkcijos išraiška gali būti pertvarkyta taip: .

Toks Bulio funkcijos pertvarkymo procesas, kurio pasėkoje gaunama paprastesnė BF išraiška, yra vadinamas Bulio funkcijų minimizavimu. Jį galima atlikti įvairiais būdais. Vienas iš jų – Bulio funkcijos analitinės išraiškos pertvarkymas, pasinaudojant Bulio algebros dėsniais. Pavyzdžiui:

(.

Panašiu būdu gauname, kad , bei ).

pasinaudojame dėsniu

Tokiu būdu vietoje pradinės išraiškos gavome TDNF. Tolimesnis išraiškos pertvarkymas galimas vėl įvairiais būdais. Panagrinėsime bent porą iš jų.

Pirmasis remiasi narių gautoje išraiškoje grupavimu ir bendrų dalių iškėlimu prieš skliaustus. Pavyzdžiui, sugrupavus ankstesnės išraiškos pabrauktus mintermus ir iškėlus prieš skliaustus , gauname:

nes skliaustuose esantys nariai duoda loginį vienetą (grupavimas, iškėlimas prieš skliaustus ir dėsnis . Analogiškai paskutinių keturių mintermų suma duoda reikšmę (čia taip pat naudojamės dėsniu, kad , tai leidžia panaudoti mintermus ir po du kartus – vieną kartą kaip įeinančius į pirmąją keturių mintermų sumą, ko pasėkoje gauname , o antrą kartą – kaip įeinančius į antrąją keturių mintermų sumą, ko pasėkoje gauname ). Mintermų ir suma duoda. To rezultate ir gauname:

Antrasis minimizuojamos funkcijos tarpinės išraiškos (TDNF) pertvarkymo būdas remiasi tuo, kad pilnai apibrėžta funkcija yra galimos įėjimo kintamųjų reikšmių aibės suskaidymas į du poaibius: vieną, prie kurio funkcijos reikšmės yra lygios 1, ir antrą, prie kurio funkcijos reikšmės yra lygios 0. Bulio funkcijos tobulą disjunktyvinę normalinę formą sudarantys mintermai atitinka pirmąjį tokį poaibį, t.y. poaibį, prie kurio funkcijos reikšmės yra lygios 1. Jeigu disjunkcijos pagalba apjungsime mintermus, įeinančius į antrąjį poaibį, tai gausime funkciją , priešingą duotajai f, t.y. tokią, kuri įgyja reikšmes, lygias 1, prie tų įėjimo kintamųjų kombinacijų, prie kurių pradinė funkcija lygi 0, ir atvirkščiai. Akivaizdu, kad trijų kintamųjų funkcijai visų galimų įėjimo kintamųjų reikšmių aibę nusako mintermai , t.y. atitinka įėjimo kintamųjų reikšmių kombinaciją ; atitinka įėjimo kintamųjų reikšmių kombinaciją , ir t.t. Jei funkcijos TDNF įeinantys mintermai sudaro aibę, tai

kur –poaibis mintermų, atitinkančių BF kintamųjų reikšmių kombinacijas, prie kurių funkcija lygi 0. Todėl, jei funkcijos TDNF apibrėšime kaip

tai jai priešingos funkcijos tobulą disjunktyvinę normalinę formą galima išreikšti taip:

čia - aibių ir skirtumas.

Todėl aukščiau nagrinėto pavyzdžio funkciją galima išreikšti ir kitaip:

(pagal De Morgano dėsnį).

Analitinis būdas BF minimizavimui naudojamas gana retai ir tiktai kaip pagalbinis metodas, nes reikalauja gana daug darbo sąnaudų. Kur kas plačiau praktikoje yra naudojami kiti metodai. Bene efektyviausiai (bent jau rankiniu būdu) BF yra minimizuojamos naudojant diagramų metodą. Panagrinėsime BF Karno diagramų panaudojimą minimizavimui.

Tegu turime nagrinėjamos funkcijos

Karno diagramą:

0

1

Karno diagramos panaudojimas BF atvaizdavimui turi savybę, kad 2, 4, 8, …, nagrinėjamos BF mintermus atitinkantys diagramos vienetai, esantys greta, gali būti apjungti į vieną junginį ir atitinkamai funkcijos disjunktyvinėje normalinėje formoje gali būti atvaizduoti vienu termu. Pavyzdžiui, du vienetai, esantys išryškintoje diagramos srityje žemiau ir atitinkantys mintermus ir gali būti apjungti į vieną

0

1

junginį ir atvaizduoti disjunktyvinėje normalinėje formoje kaip termas . Tuo pačiu vietoje nagrinėjamos funkcijos tobuloje disjunktyvinėje normalinėje formoje esančių dviejų mintermų ir sumos turime atitinkantį tuos du mintermus termą :

Toks funkcijos užrašo sutrumpinimo procesas, pasinaudojant diagramoje greta esančių vienetų savybe, atitinka dviejų mintermų ir grupavimą, bendros dalies iškėlimą prieš skliaustus ir dėsnio pritaikymą.

Analogiškai galima apjungti ir keturis šalia esančius vienetus. Išryškintoje srityje

esantys vienetai, atitinkantys mintermus , , ir duoda termą . Analogiškai:

Tokiu būdu pastarųjų trijų junginių pagalba yra padengiami visi pradinės BF vienetai ir turime minimizuotą BF pavidalą:

Panagrinėsime grafinio BF atvaizdavimo panaudojimą BF minimizacijai. Tegu turime 3 kintamųjų BF . Jos grafinis atvaizdavimas yra:

3.1 pav. BF grafinis atvaizdavimas

Bulio funkcijos grafiniame atvaizdavime tiesės atkarpos (arba plokštumos), apribotos hiperkubo viršūnėmis, atitinkančiomis BF reikšmes, lygias vienetui, sudaro junginius, kurie gali būti atvaizduoti vienu termu. Pavyzdžiui, tiesės atkarpa, apribota vienetiniais taškais 011 ir 111 gali būti apjungta į vieną junginį, atitinkantį termą , o plokštumos dalis, apribota taškais 000, 001, 010 ir 011, sudaro junginį (žr. pav.).

3.2 pav BF minimizavimo grafinis atvaizdavimas

Tokiu būdu, nagrinėjama funkcija minimizuotame pavidale gali būti atvaizduota kaip šių dviejų termų disjunkcija:

Bulio funkcijos vaidina svarbų vaidmenį skaitmeninių įrenginių analizėje ir sintezėje. Praktikoje sutinkami uždaviniai paprastai pasižymi didele apimtimi, todėl yra naudojamos automatizuotos priemonės, tame tarpe BF minimizavimas kompiuterinėmis priemonėmis. Konkrečios kompiuterinės programos šiam uždaviniui spręsti paprastai naudoja kitus BF minimizavimo metodus ir algoritmus, kurie yra orientuoti į BF atvaizdavimą kompiuteriuose, įvertina naudojamos techninės įrangos specifiką ir tuo pačiu leidžia efektyviai spręsti didelės apimties uždavinius.



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1544
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved