Определение функции. Суперпозиция булевых функций Сложная функция суперпозиция

Определение функции. Суперпозиция булевых функций Сложная функция суперпозиция

02.07.2020

Познакомимся с понятием суперпозиции (или наложения) функций, которая состоит в том, что вместо аргумента данной функции подставляется некоторая функция от другого аргумента. Например, суперпозиция функций даёт функцию аналогично получаются и функции

В общем виде, предположим, что функция определена в некоторой области а функция определена в области причем значения ее все содержатся в области Тогда переменная z, как говорят, через посредство у, и сама является функцией от

По заданному из сначала находят соответствующее ему (по правилу, характеризуемому знаком значение у из У, а затем устанавливают соответствующее этому значению у (по правилу,

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

Предположение, что значения функции не выходят за пределы той области У, в которой определена функция весьма существенно: если его опустить, то может получиться и нелепость. Например, полагая мы можем рассматривать лишь такие значения х, для которых ибо иначе выражение не имело бы смысла.

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

Здесь функция оказалась заданной в виде сложной функции.

Теперь, когда полностью выяснено понятие суперпозиции функций, мы можем точно охарактеризовать простейший из тех классов функций, которые изучаются в анализе: это, прежде всего, перечисленные выше элементарные функции а затем - все те, которые из них получаются с помощью четырёх арифметических действий и суперпозиций, последовательно применённых конечное число раз. Про них говорят, что они выражаются через элементарные в конечном виде; иногда их все также называют элементарными.

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


В научной среде широко известна шутка на эту тему "нелинейность" сравнивается с "не-слоном" - все создания, кроме "слонов", являются "не-слонами". Сходство заключается в том, что большинство систем и явлений в окружающем нас мире нелинейны, за малым исключением. Вопреки этому, в школе нас учат "линейному" мышлению, что очень плохо, с точки зрения нашей готовности к восприятию всепроникающей нелинейности Вселенной, будь то ее физические, биологические, психологические или социальные аспекты. Нелинейность концентрирует в себе одну из основных сложностей познания окружающего мира поскольку следствия, в общей своей массе, не пропорциональны причинам, две причины, при взаимодействии, не аддитивны, то есть следствия являются более сложными, чем простая суперпозиция, функциями причин. То есть, результат, получающийся в результате присутствия и воздействия двух причин, действующих одновременно, не является суммой результатов, полученных в присутствии каждой из причин в отдельности, при отсутствии другой причины.  

Определение 9. Ее in на некотором промежутке X определена функция г-ф(лг) с множеством значений Z и на множестве Z определена функция у =/(z), то функция у Лсложной функцией от х (или суперпозицией функции), а переменная z - промежуточной переменной сложной функции.  

Контроллинг можно представить как суперпозицию трех классических управленческих функций - учета, контроля и анализа (ретроспективного) . Контроллинг как интегрированная функция управления делает возможным не только подготовку решения, но и обеспечение контроля его выполнения с помощью соответствующих управленческих инструментов.  

Как известно /50/, любую временную функцию можно представить как суперпозицию (набор) простых гармоничных функций с разным периодом, амплитудой и фазой. В общем случае P(t) = f(t),  

Переходная или импульсная характеристики определяются экспериментально. При их использовании по методу суперпозиции осуществляется сначала разложение выбранной модели входного воздействия на элементарные" функции времени, а затем суммирование откликов на них. Последнюю операцию называют иногда свертыванием, а интегралы в выражениях (24). . . (29) - интегралами свертки. Из них выбирается тот, у которого проще подынтегральная функция.  

Эта теорема сводит задачу на условный экстремум к суперпозиции задач на безусловный экстремум. В самом деле, определим функцию R (g)  

Суперпозиция ((>(f(x)), где у(у) - неубывающая выпуклая функция одного переменного, /(х) - выпуклая функция , является выпуклой функцией.  

Пример 3.28. Вернемся к примеру 3.27. На рис. 3.24 показан в виде штрих-пунктирной кривой результат суперпозиции двух функций принадлежности , соответствующих тем квантификаторам, которые имеются в этом примере. С помощью уровня отсечки со значением 0,7 получены нечеткие интервалы на оси абсцисс. Теперь мы можем сказать, что диспетчер должен ожидать изменения плана  

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

Пример 3.29. На рис. 3.25 показаны два результата, полученные с помощью суперпозиции и сдвига с растяжением, для случая, когда ХА и X соответствуют квантификатору часто. Разница состоит, по-видимому, в том, что суперпозиция вычленяет в функции принадлежности часто те значения, которые часто встречаются. В случае же сдвига и растяжения мы можем интерпретировать результат как появление нового квантификатора со значением часто-часто , который можно при желании аппроксимировать, например, значением очень часто.  

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

Первое из соотношений (2) представляет собой не что иное, как запись правила, согласно которому каждой функции F(x), принадлежащей семейству монотонно неубывающих абсолютно непрерывных функций , ставится в соответствие одна и только одна непрерывная функция w(j). Это правило линейно , т.е. для него верен принцип суперпозиции  

Доказательство. Если отображение F непрерывно, функция М0 непрерывна как суперпозиция непрерывных функций . Чтобы доказать вторую часть утверждения, рассмотрим функцию  

Сложные е функции (суперпозиции)  

Метод функциональных преобразований предполагает также использование эвристического подхода. Например, использование логарифмических преобразований в качестве операторов В и С приводит к информационным критериям построения идентифицируемых моделей и использованию мощного инструмента теории информации . Пусть оператор В представляет собой суперпозицию операторов умножения на функцию,(.) и сдвига на функцию К0(), оператор С - оператор  

Здесь будут в общих чертах приведены результаты решения ряда вариационных задач (1)-(3). Они решались методом последовательной линеаризации (19-21) еще в 1962-1963 гг., когда технология метода только начинала складываться и проходила проверку. Поэтому мы остановимся лишь на некоторых деталях. Прежде всего заметим, что функции С и С2 были заданы достаточно сложными выражениями, являющимися суперпозицией вспомогательных функций, в том числе и заданных таблично. Поэтому при решении сопряженной системы ф=-fxиспользованием функций, заданных таблично. Обычно подобные таблицы содержат небольшое число значений для набора узлов в области изменения независимого аргумента, а между ними функция интерполируется линейно, так как применение более точных методов интерполяции не оправдано ввиду неточности самих табличных значений (как правило, таблицами задаются функциональные зависимости экспериментального характера). Однако для наших целей нужны дифференцируемые функции / (х, и), поэтому следует предпочесть гладкие методы восполнения таблично заданной функции (например, с помощью сплайнов).  

Пусть теперь (ДА и (д - произвольные функции, соответствующие каким-то значениям квантификаторов частоты. На рис. 3.23 показаны две одногорбые кривые, отвечающие этим функциям. Результат их суперпозиции - двугорбая кривая, показанная штриховой линией. Каков ее смысл Если, например, (ДА есть редко, а (д - часто,  

Преимущество такого способа определения F состоит в том, что при монотонных преобразованиях вид функции принадлежности меняется не кардинально. Ее унимодальность или монотонность сохраняется, и переход от нового вида функции (2.16) имеют трапециевидную форму, то и линейная суперпозиция (2.15) является трапециевидным нечетким числом (что легко доказывается при использовании сегментного правила вычислений ). И можно свести операции с функциями принадлежности к операциям с их вершинами. Если обозначить трапециевидное число (2.16) как (аь а2, аз, а4), где а соответствуют абсциссам вершин трапеции, то выполняется  

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

можно переименовать любую переменную, входящую в функцию из K ;

вместо любой переменной можно поставить функцию из набора K или уже образованную ранее суперпозицию.

Суперпозицию еще иначе называют сложной функцией.

Пример 7. 1. Если дана одна функция х |y (штрих Шеффера), то ее суперпозициями, в частности, будут следующие функции x|x , x| (x|y ), x| (y|z ) и т. д.

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

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

Неизбыточный полный набор функций называется базисом (“неизбыточный” означает, что если какую-то функцию удалить из набора, то этот набор перестанет быть полным).

Пример 7.2. Конъюнкция, дизъюнкция и отрицание являются полным набором (в этом убедились в разд. 5), но не являются базисом, так как это набор избыточен, поскольку с помощью правил де Моргана можно удалить конъюнкцию или дизъюнкцию. Любую функцию можно представить в виде полинома Жегалкина (разд. 6). Ясно, что функции конъюнкция, сложение по модулю 2 и константы 0 и 1 являются полным набором, но эти четыре функции также не являются базисом, поскольку 1+1=0, и поэтому константу 0 можно исключить из полного набора (для построения полиномов Жегалкина константа 0 необходима, поскольку выражение “1+1” не является полиномом Жегалкина).

Легко видеть, что одним из способов проверки полноты какого-то набора К является проверка того, что через функции из этого набора выражаются функции другого полного набора (можно проверить, что через функции из К можно выразить конъюнкцию и отрицание или дизъюнкцию и отрицание.

Существуют такие функции, что одна такая функция сама является базисом (здесь достаточно проверить только полноту, неизбыточность очевидна). Такие функции называются шефферовскими функциями. Это название связано с тем, что штрих Шеффера является базисом. Напомним, что штрих Шеффера определяется следующей таблицей истинности:

Так как очевидно , т. е. отрицание является суперпозицией штриха Шеффера, а дизъюнкция тогда , штрих Шеффера сам является базисом. Аналогично, стрелка Пирса является шефферовской функцией (студенты могут проверить это сами). Для функций 3-х или более переменных шефферовских функций очень много (конечно, выражение других булевых функций через шефферовскую функцию большого числа переменных сложно, поэтому в технике они редко используются).

Заметим, что вычислительное устройство чаще всего базируется на полном наборе функций (часто на базисах). Если в основе устройства лежат конъюнкция, дизъюнкция и отрицание, то для этих устройств важна проблема минимизации ДНФ; если в основе устройства лежат другие функции, то полезно уметь алгоритмически минимизировать выражения через эти функции.

Перейдем теперь к выяснению полноты конкретных наборов функций. Для этого перечислим 5 важнейших классов функций:

  • Т 0 - это набор всех тех логических функций, которые на нулевом наборе принимают значение 0 (Т 0 - это класс функций, сохраняющих 0);
  • Т 1 - это набор всех логических функций, которые на единичном наборе принимают значение 1 (Т 1 - это класс функций, сохраняющих единицу ) (заметим, что число функций от п переменных принадлежащих классам Т 0 и Т 1 равно 2 2n-1);
  • L - класс линейных функций т. е. функций, для которых полином Жегалкина содержит только первые степени переменных;
  • М - класс монотонных функций. Опишем класс этих функций более подробно. Пусть имеются 2 набора из п переменных: s1 = (x 1 , x 2 ,..., x n)

s 1 = (х 1 , х 2 , , х п ) и s 2 = (y 1 , y 2, , y п) . Будем говорить, что набор s 1 меньше набора s 2 (s 1 £ s 2 ), если все х i £ y i . Очевидно, что не все наборы из п переменных сравнимы между собой (например, при п = 2 наборы (0,1) и (1,0) не сравнимы между собой). Функция от п переменных называется монотонной , если на меньшем наборе она принимает меньшее или равное значение. Разумеется, эти неравенства должны проверяться только на сравнимых наборах. Понятно, что несравнимые наборы - это те, в которых есть некоторые координаты типа (0,1) в одном наборе и (1,0) в другом на соответствующих местах (в дискретной математике монотонные функции это только как бы “монотонно возрастающие функции”, “монотонно убывающие” функции здесь не рассматриваются).

Пример. В нижеследующей таблице функции f 1 , f 2 являются монотонными функциями, а функции f 3 , f 4 - нет.

Естественный порядок переменных обеспечивает тот факт, что если какой-то набор меньше другого набора, то он обязательно расположен в таблице истинности выше “большего” набора. Поэтому если в таблице истинности () вверху стоят нули , а затем единицы , то эта функция точно является монотонной . Однако возможны инверсии, т. е. единица стоит до каких-то нулей , но функция является все равно монотонной (в этом случае наборы, соответствующие “верхней” единице и “нижнему” нулю должны быть несравнимы ; можно проверить, что функция, задаваемая таблицей истинности при естественном порядке набора переменных (00010101), является монотонной);

Теорема . Классы функций Т 0 , Т 1 , L , M , S замкнуты .

Это утверждение следует непосредственно из определения самих этих классов, а также из определения замкнутости.

В теории булевых функций очень большое значение имеет следующая теорема Поста.

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

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

Достаточность этого утверждения доказывается довольно сложно, поэтому здесь не приводится.

Из этой теоремы следует довольно простой способ выяснения полноты некоторого набора функций. Для каждой из этих функций выясняется принадлежность к перечисленным выше классам. Результаты заносятся в так называемую таблицу Поста (в нашем примере эта таблица составлена для 4-х функций, причем знаком “+” отмечается принадлежность функции соответствующему классу, знак “-” означает, что функция в него не входит).

В соответствии с теоремой Поста набор функций будет полным тогда и только тогда, когда в каждом столбце таблицы Поста имеется хотя бы один минус. Таким образом, из приведенной таблицы следует, что данные 4 функции образуют полный набор, но эти функции не являются базисом. Из этих функций можно образовать 2 базиса: f 3 , f 1 и f 3 , f 2 . Полными наборами будут любые наборы содержащие, какой-либо базис.

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

Суперпозиция функций

Суперпозицией функций f1, …, fm называется функция f, полученная с помощью подстановок этих функций друг в друга и переименования переменных.

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

Областью определения суперпозиции является множество.

Функция называется внешней, а -внутренней функцией для суперпозиции.

Функции, представленные в виде композиции "более простых", называются сложными функциями.

Примерами использования суперпозиции являются: решение системы уравнений методом подстановки; нахождение производной от функции; нахождение значения алгебраического выражения с помощью подстановки в него значения заданных переменных.

Рекурсивные функции

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

Примитивно рекурсивная функция

Определение понятия примитивно рекурсивной функции является индуктивным. Оно состоит из указания класса базовых примитивно рекурсивных функций и двух операторов (суперпозиции и примитивной рекурсии), позволяющих строить новые примитивно рекурсивные функции на основе уже имеющихся.

К числу базовых примитивно рекурсивных функций относятся функции следующих трёх видов:

Нулевая функция-- функция без аргументов, всегда возвращающая0 .

Функция следованияодного переменного, сопоставляющая любому натуральному числунепосредственно следующее за ним натуральное число.

Функции, где, от n переменных, сопоставляющие любому упорядоченному набору натуральных чисел число из этого набора.

Операторы подстановки и примитивной рекурсии определяются следующим образом:

Оператор суперпозиции (иногда--оператор подстановки). Пусть -- функция от m переменных, а -- упорядоченный набор функций отпеременных каждая. Тогда результатом суперпозиции функцийв функцию называется функцияотпеременных, сопоставляющая любому упорядоченному набору натуральных чисел число.

Оператор примитивной рекурсии. Пусть -- функция от n переменных, а -- функция от переменных. Тогда результатом применения оператора примитивной рекурсии к паре функций и называется функция от переменной вида;

В данном определении переменнуюможно понимать как счётчик итераций, -- как исходную функцию в начале итерационного процесса, выдающего некую последовательность функцийпеременных, начинающуюся с, и -- как оператор, принимающий на входпеременных, номер шага итерации, функцию на данном шаге итерации, и возвращающий функцию на следующем шаге итерации.

Множество примитивно рекурсивных функций -- это минимальное множество, содержащее все базовые функции и замкнутое относительно указанных операторов подстановки и примитивной рекурсии.

В терминах императивного программирования -- примитивно рекурсивные функции соответствуют программным блокам, в которых используется только арифметические операции, а также условный оператор и оператор арифметического цикла (оператор цикла, в котором число итераций известно на момент начала цикла). Если же программист начинает использовать оператор цикла while, в котором число итераций заранее неизвестно и, в принципе, может быть бесконечным, то он переходит в класс частично рекурсивных функций.

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

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

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

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

Пусть имеется функция f(x 1 , x 2 , ... , x n) и функции

тогда функцию будем называть суперпозицией функции f(x 1 , x 2 , ... , x n) и функций .

Другими словами: пусть F = { f j } - набор функций алгебры логики, не обязательно конечный. Функция f называется суперпозицией функций из множества F или функцией над F, если она получена из функции путем замены одной или нескольких ее переменных функциями из множества F.

Пример .

Пусть задано множество функций

F = {f 1 (x 1), f 2 (x 1 ,x 2 ,x 3), f 3 (x 1 ,x 2)}.

Тогда суперпозициями функций из F будут, например, функции:

j 1 (x 2 , x 3) = f 3 (f 1 (x 2), f 1 (x 3));

j 2 (x 1 , x 2) = f 2 (x 1 , f 1 (x 1), f 3 (x 1 ,x 2)).

Cовершенная ДНФ - суперпозиция функций из множества

. ð

Определение.

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

Мы уже имеем некоторый набор полных систем:

;

Так как ;

Так как ;

{x+y, xy, 1}. ð

Как же определить условия, при которых система полна. С понятием полноты тесно связано понятие замкнутого класса.

Замкнутые классы.

Множество (класс) K функций алгебры логики называется замкнутым классом , если оно содержит все функции, получающиеся из K операциями суперпозиции и замены переменных, и не содержит никаких других функций.

Пусть K - некоторое подмножество функций из P 2 . Замыканием K называется множество всех булевых функций, представимых с помощью операций суперпозиции и замены переменных функций из множества K. Замыкание множества K обозначается через [K].

В терминах замыкания можно дать другие определения замкнутости и полноты (эквивалентные исходным):

K- замкнутый класс, если K = [K];

K - полная система, если [K] = Р 2 .

Примеры.

* {0}, {1} - замкнутые классы.

* Множество функции одной переменной - замкнутый класс.

* - замкнутый класс.

* Класс {1, x+y} не является замкнутым классом.

Рассмотрим некоторые важнейшие замкнутые классы.

1. Т 0 - класс функций, сохраняющих 0.

Обозначим через Т 0 класс всех функций алгебры логики f(x 1 , x 2 , ... , x n), сохраняющих константу 0, то есть функций, для которых f(0, ... , 0) = 0.



Легко видеть, что есть функции, принадлежащие Т 0 , и функции, этому классу не принадлежащие:

0, x, xy, xÚy, x+y Î T 0 ;

Из того, что Ï T 0 следует, например, что нельзя выразить через дизъюнкцию и конъюнкцию.

Поскольку таблица для функции f из класса Т 0 в первой строке содержит значение 0, то для функций из Т 0 можно задавать произвольные значения только на 2 n - 1 наборе значений переменных, то есть

,

где - множество функций, сохраняющих 0 и зависящих от n переменных.

Покажем, что Т 0 - замкнутый класс. Так как xÎT 0 , то для обоснования замкнутости достаточно показать замкнутость относительно операции суперпозиции, поскольку операция замены переменных есть частный случай суперпозиции с функцией x.

Пусть . Тогда достаточно показать, что . Последнее вытекает из цепочки равенств

2. T 1 - класс функций, сохраняющих 1.

Обозначим через Т 1 класс всех функций алгебры логики f(x 1 , x 2 , ... , x n), сохраняющих константу 1, то есть функций, для которых f(1, ... , 1) = 1.

Легко видеть, что есть функции, принадлежащие Т 1 , и функции, этому классу не принадлежащие:

1, x, xy, xÚy, xºy Î T 1 ;

0, , x+y Ï T 1 .

Из того, что x + y Ï T 0 следует, например, что x + y нельзя выразить через дизъюнкцию и конъюнкцию.

Результаты о классе Т 0 тривиально переносятся на класс Т 1 . Таким образом, имеем:

Т 1 - замкнутый класс;

.

3. L - класс линейных функций.

Обозначим через L класс всех функций алгебры логики f(x 1 , x 2 , ... , x n), являющихся линейными:

Легко видеть, что есть функции, принадлежащие L , и функции, этому классу не принадлежащие:

0, 1, x, x+y, x 1 º x 2 = x 1 + x 2 + 1, = x+1 Î L;

Докажем, например, что xÚy Ï L .

Предположим противное. Будем искать выражение для xÚy в виде линейной функции с неопределенными коэффициентами:

При x = y = 0 имеем a=0,

при x = 1, y = 0 имеем b = 1,

при x = 0, y = 1 имеем g = 1,

но тогда при x = 1, y = 1 имеем 1Ú 1 ¹ 1 + 1, что доказывает нелинейность функции xÚy.

Доказательство замкнутости класса линейных функций совершенно очевидно.

Поскольку линейная функция однозначно определяется заданием значений n+1 коэффициента a 0 , ... , a n , число линейных функций в классе L (n) функций, зависящих от n переменных равно 2 n+1 .

.

4. S - класс самодвойственных функций.

Определение класса самодвойственных функций основано на использовании так называемого принципа двойственности и двойственных функций.

Функция , определяемая равенством , называется двойственной к функции .

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

Легко видеть, что

(x 1 Ú x 2)* = x 1 Ù x 2 ,

(x 1 Ù x 2)* = x 1 Ú x 2 .

Из определения вытекает, что (f*)* = f, то есть функция f является двойственной к f*.

Пусть функция выражена с помощью суперпозиции через другие функции. Спрашивается, как построить формулу, реализующую ? Обозначим через = (x 1 , ... , x n) все различные символы переменных, встречающиеся в наборах .

Теорема 2.6. Если функция j получена как суперпозиция функций f, f 1 , f 2 , ... , f m , то есть

функция, двойственная к суперпозиции, есть суперпозиция двойственных функций.

Доказательство .

j*(x 1 ,...,x n) = ` f(`x 1 ,...,`x n) =

Теорема доказана. ð

Из теоремы вытекает принцип двойственности: если формула А реализует функцию f(x 1 , ... , x n), то формула, полученная из А заменой входящих в нее функций на двойственные им, реализует двойственную функцию f*(x 1 , ... , x n).

Обозначим через S класс всех самодвойственных функций из P 2:

S = {f | f* = f }

Легко видеть, что есть функции, принадлежащие S, и функции, этому классу не принадлежащие:

0, 1, xy, xÚy Ï S .

Менее тривиальным примером самодвойственной функции является функция

h(x, y, z) = xy Ú xz Ú yz;

используя теорему о функции, двойственной к суперпозиции, имеем

h*(x, y, z)= (x Ú y)Ù(x Ú z) Ù (y Ù z) = x y Ú x z Ú y z; h = h* ; h Î S.

Для самодвойственной функции имеет место тождество

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

.

Докажем теперь, что класс S замкнут. Так как xÎS , то для обоснования замкнутости достаточно показать замкнутость относительно операции суперпозиции, поскольку операция замены переменных есть частный случай суперпозиции с функцией x. Пусть . Тогда достаточно показать, что . Последнее устанавливается непосредственно:

5. М - класс монотонных функций.

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

Говорят, что набор предшествует набору (или “не больше ”, или “меньше или равен ”), и применяют обозначение , если a i £ b i для всех i = 1, ... , n. Если и , то будем говорить, что набор строго предшествует набору (или “строго меньше”, или “меньше” набора ), и использовать обозначение . Наборы и называются сравнимыми, если либо , либо .В случае, когда ни одно из этих соотношений не выполняется, наборы и называются несравнимыми. Например, (0, 1, 0, 1) £ (1, 1, 0, 1), но наборы (0, 1, 1, 0) и (1, 0, 1, 0) несравнимы. Тем самым отношение £ (его часто называют отношением предшествования) является частичным порядком на множестве В n . Ниже приведены диаграммы частично упорядоченных множеств В 2 , В 3 и В 4 .




Введенное отношение частичного порядка - исключительно важное понятие, далеко выходящее за рамки нашего курса.

Теперь мы имеем возможность определить понятие монотонной функции.

Функция алгебры логики называется монотонной , если для любых двух наборов и , таких, что , имеет место неравенство . Множество всех монотонных функций алгебры логики обозначаетcя через М, а множество всех монотонных функций, зависящих от n переменных - через М (n) .

Легко видеть, что есть функции, принадлежащие M , и функции, этому классу не принадлежащие:

0, 1, x, xy, xÚy Î M;

x+y, x®y, xºy Ï M .

Покажем, что класс монотонных функций М - замкнутый класс. Так как xÎМ, то для обоснования замкнутости достаточно показать замкнутость относительно операции суперпозиции, поскольку операция замены переменных есть частный случай суперпозиции с функцией x.

Пусть . Тогда достаточно показать, что .

Пусть - наборы переменных, соответственно, функций j, f 1 , ... , f m , причем множество переменных функции j состоит из тех и только тех переменных, которые встречаются у функций f 1 , ... , f m . Пусть и - два набора значений переменной , причем . Эти наборы определяют наборы значений переменных , такие, что . В силу монотонности функций f 1 , ... , f m

и в силу монотонности функции f

Отсюда получаем

Число монотонных функций, зависящих от n переменных, точно неизвестно. Легко может быть получена оценка снизу:

где - есть целая часть от n/2.

Так же просто получается слишком завышенная оценка сверху:

Уточнение этих оценок - важная и интересная задача современных исследований.

Критерий полноты

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

Лемма 2.7. Лемма о несамодвойственной функции.

Если f(x 1 , ... , x n)Ï S , то из нее путем подстановки функций x и `x можно получить константу.

Доказательство . Так как fÏS, то найдется набор значений переменных
=(a 1 ,...,a n) такой, что

f(`a 1 ,...,`a n) = f(a 1 ,...,a n)

Заменим аргументы в функции f:

x i заменяется на ,

то есть положим , и рассмотрим функцию

Тем самым мы получили константу (правда, неизвестно, какая это константа: 0 или 1). ð

Лемма 2.8. Лемма о немонотонной функции.

Если функция f(x 1 ,...,x n) немонотонна, f(x 1 ,...,x n) Ï M, то из нее путем замены переменных и подстановки констант 0 и 1 можно получить отрицание.

Доказательство . Так как f(x 1 ,...,x n) Ï M, то найдутся наборы и значений ее переменных, , , такие что , причем хотя бы для одного значения i имеет место a i < b i . Выполним следующую замену переменных функции f:

x i заменим на

После такой подстановки получим функцию одной переменной j(x), для которой имеем:

Это означает, что j(x)=`x. Лемма доказана. ð

Лемма 2.9. Лемма о нелинейной функции.

Если f(x 1 ,...,x n) Ï L , то из нее путем подстановки констант 0, 1 и использования функции `x можно получить функцию x 1 &x 2 .

Доказательство . Представим f в виде ДНФ (например, совершенной ДНФ) и воспользуемся соотношениями:

Пример . Приведем два примера применения указанных преобразований.

Таким образом, функция, записанная в дизъюнктивной нормальной форме, после применения указанных соотношений, раскрытия скобок и несложных алгебраических преобразований переходит в полином по mod 2 (полином Жегалкина):

где A 0 константа, а А i - конъюнкция некоторых переменных из числа x 1 ,..., x n , i = 1, 2, ... , r.

Если каждая конъюнкция A i состоит лишь из одной переменной, то f - линейная функция, что противоречит условию леммы.

Следовательно, в полиноме Жегалкина для функции f найдется член, в котором содержится не менее двух сомножителей. Без ограничения общности можно считать, что среди этих сомножителей присутствуют переменные x 1 и x 2 . Тогда полином можно преобразовать следующим образом:

f = x 1 x 2 f 1 (x 3 ,..., x n) + x 1 f 2 (x 3 ,..., x n) + x 2 f 3 (x 3 ,..., x n) + f 4 (x 3 ,..., x n),

где f 1 (x 3 ,..., x n) ¹ 0 (в противном случае в полином не входит конъюнкция, содержащая конъюнкцию x 1 x 2).

Пусть (a 3 ,...,a n) таковы, что f 1 (a 3 ,...,a n) = 1. Тогда

j(x 1 ,x 2) = f(x 1 ,x 2 , a 3 ,...,a n) = x 1 x 2 +ax 1 +bx 2 +g ,

где a, b, g - константы, равные 0 или 1.

Воспользуемся операцией отрицания, которая у нас имеется, и рассмотрим функцию y(x 1 ,x 2), получающуюся из j(x 1 ,x 2) следующим образом:

y(x 1 ,x 2) = j(x 1 +b, x 2 +a)+ab+g.

Очевидно, что

y(x 1 ,x 2) =(x 1 +b)(x 2 +a)+a(x 1 +b)+b(x 2 +a)+g+ab+g = x 1 x 2 .

Следовательно,

y(x 1 ,x 2) = x 1 x 2 .

Лемма доказана полностью.ð

Лемма 2.10. Основная лемма критерия полноты.

Если в классе F={ f } функций алгебры логики содержатся функции, не сохраняющие единицу, не сохраняющие 0, несамодвойственные и немонотонные:

то из функций этой системы операциями суперпозиции и замены переменных можно получить константы 0, 1 и функцию .

Доказательство . Рассмотрим функцию . Тогда

.

Возможны два случая последующих рассмотрений, в дальнейшем изложении обозначенные как 1) и 2).

1). Функция на единичном наборе принимает значение 0:

.

Заменим все переменные функции переменной x . Тогда функция

есть , ибо

и .

Возьмем несамодвойственную функцию . Так как функцию мы уже получили, то по лемме о несамодвойственной функции (лемма 2.7. ) из можно получить константу. Вторую константу можно получить из первой, используя функцию . Итак, в первом рассмотренном случае получены константы и отрицание. . Второй случай, а вместе с ним и основная лемма критерия полноты, полностью доказаны. ð

Теорема 2.11. Критерий полноты систем функций алгебры логики (теорема Поста).

Для того, чтобы система функций F = {f i }была полной, необходимо и достаточно, чтобы она целиком не содержалась ни в одном из пяти замкнутых классов T 0 , T 1 , L , S, M, то есть для каждого из классов T 0 , T 1 , L , S, Mв F найдется хотя бы одна функция, этому классу не принадлежащая.

Необходимость . Пусть F - полная система. Допустим, что F содержится в одном из указанных классов, обозначим его через K, т.е. F Í K. Последнее включение невозможно, так как K - замкнутый класс, не являющийся полной системой.

Достаточность . Пусть система функций F = {f i }целиком не содержится ни в одном из пяти замкнутых классов T 0 , T 1 , L , S, M. Возьмем в Fфункции:

Тогда на основанииосновной леммы (лемма 2.10 ) из функции не сохраняющей 0, функции не сохраняющей 1, несамодвойственной и немонотонной функций можно получить константы 0, 1 и функцию отрицание :

.

На основании леммы о нелинейной функции (лемма 2.9 ) из констант, отрицания и нелинейной функции можно получить конъюнкцию:

.

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

Теорема доказана полностью. ð

Примеры.

1. Покажем, что функция f(x,y) = x|y образует полную систему. Построим таблицу значений функции x½y:

x y x|y

f(0,0) = 1, следовательно, x | yÏT 0 .

f(1,1) = 0, следовательно, x | yÏT 1 .

f(0,0) = 1, f(1,1) = 0, следовательно, x | yÏM .

f(0,1) = f(1,0) = 1, - на противоположных наборах x | y принимает одинаковые значения, следовательно x | yÏS .

Наконец, , что означает нелинейность функции
x | y.

На основании критерия полноты можно утверждать, что f(x,y) = x | y образует полную систему. ð

2. Покажем, что система функций образует полную систему.

Действительно, .

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

Таким образом мы убедились, что критерий полноты дает конструктивный и эффективный способ выяснения полноты систем функций алгебры логики.

Сформулируем теперь три следствия из критерия полноты.

Следствие 1 . Всякий замкнутый класс Kфункций алгебры логики, не совпадающий со всем множеством функций алгебры логики (K¹P 2), содержится по крайней мере в одном из построенных замкнутых классов.

Определение. Замкнутый класс K называется предполным , если K неполный и для любой функции fÏ Kкласс K È {f}- полный.

Из определения следует, что предполный класс является замкнутым.

Следствие 2. В алгебре логики существует только пять предполных классов, а именно:T 0 ,T 1 , L , M , S .

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

T 0 T 1 L S M
+ - + - +
- + + - +
- - + + -

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

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



© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows