XIX Белоусов А.И., Ткачев СБ. Дискретная математика (1081422), страница 63
Текст из файла (страница 63)
ф Пусть дано некоторое множество булевых функций Р. Тогда формулой над множестпеом Р мы считаем любую константу из Р (если она там есть) и любое булево переменное. Далее, если известно, что Фы ..., Ф„(п > 1) — формулы над множеством г', а у — функция из Г от и переменных, то выра- 396 б.
БУЛЕВЫ ФУНКЦИИ жение ~(Фм...,Ф„) есть формула над множеством Р. Никаких других формул над множеством Р, кроме определенных выше, не существует. Замечание 6.5. 1. Строго говоря, в формуле У'(Фм...,ф„) фигурирует не сама булева функция из множества Р, а ее обозначение, т.е. индивидная консшанша с областью значений Ръ Но мы, чтобы не усложнять терминологию, будем отождествлять обозначения базисных функций, т.е. функций из заданного множества Р, с самими базисными функциями. 2. Обычно предполагают, что рассматриваются переменные из некоторого заранее фиксированного (и не более чем счетного) множества переменных Х. Пример 6.6.
а. Пусть Р = (Ч,, ). Это множество, состоящее из функций диэъюнкиии, конъюнкции и отприианиа называют сгпандартвнььк баэисоле. Формулами над стандартным базисом будет любое переменное: х, у, ..., хм ..., х„и т.д. Далее, из переменных х, у как формул и функции Ч можно построить новую формулу, например Ч(х,у) или (х,у). Эти формулы, однако, естественно записывать несколько иначе. Поскольку каждая булева функция от двух переменных (каковы, в частности, днзъюнкция и конъюнкция) является одновременно бинарной операцией на множестве В = (О, Ц, то формулы с такими функциями обычно записывают в „инфиксной форме", т.е.
как (х Чу), (х у) и т.п. Аналогично для отрицания используют запись х, а не (х). Кроме того, в формулах над стандартным базисом, вопервых, опускают скобки, используя ассоииативносшь булевых операций Ч и, т.е. вместо ((хЧу) Чх) пишут (хЧуЧе); во-вторых, опускают, как правило, внешние скобки, записывая формулу, аналогичную последней, просто как х Ч у Ч я; в-третьих, используют соглашение о „старшинстве" (или о приоритете) операций, полагая, что самый высокий приоритет имеет операция отрицания (т.е.
она всегда выполняется перед конъюнкцией 397 В.4. Формулы и еуперпоэпппп и диэъюнкцией), затем идет конъюнкция и после нее — дизьюнкция. С учетом сказанного формула ((хЧу) Ч((у «) и)) может быть переписана так: (хЧу) Чу «и. (6.6) Рне. 6.3 Согласно определению формулы, можно представить процесс построения формулы (6.6) следующим образом. Из переменных х, у и функции Ч строим формулу Ф1 = (х Ч у), затем из нее и функции отрицания получаем формулу Фз = Фм т.е. формулу (х Ч у).
Далее иэ переменных у, «и функции строим формулу (у «), а из нее, переменного и и опять функции — формулу Фз = (у «) 'и, которую записываем как у «и. И наконец, из формул Фз, Фз и функции Ч строим формулу Ф«Ч Фз, т.е. формулу (6.6). Описанный процесс можно наглядно изобразить в виде ориентированного дерева (рис. 6.3). Листья этого дерева помечены переменными или константами формулы, а каждый узел, не являющийся листом, — одной иэ функций из множества г' (на рисунке эти узлы изображены в виде кружочков, внутри которых указано имя функции). 398 б.
ВУЛЕВЫ ФУНКЦИИ б. Рассмотрим множество булевых функций (9,, Ц, которое называют базисом Л1егалкина. При записи формул над базисом Жегалкина используют те же принципы, что и при записи формул над стандартным базисом. Приоритет операции конъюнкции считается выше приоритета операции слохсения по модулю 2, Так как последняя ассоциативна, то при записи формул с этой операцией соответствующим образом опускают скобки. Так, формулами над базисом Жегалкина будут: ху9х9у, х91, хр»9ху9хя9у»9х9у9»91. Процесс построения первых двух формул юображен в виде деревьев на рис. 6.4. х 1 Рис.
6.4 в. Пусть множество базисных функций Р состоит ю единственной функции ~ (ииирвх Же~фере). Как бинарная операция, эта функция не ассоциативна, т.е. булеза функция (х~р) ~» не равна булевой функции х)(у~я). Поэтому при записи формул над множеством Щ следует заботиться о расстановке скобок.
Примеры формул над множеством Щ: (х)х) !(у!у), (х)у) /(х~у), (х~х) ~(х~х). Внешние скобки мы опускаем и в этом случае. Дерево, показывающее процесс построения первой из записанных выше формул, изображено на рис. 6.5. о.4. Формулы и суперпозиции 399 Мы будем использовать запись Ф(хм...,хи), указывая тем самым, ! что формула Ф содержит переменные эм..., х„, и только их. Множа. ство переменных формулы Ф будем ! обозначать через Уаг(Ф). Нам понадобится также понятие подЯорлау пы. Из определения и рассмотрен- Х и ных примеров следует, что процесс Рие. а.о построения формулы есть процесс определения некоторой сложной булевой функции, т.е. супер- позиции. Формула „собирается" из „элементарных формул", т.е.
переменных и базисных функций, так, что на каждом шаге из уже полученных формул строится новая, более сложнал формула. Естественно назвать эти „промежуточные" формулы подформулами рассматриваемой формулы. Так, в примере 6.6.а формулы Фм Фз, Фз (и, конечно, переменные и базисные функции) — это подформулы формулы (6.6). Строго понятие подформулы может быть введено следующим образом. Пусть Ф вЂ” формула над Р. Если Ф Е Р или Ф есть переменное, то ее единственной подформулой является она сама. Если Ф имеет вид ~(Фм..., Ф„), где у' — функция из Р от и переменных, а Ф;, 1 = 1, и, суть формулы над Р, то подформулами формулы Ф будут: 1) все формулы Ф;; 2) для каждого 1 = 1, п все подформулы формулы Ф;.
В дереве, изображающем процесс построения формулы, каждое поддерево, все листья которого являются также и листьями всего дерева, определяет некоторую подформулу. Каждому набору значений переменных, входящих в заданную формулу, можно определенным образом сопоставить эпачеппе этой форлеулы. Вычисление этого значения в точности соответствует процессу построения формулы из подформул (в конечном счете из переменных и базисных функций). 400 6. ВУЛЕВЫ ФУНКЦИИ Пример 6.Т. Полагая в формуле (6.6) х = 1, у = О, г = и = 1, получим значение формулы (6.6), равное (1ЧО) Ч0.1 1=0.
Таким образом, по каждому набору значений переменных формулы можно по определенному алгоритму вычислить значение формулы. Это значит, что каждая формула определяет (или представляет) некоторую булеву функцию. Введем понятие функции, предспэавллемоб формулоб над множеспэвом Р. Мы полагаем, что: 1) любая константа из Р представляет саму себя; 2) любое переменное х из Х представляет проектпируюи4ую функцию х (точнее, любую иэ множества равных между собой проектирующих функций существенного переменного х, см. замечание 6.3); 3) если формулы Фм ..., Ф„над множеством Р представляют соответственно функции дм ..., д„, а у — функция из Р от и переменных (и ) 1), то формула ~(Фм...,Ф„) представляет суперпозицию функций Ддм...,д„); 4) других булевых функций, представляемых формулами над множеством Р, кроме тех, которые могут быть получены согласно пп.
1-3 данного определения,не существует. Функцию, представляемую некоторой формулой над множеством Р, называют суперпоэицией над множестпвом Р. Таким образом, суперпозиция над множеством Р— это любал суперпозиция функций вида Ддм...,д„), где У Е Р, а каждая из функций дм ..., д„есть либо элемент Р, либо переменное (точнее, проектирующая функция), либо некоторая суперпозиция над Р. Множество всех суперпозиций над Р будем обозначать Щ и называть эамынанием множеспэва Р булевых функций. Понятия формулы и суперпозиции взаимно предполагают друг друга.
суперпозиция над множеством Р есть некоторая сложная функция, которая определенным образом построена вэ о.4. Формулы и суперпозиция 401 бээисных функций — функций фиксированного множества Р (и проектирующих функций). Само „строение" суперпозиции, т.е. то, из каких именно базисных функций и в какой последовательности образуется результирующая сложная функция (суперпозиция), и есть формула. Если булева функция у(х1,..., х„) представляется формулой Ф(х1,...,х„), то будем писать у(х1,...,х„) = Ф(х1,...,х„), или, короче, у = Ф(хм...,х„). Определение 6.3. Множество булевых функций Р называют: 1) эамккрпаым, если любая формула над Р представляет некоторую функцию иэ Р; 2) полкым, если любая булева функция может быть представлена некоторой формулой над Р.