Научная статья на тему 'О доле бесповторных функций, свободных от лап большой ширины'

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

CC BY
84
13
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
БЕСПОВТОРНЫЕ БУЛЕВЫ ФУНКЦИИ / ПОЛНЫЙ БИНАРНЫЙ БАЗИС / КАНОНИЧЕСКОЕ ПРЕДСТАВЛЕНИЕ БЕСПОВТОРНОЙ ФУНКЦИИ / ПОМЕЧЕННОЕ КОРНЕВОЕ ДЕРЕВО / ПОЛНОЕ БИНАРНОЕ КАНОНИЧЕСКОЕ ДЕРЕВО / ТЕСТИРОВАНИЕ БУЛЕВЫХ ФУНКЦИЙ ОТНОСИТЕЛЬНО БЕСПОВТОРНОЙ АЛЬТЕРНАТИВЫ / NONITERATED BOOLEAN FUNCTION / WHOLE BINAR BASIS / CANONICAL FORMS OF THE NONITERATED FUNCTION / MARKED ROOT TREES / WHOLE BINAR CANONICAL TREES / TESTING OF THE BOOLEAN FUNCTIONS CONCERNING THE NONITERATED ALTERNATIVE

Аннотация научной статьи по математике, автор научной работы — Зубков Олег Владимирович

В статье сравниваются мощности некоторых классов булевых функций, бесповторных в полном бинарном базисе В2 = {&,V,}. Бесповторные функции представляются помеченными корневыми деревьями, среди которых выделяются канонические. Далее приводится алгоритм, позволяющий преходить от канонических деревьев к полным бинарным каноническим деревьям. Данный алгоритм связывает два принципиально различных подхода к построению однозначного представителя для бесповторной в В2 функции. Представление бесповторных функций в виде полных бинарных канонических деревьев позволяет доказать,что среди всех бесповторных функций от п переменных, доля функций, в каноническом представлении которых содержится хотя бы одна k-местная фунция &, V или экспоненциально стремится к нулю с ростом величины k. Данный результат представляет интерес для тестирования бесповторных функций.

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

About a part noniterated functions, free from paws of the big width

In this paper we are comparing noniterated in the whole binar basis B2 = {&, V, } some classes powers of Boolean functions. Noniterated Boolean functions are presented with a marked root trees, in which we can pick out the a canonical forms. To continue there is an algorithm, with the help of whitch we can pass from the canonical trees to the whole binar canonical trees. In this algorithm we can combine two definitely different methods of creating the canonical form of the noniterated in the basis B2 function. The representation of the noniterated Boolean functions as a whole binar canonical trees allowed to proof, that the part of functions in canonical form of which there is one or more k-locative function &, V or exponently aspires to zero with a growth of k-value. The result is worth testing of the noniterated Boolean function.

Текст научной работы на тему «О доле бесповторных функций, свободных от лап большой ширины»

Онлайн-доступ к журналу: http://isu.ru/izvestia

Серия «Математика»

2009. Т. 2, № 2, С. 62-70

УДК 519.11, 519.71

О доле бесповторных функций, свободных от лап большой ширины

О. В. Зубков

Восточно-Сибирская государственная академия образования

Аннотация. В статье сравниваются мощности некоторых классов булевых функций, бесповторных в полном бинарном базисе В2 = {&, V, ®}. Бесповторные функции представляются помеченными корневыми деревьями, среди которых выделяются канонические. Далее приводится алгоритм, позволяющий преходить от канонических деревьев к полным бинарным каноническим деревьям. Данный алгоритм связывает два принципиально различных подхода к построению однозначного представителя для бесповторной в В2 функции. Представление бесповторных функций в виде полных бинарных канонических деревьев позволяет доказать,что среди всех бесповторных функций от п переменных, доля функций, в каноническом представлении которых содержится хотя бы одна к-местная фунция &, V или ® экспоненциально стремится к нулю с ростом величины к. Данный результат представляет интерес для тестирования бесповторных функций.

Ключевые слова: бесповторные булевы функции; полный бинарный базис; каноническое представление бесповторной функции; помеченное корневое дерево; полное бинарное каноническое дерево; тестирование булевых функций относительно бесповторной альтернативы.

1. Два вида каноничеких предсталений в виде дерева для бесповторной в В2 булевой функции и связь между ними

Формула Ф над базисом В называется бесповторной, если каждая переменная входит в нее не более одного раза. Булева функция / называется бесповторной в базисе В, если найдется бесповторная формула Ф над В, представляющая функцию /. Далее в работе под базисом будем понимать полный бинарный базис В2 = {&, V, ф, -}.

