Você está na página 1de 20

Algoritmo de

Quine-McClusky
Alberto Willian Mascarenhas
awmascarenhas@gmail.com

Algoritmo de

Quine-McClusky

Origem: Wikipdia, a enciclopdia livre

Introdu
o
OAlgoritmo de QuineMcCluskey(oumtodo dos
implicantes primos) um mtodo utilizado para
minimizao de funes booleanasdesenvolvido porW.V. Quine
eEdward J. McCluskeyem 1956.
funcionalmente idntico aomapa de Karnaugh, mas a forma
tabular o faz mais eficiente para uso em algoritmos
computacionais, alm de fornecer um algoritmo determinstico
para checar se a forma mais simplificada de uma
funo booleanafoi alcanada.

Alberto Willian

https://sites.google.com/site/awmascaren
has/

Algoritmo de

Quine-McClusky

Origem: Wikipdia, a enciclopdia livre

O procedimento
Consiste em 3 etapas:
1. Encontrar todos os implicantes primos da funo;
2. Usar esses implicantes primos num mapa de
implicantes primos para encontrar os implicantes
primos essenciais da funo;
3. Usar os implicante primos essenciais e se
necessrio alguns implicantes primos para
encontrar a funo minimizada.
Alberto Willian

https://sites.google.com/site/awmascaren
has/

Algoritmo de

Quine-McClusky

Origem: Wikipdia, a enciclopdia livre

Complexidade
Embora mais prtico do que omapa de Karnaugh
ao lidar com mais de 4 variveis, o algoritmo de
Quine-McCluskey tambm possui limitaes devido
ao fato de oproblemaresolvido por ele serNP-difcil
: otempo de execuodo algoritmo de QuineMcCluskey cresceexponencialmenteem relao ao
nmero de variveis. Pode-se mostrar que para
uma funo denvariveis o limite superior no
nmero de implicantes primos 3n/n. Sen= 32
havero cerca de 5.8 * 1013implicantes primos.
Alberto Willian

https://sites.google.com/site/awmascaren
has/

Algoritmo de

Quine-McClusky

Origem: Wikipdia, a enciclopdia livre

Exemplo
Etapa 1: Implicantes primos
Minimizando uma funo arbitrria:

f(A,B,C,D) =m(4,8,10,11,12,15) + d(9,14)


Esta expresso diz que a sada da funo f ser 1
para os mintermos 4,8,10,11,12 e 15 (denotados por
'm'), alm de haver sadas irrelevantes, chamados
don't care, definidas pelos minitermos 9 e 14.

Alberto Willian

https://sites.google.com/site/awmascaren
has/

Algoritmo de

Quine-McClusky
A

m0

m1

m2

m3

m4

m5

m6

m7

m8

m9

m10

m11

Alberto Willian

Exempl
o

Obtemos facilmente a soma de


produtos a partir desta tabela,
simplesmente somando os
mintermos e desprezando os
termos don't care:

https://sites.google.com/site/awmascaren
has/

Algoritmo de

Quine-McClusky

Origem: Wikipdia, a enciclopdia livre

Exemplo

A frmula acima no est em sua forma mais simplificada. Para


encontrar os minitermos primos, primeiro agrupa-se todos os
minitermos em uma tabela. Separando em grupos baseado na
quantidade e 1's presentes.
Nmero de 1s
1

3
4

Alberto Willian

Mintermo

Representao
Binria

m4

0100

m8

1000

m9

1001

m10

1010

m12

1100

m11

1011

m14

1110

m15

1111
https://sites.google.com/site/awmascaren
has/

Algoritmo de

Quine-McClusky

Origem: Wikipdia, a enciclopdia livre

Exemplo
Comeando pelo primeiro elemento do primeiro grupo da
tabela, compare-o com todos os termos do grupo seguinte.
Toda vez que a combinao for possvel a menos de um dgito
deve-se anotar o cdigo resultante em uma outra tabela,
substituindo o dgito divergente pelo sinal-. Toda vez que um
termo no possuir combinao deve-se marc-lo pois este
representa umimplicante primo. Repete-se o procedimento
para cada termo do primeiro grupo. Faa o mesmo para o
segundo grupo, comparando seus termos com os termos do
terceiro grupo.

