УДК 519.718.7
Д.В. Чистиков1
БЕСПОВТОРНЫЕ ФУНКЦИИ С ТРУДНОТЕСТИРУЕМЫМИ ПОДФУНКЦИЯМИ*
В статье описывается эффект увеличения минимальной длины теста для функций при подстановке констант вместо переменных в задаче проверяющего тестирования для бесповторных функций. Описывается семейство базисов и строятся последовательности функций, бесповторных в этих базисах и обладающих подфункциями, которые требуют для тестирования больше наборов, чем сами эти функции.
Ключевые слова: проверяющий тест, бесповторная функция, дизъюнкция, базис.
Пусть 2$ — функциональный базис в Р2. Функция / называется бесповторной в базисе 05, если она представима формулой § над 05, в которой символы переменных не повторяются, — бесповторной формулой.
1 Факультет ВМК МГУ, студ., e-mail: ddlemailQgmail.com
* Работа выполнена при финансовой поддержке РФФИ (проект № 09-01-00817).
Для существенно зависящей от всех своих переменных и бесповторной в базисе 25 функции /(х\,... ,хп) поставим задачу тестирования относительно бесповторной альтернативы [1], заключающуюся в построении теста — множества наборов аргументов, отличающего / от всех остальных бесповторных в 25 функций, зависящих от переменных х\,...,хп. Минимальную длину теста (количество наборов в нем) функции / в базисе 25 будем обозначать символом Т<в(/)-
Основной целью настоящей работы является опровержение следующего естественного предложения.
Предложение 1 (гипотеза подфункции). Всякая функция /', получаемая из / подстановкой констант на места каких-либо переменных, тестируется не сложнее / : Т<в(/') ^ Т<в(/), лишь только / и /' бесповторны в 25.
Данная гипотеза не доказывалась и не опровергалась в известных нам работах. Для некоторого достаточно широкого семейства базисов мы построим последовательности функций, бесповторных в этих базисах и обладающих подфункциями, которые требуют для тестирования больше наборов, чем сами эти функции.
Нам понадобятся некоторые определения и обозначения из [2]. Обозначим символом базис всех функций I переменных (I ^ 2). Функцию I ^ 3 переменных будем называть неразложимой, если она не является бесповторной в базисе Бг-1-
Будем использовать представление бесповторных функций деревьями, изображающими структуру реализующих эти функции бесповторных формул. Листья таких деревьев помечаются символами переменных (без повторений), а внутренние вершины — символами базисных функций. Отметим, что для любого базиса 25 легко проверяется справедливость гипотезы подфункции в следующем частном случае.
Предложение 2. Если дерево функции /' является поддеревом дерева функции / с тем же корнем, то /' тестируется не сложнее / : Т<в(/') ^ Т<в(/), лишь только / и /' бесповторны в 25.
Будем называть дерево правильным, если оно удовлетворяет следующим условиям:
1) вершины, помеченные символами отрицаний, смежны с листьями;
2) внутренние вершины, имеющие более одного потомка, помечены либо неразложимыми функциями, либо символами о е {&, V, ф}, представляющими соответствующие функции произвольной арности д ^ 2;
3) вершины с одинаковыми пометками о е {&, V, ф} не смежны.
Пусть функции 1р1,..., фь существенно зависят от всех своих переменных. Будем рассматривать функции следующего вида:
Л = Ф1(Х1,1, • • • ,жМ1),
1к = ,фк(1к-1,хк,2,---,хк,1к), к 2.
В случае ф\ = ... = = ф будем использовать обозначение фк = Д.
Мы получим линейную верхнюю оценку сложности тестирования функций Д при некоторых ограничениях на фг. Адаптируем для этого метод гиперкубов существенности из [2].
Будем называть гиперкубом существенности переменных ,..., х,1з функции / такое множество из 23 наборов аргументов, отличающихся только в компонентах с номерами г\,...,г3, что остаточная подфункция на этом множестве существенно зависит от всех своих э переменных.
Функции д(х 1,..., хг) и /1(2/1,..., уг) будем называть обобщенно-однотипными, если существуют перестановка (¿1,...,гг) на множестве {1,...,г} и константы о,о\,... ,ог, такие, что
д(х 1,..., хг ) = Н (х^,.. •, ж^гг),
и однотипными, если при этом можно взять {г\,...,гг) = (1,...,г).
Лемма. Пусть базис 25 содержит отрицание, 25' С 25 и каждая (р € 25' неразложима и такова, что никакая функция из 25 не имеет собственных подфункций, обобщенно-однотипных с (р. Тогда если функции ф1,...,ф)~ бесповторны в 25', то для определенных выше функций Д справедливо соотношение
к
ЗД*) ^Т(8(ф1) + 2^Т^(фг), к^ 2.
г=2
Доказательство. Применим метод математической индукции. Рассмотрим к ^ 2 и построим, пользуясь индукционным предположением, тест подходящей длины для функции Д. Обозначим
1 = 1к — арность фк- Существенная зависимость фк от своей первой переменной означает существование констант а2; • • • ,4, таких, что фк(х\, ..., а¡) = х^. Пусть — тест для функции (Д_1)°", построенный по предположению индукции. Расширим наборы этого теста значениями х= ау для
2 ^ ] ^ I и включим их в множество Ак- Выберем теперь две переменные Хк-\,г' и Хк-\,г" из различных корневых поддеревьев правильного дерева для фк-1 и рассмотрим гиперкубы существенности для I-к переменных (хк-1^1, %к,2, ■ ■ ■ %к,1) и {хк-\,г"-, %к,2, ■ ■ ■, %к,1)- Остаточные подфункции на этих гиперкубах однотипны с фк и потому допускают тесты длины не более Т^(фк). Включим все наборы двух таких тестов в^и покажем, что это множество — тест для Д.
Действительно, первые из выбранных нами наборов доказывают наличие у тестируемой функции остаточной подфункции, однотипной с Д_1. Поскольку функции из 25 не имеют собственных подфункций, обобщенно-однотипных с функциями из 25', то всякое правильное дерево тестируемой функции имеет как минимум к — 1 группу внутренних вершин с пометками, обобщенно-однотипными с функциями из 25'. Эти группы вершин соответствуют функциям ф\,... ,фк-1- Продемонстрируем, что остальные наборы в Ак влекут наличие отдельной группы вершин, соответствующей функции фк ■ В случае неразложимой фк предположим противное, тогда переменные каждой из двух выбранных I-к лежат в различных корневых поддеревьях построенного дерева для однотипной с Д_1 подфункции, и, следовательно, переменные Хк-\,%' и Хк-\,%" должны лежать в одном поддереве, что не так. В общем случае бесповторной в 23' функции фк таким же способом восстанавливается цепочка вершин, лежащих в дереве тестируемой функции ниже корня дерева для Д_1. Распределение аргументов поддеревьев для каждой из вершин этой цепочки восстанавливается по гиперкубу существенности любой из выбранных I-к. Остается заметить, что наличие в Ак теста для функции фк позволяет окончательно восстановить структуру соответствующего поддерева. Таким образом, тестируемую функцию можно реализовать деревом, к внутренних вершин которого, включая корень, имеют пометки ф\,... ,фк, причем вершины, помеченные переменными ж^г, • • •, Хк,и смежны с корнем (их степени однозначно определяются по значениям тестируемой функции на каком-либо из двух рассмотренных гиперкубов). Цепочка ич к — I вершины с пометками ф 1, • • •, фк-1 и присоединенными листьями-переменными восстанавливается по первой части теста. Лемма доказана.
Следствие. В условиях леммы Т^(фк) ^ (2к — 1)Т^(ф) при к ^ 1.
Замечание. Если конечный базис 23 является наследственным (содержащим вместе с каждой функцией все ее подфункции) либо состоит только из неразложимых функций и каких-либо функций двух и менее переменных, то в качестве 23' можно выбрать множество всех неразложимых функций максимальной арности, входящих в базис 23, поскольку не являющиеся неразложимыми функции трех и более переменных из базиса можно исключить (данная операция не меняет множества всевозможных бесповторных функций). Отметим, что некоторые бесконечные базисы могут не содержать удовлетворяющего условиям подмножества 23' (примером такого базиса служит базис всех симметрических функций, равных единице лишь на двух верхних слоях булева куба). Другие же бесконечные базисы могут допускать выбор подходящего 23': таким базисом является, к примеру, базис из отрицания и всех функций ХОЯ^х 1,..., х,;) = {х,\ V ... V жг)(ж 1 V ... V х,;) при I ^ 2.
Проведем теперь рассуждения, доказывающие главный анонсированный результат. Будем считать, что базис 23 допускает выделение подходящего 23' (как замечено выше, класс таких базисов весьма широк).
Теорема. Если базис 23 содержит двухместную дизъюнкцию, а п-местная дизъюнкция как бесповторная функция не допускает теста линейной длины, то в 23 не выполняется гипотеза подфункции.
Доказательство. Рассмотрим два случая. Предположим вначале, что в 23 есть неразложимые функции. Пусть (р — некоторая неразложимая функция максимальной арности I ^ 3. Воспользуемся леммами о нелинейной и немонотонной функциях (см., например, доказательства в [3]). Нетрудно видеть, что посредством операции бесповторной суперпозиции из функции (р можно получить функцию ф, которая обладает подфункцией — дизъюнкцией двух переменных. Так как функция ф строится из некоторого фиксированного числа экземпляров (р, то, согласно лемме, фк допускает тест длины (2к — 1)ТгВи^у(ф) = О(к). При этом данная функция обладает подфункцией — дизъюнкцией к + 1 переменной, которая в условиях теоремы не допускает теста линейной длины, что и доказывает невыполнение гипотезы подфункции.
Рассмотрим теперь случай, когда в 23 нет неразложимых функций. Это означает, что 23 вкладывается в В2 — базис всех функций двух переменных. Поскольку V ... V хп) = п + 1 (см.
доказательство в [4]), то 2$ обязательно содержит хотя бы одну из линейных функций двух переменных ж о у, о g {ф, Положим ф = (х\ 0x2) У Х3 и рассмотрим функцию фк, к ^ 2. Подстановка одной из констант на места всех переменных ж^г, 1 ^ г ^ к, приводит к дизъюнкции к + 1 переменной. В то же время сама функция фк реализуется бинарным деревом, поэтому, согласно оценкам из [5], для ее тестирования в базисе 25 достаточно Тв2(фк) ^ 4 • (2 • (2к + 1) — 3) = О(к) наборов, что и завершает доказательство теоремы.
Следствие. Гипотеза подфункции не выполняется в базисах В/, I ^ 2.
Замечание. Результаты работы [6] свидетельствуют о том, что условиям теоремы удовлетворяет всякий базис, содержащий дизъюнкцию и какую-нибудь отличную от дизъюнкции функцию с О-изолированным нулем (т.е. равную 0 на нулевом наборе и 1 на всех наборах с одной единицей), а также всякий базис, содержащий дизъюнкцию, отрицание и какую-либо не обобщенно-однотипную с ними функцию, имеющую хотя бы один изолированный набор (т. е. такой набор а, значение функции на котором отличается от значения ее на всех соседних наборах). В базисах Bi О-изолированным нулем обладают, к примеру, функции XORi(x 1,... ,xi) при I ^ 2, в том числе XOR2(^1, жг) = х\ Фжг-
СПИСОК ЛИТЕРАТУРЫ
1. Вороненко А. А. О проверяющих тестах для бесповторных функций // Математические вопросы кибернетики. Вып. И. М.: Физматлит, 2002. С. 163-176.
2. Вороненко A.A. Распознавание бесповторности в произвольном базисе // Прикладная математика и информатика. Вып. 23. М.: МАКС Пресс, 2006. С. 67-84.
3. Яблонский C.B. Введение в дискретную математику. М.: Наука, 1986.
4. Вороненко А. А. О длине проверяющего теста для бесповторных функций в базисе {0,1, &, V, //Дискр. матем. 2005. 17. № 2. С. 139-143.
5. Вороненко А. А., Чистиков Д. В. Индивидуальное тестирование бесповторных функций // Учен. зап. Казан, гос. ун-та. Сер. Физ.-матем. науки. 2009. 151. Кн. 2. С. 36-44.
6. Вороненко A.A. Тестирование дизъюнкции как бесповторной функции в произвольном бесповторном базисе // Вестн. Моск. ун-та. Сер. 15. Вычисл. матем. и киберн. 2008. № 4. С. 51-52.
Поступила в редакцию 29.01.10
READ-ONCE FUNCTIONS WITH DIFFICULTLY TESTED SUBFUNCTIONS
Chistikov D. V.
We describe an effect of minimal test length for functions increasing under constant substitutions in a checking test problem for read-once functions. A class of bases is considered and sequences of functions are constructed such that these functions are read-once in those bases and have subfunctions needing more input vectors for checking than these functions themselves.
Keywords: checking test, read-once function, disjunction, basis.