Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры / шпоры-дискретка-прокофьев.doc
Скачиваний:
81
Добавлен:
16.04.2013
Размер:
1.49 Mб
Скачать

(1)

Высказыванием называется некоторое повествовательное утверждение, про которое можно однозначно сказать, истинно оно или ложно. Всякое высказывание является либо истинным, либо ложным (закон исключения третьего). Никакое высказывание не может быть одновременно истинным и ложным (закон противоречия). Отрицанием высказывания (обозначается  или ) называется высказывание, утверждающее, что высказывание не выполняется. Каково бы ни было высказывание , из двух высказываний и  одно является истинным, а другое ложным. Высказывание ) (или ) называется двойным отрицанием высказывания . Имеет место равенство ) = (закон двойного отрицания). Повествовательное утверждение, зависящее от некоторой переменной и становящееся при конкретных значениях высказыванием, называется неопределенным высказыванием (или предикатом).

Для неопределенного высказывания можно построить таблицу истинности. В таблице для конкретных значений переменной указывается, истинно высказывание или ложно при этом . Символы “” и “” называются квантором всеобщности и квантором существования соответственно.

Во многих вопросах математики возникает необходимость строить отрицание высказывания, выраженного с помощью кванторов.

Отрицания высказываний “” и “”. Имеет место равенство . Действительно, утверждение “неверно, что для всех ” – это то же самое, что “для какого-нибудь не ”. Аналогично справедливо равенство , так как утверждение “неверно, что существует , для которого ” равносильно следующему: “для всех не ”. Таким образом, чтобы построить отрицание высказывания, содержащего кванторы, надо кванторы заменить на , а на , а утверждение, стоящее под знаком кванторов, заменить на противоположное.

1. Дизъюнкцией (или логической суммой) двух высказываний и называется высказывание (обозначается ), истинное в случае, если хотя бы одно из высказываний и истинно.

2. Конъюнкцией (или логическим произведением) двух высказываний и называется высказывание (обозначается или ), истинное тогда и только тогда, когда оба высказывания и истинны.

3. Эквиваленцией двух высказываний и называется высказывание (обозначается или ), истинное тогда и только тогда, когда оба высказывания и одновременно истинны или ложны.

4. Импликацией двух высказываний и называется высказывание (обозначается или , или ; называется посылкой, заключением), ложное в том и только том случае, когда посылка истинна, а заключение ложно. Для любых высказываний истинность или ложность их суммы, произведения, эквивалентности и импликации определяется в соответствии с таблицей, называемой таблицей истинности логических операций, в которой приведены значения сложного высказывания, в зависимости от значений высказываний и . Два высказывания равносильны, если их таблицы истинности совпадают. Тождественно истинные высказывания – высказывания истинные всегда, независимо от того, истинны или ложны составляющие их высказывания. Тождественно истинное высказывание иначе называют тавтологией. Тождественно ложные высказывания – высказывания ложные всегда, независимо от истинности или ложности составляющих их высказываний

(2)

Свойства операций над высказываниями

1. а) (коммутативность дизъюнкции);

б) (коммутативность конъюнкции);

2. а) (ассоциативность дизъюнкции);

б) (ассоциативность конъюнкции);

3.а) (дистрибутивность дизъюнкции относительно конъюнкции);

б) (дистрибутивность конъюнкции относительно дизъюнкции);

4. и законы де Моргана.

5. ; ; ;

6. (или ) (закон исключенного третьего);

