Основные определения. Класс линейных функций

Задача минимизации ДНФ

Класс линейных функций

Класс монотонных функций

Класс самодвойственных функций

Класс функций, сохраняющих единицу

Класс функций, сохраняющих ноль

Функция f(х1,..., хn) называется сохраняющей ноль,если она на нулевом наборе принимает значение 0, то есть f(0,..., 0) = 0.

Пример. f(х) = 0, f(х) = х, f(х1, х2) = х1 • х2, f(х1, х2) =
х1 Ú х2 сохраняют ноль; f(х) = 1, f(х) =`х, f(х1, х2) = х1 ® х2 не сохраняют ноль.

Лемма 1. Из функций, сохраняющих ноль, супер­позицией можно получить только функции, сохраняющие ноль.

Доказательство. Функции, равные переменным, сох­ра­няют ноль. Поэтому достаточно показать, что функция

Ф(х1,..., хn) = f(f11,..., хn),..., fm1,..., хn))

сохраняет ноль, если функции f, fl, …, fm сохраняют ноль. Последнее следует из

f(f1(0,..., 0),... fm(0,..., 0)) = f(0,..., 0) = 0.

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

Функция f(х1,..., хn) называется сохраняющей едини­цу, если она на единичном наборе принимает значение 1, то есть f (1,..., 1) = 1.

Пример. Функции f(х) = 1, f(х) = х – сохраняют единицу; функции f(х) = 0, f(х) =`х, f(х1, х2) = х1 Å х2 – не сохраняют единицу.

Лемма 2. Из функций, сохраняющих единицу, суперпози­цией можно получить только функции, сохраняющие единицу. Доказательствоочевидно.

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

Функция f (х1,..., хn) называется самодвойственной,если f(х1,..., хn) = `f(`х1,...,`хn).

Пример. f(х) = х, f(х) =`х – самодвойствен­ные функ­ции; f(х1, х2) = х1 • х2, f(х1, х2) = х1 Ú х2 – несамо­двой­ственные.

Лемма 3. Из самодвойственных функций суперпози­цией можно получить только самодвойственные функции.

Следствие. Полная система функций должна содер­жать хотя бы одну несамодвойственную функцию.

Набор a = (a1,..., an) предшествуетнабору b = (b1,..., bn), если ai £ bi (i = l, 2,..., n). Это обозначаем как a £ b. Наборы, которые находятся в отношении £называются сравнимыми.

Функция f(х1,..., хn) называется монотонной,если для любой пары наборов a и b таких, что при a £ b: f(a) £ f(b).

Пример. f(х) = х, f(х1, х2) = х1 • х2, f(х1, х2) = х1 Ú х2 – монотонные функции, а f(х) =`х – немо­нотонная функция.

Лемма 5. Из монотонных функций суперпозицией мож­но получить только монотонные функции.

Следствие. Полная система функций должна содер­жать хотя бы одну немонотонную функцию.

Функция f(х1,..., хn) называется линейной,если полином Жегалкина этой функции имеет линейный вид:

f(х1,..., хn) = а0 Å а1 x1 Å … Å аn xn,

где аi Î {0,1} (i = 0, l,..., n).

Пример. f(х) = х, f(х) =`х = х Å 1 – линейные функции; f(х1, х2) = х1 Ú х2 = х1 Å х2 Å х1•х2 – нелинейная функция.

Лемма 7. Из линейных функций суперпозицией можно полу­чить только линейные функции.

Следствие. Полная система функций должна содержать хотя бы одну нелинейную функцию.

Таблица 2.6. Свойства функций двух переменных

Обозначе­ние функ­ции Свойства функции
Сохра­няю­щая 0 Сохра­няю­щая 1 Самодвой­ствен­ность Моно­тонность Линей­ность
f1 = 0 + + + +
f2 = х1 Ù х2 + + +
f3 = х1 ¬ х2 +
f4 = x1 + + + + +
f5 = х2 ¬ х1 +
f6 = x2 + + + + +
f7 = x1 Å x2 + +
f8 = х 1Ú х2 + + +
f9 = х 1¯ х2
f10 = x1 ~ x2 + +
f11 = `x2 + +
f12 = x2 ® x1 +
f13 =`x1 + +
f14 = x1 ® x2 +
f15 = x1 ½ x2
f16 = 1 + + + +

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

Теорема о полноте даёт ответ на вопрос, из какой системы функций можно получить в виде суперпозиции любую функцию. Но в практических задачах нужна не столько возможность, сколько правила, пользуясь которыми можно получить представление, оп­тимальное в некотором смысле. Каждое представление функции в виде суперпозиции можно охарактеризовать некоторым числом, которое называется сложностью данного представления (напри­мер, число применений операции суперпозиции) и зависит от кон­кретной задачи. Тогда можно поставить задачу об отыскании пред­ставления логической функции наименьшей сложности. В принципе, такую задачу всегда можно решить последовательным перебором различных суперпозиций функций системы.

Рассмотрим теперь су­перпозиции над булевой системой функций, содержащей лишь конъюнкцию, дизъюнкцию и отрицание. Именно для этих суперпозиций методы минимизации разработаны достаточно хорошо. Чтобы дать точную формулировку задачи, приведем некоторые определения.

Минимальной ДНФ функции f(x1,..., xn) называется ДНФ N = U1 Ú U2 Ú... Ú Uk, представляющая функцию f(x1,..., xn) и содер­жащая наименьшее количество букв по сравнению с другими ДНФ, то есть число букв в N равно , где ri – ранг конъюнкции Ui, а минимизация проводится по всем ДНФ функции f(x1,..., xn).

Тогда задача об отыскании представления функции наименьшей сложности формулируется так: для всякой функции найти представление в виде минимальной ДНФ.

Прежде чем описать метод решения задачи дадим ещё несколь­ко определений.

Импликантом функции f(x1,..., xn) называется эле­мен­тарная конъюнкция если выполнено соотношение Ui ® f(x1,..., xn) º 1. Это означает, что если на некотором наборе импликант Ui обращается в единицу, то функция f(x1,..., xn) на этом наборе тоже обращается в единицу. Любая элементарная конъюнк­ция произвольной СДНФ является импликантом данной функции.

Простым импликантом функции f(x1,..., xn) называ­ется им­пликант функции f(x1,..., xn), если элементарная конъюнкция, полу­чающаяся из него удалением любой буквы, не является импликан­том функции.

Сокращенной ДНФ функции f(x1,..., xn) называется дизъюнк­ция всех простых импликантов функции f(x1,..., xn).

Теорема 5 (без доказательства). Сокращённая ДНФ представляет функцию f(x1,..., xn).

Теорема 6 (без доказательства). Минимальная ДНФ функции f(x1,..., xn) получается из ее сокращённой ДНФ удалением некото­рых элементарных конъюнкций.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: