Важнейшие замкнутые классы
1) Класс функций, сохраняющих ноль. Обозначение: Т0.
Т0={f(x1,x2,…,xn)P2: f(0,0,…,0)=0}, таким образом, этот класс состоит из тех функций алгебры логики, которые на наборе, состоящем из одних нулей, имеют значение ноль. Или, что то же самое, в верхней строке таблицы истинности значение этих функций равно нулю. И поскольку, ровно половина всех функций в верхней строке равны нулю, то число функций от n переменных, относящихся к классу Т0, равно . Из элементарных функций к этому классу относятся следующие: 0, х, &, , . А такие, как 1, , , не принадлежат классу Т0.
Утверждение:
Т0 – замкнутый класс, т.е. [Т0]=T0.
Доказательство:
По свойствам замыканий Т0 Т0. Покажем, что Т0 Т0. Для этого рассмотрим произвольную функцию Ф Т0. По определению замыкания функция Ф выражается формулой через функции класса Т0, т.е. Ф=f(f1,f2,…,fm), где функции f, f1, f2,…,fmТ0. Тогда Ф(0,0,…,0)=f(f1(0,…,0),f2(0,…,0),…,fm(0,…,0)) = f(0,…,0)=0. Таким образом, функция ФТ0. И так как Ф – произвольная функция из замыкания, то Т0 Т0. И, следовательно, Т0 = Т0.
2) Класс функций, сохраняющих единицу. Обозначение: Т1.
Т1={f(x1,x2,…,xn)P2: f(1,1,…,1)=1}, таким образом, этот класс состоит из тех функций алгебры логики, которые на наборе, состоящем из одних единиц, имеют значение 1. Или, что то же самое, в нижней строке таблицы истинности значение этих функций равно единице. И, поскольку, ровно половина всех функций в нижней строке равны единице, то число функций от n переменных, относящихся к классу Т1, равно . Из элементарных функций к этому классу относятся следующие: 1, х, &, , , . А такие, как 0, , не принадлежат классу Т1.
Утверждение:
Т1 – замкнутый класс, т.е. [Т1]=T1.
Доказательство:
По свойствам замыканий Т1 Т1. Покажем, что Т1 Т1. Для этого рассмотрим произвольную функцию Ф Т1. По определению замыкания функция Ф выражается формулой через функции класса Т1, т.е. Ф=f(f1,f2,…,fm), где функции f, f1, f2,…,fmТ1. Тогда Ф(1,1,…,1)=f(f1(1,…,1),f2(1,…,1),…,fm(1,…,1)) = f(1,…,1)=1. Таким образом, произвольно взятая функция Ф из Т1 принадлежит и классу Т1. Поэтому Т0 Т0. Следовательно Т0 = Т0.
3) Класс самодвойственных функций. Обозначение: S.
S={f(x1,x2,…,xn)P2: f(x1,x2,…,xn)=f *(x1,x2,…,xn) }, таким образом, этот класс состоит из тех функций алгебры логики, которые совпадают с двойственными к ним. Заметим, что такие функции на противоположных наборах принимают противоположные значения, т.к. f(x1,x2,…,xn)=. Таблицы истинности этих функций имеют зеркальную симметрию верхней половины строк таблицы и инвертированной нижней половины строк относительно середины всех строк таблицы. Тем самым, самодвойственные функции полностью определяются своими значениями на первой половине строк таблицы. Число таких строк для функций от n переменных равно =2n-1 и, следовательно, число функций от n переменных, относящихся к классу S, равно . Из элементарных функций самодвойственными являются только тождественная функция х и отрицание .
Утверждение:
S – замкнутый класс, т.е. [S]= S.
Доказательство:
По свойствам замыканий S S. Покажем, что S S. Для этого рассмотрим произвольную функцию ФS. По определению замыкания функция Ф выражается формулой через функции класса S, т.е. Ф=f(f1,f2,…,fm), где функции f, f1, f2,…,fmS. Тогда Ф*=f*(f1*,f2*,…,fm*) = f(f1,f2,…,fm)=Ф. Таким образом, функция ФS. И так как Ф – произвольная функция из замыкания, то S S. Отсюда следует, что S = S.
Лемма о несамодвойственной функции
Если функция алгебры логики не принадлежит классу самодвойственных функций, то всегда можно указать такую замену её переменных функциями х и , что в результате этой замены будет получена константа 0 или 1.
Доказательство:
Доказательство имеет конструктивный характер и показывает, как подобрать такую замену переменных. Рассмотрим произвольную несамодвойственную функцию от n переменных f(x1,x2,…,xn). Так как fS, то существует такой набор значений переменных 1,2,…,n, что f(1,2,…,n), а это значит, что f(1,2,…,n) =. Заметим, что для самодвойственной функции такого набора не существует по определению. Введем также в рассмотрение функции gi(x)=xi, где i=1,2,…,n, и gi(x) равно либо х, либо , в зависимости от значения i. Произведем замену переменных x1,x2,…,xn в функции f на g1(x), g2(x),…, gn(x) соответственно. Покажем, что полученная в результате этой замены функция Ф(х)= f(g1(x), g2(x),…, gn(x)) является константой. Действительно, т.к. Ф(х)=f(x1,x2,…,xn), то Ф(0)=f(01,02,…,0n), но 0i равно =1, если i=0, и равно 0, если i=1, тем самым, 0i=. Тогда Ф(0)==(по условию)f(1,2,…,n) = f(11,12,…,1n) = Ф(1). Т.е. Ф(х) имеет постоянное значение для всех значений х, и Ф(х) – константа.
Пусть функция f(х,y,z)=. Заметим, что f(0,0,0)= f(1,1,1). Поэтому набор (1,1,1) можно взять для формирования функций gi(x)=xi, где i=1,2,3. На выбранном наборе все эти функции равны тождественной функции х. Выполним замену каждой переменной на х. Получим: f(х,х,х)= .
Понятно, что никакая замена переменных на х или в самодвойственной функции не может привести к константе, а только к х или .
4) Класс монотонных функций. Обозначение: М.
Функция f(x1,x2,…,xn)P2 называется монотонной, если для любых двух наборов =(1,2,…,n) и =(1,2,…,n) таких, что i i, где i=1,2,…,n, следует f() f(). Про такие наборы говорят, что набор предшествует набору , и обозначают . Из элементарных функций монотонными являются 0, 1, тождественная функция х, , . А функции , , , , , монотонными не являются.
Утверждение:
М – замкнутый класс, т.е. [М]= М.
Доказательство:
По свойствам замыканий М М. Покажем, что М М. Т.к. функция хМ, то достаточно рассмотреть произвольную функцию ФМ. По определению замыкания функция Ф выражается формулой через функции класса М, т.е. Ф(x1,x2,…,xn)=f(f1,f2,…,fm), где функции f, f1, f2,…,fmМ. Пусть =(1,2,…,n) и =(1,2,…,n) – два набора значений переменных (x1,x2,…,xn) таких, что i i, где i=1,2,…,n. Эти наборы определяют наборы значений переменных для функций f1,f2,…,fm: а1=(11,12,…,1s1) и b1=(11,12,…,1s1),…, аm=(m1,m2,…,msm) и bm=(m1,m2,…,msm), которые (вследствие того, что ) также попарно предшествуют друг другу. Т.е. а1 b1 и а2 b2 и …аm bm. Но функции f1, f2,…,fm монотонны, поэтому f1(а1) f1(b1), f2(а2) f2(b2), …, fm(аm) fm(bm). Тогда рассматривая =(f1(а1), f2(а2),…, fm(аm)) и =(f1(b1), f2(b2), …, fm(bm)) как наборы значений переменных функции f, имеем: и f( ) f( ) ввиду монотонности f. Но Ф()=f( ) и Ф()=f( ), т.е. для Ф() Ф(). И, следовательно, функция ФМ. Но Ф – произвольная функция из замыкания, поэтому М М. Отсюда по определению равных множеств следует: М = М.
Лемма о немонотонной функции
Если функция алгебры логики не принадлежит классу монотонных функций, то из неё путем подстановки констант 0, 1 и функции х на места переменных можно получить функцию .
Доказательство:
Доказательство имеет конструктивный характер и показывает, как подобрать такую замену переменных. Рассмотрим произвольную немонотонную функцию от n переменных f(x1,x2,…,xn). Так как fМ, то существуют такие наборы значений переменных и , что и f() > f().
Если наборы и смежны, т.е. различаются только одной i–той координатой (при этом в наборе на i–том месте стоит ноль, а в наборе – единица), то цель достигнута – можно сделать замену переменных (x1,x2,…,xn) на (1,…,i‑1,x,i+1,…,n). После этой замены будет получена функция одной переменной g(x) = f(1,…,i‑1,x,i+1,…,n). Причем g(0)=f(1,…,i‑1,0,i+1,…,n)=f(), а g(1)=f(1,…,i‑1,1,i+1,…,n)=f(). И так как f() > f(), то g(0) > g(1), а это значит, что g(0)=1 и g(1)=0, т.е. g(x)=.
Если же наборы и несмежны, то они отличаются в нескольких координатах, и пусть число этих координат равно k (где k>1). И так как , то в наборе эти k координат равны 0, а в наборе они равны 1. Поэтому между наборами и можно вставить (k ‑1) промежуточных наборов 1,2,…,k-1 таких, что 1 2 … k-1 , образующих цепь смежных наборов, связывающих и . И так как f() > f(), то в этой цепи существуют два смежных набора i и i+1 (где i i+1), для которых f(i) > f(i+1). Тогда также, как и в первом случае, эти наборы i и i+1 можно использовать для замены.
Пусть функция f(х,y)=ху. Заметим, что на наборах (0,0) и (1,0), которые являются смежными, значения функции находятся в соотношении: f(0,0)>f(1,0). Поэтому можно выполнить замену переменной у на 0, а переменную х оставить без изменений. После замены получим: f(х,0)=х0=.
5) Класс линейных функций. Обозначение: L.
L={f(x1,x2,…,xn)P2: f(x1,x2,…,xn)=c0c1x1c2x2…cnxn, где c0,c1,c2,…,cn равны 0 или 1}. Таким образом, этот класс состоит из тех функций алгебры логики, которые представимы линейным выражением. Различные линейные функции от n переменных отличаются друг от друга составом слагаемых, входящих в их линейные выражения. Этот состав определяется значением коэффициентов: если соответствующий коэффициент равен нулю, то слагаемое отсутствует. И так как число коэффициентов равно n+1, то число функций от n переменных, относящихся к классу L, равно 2n+1. Из элементарных функций линейными являются тождественная функция х, отрицание , константы 0 и 1, а также и .
Утверждение:
L – замкнутый класс, т.е. [L]= L.
Доказательство:
По свойствам замыканий L L. Покажем, что L L. Т.к. хL, то достаточно рассмотреть произвольную функцию ФL. По определению замыкания функция Ф выражается формулой через функции класса L, т.е. Ф=f(f1,f2,…,fm), где функции f, f1, f2,…,fmL. Иными словами функция Ф представляет из себя «линейное выражение от линейных выражений», а оно в свою очередь линейно. Таким образом, функция ФL. И так как Ф – произвольная функция из замыкания, то L L. Следовательно, L = L.
Лемма о нелинейной функции
Если функция алгебры логики от n переменных f(x1,x2,…,xn) нелинейна, то из неё можно получить х1& x2 путем подстановки констант 0 или 1 и функций х и , а также, возможно, размещением знака отрицания над f.
Доказательство:
Рассмотрим полином Жегалкина для функции f: . Вследствие нелинейности функции f(x1,x2,…,xn) в полиноме обязательно найдется слагаемое, содержащее не менее двух сомножителей. Без уменьшения общности можно считать, что этими сомножителями являются х1 и х2. Преобразуем полином к виду: = х1х2f1(х3,…,хn) х1f2(х3,…,хn) х2f3(х3,…,хn) f4(х3,…,хn). Так как f(x1,x2,…,xn) нелинейна, то f1(х3,…,хn)0 и существует набор значений 3,…,n такой, что f1(3,…,n)=1. Подставим этот набор в полином. Тогда f(x1,x2,3,…,n) = х1х2f1(3,…,n) х1f2(3,…,n) х2f3(3,…,n) f4(3,…,n) = х1х2 х1a х2b c, где a, b и с равны нулю или единице. Теперь заменим х1 на (х1b) и х2 на (х2а) – это соответствует подстановке функций вида: х или , в зависимости от значений a и b. Получим: f(x1b, x2а,3,…,n) = (х1b)(х2а) (х1b)a (х2а)b c = = х1х2 х1a х2b ab х1a ab х2b ab c = х1х2 ab c. К последнему выражению добавим (ab c) – это соответствует возможному размещению знака отрицания над функцией. В итоге будет получена функция двух переменных (x1,x2) = х1х2 = х1 & х2. Что и требовалось доказать.
Пусть функция алгебры логики задана полиномом Жегалкина: f(х,y,z,t) = xyz yzt xy zt xz x 1. Здесь для компактности записи пропущен знак «». Выполним преобразования полинома, как указано в доказательстве леммы: f(х,y,z,t) = xy(z 1) x(z 1) yzt (zt 1). Таким образом, в соответствии с введенными в лемме обозначениями f1(z,t) = z 1, f2(z,t) = z 1, f3(z,t) = zt, f4(z,t) = zt 1. Заметим, что f1(z,t) = 1 при z = 0 и t = 0 или t = 1. Для определенности рассмотрим набор (z,t) = (0,1). На выбранном наборе f2(0,1) = 1, f3(0,1) = 0 и f4(z,t) = 1, т.е. a, b и с равны соответственно 1, 0 и 1. И f(х,y,0,1) = xy x 1. Заменим теперь у на у 1. Тогда f(х, y1,0,1) = x(y 1) x 1= xy x x 1= xy 1. Добавим к последнему выражению (ab c)=1 и (х,у) = ху. Тем самым, с помощью замены х на х, у на , z на ноль и t на единицу, а также установки знака отрицания над функцией получена конъюнкция.
| Т0 | Т1 | S | M | L |
0 | + | – | – | + | + |
1 | – | + | – | + | + |
| – | – | + | – | + |
Таблица 17 |
|
- Часть II
- Алгебра двузначной логики
- Функции алгебры логики
- Способы задания функций алгебры логики
- Эквивалентность функций
- Реализация функций формулами
- Эквивалентность формул и тождества
- Упрощение формул
- Двойственные функции и принцип двойственности
- Применение принципа двойственности
- Аналитическая запись функций алгебры логики
- Аналитическое построение сднф и скнф
- Теорема о тройке связок
- Полные системы функций и полиномы Жегалкина
- Замыкание систем функций алгебры логики
- Важнейшие замкнутые классы
- Теорема Поста о полноте
- Минимизация булевых функций
- Основные понятия
- Метод неопределенных коэффициентов
- Тупиковые днф и алгоритм наискорейшего спуска
- Геометрическое представление функций алгебры логики
- Аналитическое построение сокращенной днф
- Локальные алгоритмы
- Алгоритм Куайна
- Диаграммы Вейча–Карно
- Построение днф по карте Карно
- Задачи и упражнения
- Список литературы
- Часть II
- 400131, Волгоград, просп. Им. В.И.Ленина, 28
- 400131, Волгоград, ул. Советская, 35