Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по дискретной математике.doc
Скачиваний:
35
Добавлен:
23.09.2019
Размер:
453.12 Кб
Скачать
  1. Булевы функции, фиктивные и существенные переменные, полином Жегалкина

Булева функция - функция, аргументы которой, равна как и сама функция, принимают значения из двух элементного множества {0,1}. Уменьшить это множество до одногоэлементного нельзя, так как произойдет вырождение понятия функции. Таким образом булевы функции занимают первую ступень в иерархии функций.

     Определение 1: Переменная x, принимающая значения из {0,1}, называется булевой переменной(логической, двоичной). Двоичные переменные используются в двоичной системе счисления для передачи данных.

     Определение 2: Функция, зависящая от булевых переменных и принимающая значения из {0,1}, называется булевой функцией(двоичной, логической).

Опр. Переменная xi булевой функции F(х1,…,хi-1, хi, хi+1,…,хn ) называется фиктивной если при любых наборах значений переменных х1,…,хi-1, хi, хi+1,…,хn имеет место равенство: F(х1,…,хi-1,0,хi+1,…,хn)=F(х1,…,хi-1,1,хi+1,…,хn). Данные наборы значений переменных называются соседними по переменной xi . Иначе переменная хi называется существенной.

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

G(x1,…, xn) = a0 a1 x1 a2 x2 … an xn an+1 x1

Теорема. Любая функция от n переменных может быть представлена полиномом Жегалкина, и это представление единственно.

Пример Составим полином Жегалкина по таблице истинности для данной булевой функции F=(01010101). Запишем его сначала с неопределёнными коэффициентами :

G(x,y,z)= a0 a1x a2y a3z a4xy a5xz a6yz a7xyz . Подставим в него по очереди вместо переменных х, у,z все 8 наборов их значений, каждый раз приравнивая сумму к значению функции F(х, у,z) в соответствующей строке, тем самым получим 8 уравнений, из которых и найдём коэффициенты полинома Жегалкина.

x = 0, y = 0, z = 0: a0 = 0;

x = 0, y = 0, z = 1: a0 a3= 1 a3= 1;

x = 0, y = 1, z = 0: a0 a2= 0 a2= 0;

x = 0, y = 1, z = 1: a0 a2 a3 a6= 1 a6= 0;

x = 1, y = 0, z = 0: a0 a1= 0 a1= 0;

x = 1, y = 0, z = 1: a0 a1 a3 a5= 1 a5= 0;

x = 1, y = 1, z = 0: a0 a1 a2 a4= 0 a4= 0;

x = 1, y = 1, z = 1: a0 a1 a2 a3 a4 a5 a6 a7= 1 a7= 0.

Т.е.полином Жегалкина для данной функции имеет вид: G(х. у, z) =z (причем, очевидно, переменные х и у для данной функции являются фиктивными).

  1. Классы функций

  2. Замыкания множеств, замкнутые множества

Пусть имеется некоторый набор К, состоящий из конечного числа булевых функций.

Опр. Суперпозицией функций из набора К называются новые функции, полученные с помощью конечного числа применения следующих операций: 1) можно переименовать любую переменную, входящую в функцию из набора К; 2) вместо любой переменной можно поставить функцию из набора К.

или уже образованную ранее суперпозицию. Суперпозицию еще иначе называют сложной функцией. Опр.Система булевых функций f1 , f2 ,…, fn называется функционально полной, если любая булева функция может быть представлена суперпозицией функции данной системы. Перейдем теперь к выяснению полноты конкретных наборов функций. Для этого перечислим 5 важнейших классов функций: 1. К0 это класс функций, сохраняющих 0 (т.е. это набор всех тех логических функций, которые на нулевом наборе принимают значение 0); 2. К1 - это класс функций, сохраняющих единицу ( т.е. это набор всех логических функций, которые на единичном наборе принимают значение 1); 3. Класс Кс - класс самодвойственных функций. Функция f(x1, x2,…, xn) называется самодвойственной, если на противоположных наборах значений переменных она принимает противоположные значения, т.е. самодвойственная функция f(x1, x2,…, xn) удовлетворяет условию : f( , …, ) = (x1, x2,…, xn). 4. КМ - класс монотонных функций. Опишем класс этих функций более подробно. Пусть даны следующие два двоичных набора от n переменных: s1 = (x1, x2,…, xn) и s2 = (y1, y2,…, yn).

Будем говорить, что s1 s2 ,. если все xi yi .

Функция f(x1, x2,…, xn) называется монотонной, если для любых двоичных наборов длины n s1 и s2 из того, что s1 s2, следует, что f(s1) f(s2). Разумеется, эти неравенства должны проверяться только на сравнимых наборах. Понятно, что несравнимые наборы - это те, в которых есть некоторые координаты типа (0,1) в одном наборе в и (1,0) в другом на соответствующих местах.

5. КЛ - класс линейных функций, т. е. такие функции, которые представляются полиномом Жегалкина первой степени. Т.е. функция, у которой полином Жегалкина имеет вид , где аi , b  {0,1}, называется линейной. Опр. Система булевых функций К называется замкнутым классом, если любая суперпозиция функций из К снова принадлежит К. Теорема.

Классы функций К01СМЛ замкнуты.

Принадлежность булевой функции замкнутым классам (1 - 4) проверяется по таблице истинности, а классу (5) – с помощью построения полинома Жегалкина.