(или (закон противоречия);

7. (или ); (или );

(или ); (или ).

(3)

В дальнейшем в качестве множества будет использоваться множество . Набор , где , называется булевым или двоичным набором (вектором). Элементы набора называют компонентами или координатами. Число называют длиной набора. Кратко обозначают или . Весом (или нормой) набора называют число его координат, равных 1, т.е. . Число называют номером набора . Множество всех булевых векторов длины называется -мерным кубом. Сами векторы называются вершинами -мерного куба. Пусть фиксированный набор чисел из 0 и 1 (). Множество всех вершин куба таких, что , называется -мерной гранью.

Замечание. -мерная грань является -мерным подкубом куба .

Расстоянием (Хемминга) между вершинами и куба называется число координат, в которых наборы и отличаются друг от друга.

Вершины и куба соседние, если .

(4)

Ф

0

0

0

1

1

1

0

1

0

1

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

(5)

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

Обозначим через множество всех булевых функций от переменных, а множество всех булевых функций.

Теорема. .

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

В противном случае переменная фиктивная, т.е. функция не зависит от .

Процедура удаления (введения) фиктивных переменных

Пусть переменная для функции – фиктивная. Тогда для ее удаления вычеркиваем все строки таблицы, в которых и столбец переменной . В итоге получаем функцию от переменной.

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

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

Функции одной переменной

В таблице 1.5 представлены все булевы функции одной переменной.

Функции и называются соответственно (тождественным) нулем и (тождественной) единицей.

Функция называется тождественной функцией и обозначается .

Функция называется отрицанием (или инверсией) , обозначается или и читается «не ».

Функции двух переменных

В таблице 1.6 представлены все булевы функции от двух переменных.

Табл. 1.6

Функция называется конъюнкцией и , обозначается & или , или , и часто читается « и ».

Функция называется суммой по модулю 2 и , обозначается или , и часто читается « плюс ».

Функция называется дизъюнкцией и , обозначается , и часто читается « или ». Функция называется стрелкой Пирса и , обозначается , и часто читается «ни , ни » или «ни и ни ». В технической литературе ее обычно называют антидизъюнкцией или функцией Вебба (а также функцией Даггера). Функция называется эквиваленцией (или эквивалентностью) и , обозначается или , или , и читается « эквивалентно ». Функция называется импликацией и , обозначается или , и часто читается « имплицирует » или «из следует ».Функция называется штрихом Шеффера и , обозначается и часто читается «не или не » или « и не совместны». В технической литературе ее обычно называют антиконъюнкцией.

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

(6)

1. Коммутативность: , где .

2. Ассоциативность: , где .

3. Дистрибутивность

,

,

.

4. Законы де Моргана:

а) ; б) .

5. Закон двойного отрицания .

6. Законы поглощения: а) ; б) .

7. а) ;

б) в) г) д) .

8. а) ; б) .

9. а) (склеивание);

б) (обобщенное склеивание).

(7)

Функция называется двойственной к функции .

Табл. 1.8

Замечание. Таблица двойственной функции получается из таблицы функции инвертированием столбца значений функции и его переворачиванием (см. табл. 1.8).

Из определения двойственности следует, что , т.е. функция является двойственной к (свойство взаимности). Функция называется самодвойственной, если . Например, самодвойственными являются функции и . Обозначим через все различные символы переменных, встречающихся в множествах .

Теорема. Если , то

.

Доказательство.

.

Следствие. (Принцип двойственности.) Если формула реализует функцию , то формула реализует функцию . Эту формулу называют формулой, двойственной к , и обозначают .

(8 и 9)

Ведем обозначение

Выражение , где какой-либо двоичный набор, причем среди переменных могут быть совпадающие, называется элементарной конъюнкцией. Выражения вида называют буквами. Число букв в элементарной конъюнкции называют рангом элементарной конъюнкции. Элементарная конъюнкция – правильная, если в нее каждая переменная входит не более одного раза (включая и отрицание переменной);

полная относительно переменных , если в нее каждая переменная (или ее отрицание) входит ровно один раз;

монотонная, если она не содержит отрицаний переменных.

Формула вида , где попарно различные элементарные конъюнкции, называется дизъюнктивной нормальной формой (сокращенно ДНФ). Число называется длиной ДНФ.

Теорема. Каждую булеву функцию при любом () можно представить в виде

Это представление называется разложением функции по переменным . Доказательство. Заметим, что Далее рассмотрим произвольный набор и покажем, что левая и правая часть формулы () принимают на нем одно и то же значение.

