Опубликован: 30.03.2005 | Уровень: специалист | Доступ: платный | ВУЗ: Национальный исследовательский ядерный университет «МИФИ»
Лекция 5:

Минимизация неполностью определенных функций

< Лекция 4 || Лекция 5: 123 || Лекция 6 >
Аннотация: В лекции представлена минимизация неполностью определенных функций, дан синтез функций в базисах штрих Шеффера и стрелка Пирса, даны подходы к минимизации конъюнктивных форм.

Очень часто, если не в большинстве случаев, работа конкретного устройства описывается с помощью неполностью определенной функции, так как некоторые комбинации входных сигналов не подаются или являются запрещенными.

Определение. Неполностью определенной функцией является такая переключательная функция, значения которой на некоторых наборах аргументов могут быть произвольными (т.е. равными " 0 " или " 1 ").

Определение. Пусть функция f(x1,x2,...xn) не определена на " р " наборах аргументов. Тогда полностью определенную функцию \varphi (x_{1},x_{2},\dots x_{n}) будем считать эквивалентной к f(x1,x2,...xn), если ее значения на тех наборах, на которых f(x1,x2,...xn) определена, совпадают.

Очевидно, существует 2р различных функций, эквивалентных f(x1,x2,...xn).

Задача минимизации f(x1,x2,...xn) состоит в выборе такой эквивалентной \varphi (x_{1},x_{2},\dots x_{n}), которая имеет простейшую форму.

Введем две вспомогательные эквивалентные функции \varphi _{0}(x_{1},x_{2},\dots x_{n}), \varphi _{1}(x_{1},x_{2},\dots x_{n}), которые принимают на запрещенных наборах аргументов значения 0 и 1 соответственно.

ТЕОРЕМА. СДНФ неполностью определенной f(x1,x2,...xn) совпадает с дизъюнкцией самых коротких импликант \varphi _{1}(x_{1},x_{2},\dots x_{n}), которые совместно накрывают все конституенты единицы \varphi _{0}(x_{1},x_{2},\dots x_{n}), и ни одна из которых не является лишней.

Пример:

Пусть задана f(x1,x2,...xn) в виде следующей таблицы:

f(x1,x2,...xn) 1 - - - 0 1 0 0 1 0 - 0 1 - - 1
Числовые эквиваленты наборов 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Тогда

\varphi _{0}(x_{1}x_{2}x_{3}x_{4}) = 0 \vee  5 \vee  8 \vee  12 \vee  15 = \overline{x}_{1}\overline{x}_{2}\overline{x}_{3}\overline{x}_{4} \vee  \overline{x}_{1}x_{2}\overline{x}_{3}x_{4} \vee  x_{1}\overline{x}_{2}\overline{x}_{3}\overline{x}_{4} \vee  x_{1}x_{2}\overline{x}_{3}\overline{x}_{4} \vee  x_{1}x_{2}x_{3}x_{4} = 0000 \vee  0101 \vee  1000 \vee  1100 \vee  1111,

а

\varphi _{1}(x_{1}x_{2}x_{3}x_{4}) = 0 \vee  1 \vee  2 \vee  3 \vee  5 \vee  8 \vee  10 \vee  12 \vee  13 \vee  14 \vee  15 = 0000 \vee  0001 \vee  0010 \vee  0011 \vee  0101 \vee  1000 \vee  1010 \vee  1100 \vee  1101 \vee  1110 \vee  1111

Найдем простые импликанты \varphi _{1}(x_{1}x_{2}x_{3}x_{4})

Конституенты единицы \phi 1 Отметки о склейке Импликанты Отметки о склейке Импликанты
0000
*
000-
00-0
-000
*
00- -
00- -
-0-0
0001
0010
1000
* *
* *
*
00-1
0-01
001-
-010
1-00
*
0011
0101
1010
1100
* -
* *
1- -0
* *
* *
1101
1110
*
-101
1-10
110-
11-0
-
*
*
-
11- -
-
1111
*
111-
*

Простые импликанты \varphi _{1}(x_{1}x_{2}x_{3}x_{4})

\varphi _{1}(x_{1}x_{2}x_{3}x_{4}) = 0-01 \vee  -101 \vee  110- \vee  11-0 \vee               00- - \vee  -0-0 \vee  1- -0 \vee  11- -

Построим импликантную матрицу.

Конституенты единицы \varphi _{0} 0000 0101 1000 1100 1111
Простые импликанты \varphi _{1}
0-01 +
-101 +
110- +
11-0 +
00-- +
-0-0 + +
1--0 + +
11-- + +

Выполним оптимальное покрытие конституент единицы \varphi _{0} простыми импликантами \varphi _{1} и получаем минимальную форму функции f(x1x2 x3 x4)

f^{1}_{min}(x_{1}x_{2} x_{3} x_{4}) = 11- - \vee  -0-0 \vee  -101 = x_{1}x_{2} \vee  \overline{x}_{2}\overline{x}_{4} \vee  x_{2}\overline{x}_{3}x_{4}

f^{2}_{min}(x_{1}x_{2} x_{3} x_{4}) = 11- - \vee  -0-0 \vee  0-01 = x_{1}x_{2} \vee  \overline{x}_{2}\overline{x}_{4} \vee  \overline{x}_{1}\overline{x}_{3}x_{4}

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

Пример:

Рассмотрим функцию f(x1x2 x3 x4) и найдем ее минимальную форму. Заполнить диаграмму Вейча по следующим правилам: в клетки диаграммы поставим единицы, которые соответствуют конституентам единицы, нули – для отсутствующих конституент и символ неопределенности – " * " (звездочка) – в остальные.


Видно, что в клетки для конституент: x1x2x3x4, x1x2x3x4, x1x2x3x4 целесообразно "поставить" единицы вместо символов неопределенности, так как в этом случае образуется правильная конфигурация 2-го ранга, которая покрывается произведением x2x3.

Аналогично и в клетку x1x2x3x4 нужно "поставить" единицу.

Итак, f_{min}(x_{1}x_{2} x_{3} x_{4}) = \overline{x}_{2}x_{3} \vee  \overline{x}_{1}\overline{x}_{4} \vee  \overline{x}_{3}\overline{x}_{4} \vee  \overline{x}_{1}\overline{x}_{2}.

Замечание. Все, что было сказано относительно минимизации функции, представленной в СДНФ или ДНФ справедливо для функции, заданной в СКНФ или КНФ.

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

< Лекция 4 || Лекция 5: 123 || Лекция 6 >
Жаксылык Несипов
Жаксылык Несипов
Людмила Долгих
Людмила Долгих

Здравствуйте. В первой лекции курса "Логические и арифметические основы и принципы работы ЭВМу вас приведена классическая структурная схема ЭВМ. Если можно уточните, а как в классической архитектуре могла реализоваться прямая работа устройств ввода-вывода с оперативной памятью?  Если я правильно понимаю - это режим прямого доступа к памяти, в классической архитектуре он не предусмотрен.

Сергей Пантелеев
Сергей Пантелеев
Россия, Москва
Ахмет Арчаков
Ахмет Арчаков
Россия, Магас