Você está na página 1de 7

Simplificao de funes Booleanas utilizando o

mtodo de Quine-McCluskey
Lus Gomes, Abril 1999 , FCT-UNL

Introduo
Quando se torna necessrio proceder simplificao de funes Booleanas
dependentes de muitas variveis, os mapas de Karnaugh revelam-se de interesse
reduzido ou nulo. Do ponto de vista prtico, mapas de Karnaugh com mais de seis
variveis so inviveis. Nessas situaes, recomenda-se a utilizao de mtodos
alternativos, como o de Quine-McCluskey que se descreve seguidamente. um
mtodo adequado para o suporte simplificao automtica de funes Booleanas.
Este mtodo baseia-se na utilizao de tabelas, permitindo a verificao de
adjacncias, entre mintermos (na fase inicial de aplicao do mtodo) ou entre
quaisquer produtos de variveis (a obter durante as fases seguintes).
Como j encontrado no mtodo de simplificao algbrica de funes, bem como nos
mapas de Karnaugh, uma adjacncia entre dois mintermos ocorre quando apenas uma
das variveis envolvidas varia nas expresses algbricas associadas. Isso traduz-se
numa simplificao imediata, no sentido de representar os dois mintermos adjacentes
por uma expresso que no depende da varivel que no se mantem constante.
Concretamente, considerando as variveis A e B e os mintermos m
3
=AB e m
2
=A B
como exemplos, a expresso m
2
+m
3
pode ser simplificada atravs de
AB+ A B = A(B+B )= A.
A identificao de adjacncias, como a ilustrada, est na base do mtodo de Quine-
McCluskey.
Procedimentos do mtodo
Pensemos na representao de cada mintermo atravs do nmero binrio associado.
Dado que as adjacncias entre mintermos s podem potencialmente ocorrer em
situaes em que o nmero de 1s presentes nos nmeros binrios que representam os
dois mintermos difiram em apenas um nico 1, no mtodo de Quine-McCluskey
procede-se a um agrupamento prvio dos mintermos presentes na funo que se
pretende simplificar tendo por base o nmero de 1s do mintermo.
Considere-se a funo f como exemplo.
f(A,B,C,D) = ( , , , , , , , ) 0 1 2 3 5111315


Os grupos resultantes da aplicao do critrio referido so os seguintes:
A B C D
m
0
0 0 0 0
m
1
0 0 0 1
m
2
0 0 1 0
m
3
0 0 1 1
m
5
0 1 0 1
m
11
1 0 1 1
m
13
1 1 0 1
m
15
1 1 1 1
1
A identificao de possveis simplificaes faz-se atravs de comparao entre todos
os mintermos de um grupo com todos os mintermos do grupo seguinte; sempre que
uma adjacncia identificada, os dois mintermos envolvidos so marcados e
adiciona-se uma linha numa tabela complementar referindo os mintermos associados,
os valores das variveis que se mantm constantes e um trao associado varivel
que muda. Esta linha representando um produto de variveis denomina-se por
implicante.
Em particular, comparando m
0
com o grupo seguinte, constitudo por m
1
e m
2
, dois
grupos iro ser formados, o primeiro agrupando m
0
e m
1
, que vai gerar uma linha na
nova tabela com valor 000- (associado s variveis ABCD), e o segundo agrupando
m
0
e m
2
, que vai gerar uma linha na nova tabela com valor 00-0.
Num segundo exemplo, resultante da anlise de m
3
com o grupo seguinte, constitudo
por m
11
e m
13
, apenas um novo grupo ir ser formado, agrupando m
3
e m
11
, gerando
uma linha na nova tabela com valor -011.
Considerando que a partir de agora os mintermos so referidos apenas pelo seu
nmero (isto , por i e no por m
i
), a aplicao do mtodo referido conduz s
seguintes tabelas:
Tabela 1 Tabela 2
A B C D A B C D
0 0 0 0 0 0,1 0 0 0 -
1 0 0 0 1 0,2 0 0 - 0
2 0 0 1 0 1,3 0 0 - 1
3 0 0 1 1 1,5 0 - 0 1
5 0 1 0 1 2,3 0 0 1 -
11 1 0 1 1 3,11 - 0 1 1
13 1 1 0 1 5,13 - 1 0 1
15 1 1 1 1 11,15 1 - 1 1
13,15 1 1 - 1
O passo seguinte aplica uma tcnica de identificao de adjacncias semelhante,
considerando os grupos da tabela 2. Como condio prvia adicional torna-se
necessrio garantir que a varivel removida no primeiro passo seja comum.
Tomando o implicante 0,1 como exemplo, das comparaes com o grupo seguinte
(constitudo pelos implicantes 1,3, 1,5 e 2,3), a primeira e segunda so excludas
(dado que os traos se encontram em colunas diferentes) e a terceira bem sucedida,
resultando na criao de uma linha numa nova tabela complementar, representando o
implicante 0,1;2,3 com valor associado 00--.
Como segundo exemplo, considere-se o implicante 3,11, que atravs da comparao
com o grupo seguinte no encontra simplificaes adicionais.
Da aplicao do mtodo referido, resulta o seguinte conjunto de tabelas:
2
Tabela 1 Tabela 2 Tabela 3
A B C D A B C D A B C D
0 0 0 0 0 0,1 0 0 0 - 0,1;2,3 0 0 - -
1 0 0 0 1 0,2 0 0 - 0 0,2;1,3 0 0 - -
2 0 0 1 0 1,3 0 0 - 1
3 0 0 1 1 1,5 0 - 0 1
5 0 1 0 1 2,3 0 0 1 -
11 1 0 1 1 3,11 - 0 1 1
13 1 1 0 1 5,13 - 1 0 1
15 1 1 1 1 11,15 1 - 1 1
13,15 1 1 - 1
Neste exemplo, a tabela 3 contem duas linhas, contudo representando o mesmo
implicante, representado por 00--. A segunda linha uma duplicao da primeira,
pelo que deve ser eliminada.
A razo para o seu aparecimento deve-se ao facto dos quatro mintermos envolvidos
(0,1,2 e3) serem adjacentes e o implicante resultante poder ser construdo de duas
formas: a primeira agrupando inicialmente (0, 1) e (2, 3), resultando na eliminao da
varivel D, seguida de agrupamento desses dois implicantes; a segunda agrupando
inicialmente (0, 2) e (1, 3), resultando na eliminao da varivel C, seguida de
agrupamento desses dois implicantes. O resultado final , obviamente, o mesmo e
pode ser compreendido recorrendo a um mapa de Karnaugh e sua expressividade
grfica.
Nas tabelas resultantes no possvel proceder a mais simplificaes. Os implicantes
que no foram agrupados designam-se por implicantes primos. Devem ser marcados
como tal (atravs de, por exemplo, ) e a funo f pode ser representada como uma
soma desses implicantes primos.
Tabela 1 Tabela 2 Tabela 3
A B C D A B C D A B C D
0 0 0 0 0 0,1 0 0 0 - 0,1;2,3 0 0 - -
1 0 0 0 1 0,2 0 0 - 0
2 0 0 1 0 1,3 0 0 - 1
3 0 0 1 1 1,5 0 - 0 1
5 0 1 0 1 2,3 0 0 1 -
11 1 0 1 1 3,11 - 0 1 1
13 1 1 0 1 5,13 - 1 0 1
15 1 1 1 1 11,15 1 - 1 1
13,15 1 1 - 1
f(A,B,C,D) = (1,5) + (3,11) + (5,13) + (11,15) + (13,15) + (0,1;2,3)
0-01 -011 -101 1-11 11-1 00--
= A CD + B CD + BCD + ACD + ABD + A B
Como pode ser facilmente concludo pelo mapa de Karnaugh associado (que se
apresenta seguidamente), existem termos redundantes.
3
1
A
B
C
D
1
1
1
1 1
1 1

Importa, desta forma, complementar a tcnica apresentada para identificao dos
implicantes primos, com um critrio para a sua seleco, que permita encontrar a
soluo mais simples. Sem o intuito de ser exaustivo, apresenta-se um mtodo para
atingir o objectivo enunciado. Baseia-se na construo de uma tabela, considerando
como linhas todos os implicantes primos encontrados na primeira parte do mtodo, e
como colunas todos os mintermos pertencentes funo em anlise. Nessa tabela
sero marcadas as coberturas de cada implicante primo em relao aos mintermos e
identificados os implicantes primos que sejam nicos representantes de um mintermo,
(atravs da localizao de colunas que sejam cobertos por apenas um implicante
primo). Estes implicantes primos so designados por implicantes primos essenciais e
faro obrigatoriamente parte da expresso simplificada representativa da funo.
No exemplo em anlise, existem as colunas 0 e 2 com apenas uma marcao,
impondo a marcao do implicante primo 0,1;2,3 como implicante primo essencial.
0 1 2 3 5 11 13 15
1,5 x x
3,11 x x
5,13 x x
11,15 x x
13,15 x x
0,1;2,3 x x x x

Tomando a lista de implicantes primos essenciais, marcam-se todos os mintermos que
sejam por eles cobertos. Para o exemplo em anlise, obtem-se a seguinte tabela.

0 1 2 3 5 11 13 15
1,5 x x
3,11 x x
5,13 x x
11,15 x x
13,15 x x
0,1;2,3 x x x x
A partir desta tabela possvel obter uma tabela simplificada contendo apenas, como
colunas, os mintermos no cobertos pelos implicantes primos essenciais, e como
linhas, os implicantes primos no essenciais. Para o exemplo em anlise, obtem-se a
tabela seguinte.
4
5 11 13 15
1,5 x
3,11 x
5,13 x x
11,15 x x
13,15 x x
O objectivo do passo seguinte o de reduzir o nmero de implicantes primos
utilizados atravs da identificao de implicantes primos cobertos por outros
implicantes. No exemplo em anlise, o implicante primo 1,5 coberto pelo implicante
primo 5,13, no sentido em que todos os mintermos presentes na tabela e representados
por 1,5 so tambm representados por 5,13. De modo semelhante, o implicante primo
3,11 coberto pelo implicante primo 11,15.
A tabela resultante da eliminao dos implicantes primos cobertos apresentada
seguidamente.
5 11 13 15
5,13 x x
11,15 x x
13,15 x x
O procedimento utilizado na tabela inicial para identificao de implicantes primos
essenciais pode ser utilizado nesta tabela simplificada, permitindo a identificao de
implicantes primos essenciais secundrios, atravs da identificao de mintermos que
sejam unicamente cobertos por um dos implicantes primos. No exemplo em anlise,
este procedimento identifica 5,13 e 11,15 como implicantes primos essenciais
secundrios.

5 11 13 15
5,13 x x
11,15 x x
13,15 x x

