учебники, программирование, основы, введение в,

 

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

 

Очень часто, если не в большинстве случаев, работа конкретного устройства описывается с помощью неполностью определенной функции, так как некоторые комбинации входных сигналов не подаются или являются запрещенными.
Определение. Неполностью определенной функцией является такая переключательная функция, значения которой на некоторых наборах аргументов могут быть произвольными (т.е. равными "0" или "1").
Определение. Пусть функция f(x1,x2,...xn) не определена на "р" наборах аргументов. Тогда полностью определенную функцию (x1,x2,...xn) будем считать эквивалентной к f(x1,x2,...xn), если ее значения на тех наборах, на которых f(x1,x2,...xn) определена, совпадают.
Очевидно, существует 2р различных функций, эквивалентных f(x1,x2,...xn).
Задача минимизации f(x1,x2,...xn) состоит в выборе такой эквивалентной (x1,x2,...xn), которая имеет простейшую форму.
Введем две вспомогательные эквивалентные функции 0(x1,x2,...xn), 1(x1,x2,...xn), которые принимают на запрещенных наборах аргументов значения 0 и 1 соответственно.
ТЕОРЕМА. МДНФ неполностью определенной f(x1,x2,...xn) совпадает с дизъюнкцией самых коротких импликант 1(x1,x2,...xn), которые совместно накрывают все конституенты единицы 0(x1,x2,...xn), и ни одна из которых не является лишней.
Пример:
Пусть задана 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

Тогда
Найдем простые импликанты 1(x1x2x3x4)


Конституенты единицы 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-

*

Простые импликанты 1(x1x2x3x4)
1(x1x2x3x4) = 0-01 -101 110- 11-0 00- - -0-0 1- -0 11- -
Построим импликантную матрицу.


Конституенты единицы0

0000

0101

1000

1100

1111

Простые импликанты 1

0-01

+

-101

+

110-

+

11-0

+

00--

+

-0-0

+

+

1--0

+

+

11--

+

+

Выполним оптимальное покрытие конституент единицы 0 простыми импликантами 1 и получаем минимальную форму функции f(x1x2 x3 x4)
f1min(x1x2 x3 x4) = 11- - -0-0 -101 = x1x2 x2x4 x2x3x4
f2min(x1x2 x3 x4) = 11- - -0-0 0-01 = x1x2 x2x4 x1x3x4
Минимизация с помощью диаграмм Вейча неполностью определенных функций в наглядной и удобной форме позволяет отыскать минимальные формы.
Пример:
Рассмотрим функцию f(x1x2 x3 x4) и найдем ее минимальную форму. Заполнить диаграмму Вейча по следующим правилам: в клетки диаграммы поставим единицы, которые соответствуют конституентам единицы, нули – для отсутствующих конституент и символ неопределенности – "*" (звездочка) – в остальные.
Видно, что в клетки для конституент: x1x2x3x4, x1x2x3x4, x1x2x3x4 целесообразно "поставить" единицы вместо символов неопределенности, так как в этом случае образуется правильная конфигурация 2-го ранга, которая покрывается произведением x2x3.
Аналогично и в клетку x1x2x3x4 нужно "поставить" единицу.
Итак, fmin(x1x2 x3 x4) = x2x3 x1x4 x3x4 x1x2.
Замечание. Все, что было сказано относительно минимизации функции, представленной в СДНФ или ДНФ справедливо для функции, заданной в СКНФ или КНФ.
В этом случае необходимо отыскивать правильные конфигурации, образованные нулями.


Синтез переключательных функций в одноэлементном базисе
Операция (стрелка) Пирса
f8(x1,x2)

x1

0

0

1

1

x2

0

1

0

1

f8

1

0

0

0

Эту функцию можем представить, записав по "единицам":
При этом порядок выполнения операций в формулах, где есть операции Пирса такой:

  1. раскрываются скобки
  2. выполняются операции инверсии
  3. выполняются операции Пирса

Синтез логических функций в базисе Пирса удобно производить, имея запись функции в КНФ.
Допустим, что ФАЛ задана в конъюктивной форме
f = Q1Q2Q3 . . . Qn
Подставим член Qi в виде:
Qi = (xr xp xq . . . xw xf xe . . . xz)
Возьмем двойное отрицание от обеих частей этого равенства, применив правило де Моргана
xe * . . . * xz)
Применяя соотношение, полученное на основе принципа суперпозиции:
Qi =
Или, применяя это преобразование к исходной форме, получим:
f = Q1
Итак: чтобы от КНФ перейти к базису Пирса и инверсии необходимо:

  1. заменить операции дизъюнкции операциями Пирса
  2. заменить операции конъюнкции операциями Пирса
  3. заключить в скобки все те группы букв, которые соответсвуют конъюнктивным членам.

