Quines metod är ett sätt att representera en funktion i DNF eller CNF med ett minimum antal medlemmar och en minsta uppsättning variabler. [1] [2] [3]
Funktionskonvertering kan delas in i två steg:
Låt oss föreställa oss att den givna funktionen är representerad i SDNF . För att implementera det första steget går transformationen igenom två steg:
Limningsoperationen reduceras till att hitta termpar som motsvarar formen eller och omvandla dem till följande uttryck: . Limningsresultaten spelar nu rollen som ytterligare termer. Det är nödvändigt att hitta alla möjliga termpar (varje term med varje).
Därefter utförs absorptionsoperationen . Den bygger på jämlikhet (termen absorberar uttrycket ). Som ett resultat av denna åtgärd raderas alla medlemmar som absorberas av andra variabler, vars resultat erhålls i limningsoperationen , från det logiska uttrycket .
Båda operationerna i det första steget kan utföras så länge det kan göras.
Tillämpningen av dessa operationer visas i tabellen:
0 | 0 | 0 | 0 |
0 | 0 | ett | 0 |
0 | ett | 0 | ett |
0 | ett | ett | 0 |
ett | 0 | 0 | ett |
ett | 0 | ett | ett |
ett | ett | 0 | ett |
ett | ett | ett | ett |
SDNF ser ut så här:
Resultatet av limningsoperationen behövs för att transformera funktionen i det andra steget (absorption)
Medlemmarna i limningsresultatet är
Medlemmen absorberar de medlemmar av det ursprungliga uttrycket som innehåller , det vill säga det första och det fjärde. Dessa medlemmar raderas. Termen absorberar den andra och den tredje, och termen absorberar den femte termen i det ursprungliga uttrycket.
Upprepa båda operationerna resulterar i följande uttryck:
Här, ett par termer och limmas ihop (limmar ett par termer och leder till samma resultat), absorberar resultatet av limning de 2-, 3-, 4-, 5:e termerna i uttrycket. Ytterligare limnings- och absorptionsoperationer visar sig vara omöjliga, en förkortad form av uttrycket för den givna funktionen (i det här fallet sammanfaller det med minimiformen)
Förkortade termer (i vårt fall är detta och ) kallas enkla implikanter av funktionen. Som ett resultat fick vi det enklaste uttrycket jämfört med den ursprungliga versionen - SDNF . Blockschemat för ett sådant element visas i bilden till höger.
Liksom i det första steget kan den resulterande jämlikheten innehålla termer vars eliminering inte på något sätt kommer att påverka det slutliga resultatet. Nästa steg av minimering är borttagandet av sådana variabler. Tabellen nedan innehåller sanningsvärdena för funktionen. Enligt den kommer nästa SDNF att samlas in .
0 | 0 | 0 | 0 | ett |
0 | 0 | 0 | ett | ett |
0 | 0 | ett | 0 | ett |
0 | 0 | ett | ett | 0 |
0 | ett | 0 | 0 | 0 |
0 | ett | 0 | ett | 0 |
0 | ett | ett | 0 | ett |
0 | ett | ett | ett | 0 |
ett | 0 | 0 | 0 | 0 |
ett | 0 | 0 | ett | 0 |
ett | 0 | ett | 0 | 0 |
ett | 0 | ett | ett | 0 |
ett | ett | 0 | 0 | 0 |
ett | ett | 0 | ett | 0 |
ett | ett | ett | 0 | ett |
ett | ett | ett | ett | ett |
SDNF som sammanställts från den här tabellen ser ut så här:
Termerna för detta uttryck är enkla implikationer av uttrycket. Övergången från den reducerade formen till den minimala utförs med hjälp av implikantmatrisen .
Medlemmar av SDNF för en given funktion passar in i kolumner och i rader - enkla implikanter, det vill säga medlemmar av en förkortad form. Kolumner med PDNF- termer är markerade , som absorberas av individuella primära implikanter. I följande tabell absorberar den enkla implikanten termerna och (kryss placeras i den första och andra kolumnen).
Enkel implikant | ||||||
---|---|---|---|---|---|---|
Den andra implikanten absorberar de första och tredje medlemmarna av SDNF (anges med kryss), etc. De implikanter som inte är föremål för uteslutning utgör kärnan . Sådana implikanter bestäms av ovanstående matris. För var och en av dem finns det minst en kolumn som endast täcks av denna implikant.
I vårt exempel bildar implikanterna och (de överlappar den andra och sjätte kolumnen) kärnan. Det är omöjligt att samtidigt utesluta från den reducerade formen alla implikanter som inte ingår i kärnan, eftersom uteslutningen av en av implikanterna kan göra den andra till en onödig medlem.
För att få minimiformuläret räcker det att välja bland implikanterna som inte ingår i kärnan, ett sådant minsta antal av dem med ett minsta antal bokstäver i var och en av dessa implikanter, vilket säkerställer överlappning av alla kolumner som inte täcks av medlemmar av kärnan. I exemplet under övervägande är det nödvändigt att täcka den tredje och fjärde kolumnen i matrisen med implikanter som inte ingår i kärnan. Detta kan uppnås på olika sätt, men eftersom det är nödvändigt att välja minsta antal implikanter är det uppenbart att implikanten bör väljas för att överlappa dessa kolumner .
Den minsta disjunktiva normalformen (MDNF) för en given funktion är:
(a)Blockdiagrammet som motsvarar detta uttryck visas i figuren till vänster. Övergången från det reducerade systemet till MDNF genomfördes genom att eliminera de extra villkoren - den implicerande och . Låt oss visa tillåtligheten av en sådan uteslutning av medlemmar från ett logiskt uttryck.
Implikanterna och blir lika med logga. 1 för följande uppsättningar av argumentvärden: , , och , , .
Rollen för dessa implikanter i uttrycket av den förkortade formen av funktionen är endast att tilldela funktionen värdet 1 på de givna uppsättningarna av argumentvärden. Men med dessa uppsättningar är funktionen lika med 1 på grund av de andra implikanterna av uttrycket. Genom att ersätta uppsättningen av värden som anges ovan med formel (a) får vi:
;
;
För att erhålla den minimala konjunktiva normala formen (MCNF) med hjälp av Quines metod, introduceras följande kriterier: