УДК 519.71
А. А. Вороненко1
УНИВЕРСАЛЬНЫЕ ФУНКЦИИ ДЛЯ КЛАССОВ БУЛЕВЫХ ПОЛИНОМОВ*
Рассматривается следующая задача: требуется задать такую булеву функцию п переменных, что для любого полинома степени не выше s можно было бы предъявить некоторое количество наборов заданной функции так, чтобы этот полином был единственным, совпадающим с заданной функцией на этих наборах. Показано, что при фиксированном s, начиная с некоторого п, это возможно и можно ограничиться последовательностью функций с мощностью области определения, растущей как 0(ns).
Ключевые слова: булева функция, полином, универсальная функция.
Будем говорить, что частичная булева функция f(x\,..., хп) порождает для заданного s полином по модулю два р(х i, ...,хп) степени не выше s, если существует такая подобласть X области определения функции f(x\,..., хп), что полином p(xi,..., хп) является единственным полиномом степени не выше s, совпадающим с f(x\,... ,хп) на этой подобласти. Функция f(x\,... ,хп) (возможно частичная) называется универсальной для класса булевых полиномов п переменных степени не выше s, если порождает все такие полиномы. Случай s = 1 (универсальные функции для класса линейных булевых функций) впервые рассмотрен в работе [1]. В ней была построена конструктивная линейная верхняя оценка на минимальную мощность области определения универсальной функции для класса линейных булевых функций.
S
Введем следующее обозначение: К = ^ (™). Имеет место
г=0
Лемма 1. Размер области определения универсальной функции для класса булевых полиномов п переменных степени не выше s не меньше, чем 2К.
Доказательство. При задании полинома степени не выше s в т точках его коэффициенты определяет система из т линейных уравнений и К неизвестных. Для однозначной разрешимости требуется выполнение неравенства т ^ К. Функции тождественный ноль и тождественная единица порождаются минимум К нулями (единицами) соответственно, откуда следует утверждение леммы.
В работе [2] для случая линейных функций (s = 1) тривиальная нижняя оценка 2п + 2 леммы 1 поднята до 13п/6.
Следующее несложное утверждение оценивает число полиномов степени s и их пар.
Лемма 2. Количество булевых полиномов п переменных степени не выше s равно 2К. Количество упорядоченных пар булевых полиномов п переменных степени не выше s не превосходит 4К.
Лемма 3. Два различных булевых полинома п переменных степени не выше s не совпадают минимум в 2n~s точках.
Доказательство. Пусть pi(x\,..., хп) ш p2(xi,..., хп) — различные полиномы степени не выше s. Тогда pi(x\,..., хп) Фрг(ж1,..., хп) — не равный тождественно нулю полином степени не выше s. Согласно [3, с. 59] он имеет не менее 2n~s единиц. Лемма доказана.
Теорема. Для любого s, начиная с некоторого п, существует частичная универсальная функция для класса булевых полиномов степени не выше s с областью определения, ограниченной величиной 0(ns).
Доказательство. Задача построения универсальной функции эквивалентна задаче построения покрытия (0—1)-матрицы, строкам которой соответствуют всевозможные значения функции на всех наборах (2 • 2" строк), столбцам — упорядоченные пары различных полиномов (2К(2К — 1) пар). При этом единица соответствует ситуации, когда значение функции на наборе в строке совпадает со значением первого полинома пары и не совпадает со значением второго. В покрытии,
1 Факультет ВМК МГУ, проф., МФТИ, в.н.с., д.ф.-м.н., e-mail: dm6Qcs.msu.ru
* Работа выполнена при поддержке гранта Российского научного фонда, проект № 16-11-10014.
соответствующем универсальной функции, дополнительно запрещается наличие двух строк, соответствующих различным значениям функции в одной точке.
Построим покрытие матрицы градиентным алгоритмом [4, с. 136, 137]. На каждом шаге будем выбирать строку с наибольшим числом единиц и удалять ее из матрицы вместе со всеми столбцами, в пересечении с которыми в ней стоят единицы. По лемме 3 изначально в каждом столбце матрицы не менее 2п~!1 единиц. В отличие от классической задачи о покрытии в силу вышесказанного вместе со строкой необходимо удалить еще одну, соответствующую противоположному значению функции в данной точке. При этом в худшем случае можно потерять одну единицу в любом непокрытом столбце. После того, как были взяты £ строк, количество единиц в оставшихся столбцах будет не меньше, чем 2п~8 — Ь.
Пусть М-1 — количество оставшихся столбцов после £ шагов. Тогда число единиц в матрице после £ шагов не меньше (2п~8 — t)Mt. Количество строк этой матрицы равно 2(2П — поэтому в ней есть хотя бы одна строка с не менее чем
(2n~s - t)Mt 2(2« - t)
единицами. Таким образом,
Mt+1 < Mt
ч • (!)
2(2«
Стоящее в (1) в скобках выражение растет с ростом Полученная в лемме 1 оценка величины
^ п8
М0 ПРИ в ^ 2« и » ^ 2 не превосходит ^ 4 (®_1)!. Положив в (1) I
константа, будем иметь
= сп, где с
некоторая
Mt < 4(s"1)!
1
СП
2(2п
сп"
1)
Заметим, что при выполнении неравенства
сп,* < 2п~8~\
из (2) будет следовать оценка
1 / 2п~8 _ 2
(2) (3)
Mt <
4 С«-1)1 1
2(2» - 2n~s~l + 1)
Из этого неравенства в силу того, что
-)П — S — 1
1
2" * 1 + 1
>
1
получим
Mt <
1
4 С«-1)! 1
2-s+i 1
25+2
Выберем достаточно большую константу с так, чтобы выполнялось неравенство
1 / 1
4(®-!)! 1
2s+2
< 1.
(4)
(5)
Параметр s фиксирован заранее, константа с в неравенстве (5) зависит только от него. При п ^ оо левая часть неравенства (3) бесконечно мала относительно правой, поэтому, начиная с некоторого п, оно выполняется. Таким образом, из неравенств (4), (5) следует, что Mcns = 0. Теорема доказана.
СПИСОК ЛИТЕРАТУРЫ
1. Вороненко A.A. Об универсальных частичных функциях для класса линейных // Дискретная математика. 2012. № 3. С. 62-65.
2. Вороненко A.A., Вялый М.Н. Нижняя оценка мощности области определения универсальных функций для класса линейных булевых функций // Дискретная математика. 2016. № 4. С. 50-57.
3. Гаврилов Г.П., Сапоженко A.A. Задачи и упражнения по дискретной математике. М.: Физма-тлит, 2009.
4. Дискретная математика и математические вопросы кибернетики / Под ред. C.B. Яблонского, О.Б. Лу-панова. Т. 1. М.: Наука, 1974.
Поступила в редакцию 20.02.17
УДК 519.86
М. Г. Фуругян1
ПЛАНИРОВАНИЕ ВЫЧИСЛЕНИЙ В МНОГОПРОЦЕССОРНЫХ СИСТЕМАХ С НЕСКОЛЬКИМИ ТИПАМИ ДОПОЛНИТЕЛЬНЫХ РЕСУРСОВ И ПРОИЗВОЛЬНЫМИ ПРОЦЕССОРАМИ
Рассматривается задача составления допустимого расписания с прерываниями в многопроцессорной системе в случае, когда заданы директивные интервалы, процессоры могут иметь произвольные производительности, имеется несколько типов дополнительных ресурсов, а длительности выполнения работ линейно зависят от количества выделенного им дополнительного ресурса. Разработаны полиномиальные алгоритмы, основанные на сведении исходной задачи к потоковой и задаче линейного программирования.
Ключевые слова: многопроцессорная система, расписание с прерываниями, распределение ресурсов, директивные интервалы.
1. Введение. Проблема поиска допустимого расписания является одной из наиболее актуальных задач при разработке математического и программного обеспечения, используемого при проектировании и функционировании сложных технических объектов. Особую важность эта задача приобретает при разработке систем реального времени, которые находят широкое применение в самых различных областях человеческой деятельности. Системы реального времени — это такие системы, в которых задания должны быть выполнены в строго установленные директивные сроки, не подлежащие нарушению. Для функционирования таких систем необходимо иметь заранее составленное расписание их работы, которое показывает, какие ресурсы и когда выделяются каждому программному модулю. С появлением новой многопроцессорной вычислительной техники актуальность таких задач возрастает.
Настоящая статья является продолжением цикла работ автора по разработке алгоритмов планирования вычислений в многопроцессорных системах с дополнительными ресурсами. Подобная задача для случая, когда процессоры имеют одинаковые производительности и дополнительный ресурс отсутствует, рассматривалась в [1] и была сведена к задаче о максимальном потоке в сети специального вида. Задача с произвольными процессорами и произвольными директивными интервалами рассматривалась в [2], а задача с произвольными процессорами и одинаковыми директивными интервалами — в [3]. В [2, 3] наличие дополнительного ресурса не предполагалось. Задача минимизации времени выполнения сетевого комплекса работ, когда длительности выполнения работ являются функциями от вектора распределения ресурсов, а число процессоров не ограничено, рассматривалась в [4] и была сведена к задаче нелинейного программирования. Задача с одним типом дополнительного ресурса и идентичными процессорами решена в [5], с произвольными процессорами — в [6], а задача с идентичными процессорами и несколькими типами дополнительных ресурсов — в [7]. В [8] исследована задача оптимальной коррекции директивных интервалов в многопроцессорных системах с дополнительным ресурсом. Некоторые методы построения расписаний без прерываний, основанные на имитационном моделировании, описаны в [9], а основанные на муравьиных алгоритмах — в [10].
1 Факультет ВМК МГУ, доц.; ВЦ ФИЦ ИУ РАН, зав. сект., к.ф.-м.н., e-mail: rtsccasQya.ru