Логические и арифметические основы и принципы работы ЭВМ

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

Разбить на страницы
Показывать лекцию целиком

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

Определение. Неполностью определенной функцией является такая переключательная функция, значения которой на некоторых наборах аргументов могут быть произвольными (т.е. равными " 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}$$
+
+
+
+
00-- +
-0-0 + +
+ +
+ +

Выполним оптимальное покрытие конституент единицы $$\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}$$.

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

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

Синтез переключательных функций в одноэлементном базисе

Операция (стрелка) Пирса

f8(x1,x2)
x1 0 0 1 1
x2 0 1 0 1
f8 1 0 0 0

Эту функцию можем представить, записав по "единицам":

$$f_{8}(x_{1},x_{2}) = \overline{x}_{1}\overline{x}_{2} = x_{1}\downarrow x_{2}$$

или

$$x_{1}\downarrow x_{2} = \overline{x}_{1}\overline{x}_{2}$$

На основе принципа суперпозиции:

$$f(x_{1},x_{2},\dots x_{n}) = x_{1}\downarrow x_{2}\downarrow x_{3}\downarrow . . . \downarrow x_{n} = \overline{x}_{1}\overline{x}_{2}\overline{x}_{3} . . .\overline{x}_{n}$$

Применяя правило де Моргана:

$$\overline{x_{1}\downarrow x_{2}\downarrow x_{3}\downarrow . . .\downarrow x_{n}} = \overline{x}_{1}\overline{x}_{2}\overline{x}_{3} . . .\overline{x}_{n} = x_{1} \vee x_{2} \vee x_{3} \vee . . .\vee x_{n}$$

или:

$$\overline{x_{1}\downarrow x_{2}\downarrow x_{3}\downarrow . . .\downarrow x_{n}} = \overline{x}_{1} \vee \overline{x}_{2} \vee \overline{x}_{3} \vee . . .\vee \overline{x}_{n}$$

т.е.

$$x_{1}\downarrow x_{2}\downarrow x_{3}\downarrow . . .\downarrow x_{n} = \overline{x_{1} \vee x_{2} \vee x_{3} \vee . . . \vee x_{n}}$$

Рассмотрим некоторые соотношения для операции Пирса:

$$x\downarrow x = \overline{x}\overline{x} = \overline{x}$$

$$x_{1}\downarrow x_{2} = \overline{x}_{1}\overline{x}_{2} = \overline{x}_{2}\overline{x}_{1} = x_{2}\downarrow x_{1}$$

$$x_{1}\downarrow x_{2}\downarrow x_{3} = (\overline{x}_{1}\overline{x}_{2})\downarrow x_{3} = \overline{x}_{1}\overline{x}_{2}\overline{x}_{3} \ne x_{1}\downarrow (\overline{x}_{2}\overline{x}_{3})$$,

т.е. операция Пирса не обладает свойством ассоциативности

$$x_{1}\downarrow x_{2}\downarrow x_{3} = \overline{(x_{1}\downarrow x_{2})}\downarrow x_{3} = x_{1}\downarrow \overline{(x_{2}\downarrow x_{3})}$$

