120 likes | 570 Views
5. Минимизация логических функций методом Квайна – Мак-Класки. Метод Карно позволяет минимизировать логические функции с относительно малым числом переменных . Кроме того метод является визуальным и сложным для алгоритмизации.
E N D
5. Минимизациялогических функцийметодом Квайна – Мак-Класки Метод Карно позволяет минимизировать логические функции с относительно малым числом переменных. Кроме того метод является визуальным и сложным для алгоритмизации. Методминимизации Квайна – Мак-Класки (далее простоМак-Класки) является систематичным и его легко алгоритмизировать. Кроме того в нем отсутствуют ограничения на число переменных логической функции.
МетодМак-Класкисостоит из двух основных этапов: • Нахождение всех простых импликант логической функции, используя правило склеивания • 2. Минимизацииполученного множества простых импликант (задача нахождения оптимального покрытия) • 10. Законы склеивания: • (A & B) (A & B) A • (A B) & (A B) A
МетодМак-Класки.1-ый этап. • Разделить двоичные векторы области единиц логической функции на секции в соответствии с их индексами. • Индекс двоичного вектора = число единиц, входящих в состав этого вектора. • Составить таблицу интервалов, используя правило склеивания. Склеивать между собой только те двоичные векторы, которые отличаются друг от друга только в одной координате (ближайшие векторы). Склеивание происходит по этой координате.Ближайшие векторымогут находится только в соседних секциях таблицы. • В конце первого этапа получают все простые импликанты логической функции.
МетодМак-Класки.2-ой этап. В ходе второго этапа полученное множество простых импликант минимизируют,т.е. выбираютминимальноеколичество простых импликант, которое позволяет покрыть всю область единиц логической функции (типичная задача нахожденияоптимального покрытия).
Пример5.1пусть заданалогическая функция f (X1 ,X2 , X3 , Х4) = (0,1,2,5,6,7,8,9,10,14)1 Найти МДНФ методом Мак-Класки. Решение: Выпишем двоичные векторы области единиц логической функции и найдем их индексы 0 1 1 2 2 3 1 V1 (X1, X2, X3,Х4) ={(0000), (0001), (0010), (0101), (0110), (0111), (1000), (1001), (1010), (1110),}. 2 2 3 1-ый этап – нахождениевсех простых импликант логической функции. Разделим двоичные векторы на секции в соответствии с их индексами, получим таблицу:
Таблица интервалов: Склеиваем между собой ближайшие векторысоседних секций пока это возможно.
А1 Все оставшиеся не склеенными интервалы образуют множество всех простых импликант логической функции. А2 А3
2-ой этап – минимизацияполученного множества простых импликант логической функции. Вся область единиц должна быть покрыта простыми импликантами (в каждом столбце хотя бы один «х»), и их должно быть минимальноеколичество.
Оптимальное покрытие: А2, А4, А6. МДНФ: А2 А4 А6 = X1&X2&X4X2&X3X3&X4.
Сходство методов Мак-Класкии Карно: • Векторы соседних клетоккарты Карно = векторы соседних секций таблицы склеивания метода Мак-Класки. • Объдинение в контуры накарте Карно = склеивание в методе Мак-Класки. • Нахождение МДНФ и МКНФ методом Мак-Класки отличаются между собой по таким же принципам как и в методе Карно.