Корневое дерево называется бинарным, если каждая его вершина имеет не более двух потомков, причем про каждого известно, является ли он левым или правым. Если при этом каждая вершина либо имеет двух потомков, либо не имеет ни одного, такое бинарное дерево назы-

вается полным. Вершину, являющуюся правым (левым) потомком, но не являющуюся листом, будем называть правым (левым) узлом.

Рассмотрим следующую каноническую форму представления беспо-вторных в В2 булевых функций в виде помеченного корневого полного бинарного дерева.

Определение 1. Упорядоченным термом над В2 от переменных Ж1, Ж2,..., жп будем называть бесповторный терм Ф, удовлетворяющий следующим требованиям:

(1) в терме Ф отрицания могут быть только над переменными;

(2) для любого подтерма Ф1 * Ф2 терма Ф, где * € {&, V, ф}, переменная с наименьшим индексом среди всех переменных подтерма Ф1 * Ф2 содержится в подтерме Ф1;

(3) в терме Ф не содержится подтермов вида (Ф1 &Ф2)&Фз,

(Ф1 V Ф2) V Фз, (Ф1 ф Ф2) ф Фз;

(4) для любого подтерма Ф1 ф Ф2 терма Ф переменная с наименьшим индексом среди переменных подтерма Ф2 входит в Ф2 без отрицания.

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

Определение 2. По упорядоченному терму Ф построим помеченное корневое полное бинарное дерево С. Каждому литералу терма Ф соответствует лист дерева С с пометкой . Каждому подтерму Ф1 * Ф2 терма Ф, где * € {&, V, ф}, соответствует внутренняя вершина Т дерева С, помеченная *. Левый потомок вершины Т соответсвует Ф1, правый потомок соответствует Ф2. Корень дерева С соответсвует всему терму Ф.

Далее будем использовать указанное взаимно однозначное соответствие вершин дерева С и подтермов терма Ф для упрощения изложения. Получившееся помеченное корневое полное бинарное дерево будем называть бинарным каноническим деревом. Из того факта, что по бесповторной в В2 функции однозначно строится упорядоченный над В2 терм, а по нему взаимно однозначно строится бинарное каноническое дерево следует, что для каждой бесповторной в В2 функции существует единственное бинарное каноническое дерево.

Из пункта (3) определения упорядоченного терма следует, что в бинарном каноническом дереве пометки двух смежных внутренних вершин могут совпадать только в том случае, когда одна из них является правым потомком другой.

Каждому подтерму Ф1 * Ф2 можно взаимно однозначно поставить в соответствие наименьшую по индексу переменную терма Ф2, которую назовем правой ключевой переменной для подтерма Ф1 * Ф2 и соответсвующей ему вершины дерева С. То, что по вершине можно од-

нозначно указать его правую ключевую переменную очевидно по определению последней. В обратную сторону однозначность показывается следующим образом. Пусть Xi является правой ключевой переменной по крайней мере для одной вершины. Если Жi является наименьшей по индексу в двух разных подтермах, то один из них является подтермом (левым потомком) другого. Отсюда единственным образом найдется максимальный по включению подтерм Ф2, для которого Жi является наименьшей по индексу. Так как Жi правая ключевая, то Ф2 входит в подтерм вида Ф1 * Ф2, для которого она и является правой ключевой. Ф2 является правым потомком.

В [1] рассмотрен другой способ построения по бесповторной в В2 булевой функции канонического представления, которое названо каноническим деревом.

Определение 3. Каноническим деревом назовем помеченное корневое дерево, удовлетворяющее следующим условиям:

1. Констанотой (0 или 1) может быть помечена лишь вершина, являющаяся единственной в дереве.

2. Листья дерева помечены переменными или их отрицаниями (литералами). Разные листья помечены литералами, соответствующими различным переменным.

3. Внутренние вершины помечены либо линейными (ф, ф), либо нелинейными (&, V) символами.

4. Смежные вершины помечены различными символами. Смежные вершины не могут быть помечены линейными символами.

5. Вершина, лежащая над помеченой линейным символом и смежная с ней не может быть помечена & или отрицанием переменной.

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

Алгоритм 1.

1) Все лапы ширины к > 2 привести к упорядоченному виду *(Ф1,... Фк), так что Ф1 содержит наименьшую по индексу переменную всей лапы, Ф2 содержит наименьшую по индексу среди всех переменных лапы, не входящих в Ф1, ... , Фк-1 содержит наименьшую среди переменных из Фк-1 и Фк.

