Материал: Diskretnaya_matematika

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Если f(х1, х2, ..., хn) ≢ 1, то соотношение (4) можно переписать в форме

(5)

Эта форма называется совершенной конъюнктивной нормальной формой (СКНФ).

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

а) СКНФ содержит ровно столько элементарных дизъюнкций, сколько нулевых наборов у функции;

б) каждому нулевому набору σ = (σ1, …, σn) соот­вет­ствует элементарная дизъюнкция всех переменных функции, в которой для σi = 1 переменная хi берется с отрицанием и для σi = 0 – без отрицания.

Рассмотрим построение СКНФ по таблице истинности функ­ции f(x1, х2,..., xn). Для каждого набора σ = (σ1, …, σn) из нулевого множества [0] (такого, что f(σ1, …, σn) = 0), составляется выражение ЭД: . Затем эти дизъюнкции соединяются знаком конъ­юнкции.

Пример 2. Построим СКНФ для функции неэкви­ва­лентности f7(x1, х2) = (х1  х2). Исходя из нулевого мно­жества этой функции [0] = {(0, 0), (1, 1)} формула СКНФ будет иметь вид: FСКНФ = (х1  х2) • (х1  х2).

2.3. Полные системы логических функций

Система функций  = {f1(x11,...,x1p1), ..., fs(xs1, ...,xsps),…} на­зываетсяполной, если любую логическую функциюf(x1, ...,xn) мож­но представить в виде супер­позиции функций {f1, ...,fs, ...} и переменных х1, ..., хn.

Функции, входящие в полную систему, называются базисными, а сама полная система функций –базисом.

Примеры полных систем функций (базисов)

1. Булевый базис 0= {х1• х2,x1х2,х}.

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

2. Конъюнктивный булевый базис1= {х1• х2,х}. Полнота этого базиса следует из п. 1 и представления дизъюнкции в виде:

x1 х2=х1•х2.

3. Дизъюнктивный булевый базис 2= {x1 х2,х }.

Полнота этого базиса следует из п. 1 и представления конъюнкции в виде:

х1 • х2 =х1 х2.

4. Базис Жегалкина 3 = {х1 • х2, х1  х2, 1}.

Полнота этого базиса следует из п. 2 и представления отрицания в виде:х = х  1.

Теорема 3. Любую логическую функциюf(x1, ...,xn) можно предста­вить в виде полинома Жегалкина:

f(x1, ...,xn) = а0а1x1а2x2…а2n-1x1…xn, (6)

где аi  {0,1}, i = 0, 1, ..., 2n - 1.

Доказательство.Система функций= {х1• х2, х1х2, 1, 0} полна. Из формулы СДНФ (3), пользуясь свойствами:

xx= 0,x•x=x,x0 =x,

x• 0 = 0,x• 1 =x,x1•x2=x2•x1,

x1  x2 = x2  x1, (x1  x2) • x3 = (x1 • x3)  (x2 • x3),

получим представление функции в виде полинома (6).

Следствие. Для любой логической функции, наряду с СДНФ и СКНФ в случае булева базиса, существует единственный полином Жегалкина вида (6).

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

Теорема 4 (о полноте). Для того чтобы система функ­ций {f1(xl1 ..., х1р1), ...,fs(xs1, ...,xsps), ...} была полна, необ­хо­димо и достаточно, чтобы она содер­жала функцию, не сохраняющую 0; функцию, не сохраняющую 1; несамо­двой­ственную функцию; немо­нотонную функцию; нелинейную функцию.

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

Функция 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(f1(х1, ..., хn), ..., fm(х1, ..., х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. Из самодвойственных функций суперпози­цией можно получить только самодвойственные функции.

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

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

Набор  = (1, ..., n) предшествует набору  = (1, ..., n), если i  i (i = l, 2, ..., n). Это обозначаем как   . Наборы, которые находятся в отношении  называются сравнимыми.

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

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

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

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

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

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

f(х1, ..., хn) = а0Åа1x1Å…Åа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 дается полезная информация о свойствах всех функций двух переменных. Пользуясь этой таблицей можно проверить полноту заданной системы функций, а также построить другие базисы.

Источник: https://files.student-it.ru/previewfile/281811