Marcando os mintermos cobertos pelos implicantes primos essenciais secundrios
permitir gerar uma nova tabela simplificada, contendo como colunas todos os
mintermos ainda no representados por nenhum implicante primo essencial ou
essencial secundrio, e como linhas todos os implicantes primos no seleccionados.
Nesta tabela os implicantes primos devero ser selecionados de modo a garantir uma
expresso simples, atravs da seleco do menor nmero de implicantes que sejam
uma cobertura para os mintermas presentes
No exemplo em anlise, no existem mintermos a descoberto, pelo que o processo de
simplificao est concludo e a funo pode ser representada como o somatrio dos
implicantes marcados, ou seja,
f(A,B,C,D) = (5,13) + (11,15) + (0,1;2,3)
-101 1-11 00--
= BCD + ACD + A B
Simplificao do mtodo
Embora a principal motivao para utilizao do mtodo de Quine-McCluskey tenha
sido a de permitir a simplificao automtica de expresses, para o caso em que a
simplificao seja realizada manualmente, a representao dos mintermos durante a
5
primeira parte do mtodo atravs do nmero binrio associado, para alm de
fastidiosa, propensa a erros.
Assim, a utilizao do mtodo simplificado vai diferir do apresentado na seco
anterior em quatro aspectos, que se descrevem seguidamente.
O primeiro o de que os mintermos so representados unicamente pelo nmero
decimal associado.
A gerao de um implicante ocorre sempre que a diferena entre os nmeros
representativos dos dois mintermos (ou implicantes nas tabelas seguintes primeira)
seja positiva e igual a uma potncia de 2.
A segunda diferena introduzida pelo mtodo simplificado, inclui na representao de
um implicante, para alm da referncia dos mintermos envolvidos, a diferena
verificada, entre parntesis. Este valor da diferena tem a mesma funo que o trao
no mtodo apresentado na seco anterior, permitindo seleccionar os implicantes
potencialmente agrupveis quando se comparar dois grupos de implicantes adjacentes
de cada tabela.
A terceira diferena permite evitar a necessidade de eliminao de implicantes
duplicados, atravs da representao ordenada dos mintermos de um determinado
implicante. Aquando da gerao de um implicante com a mesma representao, este
simplesmente no referido. No exemplo analisado, quer o implicante 0,1;2,3, quer o
implicante 0,2;1,3 sero representados atravs de 0,1,2,3.
A aplicao do mtodo simplificado conduz seguinte tabela.
Tabela 1 Tabela 2 Tabela 3
0 0,1(1) 0,1,2,3(1,2)
1 0,2(2)
2 1,3(2)
3 1,5(4)
5 2,3(1)
11 3,11(8)
13 5,13(8)
15 11,15(4)
13,15(2)
A segunda parte do mtodo semelhante apresentada na seco anterior, obtendo-se
no final a expresso
f(A,B,C,D) = (5,13(8)) + (11,15(4)) + (0,1,2,3(1,2))
A obteno dos nmeros representativos de cada um dos implicantes referidos faz-se
simplesmente encontrando a representao em binrio do nmero de um dos
mintermos desse implicante, anulando a dependncia das variveis (colocando um
trao) correspondem a posies com o(s) peso(s) indicados dentro dos parntesis.
Para o exemplo em anlise, o implicante 5,13(8) ser representado por -101 (5=0101
com trao na posio de peso 8). Esta a quarta e ltima diferena em relao ao
mtodo apresentado na seco anterior.
Simplificao de funes incompletamente especificadas
A simplificao de funes incompletamente especificadas introduz uma nica
alterao em relao ao mtodo apresentado. Essa alterao traduz-se na introduo
na tabela 1 de referncias tambm dos mintermos associados aos dont care (isto ,
para efeitos da determinao de todos os potenciais implicantes consideram-se os
dont care como 1s).
Considerando como exemplo a funo
6
f(A,B,C,D) = ( , , , , , ) 0 3 5111315

+ d(1,2)
o resultado da aplicao da primeira parte do mtodo semelhante ao obtido nas
seces anteriores, ou seja
Tabela 1 Tabela 2 Tabela 3
0 0,1(1) 0,1,2,3(1,2)
1 0,2(2)
2 1,3(2)
3 1,5(4)
5 2,3(1)
11 3,11(8)
13 5,13(8)
15 11,15(4)
13,15(2)
Na segunda parte do mtodo apenas se consideram os mintermos para os quais a
funo definida como tendo o valor 1, no se incluindo portanto oa mintermos
associados a dont care.
0 3 5 11 13 15
1,5 x
3,11 x x
5,13 x x
11,15 x x
13,15 x x
0,1;2,3 x x

Os procedimentos do mtodo aplicar-se-o como referido nas seces anteriores
permitindo obter (novamente) a expresso simplificada
f(A,B,C,D) = BCD + ACD + A B


7

Você também pode gostar