Quinen menetelmä on tapa esittää funktio DNF :ssä tai CNF :ssä vähimmäismäärällä jäseniä ja vähimmäismäärällä muuttujia. [1] [2] [3]
Toimintojen muuntaminen voidaan jakaa kahteen vaiheeseen:
Kuvitellaan, että annettu funktio on edustettuna SDNF :ssä . Ensimmäisen vaiheen toteuttamiseksi muunnos käy läpi kaksi vaihetta:
Liimaustoiminto rajoittuu muotoa tai vastaavien termiparien etsimiseen ja niiden muuntamiseen seuraaviksi lausekkeiksi: . Liimaustulokset ovat nyt lisäehtojen roolissa. On tarpeen löytää kaikki mahdolliset termiparit (jokainen termi jokaisen kanssa).
Sitten suoritetaan absorptiotoiminto . Se perustuu tasa -arvoon (termi imee ilmaisun ). Tämän toimenpiteen seurauksena kaikki muiden muuttujien absorboimat jäsenet, joiden tulokset saadaan liimausoperaatiossa , poistetaan loogisesta lausekkeesta .
Ensimmäisen vaiheen molemmat toiminnot voidaan suorittaa niin kauan kuin ne voidaan tehdä.
Näiden operaatioiden soveltaminen on esitetty taulukossa:
0 | 0 | 0 | 0 |
0 | 0 | yksi | 0 |
0 | yksi | 0 | yksi |
0 | yksi | yksi | 0 |
yksi | 0 | 0 | yksi |
yksi | 0 | yksi | yksi |
yksi | yksi | 0 | yksi |
yksi | yksi | yksi | yksi |
SDNF näyttää tältä:
Liimausoperaation tulos tarvitaan funktion muuntamiseen toisessa vaiheessa (absorptio)
Liimaustuloksen jäsenet ovat
Jäsen imee ne alkuperäisen lausekkeen jäsenet, jotka sisältävät , eli ensimmäisen ja neljännen. Nämä jäsenet on poistettu. Termi absorboi alkuperäisen lausekkeen toisen ja kolmannen termin, ja termi absorboi viidennen termin.
Molempien toimintojen toistaminen tuottaa seuraavan lausekkeen:
Tässä termipari ja liimataan yhteen (termiparin liimaaminen johtaa samaan tulokseen), liimauksen tulos absorboi lausekkeen 2-, 3-, 4-, 5-termit. Muut liimaus- ja absorptiotoimenpiteet osoittautuvat mahdottomaksi, lyhennetty muoto tietyn funktion ilmaisusta (tässä tapauksessa se on yhtäpitävä minimimuodon kanssa)
Lyhennettyjä termejä (meissämme tämä on ja ) kutsutaan funktion yksinkertaisiksi implikantteiksi . Tuloksena saimme yksinkertaisimman lausekkeen verrattuna alkuperäiseen versioon - SDNF . Tällaisen elementin lohkokaavio on esitetty oikealla olevassa kuvassa.
Kuten ensimmäisessä vaiheessa, tuloksena oleva yhtäläisyys voi sisältää termejä, joiden poistaminen ei millään tavalla vaikuta lopputulokseen. Seuraava minimoinnin vaihe on tällaisten muuttujien poistaminen. Alla oleva taulukko sisältää funktion totuusarvot. Sen mukaanseuraava SDNF kerätään .
0 | 0 | 0 | 0 | yksi |
0 | 0 | 0 | yksi | yksi |
0 | 0 | yksi | 0 | yksi |
0 | 0 | yksi | yksi | 0 |
0 | yksi | 0 | 0 | 0 |
0 | yksi | 0 | yksi | 0 |
0 | yksi | yksi | 0 | yksi |
0 | yksi | yksi | yksi | 0 |
yksi | 0 | 0 | 0 | 0 |
yksi | 0 | 0 | yksi | 0 |
yksi | 0 | yksi | 0 | 0 |
yksi | 0 | yksi | yksi | 0 |
yksi | yksi | 0 | 0 | 0 |
yksi | yksi | 0 | yksi | 0 |
yksi | yksi | yksi | 0 | yksi |
yksi | yksi | yksi | yksi | yksi |
Tästä taulukosta koottu SDNF näyttää tältä:
Tämän lausekkeen termit ovat lausekkeen yksinkertaisia implikantteja . Siirtyminen pelkistetystä muodosta minimiin tapahtuu implicanttimatriisin avulla .
Tietyn funktion SDNF :n jäsenet sopivat sarakkeisiin ja riveihin - yksinkertaisiin implikantteihin, eli lyhennetyn muodon jäseniin. PDNF- termien sarakkeet on merkitty , jotka yksittäiset pääimplikantit absorboivat. Seuraavassa taulukossa yksinkertainen implikantti absorboi termit ja (ensimmäiseen ja toiseen sarakkeeseen sijoitetaan ristit).
Yksinkertainen implikantti | ||||||
---|---|---|---|---|---|---|
Toinen implikantti absorboi SDNF:n ensimmäisen ja kolmannen jäsenen ( merkitty ristillä) jne. Implikantit, joita ei voida sulkea pois, muodostavat ytimen . Tällaiset implikantit määritetään yllä olevan matriisin avulla. Jokaiselle niistä on vähintään yksi sarake, jonka vain tämä implikantti kattaa.
Esimerkissämme implikantit ja (ne menevät päällekkäin toisen ja kuudennen sarakkeen kanssa) muodostavat ytimen. On mahdotonta sulkea samanaikaisesti pois pelkistetystä muodosta kaikkia implicantteja, jotka eivät sisälly ytimeen, koska yhden implikantin poissulkeminen voi tehdä toisesta tarpeettoman jäsenen.
Vähimmäismuodon saamiseksi riittää, että valitaan ytimeen sisältymättömien implikanttien joukosta sellainen vähimmäismäärä, jossa kussakin näistä implicanteista on vähintään kirjaimia, mikä varmistaa kaikkien sarakkeiden päällekkäisyyden, joita ei kata ytimen jäseniä. Tarkasteltavassa esimerkissä on tarpeen peittää matriisin kolmas ja neljäs sarake implikantteilla, jotka eivät sisälly ytimeen. Tämä voidaan saavuttaa useilla tavoilla, mutta koska on välttämätöntä valita implikanttien vähimmäismäärä, on selvää, että implikantti tulee valita siten, että se peittää nämä sarakkeet .
Tietyn funktion pienin disjunktiivinen normaalimuoto (MDNF) on:
(a)Tätä lauseketta vastaava lohkokaavio on esitetty vasemmalla olevassa kuvassa. Siirtyminen supistetusta järjestelmästä MDNF:ään toteutettiin poistamalla ylimääräiset termit - implikantti ja . Osoittakaamme, että tällainen jäsenten jättäminen loogisen lausekkeen ulkopuolelle on hyväksyttävää.
Implikanteista tulee yhtä suuria kuin loki. 1 seuraaville argumenttiarvoille: , , ja , , .
Näiden implikanttien rooli funktion lyhennetyn muodon ilmaisussa on vain antaa funktiolle arvo 1. Näillä joukoilla funktio on kuitenkin yhtä suuri kuin 1 muiden implikanttien takia. ilmaisusta. Itse asiassa korvaamalla yllä ilmoitetut arvot kaavaan (a) saamme:
;
;
Minimikonjunktiivisen normaalimuodon (MCNF) saamiseksi Quinen menetelmällä otetaan käyttöön seuraavat kriteerit: