Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ДМиМЛ. Часть 1. Элементы теории переключательных функций.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
401.46 Кб
Скачать

1.3.4 Совершенная конъюнктивная нормальная форма переключательной функции.

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

Рассмотрим выражение

, (3.4)

где f(i) – значение переключательной функции на i-м наборе.

Ввиду справедливости соотношений 1Ú x = 1 и 0Úх= х, при подстановке в выражение (3.4) значений функ­ции f(i), сомножители, у которых f(i), == 1, можно опустить, а значения функции f(i)=0 не писать. Тогда

(3.5)

где j1, j2, …,jm –номера наборов, на которых функ­ция равна нулю;

т -число таких наборов.

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

Любая переключательная функция f(x1, . . . , xn) (кроме константы единицы) может быть пред­ставлена в совершенной конъюнктивной нормальной форме. Любая переключательная функ­ция имеет единственную совершенную конъюнктивную нормальную форму.

Сформулируем правило представления переключа­тельной функции в совершенной конъюнктивной нор­мальной форме. Чтобы представить переключательную функцию п аргументов в совершенной конъюнктивной нормальной форме, достаточно:

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

выписать под каждым сомножителем набор аргу­ментов, на котором функция равна нулю, и над аргу­ментами, равными единице, поставить знаки отрицания;

Это правило иногда называют правилом запи­си переключательной функции по нулям.

Пример 3.5. Представить в совершенной конъюнктив­ной нормальной форме функцию f23805(x1,x2,x3,x4) (см. табл. 1.2).

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

0000, 0010, 0110, 0111, 1110.

Таким образом, совершенная конъюнктивная нормальная форма функции f23805(x1,x2,x3,x4) будет состоять из пяти конъюнкций, каждая из которых представляет собой дизъюнкцию четырех элементов:

 

1.4 Пять классов переключательных функций. Теорема о функциональной полноте.

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

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

линейные переключательные функции;

переключательные функции, сохраняющие нуль;

переключательные функции, сохраняющие еди­ницу;

монотонные переключательные функции;

самодвойственные переключательные функции.

Рассмотрим эти классы переключательных функций.

1.4.1 Линейные переключательные функции.

В соответствии с теоремой Жегалкина любая переключательная функ­ция может быть представлена в виде многочлена (3.1).

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

f(x1, . . . , xn) = ао Å a1x1 Å a2x2 Å …Å anxn , (4.1)

где ао, a1, ..., an — коэффициенты, равные нулю или единице.

Нетрудно найти число различных линейных функций п аргументов. Каждому набору коэффициен­тов ао, a1, ..., an (число которых равно n+1) можно поставить в соответствие (n+1)-разрядное двоичное число. Количество различных (n+1)-разрядных чисел, а следовательно, и количество линейных функций равно 2n+1.

Среди переключательных функций одного аргумента имеются четыре линейные функции, а так как общее чи­сло переключательных функций одного аргумента так­же равно четырем, все они линейны. Среди переключа­тельных функций двух аргументов имеется восемь ли­нейных. Для того чтобы найти эти функции в табл. 1.4, можно, пользуясь сформулированным в п. 1.3 правилом, представить все переключательные функции двух аргу­ментов в виде полиномов и выбрать среди них линей­ные. Проще, однако, выписать все возможные линейные полиномы и найти соответствующие им функции в табл. 1.4:

f0(x,y) = 0,

f15(x,y)=1,

f3(x,y)=x,

f5(x,y)=y,

f12(x,y)=1Åx,

f10(x,y)=1Åy,

f6(x,y)=xÅy,

f9(x,y)=1Å xÅ y.