- •Часть II
- •Алгебра двузначной логики
- •Функции алгебры логики
- •Способы задания функций алгебры логики
- •Эквивалентность функций
- •Реализация функций формулами
- •Эквивалентность формул и тождества
- •Упрощение формул
- •Двойственные функции и принцип двойственности
- •Применение принципа двойственности
- •Аналитическая запись функций алгебры логики
- •Аналитическое построение сднф и скнф
- •Теорема о тройке связок
- •Полные системы функций и полиномы Жегалкина
- •Замыкание систем функций алгебры логики
- •Важнейшие замкнутые классы
- •Теорема Поста о полноте
- •Минимизация булевых функций
- •Основные понятия
- •Метод неопределенных коэффициентов
- •Тупиковые днф и алгоритм наискорейшего спуска
- •Геометрическое представление функций алгебры логики
- •Аналитическое построение сокращенной днф
- •Локальные алгоритмы
- •Алгоритм Куайна
- •Диаграммы Вейча–Карно
- •Построение днф по карте Карно
- •Задачи и упражнения
- •Список литературы
- •Часть II
- •400131, Волгоград, просп. Им. В.И.Ленина, 28
- •400131, Волгоград, ул. Советская, 35
-
Применение принципа двойственности
Из принципа двойственности следует, что если две формулы А и В эквивалентны, то и двойственные им формулы А* и В* также эквивалентны, т.е. если А = В, то и А* = В*. Это дает возможность легко получать новые тождества из уже имеющихся. Например, из первого закона Де Моргана по этому правилу получается второй закон, а именно: . А из закона противоречия получается закон исключенного третьего: . Из первого закона поглощения получается второй закон: х & y x = x (х y) & x = x и т.д..
Пользуясь свойством взаимности, легко записать формулу, эквивалентную заданной и, тем самым, получить новое тождество. Действительно, т.к. f**=f, т.е. , то для получения формулы, эквивалентной заданной, надо записать двойственную формулу, затем заменить в полученной формуле все переменные символы на их отрицание и, наконец, взять отрицание последней формулы.
Так, например, получаются тождества: – закон Де Моргана, или и – законы взаимовыразимости связок & и .
-
Аналитическая запись функций алгебры логики
Выше было показано, что всякая формула реализует некоторую истинностную функцию. Эквивалентные формулы реализуют одну и ту же функцию. Т.е. по формуле всегда можно найти соответствующую ей функцию. Теперь рассмотрим вопрос о том, как записать функцию алгебры логики в виде формулы, т.е. рассмотрим в некотором смысле обратную задачу.
Для этого введем параметризацию, позволяющую охарактеризовать значение переменной в «энке». Обозначим , где параметр равен нулю или единице. Таким образом, . Т.е. если на наборе значение переменной х равно 0, то будем писать «», а в случае, когда соответствующее значение равно 1, то будем записывать просто «х». Заметим, что х=1 тогда и только тогда, когда х=.
-
о разложении функции по переменным
Каждую истинностную функцию от n аргументов f(x1,x2,…,xn) при любом m (1 m n) можно представить формулой вида: (1) , где дизъюнкция берется по всевозможным наборам значений переменных х1,…,хm.
Представление функции в виде (1) называется разложением функции по m переменным х1,…,хm.
Доказательство:
Рассмотрим произвольный набор значений переменных (1, 2,…, n). Покажем, что левая и правая части (1) имеют на этом наборе одинаковые значения. Значение левой части равно f(1, 2,…, n). Вычислим значение правой части: . Ненулевые члены в дизъюнкции получаются только в том случае, когда набор 1,2,…,m совпадает с набором 1,2,…,m, т.е. в последнем выражении остается только одно ненулевое слагаемое: . И т.к. , то это слагаемое равно f(1, 2,…, n). Таким образом, значения левой и правой части (1) совпадают на произвольном наборе (1, 2,…, n).
Следствия:
1) О разложении по одной переменной.
Если в выражении (1) m=1, то f(х1, х2,…, хn) = xn& f(х1, х2,…, 1) & f(х1, х2,…, 0);
2) О разложении по всем n переменным или совершенные дизъюнктивные нормальные формы (СДНФ).
Если в выражении (1) m=n, то . Если f(х1, х2,…, хn) не равна тождественно нулю, то в последнюю дизъюнкцию будут давать вклад только те компоненты, где f(1, 2,…, n)=1, поэтому . Это разложение называется совершенной дизъюнктивной нормальной формой (СДНФ). И, как следует из её определения, для построения СДНФ в таблице истинности функции f надо рассматривать лишь те строки, где функция равна единице. Для каждой такой строки записывается элементарная конъюнкция, состоящая из всех переменных функции. При этом переменная входит в конъюнкцию с отрицанием, если в рассматриваемой строке её значение равно нулю, и без отрицания – в противном случае.
3) Совершенные конъюнктивные нормальные формы (СКНФ).
Совершенная дизъюнктивная нормальная форма есть выражение вида – сумма произведений. Используя принцип двойственности для построения эквивалентных формул, можно получить разложение вида – произведение сумм, которое носит название совершенной конъюнктивной нормальной формы. Так как , то для
, но . Поэтому . Заметим, что при построении последней формулы участвуют лишь такие наборы 1,2,…,n, на которых f(1,2,…,n)=1. Тогда в построении формулы для будут участвовать наборы 1,2,…,n, где , или f(1,…,n)=0.
Таким образом, если
f(х1,…,хn) 1,
то
– это и есть СКНФ. И, как следует из её
определения, для построения СКНФ в
таблице истинности функции f
надо рассматривать лишь те строки, где
функция равна нулю. Для каждой такой
строки записывается элементарная
дизъюнкция, состоящая из всех переменных
функции. При этом переменная входит в
дизъюнкцию с отрицанием, если в
рассматриваемой строке её значение
равно единице, и без отрицания – в
противном случае.
Примеры построения СДНФ и СКНФ.
x |
у |
f(x,у) |
СДНФ |
СКНФ |
|
0 |
0 |
1 |
|
|
|
0 |
1 |
1 |
|
|
|
1 |
0 |
0 |
|
|
|
1 |
1 |
1 |
x & y |
|
|
Таблица 14 |
|
|
|
x |
у |
f(x,у) |
СДНФ |
СКНФ |
|
0 |
0 |
1 |
|
|
|
0 |
1 |
0 |
|
|
|
1 |
0 |
0 |
|
|
|
1 |
1 |
1 |
x & y |
|
|
Таблица 15 |
|
|
|
Таким образом, построение СДНФ и СКНФ – это ещё одна возможность записать тождество.