2) Все лапы ширины к > 3 вида *(Ф1,... Фк), где * это многоместная базисная функция из множества {&, V, ф}, представить в виде

*(Ф1, *(Ф2, • • •, *(Фк-1, Фк) •••)). Если * = ф, то в дереве перейти к ветке вида ф(Ф1, ф(Ф2, • • •, ф(Фк-1, Фк) • • •)).

3) Используя следующую процедуру, добиться правильной расстановки отрицаний над линейными символами и над их правыми ключевыми переменными (отрицания над этими элементами должны отсутствовать). Пусть Ф - первая вершина, помеченная линейным символом,

на пути из некоторого листа в корень дерева, в которой каким-либо образом нарушена расстановка отрицаний.

- Если Ф это Ф1 ф Ф2 и над наименьшей по индексу переменной в Ф2 (правой ключевой для Ф1 ф Ф2) стоит отрицание, то воспользоваться эквивалентностью Ф1 ф Ф2 = Ф1 ф Ф2.

- Если Ф это Ф1 фФ2 и над его правой ключевой переменной нет отрицания, то воспользоваться эквивалентностью Ф1 фФ2 = Ф1 ф Ф2.

- Если Ф это Ф1 фФ2 и над его правой ключевой переменной стоит отрицание, то воспользоваться эквивалентностью Ф1 фФ2 = Ф1 ф Ф2.

Далее, пользуясь законами де Моргана и преобразованием Ф1 фФ2 = Ф1 ф Ф2 установить отрицания над переменными. Использование эквивалентности Ф1 фФ2 = Ф1 ф Ф2 гарантирует, что если до преобразования для текущей вершины условие (4) упорядоченности не нарушалось, то оно не нарушится и после преобразования.

Повторять шаг 3) алгоритма до тех пор, пока расстановка отрицаний где-либо нарушена.

Пример 1. На рис. 1 приведено каноническое дерево для функции

(ж1 V (ж10фж11) ф (Ж2 V ж7) ф (Жз&ж5&ж6&ж8 V ж4 V жд).

На рис. 2 приведено бинарное каноническое дерево для той же самой функции. Дерево соответствует упорядоченному терму

(ж1 V (ж10 ф жц)) ф ((ж2&жг) ф ((жз V (ж5 V (же V жв)))&(ж4&жд))).

Правые узлы отмечены темным, левые узлы отмечены светлым. Правые ключевые переменные для правых узлов, упорядоченных слева направо снизу вверх: Жц, Ж3, Ж4, Жб, Хд.

Рис. 1.

Рис. 2.

2. Построение шаблона бинарного канонического дерева

Последовательность вершин и, и,•••%, в которой вершина и произвольная, а для всех 2 < г < Л вершина и является правым потомком вершины и^1, будем называть правым интервалом длины Л. Если при этом интервал нельзя увеличить, то есть вершина Ц является левым узлом или корнем дерева, а правый потомок вершины и, является листом, такой правый интервал будем называть полным. Любой левый узел, либо корень является началом ровно одного полного правого интервала.

Так как лапа ширины к состоит из одинаковых бинарных функций, то, согласно условию (3) определения упорядоченности над В2, соответствующий ей правый интервал содержит к — 2 правых узлов. Отсюда следует, что если в бинарном каноническом дереве содержится менее чем к — 2 правых узла, то соответствующая ему функция свободна от лап ширины к.

Пусть к — 2 < й < п и С - бинарное каноническое дерево с п листьями и с! правыми узлами. Для этого дерева определим следующим образом множество бинарных канонических деревьев V(С), структура которых близка структуре дерева С. В дереве С удалим пометки всех правых узлов, а так же удалим отрицания (если они есть) над всеми правыми ключевыми переменными этих правых узлов. Полученное частично помеченное дерево назовем шаблоном дерева С. Если в нем произвольным образом расставить пометки непомеченных правых узлов символами бинарных базисных функций, а так же расставить произвольным образом отрицания над правыми ключевыми переменными этих узлов, получим некоторое помеченное дерево, соответствующее рассматриваемому шаблону. Для того, чтобы вновь полученное дерево было бинарным каноническим, при доопределении шаблона необходимо выполнение следующих требований:

а) если левый потомок непомеченного узла Ц помечен символом &, то узел и можно пометить либо символом V, либо символом ф;

б) если левый потомок непомеченного узла и помечен символом V, то узел и можно пометить либо символом &, либо символом ф;

в) если левый потомок непомеченного узла и помечен символом ф, то узел и можно пометить либо символом &, либо символом V;

