Научная статья на тему 'О сложности реализации булевых функций с малым числом единиц самокорректирующимися контактными схемами'

О сложности реализации булевых функций с малым числом единиц самокорректирующимися контактными схемами Текст научной статьи по специальности «Математика»

CC BY
99
13
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
БУЛЕВЫ ФУНКЦИИ / BOOLEAN FUNCTIONS / КОНТАКТНЫЕ СХЕМЫ / CONTACT NETWORKS / САМОКОРРЕКТИРУЮЩИЕСЯ СХЕМЫ / SELF-CORRECTING SCHEMES / СЛОЖНОСТЬ РЕАЛИЗАЦИИ ФУНКЦИЙ / COMPLEXITY OF IMPLEMENTATION OF FUNCTIONS

Аннотация научной статьи по математике, автор научной работы — Редькин Николай Петрович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «О сложности реализации булевых функций с малым числом единиц самокорректирующимися контактными схемами»

УДК 519.95

О СЛОЖНОСТИ РЕАЛИЗАЦИИ БУЛЕВЫХ ФУНКЦИЙ С МАЛЫМ ЧИСЛОМ ЕДИНИЦ САМОКОРРЕКТИРУЮЩИМИСЯ КОНТАКТНЫМИ СХЕМАМИ

Н. П. Редькин1

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

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

An asymptotics for the complexity of implementation of Boolean functions taking the unit value on a comparatively small set of collections of variables by self-correcting contact networks is obtained.

Key words: Boolean functions, contact networks, self-correcting schemes, complexity of implementation of functions.