$$x_{1}\downarrow x_{2}\downarrow x_{3}\downarrow x_{4} = \overline{(x_{1}\downarrow x_{2})}\downarrow \overline{(x_{3}\downarrow x_{4})}$$

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

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

    Допустим, что ФАЛ задана в конъюктивной форме

    f = Q1Q2Q3 . . . Qn

    Подставим член Qi в виде:

    $$Q_{i} = (x_{r} \vee x_{p} \vee x_{q} \vee . . . \vee x_{w} \vee \overline{x}_{f} \vee \overline{x}_{e} \vee . . . \vee \overline{x}_{z})$$

    Возьмем двойное отрицание от обеих частей этого равенства, применив правило де Моргана

    $$\overline{Q}_{i} = (\overline{x_{r} \vee x_{p} \vee x_{q} \vee . . . \vee x_{w} \vee x}_{f} \vee \overline{x}_{e} \vee . . . \vee \overline{x}_{z} = (\overline{x}_{r} * \overline{x}_{p} * \overline{x}_{q} * . . . * \overline{x}_{w} * x_{f} * x_{e} * . . . * x_{z}$$

    Применяя соотношение, полученное на основе принципа суперпозиции:

    $$Q_{i} = (\overline{x_{r}\downarrow x_{p}\downarrow x_{q}\downarrow . . .\downarrow x_{w}\downarrow x}_{f}\downarrow \overline{x}_{e}\downarrow . . .\downarrow \overline{x}_{z}$$

    Или, применяя это преобразование к исходной форме, получим:

    $$f = \overline{Q}_{1}\downarrow \overline{Q}_{2}\downarrow \overline{Q}_{3}\downarrow . . .\downarrow \overline{Q}_{n}$$

    Итак: чтобы от КНФ перейти к базису Пирса и инверсии необходимо:

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

    $$f(x_{1}x_{2} x_{3}) = (x_{1} \vee \overline{x}_{2} \vee x_{3}) (\overline{x}_{1} \vee x_{4}) (x_{2} \vee \overline{x}_{4}) = (x_{1}\downarrow \overline{x}_{2}\downarrow x_{3})\downarrow (\overline{x}_{1}\downarrow x_{4}) (x_{2}\downarrow \overline{x}_{4})$$

    Замечание. Так как в этих произведениях число букв не увеличивается, и если исходная форма функции была минимальной, то вновь полученная также будет минимальной (в действительности дело обстоит сложнее, поскольку мы рассматриваем не базис " $$\downarrow$$ ", а другой, то есть " $$\downarrow$$ " и " - " - операцию Пирса и инверсию).

    Принципиально можно избавиться от отрицаний, применив соотношение: $$\overline{x}_{i} = x_{i}\downarrow x_{i}$$, но тогда нельзя будет утверждать, что полученная форма будет минимальной!

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

    x1 0 0 1 1
    x2 0 1 0 1
    f14 1 1 1 0

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

    $$f_{14} (x_{1},x_{2}) = \overline{x}_{1} \vee \overline{x}_{2}$$ (запись функций по нулям)

    $$x_{1} | x_{2} = \overline{x}_{1} \vee \overline{x}_{2} = \overline{x}_{1} \vee \overline{x}_{2} = \overline{x}_{1}\overline{x}_{2} = \overline{x_{1} x_{2}}$$

    на основе принципа суперпозиции:

    x1 | x2 | . . . | xn = x1x2...xn

    Рассмотрим некоторые эквивалентности:

    $$x | x = \overline{x} \vee \overline{x} = \overline{x}$$

    x1 | x2 | x3 = (x1 x2)| x3 = x1| (x2 x3)

    x1 | x2 | x3| x4 = (x1 x2)| (x3 x4)

    Сформулируем правила перехода от ДНФ функции к выражению с использованием операции " Штрих Шеффера ".

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

    $$f(x_{1}x_{2} x_{3}) = x_{1}\overline{x}_{2} x_{3} \vee \overline{x}_{1}x_{2} \vee \overline{x}_{1}\overline{x}_{2}\overline{x}_{3} = = (x_{1}|\overline{x}_{2}|x_{3})|(\overline{x}_{1}|x_{2})|(\overline{x}_{1}|\overline{x}_{2}|\overline{x}_{3})$$

    То же самое можно утверждать относительно минимальной формы.

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

    Минимальные конъюнктивные нормальные формы

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

    Рассмотрим построение МКНФ.

    В основном методы получения МКНФ аналогичны методам получения МДНФ и поэтому сформулируем лишь правила получения МКНФ:

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

    $$f(x_{1}x_{2}x_{3}) = x_{1}x_{2}\overline{x}_{3} \vee x_{1}\overline{x}_{2}x_{3} \vee x_{1}\overline{x}_{2}\overline{x}_{3} \vee \overline{x}_{1}x_{2}x_{3} \vee \overline{x}_{1}x_{2}\overline{x}_{3} = (\overline{x}_{1}\vee \overline{x}_{2}\vee \overline{x}_{3}) (\overline{x}_{1}\vee \overline{x}_{2}\vee x_{3}) (x_{1}\vee x_{2}\vee x_{3})$$,

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

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

    формулы развертывания:

    $$x = (x\vee y)(x\vee \overline{y}) = xx\vee x\overline{y}\vee yx\vee y\overline{y} (x\vee y) = (x\vee y\vee z)(x\vee y\vee \overline{z})$$

    . . . . . . . . . . . .,

    получить СКНФ.

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

    $$(x\vee y)(x\vee \overline{y}) = x(x\vee y)(x\vee \overline{y})$$

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

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

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

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

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

    Определение. Неполностью определенной функцией является такая переключательная функция, значения которой на некоторых наборах аргументов могут быть произвольными (т.е. равными " 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}$$
    +
    +
    +
    +
    00-- +
    -0-0 + +
    + +
    + +

    Выполним оптимальное покрытие конституент единицы $$\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}$$.

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

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

    Синтез переключательных функций в одноэлементном базисе

    Операция (стрелка) Пирса

    f8(x1,x2)
    x1 0 0 1 1
    x2 0 1 0 1
    f8 1 0 0 0

    Эту функцию можем представить, записав по "единицам":

    $$f_{8}(x_{1},x_{2}) = \overline{x}_{1}\overline{x}_{2} = x_{1}\downarrow x_{2}$$

    или

    $$x_{1}\downarrow x_{2} = \overline{x}_{1}\overline{x}_{2}$$

    На основе принципа суперпозиции:

    $$f(x_{1},x_{2},\dots x_{n}) = x_{1}\downarrow x_{2}\downarrow x_{3}\downarrow . . . \downarrow x_{n} = \overline{x}_{1}\overline{x}_{2}\overline{x}_{3} . . .\overline{x}_{n}$$

    Применяя правило де Моргана:

    $$\overline{x_{1}\downarrow x_{2}\downarrow x_{3}\downarrow . . .\downarrow x_{n}} = \overline{x}_{1}\overline{x}_{2}\overline{x}_{3} . . .\overline{x}_{n} = x_{1} \vee x_{2} \vee x_{3} \vee . . .\vee x_{n}$$

    или:

    $$\overline{x_{1}\downarrow x_{2}\downarrow x_{3}\downarrow . . .\downarrow x_{n}} = \overline{x}_{1} \vee \overline{x}_{2} \vee \overline{x}_{3} \vee . . .\vee \overline{x}_{n}$$

    т.е.

    $$x_{1}\downarrow x_{2}\downarrow x_{3}\downarrow . . .\downarrow x_{n} = \overline{x_{1} \vee x_{2} \vee x_{3} \vee . . . \vee x_{n}}$$

    Рассмотрим некоторые соотношения для операции Пирса:

    $$x\downarrow x = \overline{x}\overline{x} = \overline{x}$$

    $$x_{1}\downarrow x_{2} = \overline{x}_{1}\overline{x}_{2} = \overline{x}_{2}\overline{x}_{1} = x_{2}\downarrow x_{1}$$

    $$x_{1}\downarrow x_{2}\downarrow x_{3} = (\overline{x}_{1}\overline{x}_{2})\downarrow x_{3} = \overline{x}_{1}\overline{x}_{2}\overline{x}_{3} \ne x_{1}\downarrow (\overline{x}_{2}\overline{x}_{3})$$,

    т.е. операция Пирса не обладает свойством ассоциативности

    $$x_{1}\downarrow x_{2}\downarrow x_{3} = \overline{(x_{1}\downarrow x_{2})}\downarrow x_{3} = x_{1}\downarrow \overline{(x_{2}\downarrow x_{3})}$$

    $$x_{1}\downarrow x_{2}\downarrow x_{3}\downarrow x_{4} = \overline{(x_{1}\downarrow x_{2})}\downarrow \overline{(x_{3}\downarrow x_{4})}$$

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

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

    Допустим, что ФАЛ задана в конъюктивной форме

    f = Q1Q2Q3 . . . Qn

    Подставим член Qi в виде:

    $$Q_{i} = (x_{r} \vee x_{p} \vee x_{q} \vee . . . \vee x_{w} \vee \overline{x}_{f} \vee \overline{x}_{e} \vee . . . \vee \overline{x}_{z})$$

    Возьмем двойное отрицание от обеих частей этого равенства, применив правило де Моргана

    $$\overline{Q}_{i} = (\overline{x_{r} \vee x_{p} \vee x_{q} \vee . . . \vee x_{w} \vee x}_{f} \vee \overline{x}_{e} \vee . . . \vee \overline{x}_{z} = (\overline{x}_{r} * \overline{x}_{p} * \overline{x}_{q} * . . . * \overline{x}_{w} * x_{f} * x_{e} * . . . * x_{z}$$

    Применяя соотношение, полученное на основе принципа суперпозиции:

    $$Q_{i} = (\overline{x_{r}\downarrow x_{p}\downarrow x_{q}\downarrow . . .\downarrow x_{w}\downarrow x}_{f}\downarrow \overline{x}_{e}\downarrow . . .\downarrow \overline{x}_{z}$$

    Или, применяя это преобразование к исходной форме, получим:

    $$f = \overline{Q}_{1}\downarrow \overline{Q}_{2}\downarrow \overline{Q}_{3}\downarrow . . .\downarrow \overline{Q}_{n}$$

    Итак: чтобы от КНФ перейти к базису Пирса и инверсии необходимо:

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

    $$f(x_{1}x_{2} x_{3}) = (x_{1} \vee \overline{x}_{2} \vee x_{3}) (\overline{x}_{1} \vee x_{4}) (x_{2} \vee \overline{x}_{4}) = (x_{1}\downarrow \overline{x}_{2}\downarrow x_{3})\downarrow (\overline{x}_{1}\downarrow x_{4}) (x_{2}\downarrow \overline{x}_{4})$$

    Замечание. Так как в этих произведениях число букв не увеличивается, и если исходная форма функции была минимальной, то вновь полученная также будет минимальной (в действительности дело обстоит сложнее, поскольку мы рассматриваем не базис " $$\downarrow$$ ", а другой, то есть " $$\downarrow$$ " и " - " - операцию Пирса и инверсию).

    Принципиально можно избавиться от отрицаний, применив соотношение: $$\overline{x}_{i} = x_{i}\downarrow x_{i}$$, но тогда нельзя будет утверждать, что полученная форма будет минимальной!

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

    x1 0 0 1 1
    x2 0 1 0 1
    f14 1 1 1 0

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

    $$f_{14} (x_{1},x_{2}) = \overline{x}_{1} \vee \overline{x}_{2}$$ (запись функций по нулям)

    $$x_{1} | x_{2} = \overline{x}_{1} \vee \overline{x}_{2} = \overline{x}_{1} \vee \overline{x}_{2} = \overline{x}_{1}\overline{x}_{2} = \overline{x_{1} x_{2}}$$

    на основе принципа суперпозиции:

    x1 | x2 | . . . | xn = x1x2...xn

    Рассмотрим некоторые эквивалентности:

    $$x | x = \overline{x} \vee \overline{x} = \overline{x}$$

    x1 | x2 | x3 = (x1 x2)| x3 = x1| (x2 x3)

    x1 | x2 | x3| x4 = (x1 x2)| (x3 x4)

    Сформулируем правила перехода от ДНФ функции к выражению с использованием операции " Штрих Шеффера ".

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

    $$f(x_{1}x_{2} x_{3}) = x_{1}\overline{x}_{2} x_{3} \vee \overline{x}_{1}x_{2} \vee \overline{x}_{1}\overline{x}_{2}\overline{x}_{3} = = (x_{1}|\overline{x}_{2}|x_{3})|(\overline{x}_{1}|x_{2})|(\overline{x}_{1}|\overline{x}_{2}|\overline{x}_{3})$$

    То же самое можно утверждать относительно минимальной формы.

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

    Минимальные конъюнктивные нормальные формы

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

    Рассмотрим построение МКНФ.

    В основном методы получения МКНФ аналогичны методам получения МДНФ и поэтому сформулируем лишь правила получения МКНФ:

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

    $$f(x_{1}x_{2}x_{3}) = x_{1}x_{2}\overline{x}_{3} \vee x_{1}\overline{x}_{2}x_{3} \vee x_{1}\overline{x}_{2}\overline{x}_{3} \vee \overline{x}_{1}x_{2}x_{3} \vee \overline{x}_{1}x_{2}\overline{x}_{3} = (\overline{x}_{1}\vee \overline{x}_{2}\vee \overline{x}_{3}) (\overline{x}_{1}\vee \overline{x}_{2}\vee x_{3}) (x_{1}\vee x_{2}\vee x_{3})$$,

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

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

    формулы развертывания:

    $$x = (x\vee y)(x\vee \overline{y}) = xx\vee x\overline{y}\vee yx\vee y\overline{y} (x\vee y) = (x\vee y\vee z)(x\vee y\vee \overline{z})$$

    . . . . . . . . . . . .,

    получить СКНФ.

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

    $$(x\vee y)(x\vee \overline{y}) = x(x\vee y)(x\vee \overline{y})$$

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

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

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

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