Alberto Willian

https://sites.google.com/site/awmascaren
has/

Algoritmo de

Quine-McClusky

Origem: Wikipdia, a enciclopdia liv

Exemplo
Nm
ero
de
1's

Marc
a

Colun
a2

Marc
a

Colun
a3

Marc
a

0100

ok

100-

ok

10--

1000

ok

10-0

ok

1--0

1-00

ok

O algoritmo continua at
que no haja mais
combinaes possveis.

-100

*
1-1-

Neste exemplo, nenhum


dos termos da coluna 3
pde ser combinado. Se
no fosse o caso, o
algoritmo continuaria.

0
1

Depois de realizar o
procedimento em toda a
tabela. Repita o
procedimento para a
tabela gerada.

Colun
a1

1001

ok

10-1

ok

1010

ok

101-

ok

1100

ok

1-10

ok

11-0

ok

1-11

ok

1011

ok

Alberto Willian

https://sites.google.com/site/awmascaren
has/

Algoritmo de

Quine-McClusky

Origem: Wikipdia, a enciclopdia liv

O procedimento
Etapa 2: Implicantes primos essenciais

Usando os implicantes primos essenciais constri-se o mapa a seguir. A


primeira linha do mapa representa os minitermos envolvidos. A
primeira coluna mostra os implicantes primos e quais minitermos ele
pode representar. Para definir quais os minitermos cada implicante
primo pode representar usa-se o cdigo substituindo o-por0e
por1de forma a gerar todas as combinaes possveis.
minitermos representveis

-100

m(4,12)*

10--

m(8,9,10,11)

1--0

m(8,10,12,14)

1-1-

m(10,11,14,15)*

Implicante primo

Alberto Willian

10

11

12

15

X
X
X

https://sites.google.com/site/awmascaren
has/

Algoritmo de

Quine-McClusky

Origem: Wikipdia, a enciclopdia liv

O procedimento

Olhando as colunas da tabela observa-se que os implicantes primos


so aqueles que possuem apenas umXem uma das colunas. Se um
implicante primo essencial, ento ser necessrio inclu-lo na
equao booleana simplificada. Em alguns casos, os implicantes
primos essenciais no cobrem todos os minitermos. Nesses casos
deve-se adicionar termos no essenciais de forma a cobrir todos os
minitermos. Esse procedimento deve visar a menor quantidade
possvel de adies. Para proceder forma mais analtica pode ser
usado omtodo de Petrick. Neste exemplo podemos combinar os
implicantes essenciais com um dos no essenciais para cobrir todos
os minitermos
e obter uma das
equaes:
4
8
10
11
12
15
A
B
C
D
Implicante primo
minitermos representveis
-100
10-1--0
1-1-

m(4,12)*
m(8,9,10,11)
m(8,10,12,14)
m(10,11,14,15)*

Alberto Willian

X
X

X
X

X
X
X

1
1
1

1
0
-

0
1

0
0
-

https://sites.google.com/site/awmascaren
has/

Algoritmo de

Quine-McClusky

Origem: Wikipdia, a enciclopdia liv

O procedimento
Neste exemplo podemos combinar os implicantes essenciais com um
dos no essenciais para cobrir todos os minitermos e obter uma das
equaes:

Ambas as equaes so mnimas e equivalentes equao inicial:

Alberto Willian

https://sites.google.com/site/awmascaren
has/

Algoritmo de

Quine-McClusky
Exerccio:
Encontre a funo minimizada baseada na tabela verdade dada a
seguir
f(m)

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

Alberto Willian

S
0
1
0
1
1
1
0
1
0
1
1
1
0
0
0
1

https://sites.google.com/site/awmascaren
has/

Algoritmo de

Quine-McClusky

Soluo
f(m)

1
3
4
5
7
9
10
11
15

A
0
0
0
0
0
1
1
1
1

B
0
0
1
1
1
0
0
0
1

Alberto Willian

C
0
1
0
0
1
0
1
1
1

D
1
1
0
1
1
1
0
1
1

S
1
1
1
1
1
1
1
1
1

f(m)

3
4

1
4
3
5
9
10
7
11
15

