Полные системы функций и полиномы Жегалкина
Обобщим результаты предыдущего параграфа.
Система функций алгебры логики F={f1, f2,…, fs,…} P2 называется полной или функционально полной, если любая функция алгебры логики может быть записана в виде формулы через функции этой системы (или, как говорят, выражена формулой над F).
В соответствии с этим определением системы функций {Ø,&,Ú}, {Ø,&}, {Ø,Ú}, {Ø,®}, а также {¯} и {} являются функционально полными.
Имеются ли другие полные системы функций? Этот вопрос можно решить с помощью следующей теоремы.
-
О полных системах функций алгебры логики
Пусть имеются две системы функций алгебры логики: F={f1, f2,…, fp,…} и G={g1, g2,…, gr,…}, относительно которых известно, что система F полна и каждая её функция может быть выражена формулой через функции системы G. Тогда система функций G – является полной.
Доказательство:
Пусть h P2 – произвольная функция алгебры логики. В силу полноты системы F функцию h можно выразить формулой через функции системы F: т.е. h =S[f1, f2,…, fp,…]. А по условию теоремы каждую функцию из F можно выразить формулой через функции системы G, т.е. f1 =S1[g1, g2,…, gr,…], f2 =S2[g1, g2,…, gr,…],…. Поэтому в формуле для h можно исключить вхождения функций f1, f2,…, fp,…, заменив их формулами над G. А именно, h = S[f1, f2,…, fp,…] = S[S1[g1, g2,…, gr,…], S2[g1, g2,…, gr,…],…] = S [g1, g2,…, gr,…]. Таким образом, h выражена формулой через функции системы G. Но, поскольку h P2 – произвольная функция, то система функций G – является полной.
Используя эту теорему, покажем функциональную полноту следующих систем: (1) G1={,,}, (2) G2={,&,} и (3) G3={1,·,}, где «·» – это обычное умножение.
(1) Известно, что система функций {Ø,Ú} является полной. Поскольку «Ú» имеется в G1, а «Ø» выражается формулой , то G1 тоже полна.
(2) Известно, что система функций {Ø,&} является полной. Поскольку «&» имеется в G2, а «Ø» выражается формулой , то G2 тоже полна.
(3) Т.к. система {Ø,&} является полной и х·у = х&у, а , то G3 – полная система функций. Система G3 играет особую роль в алгебре логики, т.к. формула, сконструированная из функций {1,·,} и скобок, после раскрытия скобок и несложных алгебраических преобразований переходит в полином (сумму по модулю 2 элементарных произведений), называемый полиномом Жегалкина или совершенной полиномиальной нормальной формой (СПНФ).
-
О представлении функции полиномом Жегалкина
Каждая функция алгебры логики может быть выражена полиномом Жегалкина и причем единственным образом.
Доказательство:
Т.к. система функций {1,·,} является полной, то любая истинностная функция может быть выражена формулой через функции этой системы. Эта формула после преобразований, как уже указывалось в (3), переходит в полином Жегалкина. Таким образом, представление произвольной функции полиномом Жегалкина доказана. Докажем единственность этого представления. Для этого сначала запишем полином Жегалкина для произвольной функции от n переменных в общем виде: , где s n и суммирование выполняется по модулю 2 и проводится по всевозможным подмножествам номеров переменных. А – коэффициент, равный нулю или единице, и стоящий перед произведением переменных с номерами: i1, i2,…, is. Число слагаемых в полиноме Жегалкина общего вида равно числу подмножеств из n–множества и равно 2n. Полиномы Жегалкина различных функций от n переменных отличаются друг от друга наличием или присутствием тех или иных слагаемых, или, что то же самое, различным распределением значений коэффициентов в полиноме общего вида. Но, поскольку коэффициенты могут принимать лишь два значения, то число всех таких распределений равно , что совпадает с числом различных истинностных функций от n аргументов. Следовательно, для каждой функции имеется своё представление полиномом Жегалкина.
Примеры:
1) Построим полином Жегалкина для элементарной функции f(x,y) = х у. Сначала запишем его в общем виде: f(x,y) =. Где a, b, c и d – неопределенные коэффициенты, значения которых будут найдены путем подстановки различных комбинаций значений переменных х и у в выражение общего вида. Итак, f(0,0) = 0 =. Отсюда d=0.
f(0,1) = 1 =. Отсюда с=1.
f(1,0) = 1 =. Отсюда b=1.
f(1,1) = 1 =. Отсюда a=1.
Тем самым, при подстановке найденных значений коэффициентов в выражение общего вида, получим: (х у) =.
2) Построим полином Жегалкина для элементарной функции f(x,y) = х у. Запишем выражение общего вида: f(x,y) = и найдем коэффициенты: f(0,0) = 1 =. Отсюда d=1.
f(0,1) = 0 =. Отсюда с=1.
f(1,0) = 0 =. Отсюда b=1.
f(1,1) = 1 =. Отсюда a=0.
И полином Жегалкина: (х у) = х у 1
Рассмотренный в примерах способ построения полинома Жегалкина представляет собой так называемый метод неопределенных коэффициентов.
Ввиду важности полиномиального разложения функций алгебры логики укажем и на другие способы получения этого разложения.
Если функция задана формулой со связками {Ø,&,Ú}, то для перехода к полиному Жегалкина необходимо воспользоваться тождествами: , х&у = х·у, (х Ú у) =.
Например, пусть f(x,y,z) = .
Тогда f(x,y,z) = ((x1)·(y1) y) (z 1) = = ((x1)·(y1)·y (x1)·(y1) y) (z 1) =
=((x1)·(y1)·y (x1)·(y1) y)·(z 1) ((x1)·(y1)·y (x1)·(y1) y) (z 1) =((х·уxy1)·y х·уxy1y)·(z 1) (х·уxy1)·y х·уxy1y z1 = (воспользуемся тем, что х·х=х и xх=0) = (х·уx1)·(z 1) х·у x z = х·у·z х·z z х·у x 1 х·у x z = = х·у·z х·z 1
Если функция задана таблицей, то для получения её полинома Жегалкина вначале следует записать СДНФ, затем в полученном выражении заменить все конъюнкции умножением, дизъюнкции – сложением по модулю два, а отрицания – сложением с единицей. Далее раскрыть скобки и применить тождества х·х=х и xх=0.
Например, пусть столбец значений функции f(x,y,z) в таблице истинности равен (1, 1, 1, 1, 1, 0, 1, 1). Запишем совершенную дизъюнктивную нормальную форму для этой функции: СДНФ(f(x,y,z)) = . Теперь выполним указанные выше замены:
f(x,y,z)=(х1)(уÅ1)(zÅ1) Å (xÅ1)(yÅ1)z Å (xÅ1)y(zÅ1) Å (xÅ1)yz Å x(yÅ1)(zÅ1) Å xy(zÅ1) Å xyz, и раскроем скобки: (xyz Å xy Å xz Å yz Å x Å y Å z Å1) Å (xyz Å xz Å yz Å z) Å (xyz Å xy Å yz Åy)Å (xyz Å yz) Å (xyz Å xy Å xz Å x) Å (xyz Å xy) Å xyz = х·у·z х·z 1
Yandex.RTB R-A-252273-3
- Часть II
- Алгебра двузначной логики
- Функции алгебры логики
- Способы задания функций алгебры логики
- Эквивалентность функций
- Реализация функций формулами
- Эквивалентность формул и тождества
- Упрощение формул
- Двойственные функции и принцип двойственности
- Применение принципа двойственности
- Аналитическая запись функций алгебры логики
- Аналитическое построение сднф и скнф
- Теорема о тройке связок
- Полные системы функций и полиномы Жегалкина
- Замыкание систем функций алгебры логики
- Важнейшие замкнутые классы
- Теорема Поста о полноте
- Минимизация булевых функций
- Основные понятия
- Метод неопределенных коэффициентов
- Тупиковые днф и алгоритм наискорейшего спуска
- Геометрическое представление функций алгебры логики
- Аналитическое построение сокращенной днф
- Локальные алгоритмы
- Алгоритм Куайна
- Диаграммы Вейча–Карно
- Построение днф по карте Карно
- Задачи и упражнения
- Список литературы
- Часть II
- 400131, Волгоград, просп. Им. В.И.Ленина, 28
- 400131, Волгоград, ул. Советская, 35