Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
#02 Учебное пособие СДО МТИ(ВТУ).doc
Скачиваний:
36
Добавлен:
01.07.2025
Размер:
3.62 Mб
Скачать

Аналитическое задание булевых функций

Рассмотрим один вид аналитического задания булевых функций, который называется совершенной дизъюнктивной нормальной формой (СДНФ).

Пусть булева функция f ( x ) = f (x 1 , x 2 , …, xn ) задана табл. 6.1.

Определение 6.2. Булева функция f ( x ) = f (x 1 , x 2 , …, xn ) вида

называется совершенной элементарной конъюнкцией , или конъюнктом . Здесь участвуют все переменные или их отрицания без повторений и обозначены через переменная   или ее отрицание

Число различных конъюнктов п переменных равно 2 n . (Почему?) Каждый конъюнкт обладает следующим важным свойством.

Теорема 6.1. Конъюнкт  равен 1 лишь на одном наборе s = ( s 1 , s 2 ,…,  sn ) нулей и единиц, когда xi = si , т. е. Ks ( s ) = 1.

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

Теорема 6.2. Если булева функция f ( x ) = f ( x 1 , x 2 , ...,  xn ) не является тождественно равной нулю и задана таблицей с т ≥ 1 единичными значениями, то существует единственная дизъюнкция т различных конъюнктов, соответствующих этим значениям, которая задает булеву функцию

и называется совершенной дизъюнктивной нормальной формой (СДНФ) данной булевой функции.

Таблица 6.4

Задание булевой функции голосования

Пример 6 .1 . Рассмотрим булеву функцию трех переменных f ( x 1 , x 2 , x 3 ), заданную табл. 6.4. Эту функцию называют функцией голосования . (Почему?) Если перенумеровать строки таблицы, то из нее видно, что в строках с номерами 3, 5, 6, 7 значения функции равны 1. Это записывают так:

f ( x ) = {3, 5, 6, 7}.

В силу теоремы функция голосования задается в СДНФ аналитически как дизъюнкция четырех следующих конъюнктов

Полные системы булевых функций

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

Определение 6.3. Пусть даны булевы функции f ( x 1 , x 2 , ...,  xm ); g 1 ( x 1 , x 2 , ...,  xn ); g 2 ( x 1 , x 2 , ...,  xn ); gm ( x 1 , x 2 , ...,  xn ). Подставим функции gi в функцию f . Получим новую булеву функцию

f ( g 1 ( x 1 , x 2 , ...,  xn ); g 2 ( x 1 , x 2 , ...,  xn ); gm ( x 1 , x 2 , ...,  xn )),

которую называют суперпозицией функций f ,  g 1 ,…, gm . При этом такой метод получения новых булевых функций называют операцией суперпозиции булевых функций.

Определение 6.4. Набор булевых функций М = { f 1 , ..., fk } называется полной системой булевых функций , или базисом , если любая булева функция выражается через них при помощи операции суперпозиции в конечном числе раз.

Пример 6 .2 . Набор булевых функций:

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

Теорема 6.3 двух системах ). Пусть имеется полная система булевых функций М = { f 1 , ..., fm }. Тогда для полноты некоторой другой системы булевых функций N = { g 1 , ..., gn }необходимо и достаточно, чтобы любая функция fi M выражалась через функции системы N при помощи операции суперпозиции.

Доказательство . Необходимость очевидна. (Почему?)

Достаточность . Рассмотрим произвольную булеву функцию h . Тогда она выражается через функции fi M при помощи операции суперпозиции в силу полноты системы М . Но, в свою очередь, любая функция fi M выражается через функции gj N при помощи операции суперпозиции. Следовательно, можно через функции gj выразить любую булеву функцию и, значит, система N — полная.

Определение 6.5. Класс булевых функций K называется замкнутым , если всякая суперпозиция функций этого класса будет функцией из этого класса.

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

•     класс Т 0 — множество булевых функций, равных 0 на нулевых значениях всех переменных;

•     класс Т 1 — множество булевых функций, равных 1 на единичных значениях всех переменных;

•     класс S — множество самодвойственных функций, которые обладают свойством

•     класс L — множество линейных функций, которые в базисе Жегалкина представляются многочленом не выше первой степени;

• класс М — множество монотонных функций, которые обладают свойством

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

Теорема 6.4 (теорема ПостаЯблонского ). Для того чтобы множество N булевых функций было полной системой, необходимо и достаточно найти для каждого из пяти замкнутых классов Поста Т 0Т 1S L M функцию из N , которая ему не принадлежит.

Пример 6 .5 . Рассмотрим множество из одной функции Шеффера N — {|}. Известно, что это — полная система. Проверим это вторым алгоритмом. Согласно теореме Поста, такая единственная функция должна не принадлежать ни одному из классов Поста. Так как   то имеем 0 | 0 = 1. Следовательно, штрих Шеффера не принадлежит классу Т 0 . Далее, так как 1 | 1 = 0, то штрих Шеффера не принадлежит классу Т 0 . Теперь покажем, что он не самодвойственная функция:

Штрих Шеффера не является линейной функцией, так как

Наконец, штрих Шеффера не принадлежит классу монотонных, так как 0|0=1,1|1 = 0.

Цит. по: Дискретная математика: учебник для студ. вузов / Т.С. Соболева, А.В. Чечкин; под ред. А.В. Чечкина. М.: Издательский центр «Академия», 2006. С. 84 89. (Университетский учебник. Сер. Прикладная математика и информатика).