A
0
0
0
0
1
1
0
1
1

B
0
1
0
1
0
0
1
0
1

C
0
0
1
0
0
1
1
1
1

D
1
0
1
1
1
0
1
1
1

https://sites.google.com/site/awmascaren
has/

Algoritmo de

Quine-McClusky

Soluo
f(m)

3
4

1
4
3
5
9
10
7
11
15

A
0
0
0
0
1
1
0
1
1

Alberto Willian

B
0
1
0
1
0
0
1
0
1

C
0
0
1
0
0
1
1
1
1

D
1
0
1
1
1
0
1
1
1

Colun
Comparao as
A
B
C
D
1e3
0
0
1
1e5
0
0
1
1 com 2
1e9
0
0
1
4e5
0
1
0
3e7
0
1
1
3e
11
0
1
1
5e7
0
1
1
2 com 3
9e
11
1
0
1
10 e
11
1
0
1
7e
15
1
1
1
3 com 4
11 e
15
1
1
1
https://sites.google.com/site/awmascaren
has/

Algoritmo de

Quine-McClusky

Soluo
Colun
Comparao as
1e3
1e5
1 com 2
1e9
4e5
3e7
3e
11
5e7
2 com 3
9e
11
10 e
11
7e
15
3 com 4
11 e
15

Alberto Willian

A
0
0
0
0

B
0
0
1
-

C
0
0
0
1

D
1
1
1
1

0
1

1
-

1
1

Compara Coluna
o
s

1e3 *
1e5
1 com 2
1e9
4e5
3e7
3 e 11
5e7 *
2 com 3
9 e 11 *
10 e
11

7 e 15
3 com 4 11 e
15

https://sites.google.com/site/awmascaren
has/

Algoritmo de

Quine-McClusky

Soluo

Colun
Comparao as
1e3
1e5
1 com 2
1e9
4e5
3e7
3 e 11
5e7
2 com 3
9 e 11
10 e
11
7 e 15
3 com 4
11 e
15

1,3,5,7
1,3,9,11
1,5,3,7
1,9,3,11
3,7,11,1
5

Alberto Willian

A
0
0
-

B
0
0

A
0
0
0
0
0
1

B
0
0
1
0
1
0

C
0
0
0
1
1
-

D
1
1
1
1
1
1
1

1
-

0
1

1
1

C
1

D
1
1
1
1

Compara Coluna
o
s
1e3
1e5
1 com 2
1e9
4e5
3e7
3 e 11
2 com 3
5e7
9 e 11
10 e 11
7 e 15
3 com 4
11 e 15

1,3,5,7
1,3,9,11
3,7,11,1
5

*
*

A
0
-

B
0

C
-

D
1
1

https://sites.google.com/site/awmascaren
has/

Algoritmo de

Quine-McClusky

Soluo

3,7,11,1
5
x
1,3,9,11 x x
1,3,5,7 x x
10 e 11
4e5 x

Alberto Willian

9 10 11 12 13 14 15

x
x

https://sites.google.com/site/awmascaren
has/

Algoritmo de

Quine-McClusky

Colun
Comparao as
1e3
1e5
1 com 2
1e9
4e5
3e7
3 e 11
5e7
2 com 3
9 e 11
10 e
11
7 e 15
Compara
3 com 4 Coluna
11 e
o
s15
1e3
1e5
1 com 2
1e9
4e5
3e7
3 e 11
2 com 3
5e7
9 e 11
10 e 11
7 e 15
3 com 4
11 e 15

Origem: Wikipdia, a enciclopdia liv


A
0
0
0
0
0
1

B
0
0
1
0
1
0

C
0
0
0
1
1
-

D
1
1
1
1
1
1
1

1
-

0
1

1
1

1
*
*


*

*
*


Alberto Willian

-


*

*
*




*

Soluo

1,3,5,7
1,3,9,11
3,7,11,1
5

A
0
-

B
0

C
-

D
1
1

https://sites.google.com/site/awmascaren
has/

CRDITOS
Wikipdia, a enciclopdia
livre

http://pt.wikipedia.org/wiki/Algoritmo_de_Quine-McCluskey

Alberto Willian

https://sites.google.com/site/awmascaren
has/