Você está na página 1de 10

1 ALGORITMO QUINE-McCLUSKEY DE MINIMIZAÇÃO

1.1 INTRODUÇÃO
O algoritmo de Quine-McCluskey faz a minimização lógica exata de funções booleanas.

1.2 DEFINIÇÕES EM MAPAS DE VEITCH-KARNAUGH


1.2.1 Implicante
É qualquer MINTERMO ou agrupamento válido dos mesmos.
1.2.2 Implicante Primo
É um agrupamento válido de MINTERMOS que não pode ser aumentado.
1.2.3 Implicante Primo Essencial
É um implicante primo que possui pelo menos um MINTERMO não presente em outro
implicante primo.

Exemplos:
IP ESSENCIAL
ab
cd 00 01 11 10 IMPLICANTE
IP ESSENCIAL 00 0 0 1 1 IMPLICANTE PRIMO OPCIONAL

01 1 1 0 1 IMPLICANTE PRIMO
mintermo
REDUNDANTE
11 1 0 0 0
maxtermo
IMPLICANTE PRIMO
10 0 1 1 1 ESSENCIAL

IP ESSENCIAL

1.3 ALGORITMO DE QUINE-McCLUSKEY (para 2 NÍVEIS e SAÍDA SIMPLES)


Dada uma função booleana:

 PASSO 1 - Obter os Implicantes Primos (IPs):


a) montar as listas de mintermos (ou maxtermos) e de irrelevantes (don’t care);
b) encontrar todos os IPs.
 PASSO 2 - Construir a Tabela de IPs.

SISTEMAS DIGITAIS 3 1
1 Algoritmo Quine-McCluskey de Minimização
 PASSO 3 - A partir da Tabela de IPs,
1. reduzir a Tabela de IPs, usando os conceitos de:
a) remoção dos IPs Essenciais;
b) linha dominante;
c) coluna dominante.
2. para uma Tabela de IPs não reduzível (Tabela Cíclica), usar:
a) Método Patrick (exato), ou
b) Método Bounded Branching (heurístico).
 PASSO 4 - Obter a Cobertura Mínima:
- encontrar o menor conjunto de IPs que cobrem todos os mintermos (ou maxtermos),
com o menor número de literais.

1.3.1 Conceito de Linha Dominante


Quando um implicante cobre todos os mintermos de um implicante , então
domina ,e pode ser eliminado.
1.3.2 Conceito de Coluna Dominante
Quando uma coluna cobre todos os mintermos de uma coluna , então domina
,e pode ser eliminada.

Exemplo 1:
Minimização lógica usando o algoritmo QUINE–McCLUSKEY da função booleana
F(a, b, c, d) = Σ(2, 4, 6, 8, 9, 10, 12, 13, 15).

 PASSO 1 - Obter os IMPLICANTES PRIMOS

- Lista 1:
a b c d
2 0 0 1 0
4 0 1 0 0 1 1’s
procurar 8 1 0 0 0
adjacentes 6 0 1 1 0
para Lista 2 9 1 0 0 1
2 1’s
10 1 0 1 0
12 1 1 0 0
13 1 1 0 1 3 1’s
15 1 1 1 1 4 1’s

SISTEMAS DIGITAIS 3 2
1 Algoritmo Quine-McCluskey de Minimização
- Lista 2:
a b c d
(2,6) 0 X 1 0 IP1
(2,10) X 0 1 0 IP2
procurar (4,6) 0 1 X 0 IP3
adjacentes (4,12) X 1 0 0 IP4
para Lista 3 (8,9) 1 0 0 X
(8,10) 1 0 X 0 IP5
(8,12) 1 X 0 0
(9,13) 1 X 0 1
(12,13) 1 1 0 X
(13,15) 1 1 X 1 IP6

- Lista 3:
a b c d
(8,9,12,13) 1 X 0 X IP7

 PASSO 2 - Construir a TABELA DE IPs

