- •Министерство образования и науки рф
- •Введение.
- •Пусть теперь известно, что должен100 рублей,должен200 рублей,должен100 рублейдолжен300 рублей,должен200 рублей. Тогда эту информацию также можно выразить в виде графа:
- •Глава I. Перечислительная комбинаторика.
- •Перестановки, размещения, сочетания и разбиения.
- •Полиномиальная формула и бином Ньютона.
- •Формула включения и исключения.
- •1.4. Приложения к теории вероятностей.
- •1.5. Производящие функции и рекуррентные соотношения.
- •1.6. Перечисление классов эквивалентности. Лемма Бернсайда и теорема Пойа.
- •Задачи для самостоятельного решения
- •Глава II. Булевы функции.
- •2.1. Определение и интерпретация.
- •2.2. Дизъюнктивная и конъюнктивная нормальные формы. Единичный n-мерный куб.
- •(Заметим, что ввиду фиксированного порядка двоичных наборов булева функция
- •2.3. Полные системы функций. Теорема Поста.
- •2.4. Пороговые функции.
- •Глава II. Графы и алгоритмы.
- •2.1. Основные понятия теории графов.
- •2.2. Алгоритмы в дискретной математике.
- •2.3. Минимальное остовное дерево.
- •2.4. Кратчайший путь между двумя вершинами.
- •2.5. Задача коммивояжера. Метод «ветвей и границ».
- •2.6. Паросочетания в двудольных графах.
- •2.7. Потоки в сетях.
- •Глава III. Кодирование
- •3.1. Основные задачи теории кодирования.
- •3.2. Помехоустойчивое кодирование.
- •Криптография.
- •Согласно Малой теореме Ферма в поле для любогоимеем.
- •Рекомендуемая литература
2.4. Пороговые функции.
Пусть
коллективом из
членов принимается решение, состоящее
в выборе одной из двух возможных
альтернатив, причем каждый член коллектива
высказывается в пользу одной из
альтернатив, а коллективное решение
принимается на основе индивидуальных
предпочтений, т.е. решение принимается
с помощью некоторой голосующей процедуры.
Обозначая альтернативы символами 0 и
1, получаем, что коллективное решение
является некоторой булевой функцией
.
Если
нечетное число, то наиболее распространенным
способом коллективного решения является
решение по большинству, т.е. выбор той
из альтернатив, которая собрала больше
голосов. Этот способ задаётся мажоритарной
булевой функцией, которая равна 0 или
1 в зависимости от того, каких символов
больше в двоичном наборе. Поучительно
проанализировать методами булевой
алгебры этот издревле используемый
человечеством метод коллективного
решения и обосновать выбор мажоритарной
функции, рассмотрев ряд естественных
свойств, желательных для решающей
функции
.
Во-первых, равноправие членов коллектива ведет к тому, что булева функция не должна изменяться при произвольной перестановке своих аргументов, т.е. быть симметрической.
Во-вторых,
равноправие альтернатив означает, что
,
т.е. функция должна быть самодвойственной.
В-третьих, если функция не должна уменьшаться от замены некоторых из нулей набора на единицы, т.е. должна быть монотонной.
Теорема
1. При нечетном
существует единственная булева функция,
являющаяся одновременно симметрической,
сомодвойственной и монотонной. При
нечётном
подобной функции не существует.
Доказательство.
Из условия симметричности следует, что
постоянна на
каждом слое единичного
-мерного
куба. Из самодвойственности вытекает,
что
,
так как при
условия симметричности и самодвойственности
несовместимы на
-ом
слое. И, наконец, из монотонности и
самодвойственности следует, что
на всех слоях
от нулевого
до
-го
и
на всех слоях
от
-го
до
-го.
Хотя
д.н.ф. и является универсальным способом
представления булевых функций, она
весьма неудобна для представления
мажоритарной функции. При
нижние единицы мажоритарной функции
занимают
-ый
слой целиком и длина её д.н.ф. оказывается
равной
,
что представляет собой слишком большое
число, чтобы такое представление могло
быть реально выписано. Мажоритарную
функцию удобно задать следующим образом.
Выпишем неравенство
,
и
будем считать, что
,если набор
удовлетворяет
неравенству, и
в противном случае.
Определение
1. Булева
функция
называется пороговой,
если существует линейное неравенство
с действительными коэффициентами
,
(1)
которое
выполнено на тех и только тех наборах
,
для которых
.
Коэффициенты
называютсявесами,
порогом.
Мажоритарная функция является, таким образом, пороговой. Общую пороговую функцию можно рассматривать как булеву функцию, реализующую процедуру взвешенного голосования, когда значимость отдельных членов коллектива выражается приписанными им весами. То, что такое голосование может служить эффективным методом принятия решений, может быть обосновано следующей вероятностной моделью.
Будем считать, что
при каждом голосовании одно из решений
является правильным, а другое ошибочным.
Пусть ситуации, когда правильным является
решение 0, возникают с вероятностью
,
а противоположные ситуациис вероятностью
(
)
, и пусть каждый член коллектива в любой
из ситуаций с вероятнностью
принимает правильное решение, а с
вероятностью
ошибочное. Пусть,
наконец, ошибки членов коллектива
независимы. Тогда, если результатом
индивидуальных решений явился набор
,
то по формуле Байеса можно найти
апостериорные вероятности
и
того, к какому из двух классов принадлежит
данная ситуация0
или 1. Оптимальная решающая функция
определяется следующим образом:
,
если
,
и
,
если
.
Теорема 2. Оптимальная решающая булева функция является пороговой функцией.
Доказательство. По формулам Байеса имеем
,
,
где, с учётом независимости,
и
.
Далее получаем
;
.
Отсюда следует, что оптимальное решающее правило является пороговой функцией, задаваемой неравенством
.
Если в неравенстве
(1) все коэффициенты
,
то задаваемая им пороговая функция
является, очевидно, монотонной. Верно
и более сильное утверждение.
Утверждение 1.
Монотонная пороговая функция всегда
может быть задана неравенством (1) с
неотрицательными коэффициентами
.
Доказательство. Допустим, что неравенство
,
где
,
задаёт монотонную пороговую функцию
.
Покажем, что переменная
является несущественной и неравенство
(2)
также
задаёт функцию
.
Пусть неравенство (2) задаёт функцию
.В подкубе
функции
и
,очевидно, совпадают.
Допустим, что они не совпадают в подкубе
.
Тогда найдётся набор
такой, что
.
Тогда
получаем, что
,
а
.
Отсюда
.
Таким
образом, имеем
,
а
,
что противоречит условию монотонности.
Определение 2. Булева функция называется однородной, если она может получена из монотонной заменой некоторых из переменных на их отрицания.
Замена
переменной
на её отрицание в пороговой логике
эквивалентна замене в неравенстве (1)
переменной
на
.
Вновь полученная функция будет задаваться
неравенством
,
т.е.
коэффициент при
сменит знак. Подобными заменами можно
добиться, чтобы все коэффициенты
в задающем пороговую функцию неравенстве
стали неотрицательными, преобразовав,
таким образом, исходную пороговую
функцию в монотонную. Отсюда вытекает
Утверждение 2. Пороговая функция является однородной.
В качестве следствия из теоремы 2.3 и утверждения 2 получаем
Утверждение 3. Сокращенная д.н.ф. пороговой функции содержит каждую существенную переменную либо только с отрицанием, либо только без отрицания и является её единственной кратчайшей и минимальной д.н.ф..
При
изучении пороговых функций геометрическая
интерперация с помощью единичного
-мерного
куба играет важную роль. Пороговая
функция от двух переменных
задаётся прямой в плоскости
:
,
отделяющей единичные вершины функции
от нулевых. (См. рис.1, где
.)
Из 16 булевых функций от двух переменных
не являются пороговыми лишь две:
и
.

Рис. 1
Пороговая
функция от трёх переменных
задаётся плоскостью в пространстве
:
,
рассекающей единичный куб так, что в
вершинах по одну сторону плоскости
функция равна нулю, а по другую
единице. На рис. 2 плоскость задаёт
функцию
![]()
.
Исследование показывает, что из 256
булевых функций от трёх переменных лишь
104 являются пороговыми, т.е. с ростом
доля пороговых функций падает.

Рис. 2
В
общем случае
переменных можно считать, что в евклидовом
пространстве
пороговая
функция задаётся гиперплоскостью
,
рассекающей единичный
-мерный
куб так, что в вершинах по одну сторону
гиперплоскости функция равна нулю, а
по другую
единице. При этом, как легко понять,
небольшим изменением порога всегда
можно добиться строгой разделимости,
т.е. строгого выполнения неравенства
(1) на нулевых вершинах. Подобный
геометрический взгляд оказывается
полезным в исследованиях, связанных с
пороговыми функциями. Приведём некоторые
простейшие свойства пороговых функций.
Утверждение 4. Элементарная конъюнкция и её отрицание являются пороговыми функциями.
Доказательство.
Не теряя общности можно считать, что
элементарная конъюнкция имеет вид
.
Тогда она задаётся неравенством
,
а
её отрицание
задаётся неравенством
.
Утверждение 5.
Множества
и
пороговой функции
являются связными в том смысле, что из
каждой вершины одного множества можно
попасть в любую другую вершину этого
же множества, двигаясь по рёбрам куба
и не покидая пределов данного множества.
Доказательство.
Пусть
,
где пороговая функция
задаётся неравенством (1). Из вершины
перейдём в некоторую соседнюю вершину
,
изменив координату
такую, что
.
Очевидно, что
.
Будем продолжать такое движение по
рёбрам в направлении вершины
,
увеличения значения линейного функционала
до тех пор, пока это возможно. Все
полученные на этом пути вершины будут
принадлежать множеству
,
так как
.
Когда такие координаты будут исчерпаны,
начнём движение к вершине
по рёбрам, уменьшающим значение линейного
функционала, пока его значение не
сравняется со значением в вершине
.
Все полученные на этом пути вершины
также будут принадлежать множеству
,
так как
.
Заключительная вершина на этом пути
либо совпадает с вершиной
,
либо отличается от неё в кординатах,
имеющих нулевые значения весового
вектора. Изменяя последовательно эти
координаты, придём в вершину
,
не изменяя значения линейного функционала.
Приведённые свойства
помогут при описании пороговых функций
при небольших значениях
.
Число пороговых функций от
переменных будем обозначать через
.
Все четыре булевы
функции от одной переменной являются,
очевидно, пороговыми, т.е.
.
Из 16 булевых функций от двух переменных
лишь две не являются элементарными
конъюнкциями или их отрицаниями:
и
.
Множества единичных (и нулевых) вершин
этих функций не являются связными,
поэтому в соответствии с утверждением
5 эти функции не являются пороговыми,
т.е.
.
Для перечисления
пороговых функций от трёх переменных
полезно рассмотреть классы пороговых
функций с заданным числом единиц. Пусть
число пороговых функций от
переменных, принимающих значение 1 на
наборах (
можно также считать числом пороговых
множеств мощности
,
понимая под пороговым множеством
подмножество вершин единичного
-мерного
куба, отделимого от своего дополнения
гиперплоскостью). Замечая, что
,
получаем
.
Имеем
,
(множество вершин куба),
(множество рёбер куба). Связное множество
мощности 3 состоит из трёх вершин,
лежащих в одной грани, т.е. это множество
типа
,
являющееся, очевидно, пороговым (см.
рис. 2). Таких множеств в каждой грани
имеется 4, поэтому
.
Связное множество мощности 4 может быть одного из трёх типов:
1) четыре вершины, лежащие в одной грани;
2)
вершина с тремя прилегающими рёбрами,
например
;
3) цепь из четырёх
вершин, например
.
Множества первого типа задаются однобуквенными конъюнкциями и, следовательно, являются пороговыми. Таких множеств шесть.
Множества
второго типа также, очевидно, являются
пороговыми (множество из примера может
быть задано неравенством
).
Таких множеств восемь.
Множества
третьего типа не являются пороговыми.
В самом деле, пусть множество из примера
задаётся неравенством
.
Из условий
имеем неравенства
и
,
а из условий
имеем неравенства
и
.
Складывая первые два неравенства,
получаем
,
а складывая вторые два неравенства
.
Полученное противоречие и доказывает,
что множества третьего типа не являются
пороговыми. Таким образом,
,
а
,
т.е. из 256 булевых функций от трёх
переменных лишь 104 являются пороговыми.
Для
большего числа переменных анализировать
пороговые множества столь элементарными
методами уже затруднительно. Введем
важное для пороговой логики понятие
вектора параметров Чоу булевой функции.
Сложив как векторы в евклидовом
пространстве все единичные для функции
наборы, получим целочисленный
-мерный
вектор
.
Дополнив его нулевой координатой
,
равной числу единичных вершин функции,
получим
-мерный
вектор
,
который называетсявектором параметров
Чоу булевой функции
.
Теорема 4. Пусть
пороговая функция. Если
некоторая булева
функция и
,
то
.
Доказательство.
Пусть функция
задаётся неравенством (1). По условию
теоремы имеем
.
Выбросив из обеих сумм общую часть, получаем.
.
(3)
Условие равенства
нулевых компонент векторов Чоу даёт
.
Домножив обе части равенства (3) на
весовой вектор из (1), получаем, что
правая часть последнего равенства
больше, чем
,
а левая не превышает этой величины,противоречие.
По вектору Чоу
произвольной булевой функции можно, в
принципе, установить, является ли она
пороговой, а если является, то и однозначно
её идентифицировать. Поэтому векторы
Чоу могут быть использованы для
табулирования пороговых функций. Каждая
компонента вектора Чоу принимает
целочисленное значение в диапазоне от
0 до 2n. Поэтому
число различных векторов Чоу заведомо
не превышает
.
Это позволяет в качестве следствия из
теоремы 4 получить оценку сверху для
числа пороговых функций.
Следствие 1.
Пороговых функций от
переменных не более чем
.
Чтобы получить представление о том, насколько точна эта оценка, необходимо оценить число пороговых функций снизу. Простейший способ сделать это проследить, как изменяется число пороговых функций при увеличении числа переменных на единицу.
Утверждение 6. Для числа пороговых функций справедливо следующее рекуррентное соотношение
.
Доказательство.
Сопоставим каждой пороговой функции
от
переменных, задаваемой линейным
неравенством
,
множество пороговых функций от
переменных, задаваемых неравенствами
вида
,
где
пробегает всё множество действительных
значений от
до
.
При этом в подкубе
варьирование
не меняет функции, а в подкубе
гиперплоскость
,
перемещаясь параллельно самой себе,
пересекает все
вершин. При этом веса
исходной функции всегда могут быть
выбраны так, что гиперплоскость не
пересекает одновременно более одной
вершины. Поэтому в подкубе
возникает
различных функций. Тем самым каждой
функции от
переменных сопоставлено множество из
функций от
переменных и эти
множеств попарно не пересекаются.
Следствие
2. Пороговых функций от
переменных не менее чем
.
Не вдаваясь сейчас в вопрос о том, к какой из двух оценок ближе истинное число пороговых функций, отметим лишь, что пороговые функции составляют исчезающе малую часть от множества всех булевых функций. Однако любая булева функция может быть задана системой линейных неравенств
Теорема
5. Каждая булева функция
может быть задана системой линейных
неравенств
![]()
. . . . . . . . . . . . . . . .
![]()
так, что нулевые для
функции наборы удовлетворяют системе,
а единичные не
удовлетворяют. Такое задание булевой
функции называется еёпороговым
представлением, а наименьшее число
необходимых для этого неравенств пороговым числом
булевой функции
.
Доказательство. Пороговое представление произвольной булевой функции можно получить, опираясь на утверждение 4 и заменив в её д.н.ф. каждую элементарную конъюнкцию соответствующим линейным неравенством.
Как следует из
доказательства теоремы, пороговое число
не превышает длины кратчайшей д.н.ф.,
поэтому ввиду утверждения 2.3 имеем
.
Однако для порогового числа справедливо
гораздо более сильное и интересное
неравенство.
Теорема 6. Для
порогового числа произвольной булевой
функции
справедливо неравенство
.
Доказательство.
Соотношение
очевидно. Докажем соотношение
индукцией по числу нулевых вершин. При
оно верно. Пусть оно верно для всех
булевых функций с числом нулей, не
превышающим
,
и пусть функция
имеет
нулей. Тогда существует переменная
такая, что в каждом из подкубов
и
имеются нулевые вершины функции. Не
теряя общности, будем считать, что
.
Пусть в подкубе
лежит
нулей функции, а в подкубе
нулей, где
и
.
Тогда по предположению индукции
существует система из
неравенств
![]()
. . . . . . . . . . . . . . . .
,
задающая
функцию
в подкубе
, и система из
неравенств
![]()
. . . . . . . . . . . . . . . .
,
задающая
функцию
в подкубе
.
Тогда система
![]()
. . . . . . . . . . . . . . . .
![]()
![]()
. . . . . . . . . . . . . . . .
,
где
достаточно велико, задаёт функцию
.
Заметим, что теорема 6 не имеет аналога в теории д.н.ф., где длина кратчайшей д.н.ф. у функции с малым числом нулей может быть достаточно велика.
Теорема позволяет усилить результат о максимальном значении порогового числа булевой функции.
Следствие 3.
Максимальное значение порогового числа
у булевых функций от
переменных, равное
,
достигается ровно на двух функциях:
счётчике чётности и его отрицании.
Доказательство.
Счётчик чётности и его отрицание
являются, как нетрудно убедиться,
единственными булевыми функциями, у
которых
и множество
состоит из изолированных вершин.