Будем рассматривать контактные схемы [1]. Пусть схема S реализует булеву функцию f (X), O = (xi, ..., xn), и на эту схему воздействует источник неисправностей [2, 3]. Будем предполагать, что в результате этого воздействия контакты схемы могут переходить в неисправные состояния, которые можно интерпретировать как обрывы и (короткие) замыкания контактов [3, 4]; в случае обрыва контакт (рассматриваемый как двухполюсная контактная схема) реализует константу 0, а в случае замыкания — константу 1. Схема S корректирует a обрывов и b замыканий, т.е. является (a, ^-самокорректирующейся, если в случае обрывов не более чем а контактов и замыканий не более чем b контактов эта схема реализует ту же функцию, что и в исправном состоянии.

Обозначим через L(S) сложность контактной схемы S, т.е. число контактов в ней. Пусть Lab(f) = min L(S), где минимум берется по всем (а, Ь)-самокорректирующимся контактным схемам, реализующим булеву функцию f; функция Шеннона La>b(f) задает сложность реализации булевой функции f (a, b)-самокорректирующимися контактными схемами. Ниже нас будет интересовать сложность реализации (a, b)-самокорректирующимися контактными схемами булевых функций с малым числом единиц, т.е. функций из класса Fn,k, состоящего из всех тех булевых функций от п переменных, каждая из которых обращается в единицу ровно на k наборах значений переменных, где k мало сравнительно с n.

Близкие к окончательным результаты о сложности реализации функций из Fn,k обычными (несамо-корректирующимися) параллельно-последовательными контактными схемами (и фактически как следствие — контактными схемами произвольного вида и схемами из функциональных элементов в базисе {&, У, —}) получил Б. И. Фиников [5] в случае, когда k меньше log2 n. В [6] введены понятия сильных и слабых переменных и с использованием этих понятий получены новые нижние оценки, позволившие найти асимптотики для сложности реализации булевых функций с малым числом единиц схемами из функциональных элементов. Эти понятия и представленные в [6] конструкции дают возможность получить асимптотики и для сложности реализации функций из Fn,k (a, b)-самокорректирующимися контактными схемами.

Пусть f (xi, ..., xn) — произвольная булева функция из Fn,k, обращающаяся в единицу на наборах Oi, ..., Ok, где Oi = (Oi,i, ..., Oi,n), i = 1, ..., k. Функции f сопоставим (k x п)-матрицу Mf, строками которой являются наборы Oi, ..., Ok, а j-й столбец данной матрицы отвечает переменной Xj, j = 1, ..., п. Столбцы матрицы Mf разобьем на группы одинаковых между собой столбцов. Для произвольного набора O длины (или, точнее, высоты) k через Mo обозначим группу столбцов (или подматрицу матрицы Mf, составленную из столбцов), равных O; для каких-то O группы Mo могут оказаться пустыми. Непустую группу столбцов Mo будем считать сильной, если она содержит не менее двух столбцов O ив этих столбцах имеются как нули, так и единицы; переменные, отвечающие столбцам из сильной группы, также будем считать сильными. Все остальные непустые группы и переменные, не относящиеся к сильным, будем считать слабыми.

1 Редькин Николай Петрович — доктор физ.-мат. наук, проф. каф. дискретной математики мех.-мат. ф-та МГУ, e-mail: npredkin@yandex. ru.

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

1 ^ кп ^ 1о§2 п - с 1о§2 1о§2 п ■ Тогда при п выполняется соотношение

£>а,ь(/п) ~ (а + 1)(Ь + 1)(п + тп).

Доказательство. Верхняя оценка. Пусть задана произвольная булева функция /(х) из с т сильными переменными (индекс п у параметров к и т опускаем). Используя фактически тот же самый способ построения схем, который представлен в [6] (при получении верхних оценок сложности реализации функций из Рп,к схемами их функциональных элементов в базисе {&, V, —}), но теперь уже применительно к контактным схемам (соответствующие крайне незначительные изменения при переходе от схем из функциональных элементов в базисе {&, V, —} к контактным схемам очевидны), построим обычную, т.е. несамокорректирующуюся, контактную П-схему 5, реализующую /(ж) и содержащую асимптотически (по п) не более чем п + т контактов.

В схеме 5 каждый контакт продублируем параллельно а +1 раз, а затем в полученной схеме каждый контакт продублируем еще и последовательно Ь +1 раз. В итоге, как нетрудно заметить, функция /(ж) будет реализована (а, Ь)-самокорректирующейся П-схемой 5', сложность которой асимптотически не превосходит (а + 1)(Ь + 1)(п + т).

Нижняя оценка. При доказательстве нижней оценки используется следующий факт.

Лемма. Любая (а, Ь)-самокорректирующаяся контактная схема, содержащая замыкающие контакты х, размыкающие контакты X и реализующая функцию ха, а € {0,1}, содержит не менее чем (а + 1)(Ь + 1) контактов ха.

Доказательство. Воспользуемся примерно такими же рассуждениями, которые проводились Муром и Шенноном при оценке числа ребер в сети [7, теорема 3], но применительно к нашему случаю. Пусть а = 0 и 5 — какая-нибудь (а, Ь)-самокорректирующаяся контактная схема, содержащая контакты х и X и реализующая X (случай а = 1 рассматривается аналогично). Будем считать, что каждый контакт в 5 соединяет различные вершины (если какой-то контакт является петлей, то его, очевидно, можно удалить из 5).

Предположим, что все контакты схемы 5 исправны, а х = 0. В этом случае все контакты х в 5 будут иметь нулевую проводимость; удалим эти контакты из 5 и получим некоторую двухполюсную сеть 5' [8], ребрами которой являются различные контакты X с ненулевой проводимостью. Учитывая, что схема реализует функцию X, обращающуюся в единицу при х = 0, приходим к выводу, что в схеме 5 имеются проводящие цепи, соединяющие полюсы и содержащие только контакты X; эти цепи останутся ив 5'. Каждая такая цепь содержит не менее чем Ь +1 контактов X; иначе при неисправности типа замыкания не более чем Ь контактов X, составляющих самую короткую из рассматриваемых цепей, схема 5 реализовывала бы константу 1, т.е. не являлась бы (а, Ь)-самокорректирующейся. Отсюда следует (первое) свойство сети 5': любая цепь, соединяющая полюсы сети 5', содержит не менее чем Ь +1 ребер.

Пусть а и в — полюсы сети 5'. Пометим вершины и ребра сети 5' следующим образом. Изначально полюсу а припишем (метку) 0.

На первом шаге всем отличным от а вершинам, соседним с полюсом а, припишем 1; всем ребрам, инцидентным полюсу а, также припишем 1. Вершины и ребра с меткой 1 отнесем к 1-му ярусу.

На г-м шаге (г > 1) всем еще не отмеченным вершинам, соседним с вершинами (г — 1)-го яруса (с меткой г — 1), припишем метку г; каждому ребру, соединяющему вершины с метками г — 1 и г, приписываем метку г. Вершины и ребра с меткой г отнесем к г-му ярусу.

Процедура заканчивается шагом, на котором некоторую метку I получит второй полюс в (какие-то вершины и ребра могут остаться неотмеченными и оказаться вне ярусов). Легко заметить, что общее число шагов (и ярусов), т.е. число I, равно длине кратчайшей цепи, соединяющей полюсы а и в, а множество ребер из одного (любого) яруса образует сечение сети 5'; для параметра I, как отмечалось выше, должно выполняться неравенство I ^ Ь +1. Каждое сечение содержит не менее чем а + 1 ребер, т.е. контактов X; иначе при обрыве всех ребер из одного какого-то сечения схема 5 реализовывала бы константу 0 и не являлась (а, Ь)-самокорректирующейся.

С учетом полученных нижних оценок для числа ярусов и для числа контактов в ярусе выводим требуемую оценку для числа контактов X в 5. Лемма доказана.

Пусть S — минимальная (a, b)-самокорректирующаяся контактная схема, реализующая булеву функцию f (ж) из Fn,k, имеющую m сильных переменных. Функция f (ж) имеет не более чем k — 1 фиктивных переменных [6, лемма 5]; это означает, что у этой функции не менее чем n — k + 1 существенных переменных. Не умаляя общности, будем считать, что первые m переменных Х\, ..., xm функции f(ж) существенные и сильные, а последующие n — k — m + 1 переменных xm+i, ..., xn-k+i существенные (но слабые). Из свойств совершенной дизъюнктивной нормальной формы функции f (ж) (см. [6, разд. 5]) следует, что для каждой сильной переменной Xi найдется пара наборов а = (а^д,..., ai,i-i, ai,i+i,..., ai,n) и ßi = (ßi,i,...,ßi,i-i,ßi, i+i,...,ßi ,n) значений переменных xi, ..., Xi-1, Xi+i, ..., xn, таких, что выполняются условия f{ai>i,...,ai>i-i,Xi,ai>i+i,...,ai>n) = ж» и f(ßiti,..., ßi,i-i, Xi, ßi,i+i, ■ ■ ■, ßi,n) = Xi, i = 1,...,m. Из этих условий вытекают следующие свойства схемы S: при подаче значений переменных xi, ..., x—i, xi+i, ..., xn, определяемых набором ai, схема S реализует xi (первое свойство), а при подаче значений тех же переменных, но определяемых набором схема S реализует Щ (второе свойство). Согласно определению существенной переменной, для каждой переменной xj, j = m + 1,...,n — к + 1, существует булев набор ßj = (Yj>i,...,Yj,j-i,Yj,j+i,...,Yj>n), такой, что при подстановке значений переменных xi, ..., xj-1, xj+i, ..., xn, определяемых набором ßj, схема S реализует (третье свойство; как обычно, x1 означает x, а x0 означает x).

Из приведенных свойств схемы S и леммы следует, что схема S содержит не менее чем по (a + 1)(b +1) замыкающих контактов и не менее чем по (a + 1)(b +1) размыкающих контактов каждой сильной переменной, а также не менее чем по (a +1)(b + 1) контактов каждой существенной, но слабой переменной. Поскольку у функции f (ж) имеется не менее чем n — к + 1 существенных переменных и m штук из них — сильные, то в итоге получаем (с учетом условия теоремы), что в схеме S должно быть асимптотически не менее чем (a + 1)(b + 1)(n + m) контактов. Теорема доказана.

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

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

Работа выполнена при финансовой поддержке РФФИ (проект № 08-01-00863) и программы "Ведущие научные школы РФ" (проект НШ-4437.2010.1).

СПИСОК ЛИТЕРАТУРЫ

1. Лупанов О.Б. Асимптотические оценки сложности управляющих систем. М.: Изд-во МГУ, 1984.

2. Яблонский С.В. Элементы математической кибернетики. М.: Высшая школа, 2007.

3. Яблонский С.В. Некоторые вопросы надежности и контроля управляющих систем // Математические вопросы кибернетики. Вып. 1. М.: Наука: Физматлит, 1988. 5-25.

4. Редькин Н.П. Надежность и диагностика схем. М.: Изд-во МГУ, 1992.

5. Фиников Б.И. Об одном семействе классов функций алгебры логики и их реализации в классе П-схем // Докл. АН СССР. 1957. 115, № 2. 247-248.

6. Редькин Н.П. О сложности булевых функций с малым числом единиц // Дискретная математика. 2004. 3, № 4. 20-31.

7. Moore E.F., Shannon C.E. Reliable circuits using less reliable relays //J. Franklin Inst. 1956. 262, N 3. 191-208; N 4. 281-297. (Рус. пер.: Мур Э.Ф., Шеннон К. Надежные схемы из ненадежных реле // Кибернетический сборник. Вып. 1. М.: ИЛ, 1960. 109-148.)

8. Редькин Н.П. Дискретная математика. М.: Физматлит, 2009.

Поступила в редакцию 17.03.2009

i Надоели баннеры? Вы всегда можете отключить рекламу.