Левая часть дает , а правая Следствие 1. Разложение по переменной . Пусть . Тогда Следствие 2. Разложение по всем переменным. Пусть. Тогда

При получаем выражение

т.е. Разложение (**) носит название совершенной дизъюнктивной нормальной формы (СДНФ). Замечания 1. Поскольку существует взаимно однозначное соответствие между таблицей истинности и СДНФ функции , то СДНФ функции единственна. 2. Единственная функция, не имеющая СДНФ, – константа 0. 3. Длина СДНФ функции равна числу наборов, на которых функция принимает значение, равное 1.

Теорема. Любая логическая операция может быть выражена через операции отрицания и конъюнкции. Доказательство. Выразим дизъюнкцию через операции отрицания и конъюнкции, используя закон двойного отрицания и закон де Моргана: . Найдя СДНФ или СКНФ данной операции и заменив в них дизъюнкцию через операции отрицания и конъюнкции, получим формулу, содержащую только операции отрицания и конъюнкции.

Процедура упрощения д. н. ф. (алгоритм Блейка)

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

Метод Нельсона

1. По строят СКНФ. Например, для

СКНФ =.

2. Раскрывют скобки.

3. Производят упрощение по следующим правилам: , , , , .

Метод Квайна

1. По строим СДНФ. Например, для функции . СДНФ=.

2. Применяем операцию неполного склеивания

.

3. После того как такая операция применена к каждой паре конъюнкций из СДНФ, к которой она применима, с помощью операции поглощения () удаляем те конъюнкции ранга , которые можно удалить таким образом. В итоге получаем некоторую д. н. ф. .

4. Если проведено этапов, то на -м этапе операции неполного склеивания и поглощения применяются к конъюнкции ранга д. н. ф. . Получаем д. н. ф. .

Алгоритм завершается, если .

(10)

Полиномом Жегалкина (полиномом по модулю 2) от переменных называется выражение вида

где .

Наибольший из рангов элементарных конъюнкций входящих в полином, называется степенью этого полинома. Степень полинома 0 принимается равной . Число слагаемых в формуле полинома называется длиной полинома. Теорема. Каждая функция из представляется в виде полинома Жегалкина и это представление единственно. Доказательство. Существование полинома для каждой булевой функции, отличной от константы 0, следует из того, что ее СДНФ применением равенств

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

.

Число слагаемых в указанной сумме равно количеству подмножеств из чисел , т.е. . Каждому полиному в соответствие можно поставить вектор длины , компонентами которого являются числа , равные 0 или 1. Следовательно, искомое число полиномов равно , т.е. числу всех булевых функций от переменных . Следствие. Из доказанной теоремы вытекает единственность представления булевой функции посредством полинома Жегалкина.

Приведем основные методы построения полиномов Жегалкина от заданной функции.

1. Метод неопределенных коэффициентов. Пусть – искомый полином Жегалкина, реализующий заданную функцию . Запишем его в виде

Вектор длины назовем вектором коэффициентов полинома . Найдем его компоненты. Для этого заметим, что если переменным придать значения из -ой строки таблицы, то значение будет равно сумме с компонентами вектора , соответствующими ненулевым конъюнкциям (). В итоге получим систему из уравнений с неизвестными, имеющую единственное решение. Решив ее, находим коэффициенты полинома . 2. Метод, основанный на преобразовании формул над множеством связок . Строят некоторую формулу над множеством связок , реализующую данную функцию . Затем заменяют всюду подформулы вида на , раскрывают скобки, пользуясь дистрибутивным законом , и применяют эквивалентности .

Пример. Построить полином Жегалкина функции .

Решение. 1. (Метод неопределенных коэффициентов). Запишем искомый полином в виде

Табл. 1.11

0

0

1

0

1

1

1

0

0

1

1

1

Тогда

Получаем систему уравнений

Из системы уравнений находим . Следовательно,

2. (Метод преобразования формул). Имеем

(11)