Пример:
f(x1x2 x3) = (
Замечание. Так как в этих произведениях число букв не увеличивается, и если исходная форма функции была минимальной, то вновь полученная также будет минимальной (в действительности дело обстоит сложнее, поскольку мы рассматриваем не базис "", а другой, то есть "" и "-" - операцию Пирса и инверсию).
Принципиально можно избавиться от отрицаний, применив соотношение: xi = xixi, но тогда нельзя будет утверждать, что полученная форма будет минимальной!

Операция штрих Шеффера


x1

0

0

1

1

x2

0

1

0

1

f14

1

1

1

0

Заметим, что эта функция дуальна по отношению к f8, поэтому все свойства являются по существу дуально вытекающими из рассмотренных.
f14 (x1,x2) = x1 x2 (запись функций по нулям)
x1 | x2 = x1 x2 = x1 x2 = x1x2 = x1 x2
на основе принципа суперпозиции:
x1 | x2 | . . . | xn = x1x2...xn
Рассмотрим некоторые эквивалентности:
x | x = x x = x
x1 | x2 | x3 = (x1 x2)| x3 = x1| (x2 x3)
x1 | x2 | x3| x4 = (x1 x2)| (x3 x4)
Сформулируем правила перехода от ДНФ функции к выражению с использованием операции "Штрих Шеффера".

  1. заменить все операции дизъюнкции на операции Шеффера
  2. заменить все операции конъюнкции на операции Шеффера
  3. группы букв, которые соответствуют дизъюнктивным членам, заключить в скобки.

Пример:
f(x1x2 x3) = x1x2 x3 x1x2 x1x2x3 = = (x1|x2|x3)|(x1|x2)|(x1|x2|x3)
То же самое можно утверждать относительно минимальной формы.
В заключение необходимо отметить, что в настоящее время вопросы синтеза функций в одноэлементном базисе приобретают большое значение, так как соответствующие элементы используют операцию Пирса и Шеффера. Однако в полной мере теоретически методы синтеза разработаны не столь детально, как это сделано в базисе "и", "или", "инверсия".
Минимальные конъюнктивные нормальные формы
Как было отмечено, для получения минимальной формы функции нужно построить как МДНФ так и МКНФ.
Рассмотрим построение МКНФ.
В основном методы получения МКНФ аналогичны методам получения МДНФ и поэтому сформулируем лишь правила получения МКНФ:

  1. Представить ФАЛ в СКНФ. Если она задана таблицей, то произвести запись функции по нулям, как это было сформулировано ранее. Если дана СДНФ, то из нее легко получить СКНФ:

f(x1x2x3) = x1x2x3 x1x2x3 x1x2x3 x1x2x3 x1x2x3 = (x1x2x3) (x1x2x3) (x1x2x3),
т.е. нужно функцию представить в виде конъюнкции недостающего числа дизъюктивных членов с соответсвенно расставлеными отрицаниями.

  1. При задании функции в произвольной конъюктивной форме, применяя

формулы развертывания:
x = (xy)(xy) = xxxyyxyy (xy) = (xyz)(xyz)
. . . . . . . . . . . .,
получить СКНФ.

  1. Выполнить все операции неполного склеивания:

(xy)(xy) = x(xy)(xy)
и поглощения: x(xy) = x, получить сокращенную КНФ.

  1. Применить любой из методов минимизации: испытание членов, диаграммы Вейча, метод импликантных матриц.
    • При выполнении метода испытания членов необходимо каждый конъюктивный член приравнять нулю. Найти значения аргументов, которые обращают его в нуль, удалить его из выражения функции и найти значение функции при найденных значениях аргументов. Если функция обратится в нуль, то конъюктивный член является лишним.

По возможности отбросить одновременно несколько членов, поступить как и при минимизации функции ДНФ.

    • При использовании диаграмм Вейча ищутся правильные конфигурации, образованные нулями.
    • При применении метода импликантных матриц поступают как и в случае ДНФ, только колонкам присваивают имена конституент "0" функции, записанной в СКНФ, а горизонтальным рядам – простых импликант. Далее ищут оптимальное покрытие.

 

 
На главную | Содержание | < Назад....Вперёд >
С вопросами и предложениями можно обращаться по nicivas@bk.ru. 2013 г.Яндекс.Метрика