12
5. Минимизация логических функций методом Квайна – Мак-Класки Метод Карно позволяет минимизировать логические функции с относительно малым числом переменных. Кроме того метод является визуальным и сложным для алгоритмизации. Метод минимизации Квайна – Мак-Класки (далее просто Мак-Класки) является систематичным и его легко алгоритмизировать. Кроме того в нем отсутствуют ограничения на число переменных логической функции.

5. Минимизация логических функций методом Квайна – Мак-Класки

  • Upload
    gili

  • View
    119

  • Download
    11

Embed Size (px)

DESCRIPTION

5. Минимизация логических функций методом Квайна – Мак-Класки. Метод Карно позволяет минимизировать логические функции с относительно малым числом переменных . Кроме того метод является визуальным и сложным для алгоритмизации. - PowerPoint PPT Presentation

Citation preview

Page 1: 5.  Минимизация логических функций методом Квайна – Мак-Класки

5. Минимизация логических функций методом Квайна – Мак-Класки

Метод Карно позволяет минимизировать логические функции с относительно малым числом переменных. Кроме того метод является визуальным и сложным для алгоритмизации.

Метод минимизации Квайна – Мак-Класки (далее просто Мак-Класки) является систематичным и его легко алгоритмизировать. Кроме того в нем отсутствуют ограничения на число переменных логической функции.

Page 2: 5.  Минимизация логических функций методом Квайна – Мак-Класки

Метод Мак-Класки состоит из двух основных этапов:

1. Нахождение всех простых импликант логической функции, используя правило склеивания

2. Минимизации полученного множества простых импликант (задача нахождения оптимального покрытия)

10. Законы склеивания:a) (A & B) (A & B) Ab) (A B) & (A B) A

Page 3: 5.  Минимизация логических функций методом Квайна – Мак-Класки

Метод Мак-Класки. 1-ый этап.

• Разделить двоичные векторы области единиц логической функции на секции в соответствии с их индексами. Индекс двоичного вектора = число единиц, входящих в состав этого вектора.  • Составить таблицу интервалов, используя правило склеивания. Склеивать между собой только те двоичные векторы, которые отличаются друг от друга только в одной координате (ближайшие векторы). Склеивание происходит по этой координате. Ближайшие векторы могут находится только в соседних секциях таблицы.  • В конце первого этапа получают все простые импликанты логической функции.  

Page 4: 5.  Минимизация логических функций методом Квайна – Мак-Класки

В ходе второго этапа полученное множество простых импликант минимизируют, т.е. выбирают минимальное количество простых импликант, которое позволяет покрыть всю область единиц логической функции (типичная задача нахождения оптимального покрытия).

Метод Мак-Класки. 2-ой этап.

Page 5: 5.  Минимизация логических функций методом Квайна – Мак-Класки

1-ый этап – нахождение всех простых импликант логической функции.

Пример 5.1 пусть задана логическая функцияf (X1 , X2 , X3 , Х4 ) = (0,1,2,5,6,7,8,9,10,14)1

Найти МДНФ методом Мак-Класки.Решение:

Выпишем двоичные векторы области единиц логической функции и найдем их индексы

V1 (X1, X2, X3,Х4) ={(0000), (0001), (0010), (0101), (0110), (0111), (1000),

(1001), (1010), (1110),}.

0 1 1 2 2 3 1

2 2 3

Разделим двоичные векторы на секции в соответствии с их индексами, получим таблицу:

Page 6: 5.  Минимизация логических функций методом Квайна – Мак-Класки

индекс интервал

0 0000

1 0001

0010

1000

2 0101

0110

1001

1010

3 0111

1110

Таблица интервалов:

Склеиваем между собой ближайшие векторы соседних секций пока это возможно.

Page 7: 5.  Минимизация логических функций методом Квайна – Мак-Класки

индекс интервал индекс интер-вал

индекс интервал обозн.

0 0000 0-1 000- 0-1-1-2 -00- A4

1 0001 00-0 -0-0 A5

0010 -000 1-2-2-3 --10 A6

1000 1-2 0-01

2 0101 -001

0110 0-10

1001 -010

1010 100-

3 0111 10-0

1110 2-3 01-1

011-

-110

1-10

Все оставшиеся не склееннымиинтервалы образуют множество всех простых импликант логической функции.

А1

А2

А3

Page 8: 5.  Минимизация логических функций методом Квайна – Мак-Класки

2-ой этап – минимизация полученного множества простых импликант логической функции.

Импли-кант

0000

00001

10010

20101

50110

60111

71000

81001

91010

101110

14

A1 0-01 x x

A2 01-1 x x

A3 011- x x

A4 -00- x x x x

A5 -0-0 x x x x

A6 --10 x x x x

Вся область единиц должна быть покрыта простыми импликантами (в каждом столбце хотя бы один «х»), и их должно быть минимальное количество.

Page 9: 5.  Минимизация логических функций методом Квайна – Мак-Класки

Оптимальное покрытие: А2, А4, А6.

МДНФ:

А2 А4 А6 = X1&X2&X4 X2&X3 X3&X4.

Page 10: 5.  Минимизация логических функций методом Квайна – Мак-Класки

Сходство методов Мак-Класки и Карно:

1. Векторы соседних клеток карты Карно = векторы соседних секций таблицы склеивания метода Мак-Класки.

2. Объдинение в контуры на карте Карно = склеивание в методе Мак-Класки.

3. Нахождение МДНФ и МКНФ методом Мак-Класки отличаются между собой по таким же принципам как и в методе Карно.

Page 11: 5.  Минимизация логических функций методом Квайна – Мак-Класки

Пример Найти МКНФ логической функции

f(X1 ,X2 ,X3, X4 ) = (2,5,6,7,10,11,14)0 1-ый этап – нахождение множества всех простых импликант индекс интервал индекс интервал обозн. индекс интервал обозн.

1 0010 1-2 0-10 1-2-2-3 --10 A4

2 0101 -010 --10

0110 2-3 01-1 A1

1010 011- A2

3 0111 -110

1011 101- A3

1110 1-10

Page 12: 5.  Минимизация логических функций методом Квайна – Мак-Класки

2-ой этап – минимизация полученного множества простых импликант

0010

2 0101

5 0110

6 0111

7 1010

10 1011

11 1110

14

A1 x x

A2 x x

A3 x x

A4 x x x x

3&2&1 AAAМКНФ

= (X1 X2 X4) & (X1 X2 X3) & (X3 X4)