MINTERMOS
IPs 2 4 6 8 9 10 12 13 15
acd IP1
bcd IP2
abd IP3
bcd IP4
abd IP5
IPs abd IP6
Essenciais ac IP7

 PASSO 3 – Reduzir a TABELA DE IPs

a) Remoção dos IPs ESSENCIAIS:


- no caso, são IP6 e IP7.

MINTERMOS
IPs 2 4 6 10
IP1
IP2
IP3
IP4
IP5

SISTEMAS DIGITAIS 3 3
1 Algoritmo Quine-McCluskey de Minimização
b) Conceito de LINHA DOMINANTE:

IP2 cobre IP5  IP5 é eliminado


IP3 cobre IP4  IP4 é eliminado

MINTERMOS
IPs 2 4 6 10
IP1
IP2
IP3

c) Conceito de COLUNA DOMINANTE:

C2 cobre C10  C2 é eliminada


C6 cobre C4  C6 é eliminada

MINTERMOS
IPs 4 10
IP1
IP2
IP3

 PASSO 4 – Obter a COBERTURA MÍNIMA


- escolhidos IP2 e IP3

Portanto, a função mínima é:

(a, b, c, d) = IP2 + IP3 + IP6 + IP7 =

Verificação da miminização lógica no mapa de Veitch-Karnaugh:


ab
cd 00 01 11 10

00 1 1 1 IP7

01 1 1

11 IP6 1
1 1 1
10
IP3 IP2

SISTEMAS DIGITAIS 3 4
1 Algoritmo Quine-McCluskey de Minimização
Exemplo 2:
Minimização lógica usando QUINE–McCLUSKEY da função booleana:
F(a, b, c, d, e) = Σ(2, 3, 7, 10, 12, 15, 27) d(5, 18, 19, 21, 23).

 PASSO 1: IPs

- Lista 1:

a b c d e
2 0 0 0 1 0
3 0 0 0 1 1
5 0 0 1 0 1
10 0 1 0 1 0
12 0 1 1 0 0 IP1
18 1 0 0 1 0
7 0 0 1 1 1
19 1 0 0 1 1
21 1 0 1 0 1
15 0 1 1 1 1
23 1 0 1 1 1
27 1 1 0 1 1

- Lista 2:

a b c d e
(2,3) 0 0 0 1 X
(2,10) 0 X 0 1 0 IP2
(2,18) X 0 0 1 0
(3,7) 0 0 X 1 1
(3,19) X 0 0 1 1
(5,7) 0 0 1 X 1
(5,21) X 0 1 0 1
(18,19) 1 0 0 1 X
(7,15) 0 X 1 1 1 IP3
(7,23) X 0 1 1 1
(19,23) 1 0 X 1 1
(19,27) 1 X 0 1 1 IP4
(21,23) 1 0 1 X 1

- Lista 3:

a b c d e
(2,3,18,19) X 0 0 1 X IP5
(3,7,19,23) X 0 X 1 1 IP6
(5,7,21,23) X 0 1 X 1 IP7

SISTEMAS DIGITAIS 3 5
1 Algoritmo Quine-McCluskey de Minimização
 PASSO 2: Tabela de IPs

MINTERMOS
IPs 2 3 7 10 12 15 27
IP1
IPs IP2
Essenciais IP3
IP4
IP5
IP6
IP7

 PASSO 3: Reduzir Tabela de IPs

a. IPs Essenciais: IP1, IP2, IP3, IP4  Remover

MINTERMOS
IPs 3
IP5
IP6

b. Linha Dominante:
IP5 cobre IP6  IP6 é eliminado

MINTERMOS
IPs 3
IP5

Nota: Poderia ser também IP6 cobre IP5, então IP5 seria eliminado.

c. Coluna Dominante: C3

 PASSO 4: Cobertura Mínima


- escolhido IP5

(a, b, c, d, e) = IP1 + IP2 + IP3 + IP4 + IP5 =

menor número de
LITERAIS
(poderia ser também IP6,
neste caso).

SISTEMAS DIGITAIS 3 6
1 Algoritmo Quine-McCluskey de Minimização

Verificação da miminização lógica no mapa de Veitch-Karnaugh:

e=0 e=1
ab ab
00 01 11 10 00 01 11 10 IP4
cd cd
00 00
1 1 X 1 1 X
01 01 IP5
11 1 1 X
11
1 X X
10 10

IP1 IP2
IP3

1.3.3 Método Patrick

É um método exato para aplicação em tabela de IPs não reduzível, também chamada
de Tabela Cíclica.

Procedimento:

1) Extrair da TABELA CÍCLICA de IPs a função produto de somas, com cada coluna
gerando uma soma de IPs.

2) Converter o produto de somas em soma de produtos. O primeiro produto que cobre


todos os MINTERMOS é a solução.

Exemplo 3:
Minimização lógica usando o Método Patrick, a partir da Tabela Cíclica de IPs dada.

cada coluna gera uma soma


MINTERMOS
IPs 0 2 4 10 12 14
IP1
IP2
IP3
IP4
IP5
IP6

SISTEMAS DIGITAIS 3 7
1 Algoritmo Quine-McCluskey de Minimização

1) F = (IP1+IP2) · (IP1+IP3) · (IP2+IP4) · (IP3+IP5) · (IP4+IP6) · (IP5+IP6)


2) F = (IP1+IP1·IP3+IP1·IP2+IP2·IP3) · (IP2+IP4) …

= (IP1·IP2+IP1·IP4+IP1·IP3·IP2+IP1·IP3·IP4+IP1·IP2+IP1·IP2·IP4+IP2·IP3+...

... +IP2·IP3·IP4) · (IP3+IP5) …

F = ... IP1·IP4·IP5+...
Solução Mínima Exata
(1º Produto que cobre
todos os MINTERMOS)

IP1 a b c d
0 0 0 0 (0)
0 0 1 0 (2)
0 0 X 0

ab d

IP4 a b c d
0 1 0 0 (4)
1 1 0 0 (12)
X 1 0 0

bcd

IP5 a b c d
1 0 1 0 (10)
1 1 1 0 (14)
1 X 1 0

acd

Portanto:

( , , , )= 1 4 5=

SISTEMAS DIGITAIS 3 8
1 Algoritmo Quine-McCluskey de Minimização

Verificação da miminização lógica no mapa de Veitch-Karnaugh:


ab
cd 00 01 11 10
1 1 1
00 IP4
01
11
1 1 1 IP5
10

IP1

1.3.4 Método Bounded Branching

É um método heurístico para aplicação em Tabela Cíclica.

Procedimento:

1) Escolher um IP que contenha o menor número de literais como ESSENCIAL.


2) Aplicar os conceitos de linha dominante e coluna dominante.

Exemplo 4:
Minimização lógica usando o Método Bounded Branching, a partir da Tabela Cíclica de IPs
dada.

MINTERMOS
IPs 0 2 4 10 12 14
IP1
IP2
IP3
IP4
IP5
IP6

1) Escolher IP1 como ESSENCIAL


MINTERMOS
IPs 4 10 12 14
IP2
IP3
IP4
IP5
IP6

SISTEMAS DIGITAIS 3 9
1 Algoritmo Quine-McCluskey de Minimização
2) Aplicar conceitos de:

- LINHA DOMINANTE

IP4 domina IP2 e IP5 domina IP3; então eliminam-se IP2 e IP3.

MINTERMOS
IPs 4 10 12 14
IP4
IP5
IP6

- COLUNA DOMINANTE

C12 domina C4  C12 é eliminada.


C14 domina C10  C14 é eliminada.

MINTERMOS
IPs 4 10
IP4 Escolhidos: IP4 e IP5
IP5

Portanto:

( , , , )= 1 4 5=

_________________________________

SISTEMAS DIGITAIS 3 10

Você também pode gostar