Для функций и функция называется суперпозицией. Класс булевых функций называется (функционально) полным, если любая функция из может быть представлена в виде формулы над , т.е. любая функция получается из функций класса применением конечного числа операции суперпозиций. Замечание. Класс может быть конечным или бесконечным. Примеры полных классов: а) ; б) (любая булева функция выражается формулой в виде конъюнкции, дизъюнкции и инверсии); в) любую булеву функцию можно представить в виде полинома Жегалкина. Пусть некоторый класс булевых функций. Замыканием называется множество всех булевых функций, получающихся в виде формул над (обозначается ).

Свойства замыкания:

1. .

2. .

3. .

Класс называется:

замкнутым, если ;

полным, если (см. определение выше);

предполным, если не полный, но для любой функции класс полный.

(12)

Введем следующие классы функций (классы Поста):

; ;

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

класс монотонных функций (функция называется монотонной);

класс линейных функций ( называется линейной). Лемма. Классы замкнуты. Доказательство. а) Рассмотрим функцию , где . Покажем, что . Действительно,

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

.

Тогда . Функция , поэтому . Отсюда

Следовательно, класс замкнут. д) Класс замкнут, так как линейное выражение, составленное из линейных выражений, является линейным.

(13)

Лемма (о несамодвойственной функции). Если , то из нее путем подстановки функций и вместо можно получить несамодвойственную функцию одного переменного, т.е. константу. Доказательство. Так как , то существует набор такой, что .

Рассмотрим функцию . Пусть

. Тогда

Следовательно, константа 0 или 1.

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

Лемма (о немонотонной функции). Если , то подстановкой констант , и функции из нее можно получить . Доказательство. Если , то найдутся два набора значений переменных и такие, что и . Поскольку наборы и различаются в координатах (), то, меняя по одной координате, между ними можно вставить соседних наборов, т.е. таких, что

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

.

Рассмотрим функцию

.

Имеем

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

(14)

Лемма (о нелинейной функции). Если , то из нее путем подстановки констант , и функций и , а также, быть может, инвертированием , можно получить функцию . Доказательство. Возьмем полином Жегалкина для :

.

В силу нелинейности полинома в нем найдется член, содержащий не менее двух множителей. Без ограничения общности можно считать, что среди этих множителей присутствуют и . Тогда можно преобразовать полином следующим образом:

где в силу единственности полинома .

Пусть таковы, что . Тогда

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

.

Очевидно, что

.

Следовательно, .

(15)

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

1. При помощи построим функции (константы) 0 и 1 или функцию . Разберем отдельно два случая:

(а) ;(б) .

(а) Рассмотрим функцию . Из цепочки равенств следует, что .

(б) В этом случае для функции получаем , т.е. . Аналогичным образом, используя функцию , строим константу 0 или функцию . Итак, нами построены либо функция , либо обе константы 0 и 1. или 2. Если построена , то с помощью и , применяя лемму о несамодвойственной функции, строим константы 0 и 1. Если есть обе константы 0 и 1, то .с помощью функций 0, 1 и , используя лемму о немонотонной функции, можно построить .

3. При помощи 0, 1, и , применяя лемму о нелинейной функции, строим функцию . Система полная. Значит, и полная. Отсюда следует полнота системы . Теорема доказана. Следствие 1. Из всякой полной системы можно выделить полную подсистему, содержащую не более пяти функций.

(16)

К

а) б)

Рис. 1.7

аждой бинарной операции в алгебре логики соответствует функциональный элемент с двумя входами и одним выходом, унарной – с одним входом и одним выходом (см. рис. 1.7). Если набор функциональных элементов (ФЭ) соответствует полной системе в , то любую булеву функцию можно выразить формулой через функции полной системы и реализовать ее с помощью соответствующих ФЭ. Логическая схема , выходные сигналы которой описываются системой булевых функций , где входные сигналы логической схемы (, ), называется схемой из функциональных элементов (СФЭ).

Теорема. Для того, чтобы для произвольной системы

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

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

Проблема синтеза – построить схему с минимальной сложностью.

Соседние файлы в папке Шпоры