УДК 519.718.7
Д.В. Чистиков1
ТЕСТИРОВАНИЕ БЕСПОВТОРНЫХ ФУНКЦИЙ В ЭЛЕМЕНТАРНОМ БАЗИСЕ*
Доказывается универсальная верхняя оценка длины проверяющего теста для бесповторных функций в элементарном базисе, при этом устанавливается точное значение соответствующей функции Шеннона для базиса из конъюнкции и дизъюнкции.
Ключевые слова: проверяющий тест, бесповторная функция, функция Шеннона, элементарный базис.
Задача проверяющего тестирования бесповторных функций — тестирование относительно бесповторной альтернативы — поставлена A.A. Вороненко в работе [1]. Для бесповторной функции /(ж 1,..., жп), существенно зависящей от всех своих переменных, требуется построить тест — множество наборов, отличающих / от всех остальных бесповторных функций тех же переменных. Такая постановка, в отличие от ряда родственных ей задач, является невырожденной и имеет полиномиальные решения для широкого класса булевых базисов. В настоящей статье исследуется случай элементарного базиса из конъюнкции, дизъюнкции и отрицания. Минимальная длина теста (количество наборов в нем) функции / обозначается символом Т(/), значение соответствующей функции Шеннона — символом Т(п). В работе [2] получено неравенство Т(п) < 7п/2. Основной целью настоящей работы является получение следующей оценки.
Теорема 1. Всякая бесповторная в базисе {&, V,->} функция f(x\,... ,хп) допускает тест относительно бесповторной альтернативы, имеющий длину не более 2п + 1:
Т(п) < 2п+ 1.
1 Факультет ВМК МГУ, асп., e-mail: dchQcs.msu.ru
* Работа выполнена при финансовой поддержке гранта Президента РФ МД-757.2011.9.
Для дизъюнкции п переменных очевидна нижняя оценка Т(х\ V ... V хп) ^ п + 1. С. Е. Бубнов сформулировал гипотезу о том, что Т(/) = п +1 для всех бесповторных функций /, имеющих в точности п существенных переменных. Отметим, что, к примеру, в базисе всех функций двух переменных универсальная верхняя оценка (™) + п + 1 совпадает с длиной единственного тупикового теста для дизъюнкции [3]. В то же время для индивидуальных бесповторных функций в этом базисе известны более сильные, в том числе линейные верхние оценки [4].
Замечание. Для элементарного базиса неудачная попытка доказательства универсальной верхней оценки, равной п + 1, содержится в работе [5]: в частности, для функции / = (х,\ V ж2) & (жз V Ж4) изложенный алгоритм в качестве теста строит множество наборов (0010), (0110), (1000), (1001), (1010), которое тестом не является. Тем не менее можно убедиться, что / допускает тест длины 5, состоящий из наборов (0011), (1100), (1010), (0110), (1101). Таким образом, к настоящему моменту гипотезу С.Е. Бубнова нельзя считать ни доказанной, ни опровергнутой.
Перейдем к изложению основных результатов настоящей работы. Пусть ¡{х\,... ,хп) — бесповторная функция, существенно зависящая от всех своих переменных. Построим вспомогательные множества входных наборов Аа(/) и Ах(/) согласно следующему индуктивному описанию.
1. Пусть / = а*. Тогда А0(/) = {(0)} и А^) = {(1)}.
2. Пусть / = /1 &/2 к,... &/<;, где /г — либо переменные, либо конъюнкции монотонных бесповторных функций. (В случае / = /1 V /2 V ... V построение осуществляется двойственным образом.) Будем считать, что порядок переменных / задается последовательным перечислением всех переменных /1, затем переменных /2,...,/в. Соответствующие разным функциям группы переменных будем отделять друг от друга вертикальной чертой. Выберем произвольно по одному набору щ € ^4.1 (/¿) и включим в А\{[) набор
а = (а1\а2 \ ■ ■ ■ |ав),
а также всевозможные наборы, получаемые из а заменой какого-либо одного поднабора щ на произвольный поднабор а\ из соответствующего Ах(/¿). Множество А0(/) составим из всевозможных наборов вида
/3 = (1|...|1|Д|1|...|1),
где Д € А0(/г), г = 1,..., 5, и символы 1 обозначают поднаборы из единиц.
3. Пусть / получается из /' подстановкой х$ вместо хц в формулу для /'. Тогда наборы множеств Аа(/) и Ах(/) получаются из соответствующих наборов для /' инвертированием разряда, отвечающего переменной ж*.
Отметим, что для любой бесповторной функции / преобразования последнего пункта однозначны. Справедливы следующие утверждения.
Утверждение 1. Для любой монотонной бесповторной функции /(х\,... ,хп) множества Аа(/) и Ах(/) состоят из верхних нулей и нижних единиц / соответственно.
Утверждение 2. Если х^ — существенная переменная монотонной бесповторной функции /, то в множестве Аа(/) найдется набор с х^ = 0, а в множестве Ах(/) — набор с х% = 1.
Лемма 1. Для всякой бесповторной функции / множество Аа(/)иА1(/) содержите точности п + 1 набор, где п — число существенных переменных /.
Доказательство. Из утверждения 1 следует, что для всякой бесповторной функции / множества Аа(/) и Ах(/) не пересекаются, так что мощность их объединения равна сумме их мощностей. Применим метод математической индукции. В случае п = 1 утверждение леммы очевидно. Пусть п)2и без ограничения общности / = /1 & ... & где 5^2. Тогда по построению А0(/) и Ах(/)
\М/)\ + |А1(/)| - 1 = £ \АоШ\ + (1 + Е (\МП)\ - 1)) - 1 = Е (\МП)\ + |А1(/,)| - 1),
1=1 ^ 1=1 ' 1=1 что и дает искомое в силу предположения индукции.
Лемма 2 (основная). Для любой бесповторной в базисе {&, V} функции /, существенно зависящей от всех своих переменных, множество Аа(/) иА^/) является тестом относительно бесповторной альтернативы в базисе {&, V}.
Доказательство проводится индукцией по глубине бесповторной формулы, реализующей /. При п = 1 рассматриваемое множество содержит все возможные входные наборы. Пусть я ) 2 и без ограничения общности / = /1 & /2 & ... & , где — переменные и дизъюнкции бесповторных
функций и s ^ 2. Восстановим /, используя только ее бесповторность в базисе {&, V} и значения на наборах множества AQ(f) U Ai(f). Заметим, что
/(ai|a2| ... |as) = 1, а[ G A1(f1), (входные наборы / — из A1(f))
f(ßi\l\... |1) = 0, ßi G A0(/i), (входные наборы / — из AQ(f))
=>/(/01 ¡«2! • • • |«s) = 0, ßi G A0(/i), (из монотонности /)
=>/(—1«21 • • • |«S) = /1 (по предположению индукции).
Рассуждая аналогичным образом, докажем наличие у / остаточных подфункций /2,..., fs на соответствующих подкубах.
Воспользуемся тем фактом, что для любой пары переменных хи хт остаточная подфункция / вида h(xk-, хт), существенно зависящая от хи хт, не зависит от выбора констант, подставляемых на места остальных переменных /. Для восстановления / достаточно восстановить граф множество вершин которого совпадает с множеством существенных переменных /, а произвольное ребро (ж^, хт) присутствует тогда и только тогда, когда у / существует подфункция, равная x^hxm. Данная техника восходит к работе В. А. Гурвича [6] и применялась, к примеру, в работах [2] и [7]; наиболее общее ее изложение в применении к задаче тестирования относительно бесповторной альтернативы можно найти в работе [4]. В данном случае достаточно доказать связность каждого подграфа графа порожденного множеством вершин — переменных подфункций fi и fj (тогда, поскольку дополнение такого подграфа обязано при этом быть несвязным, недостающая информация о ребрах восстанавливается автоматически). При этом, согласно вышеизложенному, можно считать известными отдельные порожденные подграфы для всех /¿: каждый такой подграф либо состоит из единственной вершины, либо несвязен и имеет компоненты связности, отвечающие слагаемым разложения fi в дизъюнкцию бесповторных функций.
Рассмотрим для определенности подграф для f\ и /2. Не ограничивая общности рассуждений, предположим, что набор а, включенный в тест, имеет вид
а = («1д0 ... 0|а2д0 .. .0|а3| ... |as).
Здесь и далее компоненты наборов разбиваются на группы в соответствии с бесповторными представлениями / = fi & /2 &... & fs и fi — fi,i V ... V fi^mi символы 0 обозначают поднаборы из нулей. Уже восстановленная информация об / позволяет определить, что на наборах, отличающихся от а значениями компонент, равных в «1д и а2д единице, / принимает значение 0 (согласно утверждению 1, наборы «1д и а2д суть нижние единицы fiд и /2д соответственно), так что как минимум для одной пары переменных хи хт подфункций и /2д имеется подфункция — их конъюнкция. Восстановим теперь по одному ребру между переменными подфункций /1д и /2j-, а также между переменными подфункций fiti и /2д для всех допустимых г и j, тогда связность рассматриваемого подграфа будет доказана.
Не ограничивая общности рассуждений, рассмотрим только одну пару /1д и /2)2. Указанный выше вид набора а предполагает наличие в А\(/) хотя бы одного набора вида
(«1д0 ... 0|0а2)20 ... 0|«з| ... |as), а2)2 G Ai(/2,2),
поэтому
/(а 1д0 ... 0|0а2)20 ... 0|«з| ... |as) = 1 (входной набор / — из Ai(f)) =>/(7i,i) = 1, 7i,i = («i,i0 ... 0|0а2)20 ... 0|1| ... |1) (из монотонности /).
Кроме того,
f(ßi\l\... |1) = 0, ßi G A0(/i), (входные наборы / — из AQ(f))
/(«i|a2| ... |as) = 1, «i G Ai(f\), (входные наборы / — из A1(f))
^/(a'Jll ... |1) = 1, a[ G Ai(/1), (из монотонности /)
=>/(—|l|...|l) = /i (по предположению индукции).
В силу утверждения 1 для всякого поднабора а[ получаемого из «1д заменой единицы нулем в одной из компонент,
/(а'1Д0...0|1| ... |1) = О =>/(7од) = 0, 7од = (а[ ^0 ... 0|0а2)20 ... 0|1| ... |1) (из монотонности /).
Имеем также
/(а 1Д0 ... 0|аз|аз| ... |as) = 1, а2 G A1(f2), (входные наборы / — из Ai(/))
=>/(ai,i0 ... 01«з111 ... |1) = 1, «2 G Ai(/2), (из монотонности/)
_/(Х|/?2111 ... |1) = 0, /?2 €Е А0(/2), (входные наборы / — из AQ(f))
=>/(«i,iO • • • 01/За111 ... |1) = 0, /?2 G А0(/2), (из монотонности/)
=^/(öi,iO • • • 01 — |X| ... |1) = /2 (по предположению индукции) => /(7i,o) = 0, 7i,o = («i,iO ... 0|0«2 20 ... О|X| ... |1), (из монотонности/)
где «2 2 получается из «2,2 заменой какой-либо единицы нулем.
Значения / на трех наборах 71,1, 70,1 и 71,0 доказывают наличие у нее подфункции — конъюнкции некоторых двух переменных /1,1 и /2,2- Согласно вышесказанному, таким образом доказана связность порожденного подграфа для /1 и /2. Случай, когда хотя бы одна из этих функций имеет лишь одну существенную переменную, разбирается аналогичным образом. Лемма доказана.
Из леммы 1 и леммы 2 следует
Теорема 2. Всякая бесповторная в базисе {&, V} функция f(x 1,...,хп) допускает тест относительно бесповторной альтернативы, имеющий длину не более п + 1.
Данная теорема устанавливает точное значение функции Шеннона длины теста относительно бесповторной альтернативы в базисе из конъюнкции и дизъюнкции. Утверждение теоремы означает, что дизъюнкция п переменных является самой сложной (в смысле проверяющего тестирования) бесповторной функцией в этом базисе. Заметим, что в этом базисе имеются бесповторные функции, тестируемые легче дизъюнкции: в работе [7] построен пример подпоследовательности функций, зависящих от п переменных и допускающих тесты длины менее 3^/п.
Вернемся к случаю элементарного базиса.
Доказательство теоремы 1. Не ограничивая общности рассуждений, будем считать, что / монотонна и не имеет фиктивных переменных. Согласно утверждению 2, для каждой переменной Xi найдется набор Si € Ai(f) с ж* = 1. Согласно утверждению 1, на наборе отличающемся от Si лишь значением Xi = 0, функция / принимает значение 0, в то время как ¡{8%) = 1. Включим в множество A2(f) по одному набору 5\ для каждого i. Тогда значения / на наборах множества AQ(f)UAi(f)UA2(f), во-первых, доказывают монотонность / по всем переменным (бесповторность в базисе {&, V}) и, во-вторых, отличают / от всех остальных бесповторных в {&, V} функций тех же переменных. Следовательно, это множество является тестом для / относительно бесповторной альтернативы в базисе {&, V, -i}. С учетом леммы 1 получаем, что длина этого теста не превосходит (п + 1) + п = 2п + 1. Теорема доказана.
СПИСОК ЛИТЕРАТУРЫ
1. Вороненко А. А. О проверяющих тестах для бесповторных функций // Математические вопросы кибернетики. Вып. И. М.: Физматлит, 2002. С. 163-176.
2. Вороненко A.A. О длине проверяющего теста для бесповторных функций в базисе {0,1, &:, V, —>} // Дискр. матем. 2005. 17. № 2. С. 139-143.
3. Рябец J1. В. Сложность проверяющих тестов для бесповторных булевых функций // Дискретная математика и информатика. Вып. 18. Иркутск: Изд-во Ирк. гос. пед. ун-та, 2007. 30 с.
4. Вороненко A.A., Чистиков Д.В. Индивидуальное тестирование бесповторных функций//Учен. зап. Казан, гос. ун-та. Сер. Физ.-матем. науки. 2009. 151. Кн. 2. С. 36-44.
5. Бубнов С.Е. Функция Шеннона длины проверяющих тестов функций, бесповторных в элементарном базисе // Сборник статей молодых ученых факультета ВМК МГУ. Вып. 6. М.: Изд. отдел ф-та ВМК МГУ; МАКС Пресс, 2009. С. 47-57.
6. Гурвич В. А. О бесповторных булевых функциях // Успехи математических наук. 1977. 32. № 1. С. 183184.
7. Бубнов С.Е., Вороненко A.A., Чистиков Д.В. Некоторые оценки длин тестов для бесповторных функций в базисе {&, V} // Прикладная математика и информатика. Вып. 33. М.: МАКС Пресс, 2009. С. 90-100.
Поступила в редакцию 28.02.11
TESTING READ-ONCE FUNCTIONS OVER ELEMENTARY BASIS Chistikov D. V.
We prove a universal upper bound on checking test length for read-once functions over elementary basis. We also establish the exact value of the corresponding Shannon function for the basis of conjunction and disjunction. Keywords: checking test, read-once function, Shannon function, elementary basis.