г) если левый потомок непомеченного узла и является листом, то узел и можно пометить любым из трех бинарных базисных символов;

д) если узел и помечаем ф, то над его правой ключевой переменной отрицание не ставится;

е) если узел и помечаем & или V то над его правой ключевой переменной отрицание можно либо ставить, либо не ставить.

Все получаемые таким образом бинарные канонические деревья образуют множество V(С). Они попарно различны. Исходное дерево С содержится в V(С).

Следует отметить, что расстановка пометок в шаблоне может производиться в любом порядке. Уже установленные пометки никак не влияют на еще не установленные. Это позволяет подсчитать мощность множества V (С).

Лемма 1. Если шаблон бинарного канонического дерева С содержит ! непомеченных правых узлов, среди которых т имеют левых потомков, помеченных & или V, р имеют левых потомков, помеченных ф, в имеют в качестве левых потомков листья, то число различных бинарных канонических деревьев, содержащихся в V(С) равно 3т ■ 4Р ■ 55.

Доказательство. Если левый потомок непомеченного узла и помечен символом ф, то существует четыре способа доопределения узла и, а именно:

- и пометить символом &, его правую ключевую переменную оставить без отрицания,

- и пометить символом &, над его правой ключевой переменной поставить отрицание,

- и пометить символом V, его правую ключевую переменную оставить без отрицания,

- и пометить символом V, над его правой ключевой переменной поставить отрицание.

Если левый потомок непомеченного узла и помечен символом & (символом V), то существует три способа доопределения узла и, а именно:

- и пометить символом V (&), его правую ключевую переменную оставить без отрицания,

- и пометить символом V (&), над его правой ключевой переменной поставить отрицание,

- и пометить символом ф, его правую ключевую переменную оставить без отрицания,

Аналогично можно установить, что если непомеченный узел и имеет в качестве левого потомка лист, то и можно доопределить всеми пятью способами.

В силу независимости доопределения узлов, получим, что верно утверждение леммы 1. □

Пример 2. На рис. 3 приведен шаблон бинарного канонического дерева из примера 1. Для каждого непомеченного правого узла указано число способов его доопределения. Всего существует 5625 (32 ■ 54) различных бинарных канонических деревьев, соответствующих данному

шаблону. Дерево состоит из четырех полных правых интервалов длины которых равны 4, 2, 1, 3.

Рис. 3

3. О доле бесповторных функций, свободных от лап

ширины к

Теорема 1. Доля бесповторных функций, свободных от лап ширины большей либо равной к, не меньше чем

1 27п

- (З72р ‘

Доказательство. Оценим сверху число бинарных канонических деревьев, содержащихся в множестве V(С) и содержащих хотя бы одну лапу ширины большей либо равной к. Множество таких деревьев обозначим через I(С, к).

Лапа Ь ширины к состоит из к — 1 подряд расположенных одинаково помеченных узлов Тх, ...Тк-1, образующих правый интервал длины к—1. Этот интервал входит в состав полного правого интервала их, ...и^, где к — 1 < Л,. При этом вершины Тх и их могут совпадать, в этом случае в интервале их, ...и^ требуется для создания лапы Ь пометить одинаковыми символами к — 2 подряд идущих узлов и2, ...и^х. Если начала интервалов не совпадают, то в интервале их, ...и^ требуется для создания лапы Ь пометить одинаковыми символами к — 1 подряд идущих узлов и, ***и^+к—2.

Пусть ^ - количество всех способов выбора в шаблоне дерева С одного правого интервала длины к — 1 для создания лапы Ь. (Например, для шаблона, представленного на рис. 3, при к — 1 = 2, ^ равно 6.) Так как

при выборе конкретного места расположения лапы Ь начальная вершина Т1 совпадает с одной из вершин дерева, то заведомо выполняется неравенство О < п — 1, где п - число листьев.

Далее для построения и оценки мощности множества деревьев, заведомо содержащего множество I(С, к):

- выбранные к — 1 (либо к — 2) узлов помечаем одним и тем же символом бинарной функции (не более трех способов);

- над правыми ключевыми переменными этих к — 1 (либо к — 2) узлов произвольным образом расставим отрицания (не более чем 2к-1 способов).

Оставшиеся непомеченными не более чем ! — к + 2 узлов, пометим всеми разрешенными в требованиях а) - е) способами. Пусть при этом для г-го способа выбора расположения лапы Ь (1 < г < О), среди оставшихся непомеченными не более чем ! — к + 2 узлов содержатся

