Metoda lui Quine este o modalitate de a reprezenta o funcție în DNF sau CNF cu un număr minim de membri și un set minim de variabile. [1] [2] [3]
Conversia funcției poate fi împărțită în doi pași:
Să ne imaginăm că funcția dată este reprezentată în SDNF . Pentru a implementa prima etapă, transformarea trece prin două etape:
Operația de lipire se reduce la găsirea de perechi de termeni corespunzători formei sau , și transformarea acestora în următoarele expresii: . Rezultatele lipirii joacă acum rolul unor termeni suplimentari. Este necesar să găsiți toate perechile posibile de termeni (fiecare termen cu fiecare).
Apoi se efectuează operația de absorbție . Se bazează pe egalitate (termenul absoarbe expresia ). Ca urmare a acestei acțiuni, toți membrii absorbiți de alte variabile, ale căror rezultate sunt obținute în operația de lipire , sunt șterse din expresia logică .
Ambele operații ale primei etape pot fi efectuate atâta timp cât se poate face.
Aplicarea acestor operații este prezentată în tabel:
0 | 0 | 0 | 0 |
0 | 0 | unu | 0 |
0 | unu | 0 | unu |
0 | unu | unu | 0 |
unu | 0 | 0 | unu |
unu | 0 | unu | unu |
unu | unu | 0 | unu |
unu | unu | unu | unu |
SDNF arată astfel:
Rezultatul operației de lipire este necesar pentru a transforma funcția în a doua etapă (absorbție)
Membrii rezultatului lipirii sunt
Membrul absoarbe acei membri ai expresiei originale care conțin , adică primul și al patrulea. Acești membri sunt șterși. Termenul absoarbe al doilea și al treilea, iar termenul absoarbe al cincilea termen al expresiei originale.
Repetând ambele operații rezultă următoarea expresie:
Aici, o pereche de termeni și sunt lipiți împreună (lipirea unei perechi de termeni și duce la același rezultat), rezultatul lipirii absoarbe cei 2-, 3-, 4-, 5-lea termeni ai expresiei. Operațiunile ulterioare de lipire și absorbție se dovedesc a fi imposibile, o formă prescurtată a expresiei funcției date (în acest caz, coincide cu forma minimă)
Termenii scurtați (în cazul nostru, acesta este și ) sunt numiți implicanți simpli ai funcției. Ca rezultat, am obținut cea mai simplă expresie în comparație cu versiunea inițială - SDNF . Schema bloc a unui astfel de element este prezentată în figura din dreapta.
Ca și în prima etapă, egalitatea rezultată poate conține termeni a căror eliminare nu va afecta în niciun fel rezultatul final. Următoarea etapă de minimizare este eliminarea unor astfel de variabile. Tabelul de mai jos conține valorile de adevăr ale funcției. Potrivit acestuia, următorul SDNF va fi colectat .
0 | 0 | 0 | 0 | unu |
0 | 0 | 0 | unu | unu |
0 | 0 | unu | 0 | unu |
0 | 0 | unu | unu | 0 |
0 | unu | 0 | 0 | 0 |
0 | unu | 0 | unu | 0 |
0 | unu | unu | 0 | unu |
0 | unu | unu | unu | 0 |
unu | 0 | 0 | 0 | 0 |
unu | 0 | 0 | unu | 0 |
unu | 0 | unu | 0 | 0 |
unu | 0 | unu | unu | 0 |
unu | unu | 0 | 0 | 0 |
unu | unu | 0 | unu | 0 |
unu | unu | unu | 0 | unu |
unu | unu | unu | unu | unu |
SDNF compilat din acest tabel arată astfel:
Termenii acestei expresii sunt implicanti simpli ai expresiei. Trecerea de la forma redusă la minimă se realizează folosind matricea implicantă .
Membrii SDNF ai unei anumite funcții se potrivesc în coloane și în rânduri - implicanți simpli, adică membri ai unei forme abreviate. Coloanele de termeni PDNF sunt marcate , care sunt absorbite de implicanții primi individuali. În tabelul următor, implicantul simplu absoarbe termenii și (crucile sunt plasate în prima și a doua coloană).
Implicant simplu | ||||||
---|---|---|---|---|---|---|
Al doilea implicant absoarbe primul și al treilea membru al SDNF (indicat prin cruci), etc. Implicanții care nu sunt supuși excluderii formează miezul . Astfel de implicanți sunt determinați de matricea de mai sus. Pentru fiecare dintre ele există cel puțin o coloană care este acoperită doar de acest implicant.
În exemplul nostru, implicanții și (se suprapun coloanei a doua și a șasea) formează nucleul. Este imposibil să se excludă simultan din forma redusă a tuturor implicanților care nu sunt incluși în nucleu, întrucât excluderea unuia dintre implicanți îl poate transforma pe celălalt într-un membru inutil.
Pentru a obține forma minimă, este suficient să alegeți dintre implicanții neincluși în nucleu, un astfel de număr minim dintre ei cu un număr minim de litere în fiecare dintre acești implicanți, ceea ce va asigura suprapunerea tuturor coloanelor neacoperite de membri ai nucleului. În exemplul luat în considerare, este necesar să se acopere a treia și a patra coloană a matricei cu implicanți neincluși în nucleu. Acest lucru poate fi realizat în diferite moduri, dar deoarece este necesar să se aleagă numărul minim de implicanți, este evident că implicantul ar trebui să fie ales pentru a se suprapune acestor coloane .
Forma normală disjunctivă minimă (MDNF) a unei funcții date este:
(A)Diagrama bloc corespunzătoare acestei expresii este prezentată în figura din stânga. Trecerea de la schema redusă la MDNF a fost realizată prin eliminarea termenilor suplimentari - implicant și . Să arătăm admisibilitatea unei astfel de excluderi a membrilor dintr-o expresie logică.
Implicanții și devin egali cu log. 1 , respectiv pentru următoarele seturi de valori ale argumentelor: , , și , , .
Rolul acestor implicanți în exprimarea formei prescurtate a funcției este doar acela de a atribui funcției valoarea 1 pe seturile date de valori argument.Totuși, cu aceste mulțimi, funcția este egală cu 1 din cauza celorlalți implicanți. a expresiei. Într-adevăr, înlocuind setul de valori indicat mai sus în formula (a) , obținem:
;
;
Pentru a obține forma normală conjunctivă minimă (MCNF) folosind metoda lui Quine, sunt introduse următoarele criterii: