Переведем логическую функцию от табличной к аналитической форме в виде ДСНФ.
F(X1X2X3X4) = X1X2X3X4 V X1X2X3X4 V X1X2X3X4 V X1X2X3X4 V X1X2X3X4
V X1X2X3X4 V X1X2X3X4 V X1X2X3X4 V X1X2X3X4.
Найти МДНФ различными методами.
1.3.1 Метод эквивалентных преобразований.
В основе метода минимизации булевых функций эквивалентными преобразованиями лежит последовательное использование законов булевой алгебры. Метод эквивалентных преобразований целесообразно использовать лишь для простых функций и для количества логических переменных не более 4-х. При большем числе переменных и сложной функции вероятность ошибок при преобразовании возрастает.
Проведем прямое алгебраическое преобразование, используя закон неполного склеивания.
F(X1X2X3X4) = X1X2X3X4 V X1X2X3X4 V X1X2X3X4 V X1X2X3X4 V X1X2X3X4 V
V X1X2X3X4 V X1X2X3X4 V X1X2X3X4 V X1X2X3X4 =
= (X1X2X3X4 V X1X2X3X4) V (X1X2X3X4 V X1X2X3X4)V(X1X2X3X4 V X1X2X3X4) V
V (X1X2X3X4 V X1X2X3X4) V (X1X2X3X4 V X1X2X3X4)V(X1X2X3X4 V X1X2X3X4) V
V (X1X2X3X4 V X1X2X3X4) V (X1X2X3X4 V X1X2X3X4)V(X1X2X3X4 V X1X2X3X4) V
V (X1X2X3X4 V X1X2X3X4) V (X1X2X3X4 V X1X2X3X4) =
= X1X2X4 V X1X2X3 V X1X3X4 V X2X3X4 V X1X3X4 V X2X3X4 V X1X2X4 V
V X1X2X3V X2X3X4 V X1X2X3 V X1X3X4 =
= (X1X2X3 V X1X2X3 V X1X3X4 V X1X3X4) V X1X2X4 V
V (X1X2X3 V X1X2X3 V X2X3X4 V X2X3X4) V X1X2X4 V
V (X1X3X4 V X1X3X4 V X2X3X4 V X2X3X4) =
= X1X3 V X2X3 V X3X4 V X1X2X4 V X1X2X4.
Дальнейшее преобразование невозможно. Полученную функцию можно немного упростить с помощью вынесения за скобки общих переменных.
Метод Квайна
При минимизации по методу Квайна предполагается, что минимизируемая логическая функция задана в виде ДСНФ. Здесь используется закон неполного склеивания. Минимизация проводится в два этапа: нахождение простых импликант, расстановка меток и определение существенных импликант (Q-матрица).
ДСНФ, ранг 4
1
2
3
4
5
6
7
8
9
0000
0010
0011
0101
0110
0111
1010
1011
1111
Наборы 3-го ранга
00*0
001*
0*10
*010
0*11
*011
01*1
011*
*111
101*
1*11
Наборы 2-го ранга
2-8
2-10
3-5
4-6
5-11
6-9
0*1*
*01*
0*1*
*01*
**11
**11
Как видно из таблиц, при получении матрицы второго ранга первый и седьмой наборы третьего ранга не склеились ни с какими другими наборами. Их необходимо занести в конечную матрицу простых импликант. В матрице же второго ранга мы видим, что некоторые наборы одинаковые. Их необходимо вычеркнуть, так как дизъюнкция одинаковых наборов равна этой же дизъюнкции (это следует из закона повторения)
Простые импликанты | |
1 2 3 4 5 | 0*1* *01* **11 00*0 01*1 |
Перенеся все выделенные строки в конечный массив, получим матрицу СДНФ. Алгебраическая запись СДНФ будет выглядеть следующим образом:
F(X1X2X3X4) = X1X3 V X2X3 V X3X4 V X1X2X4 V X1X2X4.
Эта же функция в нашем случае является и минимальной ДНФ.
Метод Квайна-Маккласки
В основу данного метода также положен закон неполного склеивания. Только в отличие от метода Квайна здесь производится гораздо меньше сравнений, так как, разбив исходную матрицу на несколько групп, мы сравниваем только те наборы, которые отличаются индексом на 1 или местоположением меток.
Распределим импликанты ДСНФ по индексам.
ДСНФ
Распределенные наборы 4-го ранга | ||||
i=0 | i=1 | i=2 | i=3 | i=4 |
0000 | 0010 | 0011 0101 0110 1010 | 0111 1011 | 1111 |
Сравнивая соседние группы и распределяя полученные наборы по положению символа ‘*’ получим:
Наборы 3-го ранга | |
1 2 3 4 5 6 7 8 9 10 11 | 00*0 001* 0*10 *010 0*11 *011 01*1 011* *111 101* 1*11 |
Распределенные наборы 3-го ранга | |||
1 | 2 | 3 | 4 |
*010 *011 *111 | 0*10 0*11 1*11 | 00*0 01*1 | 001* 011* 101* |
Распределенные наборы 2-го ранга | ||
12 | 14 | 24 |
**11 | *01* | 0*1* |
Примечание. Во всех выше приведенных таблицах простые импликанты отмечены жирным шрифтом с подчеркиванием.
Анализируя, видим, что СДНФ примет следующий вид:
Простые импликанты | |
1 2 3 4 5 | 0*1* *01* **11 00*0 01*1 |
Или в алгебраической форме:
F(X1X2X3X4) = X1X3 V X2X3 V X3X4 V X1X2X4 V X1X2X4.
Метод карт Карно.
Метод карт Карно – это один из графических методов минимизации функции. Эти методы основаны на использовании особенности зрительного восприятия, так как с его помощью можно практически мгновенно распознать те или иные простые конфигурации.
Преимуществами метода карт Карно над другими методами являются:
А) простота отыскания склеивающихся компонент;
Б) простота выполнения самого склеивания;
В) нахождение всех минимальных форм функции.
Построим таблицу метода карт Карно.
X 1 X 2 | X 1 X 2 | X 1 X 2 | X1X2 | |
X 3 X 4 | ■ | |||
X 3 X 4 | ■ | |||
X 3 X 4 | ■ | ■ | ■ | ■ |
X3X4 | ■ | ■ | ■ |
Теперь накроем совокупность всех квадратов с метками минимальным количеством правильных прямоугольников. Таких прямоугольников в нашем случае будет 5: три четырехклеточных и два двухклеточных. Этим прямоугольникам соответствуют следующие простые импликанты:
для первого – X3X4;
для второго – X1X3;
для третьего – X2X3;
для четвертого – X1X2X4;
для пятого – X1X2X4;
Минимальная ДНФ будет выглядеть так:
F(X1X2X3X4) = X1X3 V X2X3 V X3X4 V X1X2X4 V X1X2X4.
Сравнивая метод карт Карно с другими методами минимизации функции можно сделать вывод, что первый больше всего подходит для ручного исполнения. Время ручной работы значительно сокращается (за счет наглядного представления склеивающихся импликант). Программная реализация данного метода имеет свои сложности. Так, очень сложно будет реализовать оптимальный выбор правильных прямоугольников, особенно для большого числа аргументов.
Дата: 2019-05-28, просмотров: 188.