- узлов, левые потомки которых помечены символами & или V;

- Pi узлов, левые потомки которых помечены символом ф;

- Si узлов, левые потомки которых являются листьями.

При переборе всех указанных параметров, получим не более чем п

3 ■ 2к-1 -^2 ■ 4Р ■ 58* различных деревьев, соответствующих исходному

шаблону. Среди них не все могут быть бинарными каноническими, но заведомо содержатся все бинарные канонические из I(С, к), содержащие хотя бы одну лапу ширины большей либо равной к. Некоторые из элементов I(С, к) могут встретиться более одного раза.

Далее считаем, что шаблон дерева С удовлетворяет условиям леммы 1. При этом, в зависимости от соотношения величин т,р, s и к —

где р — р' = т + р — (к — 2), s — s' = т + р + s — (к — 2).

Учитывая, что О < п, получим в каждом из соответствующих случаев следующую оценку :

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

Вычитая полученную верхнюю оценку множества I(С, к) из числа всех бинарных канонических деревьев, содержащихся в множестве V(С), получим нижнюю оценку числа бинарных канонических деревьев, свободных от лап ширины большей либо равной к. Мощность множества V(С) находится по лемме 1 и равна 3т ■ 4Р ■ 5«.

І=1

2:

3т-{к-2) , 4р , 5«если к — 2 < т;

4р-р . 5«, если т < к — 2 < т + р;

5«-« , если т + р < к — 2 < т + р + 8 = ^;

|1 (С,к)| < 3 ■ 2к-1 ■

Поделив эту нижнюю оценку на | V(С) |, для каждого случая получим нижнюю оценку доли бинарных канонических деревьев, свободных от лап ширины большей либо равной к среди всех элементов множества

V (С):

3п ■2к-1

1 —

IV(С)| — |1 (С,к)| > 1_

|V (G)|

1 -

3k -2

3n ■ 2k-1

3m ■ 4p/

3n ■ 2k-1

3m • 4P . 5s/

Усилим оценку, во втором и третьем случаях заменив 4Р на 3Р , 4Р на 3Р, 55 на 35 . Учитывая, что т + р' = к — 2 и т + р + s' = к — 2, получим общуюю для всех трех случаев оценку

IV(С)| — II(С,к)| > ^ 9п

IV (С)| - (3/2)к-1 ’

Учитывая, что

- среди бинарных канонических деревьев, содержащих менее чем к — 2 правых узлов, доля деревьев, свободных от лап ширины большей либо равной к составляет 1;

- бинарные канонические деревья, соответствующие разным шаблонам различны;

- каждой бесповторной в В2 бесповторной функции взаимно однозначно ставится в соответствие ее бинарное каноническое дерево,

получим утверждение теоремы.

Список литературы

1. Вороненко А. А. О проверяющих тестах для бесповторных функций // Математические вопросы кибернетики. — 2002. — вып. 11. — С. 163-176.

2. Зубков О. В. О числе бесповторных булевых функций в базисе {&, V, ®, -}//, Дискретный анализ и исследование операций. — 2003. — серия 1, Т. 10, N 1. — С. 41 - 60.

O. V. Zubkov

About a part noniterated functions, free from paws of the big width

Abstract. In this paper we are comparing noniterated in the whole binar basis B2 = {&, V, ©} some classes powers of Boolean functions. Noniterated Boolean functions

are presented with a marked root trees, in which we can pick out the a canonical forms. To continue there is an algorithm, with the help of whitch we can pass from the canonical trees to the whole binar canonical trees. In this algorithm we can combine two definitely different methods of creating the canonical form of the noniterated in the basis B2 function. The representation of the noniterated Boolean functions as a whole binar canonical trees allowed to proof, that the part of functions in canonical form of which there is one or more k-locative function &, V or ® exponently aspires to zero with a growth of k-value. The result is worth testing of the noniterated Boolean function.

Keywords: noniterated Boolean function, whole binar basis, canonical forms of

the noniterated function, marked root trees, whole binar canonical trees, testing of the Boolean functions concerning the noniterated alternative

Зубков Олег Владимирович, кандидат физико-математических наук, доцент, Восточно-Сибирская государственная академия образования, 664011, Иркутск, ул. Нижняя Набережная, 6 тел.: (3952)551138 (oleg.zubkov@mail.ru)

Zubkov Oleg, East Siberian State Education Academy, 6, N. Naberezhnaya St., Irkutsk, 664011, associate professor, Phone: (3952)551138 (oleg.zubkov@mail.ru)

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