СОДЕРЖАНИЕ
1.4. Декартово произведение множеств
1.5.1. Определение бинарного отношения
1.5.2. Способы задания бинарного отношения
1.5.3. Свойства бинарных отношений
1.5.4. Отношения эквивалентности
1.7. Контрольные вопросы и упражнения
2.1.1. Логические высказывания
2.1.2. Основные логические операции
2.2.1. Булевы функции и операции
2.2.2. Совершенные дизъюнктивная и конъюнктивная нормальные формы
2.3. Полные системы логических функций
Класс функций, сохраняющих ноль
Класс функций, сохраняющих единицу
Класс самодвойственных функций
2.4.3. Минимизация днф методом Квайна
2.6. Контрольные вопросы и упражнения
3.1.2. Ориентированные и неориентированные графы
3.1.4. Частичные графы и подграфы
3.1.6. Изоморфизм. Плоские графы
3.2. Отношения на множествах и графы
3.3. Матрицы смежности и инциденций графа
3.5.1. Степени неориентированных графов
3.5.2. Степени ориентированных графов
3.6.1. Характеристики расстояний в графах
3.6.2. Характеристические числа графов
3.7.2 . Базисные циклы и разрезающие множества
Свойства базисных циклов и разрежающих множеств
3.7.3. Цикломатическая матрица и матрица разрезов
Составление цикломатической матрицы
3.8. Задача определения путей в графах
3.8.1. Определение путей в графе
3.8.2. Алгоритм определения кратчайших путей
Если 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).
Система функций = {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), пользуясь свойствами:
xx= 0,x•x=x,x0 =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 дается полезная информация о свойствах всех функций двух переменных. Пользуясь этой таблицей можно проверить полноту заданной системы функций, а также построить другие базисы.