Научная статья на тему 'Среднее время вычисления булевых операторов программами с ограниченной памятью'

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

CC BY
74
10
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
БУЛЕВЫ ОПЕРАТОРЫ / СРЕДНЕЕ ВРЕМЯ ВЫЧИСЛЕНИЯ / ВЫЧИСЛЕНИЯ С ОГРАНИЧЕННОЙ ПАМЯТЬЮ / BOOLEAN OPERATORS / AVERAGE COMPUTATION TIME / COMPUTATION WITH BOUNDED STORAGE

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

В работе изучается среднее время вычисления значений булевых операторов неветвящимися программами с условной остановкой, объем памяти которых не превосходит параметра $D$. При растущем числе переменных $n$ для почти всех булевых операторов с $m$ компонентами установлена асимптотически точная формула среднего времени вычисления для большого диапазона значений $D$ и $m$.

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

Mean time of Boolean operators computation by programs with bounded memory

The average time of computing the values of Boolean operators by straight-line programs with a conditional stop and storage of at most $D$ is studied. As the number $n$ of variables grows, for almost all Boolean operators with $m$ components, an asymptotically tight formula for the average computation time is obtained in a wide range of $D$ and $m$.

Текст научной работы на тему «Среднее время вычисления булевых операторов программами с ограниченной памятью»

13. Вапько В.И., Ермошина О.В., Кувыркин Г.Н. Вариационное исчисление и оптимальное управление. М.: Изд-во Л ПТУ им. Н.Э. Баумана, 2001.

14. Победря Б.Е. Механика композиционных материалов. М.: Изд-во МГУ, 1984.

15. Канатников А.Н., Крищенко А.П. Линейная алгебра / Под ред. B.C. Зарубина, А.П. Крищенко. М.: Изд-во МГТУ им. Н.Э. Баумана, 1999.

16. Абовский Н.П., Андреев Н.П., Деруга А.П. Вариационные принципы теории упругости и теории оболочек. М.: Наука, 1978.

17. Ректорис К. Вариационные методы в математической физике и технике / Пер. с англ. М.: Мир, 1985.

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

УДК 519.7

СРЕДНЕЕ ВРЕМЯ ВЫЧИСЛЕНИЯ БУЛЕВЫХ ОПЕРАТОРОВ ПРОГРАММАМИ С ОГРАНИЧЕННОЙ ПАМЯТЬЮ

А. В. Чашкин1

В работе изучается среднее время вычисления значений булевых операторов невет-вягцимися программами с условной остановкой, объем памяти которых не превосходит параметра D. При растущем числе переменных п для почти всех булевых операторов с то компонентами установлена асимптотически точная формула среднего времени вычисления для большого диапазона значений Dam.

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

The average time of computing the values of Boolean operators by straight-line programs with a conditional stop and storage of at most D is studied. As the number n of variables grows, for almost all Boolean operators with то components, an asymptotically tight formula for the average computation time is obtained in a wide range of D and то.

Key words: Boolean operators, average computation time, computation with bounded storage.

В работе изучается среднее время вычисления значений булевых операторов неветвящимися программами с условной остановкой и ограниченной памятью. Аналогичная задача без ограничений на память рассматривалась ранее в [1, 2]. Далее п-местные операторы с т компонентами будем называть (т, п)-операторами.

Пусть X = {х\,...,хп} — множество независимых булевых переменных, Y = {¡Ji, ■ ■ ■ ,yi} — множество внутренних переменных, Z = — множество выходных переменных. Невет-

вящейся программой с условной остановкой Р назовем список pi,...,pL последовательно выполняемых команд двух видов — вычислительных команд и команд остановки. Пусть А € Y U Z, В, С G 1 U У U Z, h — двухместная булева функция. Вычислительной командой р с выходом А и входами В ж С назовем выражение

р : А = h(B, С).

Такая команда вычисляет значение h(B,C) и присваивает его переменной А. Пусть далее А € X U У U Z. Выражение

р : Stop (А)

назовем командой остановки, где А — вход этой команды. Команда остановки прекращает работу программы, если А = 1. Если А = 0, то выполняется следующая команда программы.

Число команд программы Р назовем ее сложностью, а сумму числа внутренних и выходных переменных — объемом памяти этой программы. Временем работы Тр(х) программы Р на наборе

1 Чашкин Александр Викторович — доктор физ.-мат. наук, проф. каф. дискретной математики мех.-мат. ф-та МГУ, e-mail: chashkinQinbox.ru.

переменных х = (х\,... ,хп) назовем число команд, выполненных программой на этом наборе до ее остановки. Величину

где суммирование производится по всем двоичным наборам длины п, назовем средним временем работы программы Р. Значением программы Р на наборе переменных х назовем набор значений выходных переменных z\,... ,zm после остановки программы. Если для булева оператора / и любого двоичного набора х справедливо равенство f(x) = Р(х), то будем говорить, что программа Р вычисляет оператор /. Величину

TD(f) = mmT(P),

где минимум берется по всем программам, вычисляющим / и имеющим память, объем которой не превосходит Д назовем средним временем вычисления оператора /. Программу Р, которая вычисляет оператор / и для которой справедливо равенство Т(Р) = Td(/), назовем минимальной программой. Две программы назовем эквивалентными, если одну программу можно получить из другой, перенумеровав внутренние переменные. Очевидно, что эквивалентные программы вычисляют один и тот же оператор за одинаковое среднее время.

Теорема. Пусть п —> оо, D ^ п, т —> ос и log2 т = o(log2 D). Тогда

1) для, почти всех булевых (п,т)-операторов /

ога-2™

2) для каждого булева (п,т)-оператора /

о»г-2 т

TD(f)<-}—^ • (1 + 0(1))-

log 2D

Утверждение теоремы следует из доказываемых далее лемм 2 и 3.

Через N(4,171, И, Ь) обозначим число неэквивалентных программ с п независимыми и т выходными переменными, объем памяти которых не превосходит I). а число команд не превосходит Ь.

Лемма 1. Справедливо неравенство

N(71, т, Д Ь) < (ст (Б + п))2Ь ,

где с — константа.

Доказательство. Любая программа Р задается списком своих команд р^, каждая из которых однозначно определяется следующими данными:

1) типом команды, возможны всего два варианта — команда может быть либо вычислительной, либо командой остановки;

2) двухместной булевой функцией /г» вычислительной команды (для команды остановки эта информация опускается), существует всего 16 различных двухместных булевых функций;

3) номерами независимых, внутренних или выходных переменных, являющихся входами команды, число всех этих переменных не превосходит И + п, поэтому общее число пар номеров не превосходит (Д + п)2;

4) номером выходной или внутренней переменной, являющейся выходом вычислительной команды (для команд остановки эта информация опускается), общее число этих переменных не превосходит И.

Таким образом, одна команда определяется выбором одного из не более чем 2 • 16 • (И + п)2 ■ И вариантов. Покажем, что последнее число можно уменьшить, если определенным образом зафиксировать порядок использования внутренних переменных так, чтобы номер внутренней переменной, являющейся выходом очередной вычислительной команды, однозначно определялся предшествующими командами. Сделаем это следующим образом. Приведенные выше пп. 3, 4 заменим новыми. В п. 3 добавим пару чисел (а\, скг), таких, что щ = 1, если значение г-го входа команды используется в программе далее, и оц = 0 в противном случае. Нулевое значение а указывает, что соответствующая внутренняя переменная становится свободной и может быть использована для запоминания нового промежуточного значения. Если входом является независимая или выходная переменная, то

9 ВМУ, математика, механика, № 3

соответствующее значение а всегда равно единице. Эти новые данные позволяют в п. 4 определить выход вычислительной команды целым числом от 0 до т. Нулевое значение указывает, что выходом команды является внутренняя переменная, а ее номер определяется как минимальный номер всех свободных в данный момент внутренних переменных. Положительное число указывает номер выходной переменной в том случае, когда такая переменная является выходом команды.

Нетрудно видеть, что теперь команда определяется выбором одного из не более чем 128(2) + п)2(т + 1) вариантов. Поэтому для числа Ы, равного числу различных неэквивалентных программ, состоящих не более чем из Ь команд, справедливо неравенство

N < (128(1) + п)2 • (ш + 1))Ь < (ст(£> + п))2Ь ,

где с — константа. Лемма доказана.

Пусть / — п-местный булев оператор, Р — программа, вычисляющая /. Каждому двоичному набору ж длины п, рассматриваемому как двоичная запись натурального числа, поставим в соответствие его номер Жр(ж), такой, что 1 ^ Np(x) ^ 2га; ./Ур(ж) < Л?р(у), если Тр(ж) < Тр{у); ./Ур(ж) < Жр(у), если Тр{х) = Тр(у) и х < у.

Лемма 2. При п —> оо, И ^ п и 1с^2 ш = о(1с^2 £>) для почти всех булевых (п, т)-операторов / справедливо неравенство

ога-2™

Доказательство. Пусть / — булев оператор, Р — минимальная программа, вычисляющая /. Пусть до = 1о§2 д/1°§2 В/ 1°ё2 т > Я = 290, набор Хг такой, что Мр{хг) = где г = 2,3,..., д. Оценим число булевых операторов, у минимальных программ которых найдется такой набор XI, что Тр(хг) в ' Т' Каждый такой оператор однозначно определяется первыми Тр(х¿) командами

своей минимальной программы и набором не более чем из 2п — ТУр(жг) двоичных векторов длины т — значениями на тех аргументах, время работы на которых больше времени работы на ж^. В силу леммы 1 для числа Л^, равного числу различных программ, сложность которых не превосходит Тр(жг), справедливо неравенство

2( (¿-1)2" т\ (г— 1)т2п /л \Г)(П — 2\\

ЛГг < (ст(£> + гг)) ^1082л 2^2 5 )).

Следовательно, М — число рассматриваемых операторов — не превосходит величины

£2

г=2

Нетрудно видеть, что для показателя величины, стоящей под знаком суммы, справедливо равенство

пП тг2п (г — 1)т2га . ^ . _ т2п ^ (т2п\

т,2---Ь -----(1 + О (д 2)) = т,2---Ь О - .

д д д V <Г /

Так как 1 <С д <С п, то начиная с некоторого п

М < д ■ 2т2"~т2"/9+0(т2"/ч2) < 2"»2"-т2»-1/« = 0 (2т2") Сравнивая полученную оценку величины М с числом всех булевых (п, т)-операторов, видим, что

при до =

log2 A/log2 D/ log2 m

и д = 2до для г = 2, 3,... , д все минимальные программы почти всех

булевых операторов удовлетворяют условию:

г2п (г — 1)2" если набор Хг такой, что 7Ур(х{) =-, то Тр(х{) >

д д log2 D

Положим Хг = {ж | Жр(жг) < Ир(х) ^ Ир(х^\)}. Тогда для среднего времени работы каждой такой программы имеем

9-1 9-1 2„

Т(Р) = 2-п^Тр(х)>2-п^Тр(х1)\Хг\=2-п^Тр(хг)- >

х г=2 г=2 ^

1^(г-1)2" т = (д- 1)(д - 2)2" т = 2п~2т , , д^д\оё2в'2 2д2\оё2В '2 1об2 Я ' 1 + 1<? )} "

Лемма доказана.

Пусть /г. — целые. Множество всех двоичных наборов длины разобьем на £ = |"28//г] непересекающихся множеств Уг так, что (а\... а3) € У^, если (г — 1)/г ^ |(<Т1... <т5)| < г/г, где |(<Т1 ... <т5)| = ^¿=1 с«-г2г_1. Введем функции

I] • • • ) = \/ 1 ■ ■ ■ 1 ! 1

«теУ,-

1](Х1,...,Х3) = 1 ^ [¿/2];

• • • ) жга) = (Ж1) • • • ) Же) ' ) • • • ) жгг,П) 1 ^ 3 ^ )

где I = |(сг8_|_1... <тга)|. Для произвольной булевой функции /(х\,..., хп) положим

/г(жь ...,х3) = /(жь ... ... ,(тга),

fj,l 1 ) • • • ) - ) • • • ) ) • • • ) ■

Легко видеть, что

fj,l(Xl, . . . ,Х3) ■ , . . . , жгап = fjíl(Х\, . . . ,Х3) ■ /2\,1{.х1} ■ ■ ■ 1Хп)-

Поэтому справедливо разложение

( * \

/(Ж1, . . . , Жга) = ^ I XI, . . . , Х3) | • ,..., хп"

Оа-1Г\...Оп \;/=1

Г*/21 / 2

8+1 ' " " " ' га

1*/2| / 2 \ V МкМн,

Гв + 1...сгп \г=1 /

/Г*/21 /2 \ \

V V ( V /гс/с-^+г.гС^!, - - -, •4;г(ж1,...,жга) . (1)

-1...0-П V ¿¡=1 \Г=1 / /

Пусть Л — число различных функций ... ,х3) в (1), Ьр — сложность реализации этих

функций схемами из функциональных элементов. Легко видеть, что К ^ и

Ьк < 2/1+5+2. (2)

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

Лемма 3. Пусть п —> оо, И ^ п н го ^ Д/2. Тогда для произвольного булева (п, т) -оператора / справедливо неравенство

Доказательство. Положим в = \_2 к^2 log2 , к = [1о§2 -С — 4 к^2 к^2 £>_|, £ = \28 / К\. Воспользуемся разложением (1) и каждую компоненту оператора / представим в виде

(\ФЛ /2 \ \

/г(жь...,жга) = \/ \/ I \/ Дг^-^+г.КжЬ'-ч^) I •ДКжь-.^Жп) . (3)

03+1 —Оп уА;=1 \г=1 / У

10 ВМУ, математика, механика, № 3

Программу Р, вычисляющую оператор /, представим в виде последовательности программ

.../'/.../v ...

Программа Ро вычисляет все встречающиеся в (3) функции fi,j,i(xi,...,xs) и все функции Ik,i(xi, ■ ■ ■ ,xs)- Очевидно, что в силу (2) при выбранных значениях параметров has сложность этой программы не превосходит

AD

2h+s+2 <

ÜD'

Программа Pi вычисляет функцию

/ 2 \

V ( V Д2(й-1)+г,|(Ж1, • • • ,х8) I • 1кЛХь • • • ,Хп)

к=1 \г=1 /

и состоит из программ

Ро,1Р\,1 ■ ■ ■ Рк,1 ■ ■ ■ Р\Ь/2\ ,1 ■

Программа Род вычисляет функцию ж^^1,... , ж^п и состоит, очевидно, из п-в команд. При I > 0 каждая программа Рк,и используя результаты работы программ Ро и Ро,ь вычисляет значения т функций

2

гг,к,1 = \/ ¡г,(к-1)2+г,1(х\, ...,Х3)

г=1

и функции 1к,1(х 1,..., хп), объявляет полученное значение значением г-й компоненты оператора / и останавливает работу программы Р, если 1к,1{х\, ■ ■ ■ ,хп) = 1. Каждая программа Рк,1 состоит из т + 2 команд: т команд вычисляют функции Ziíк,l, следующая команда вычисляет функцию 1к,1{% 1) • • • )Жга), которая является входом последней команды — команды остановки. Каждая такая программа, кроме, быть может, программы Р\г/2\,и останавливает работу на 2!г наборах.

Нетрудно видеть, что объем используемой программой Р памяти не превосходит Р> +

т + 0{ 1) Р>, а для среднего времени работы этой программы справедлива следующая последовательность неравенств:

Г*/21

Т{Р) = 2~п £ £ ТР{а1...ап)=2~п £ £ £ Тр^ ... <тп) <

аа+\...апо\...аа сг3+1...сгп (<т1...сгв)бУ2*:-1 и^2к

2п-а [4/2]

< 2"га ^ ^ (Рд + 1(п - в) + ((/ - 1) [¿/2] + к)(т + 2))2Н < 1=1 &=1

(2""в |"4/2] \

Рд2га + 22га"25(п - «) + ^ ^ ((^ - 1) [¿/21 + Л)(Ш + 2)2Н <

1=1 /=1 /

< 2- (рД2™ + 22n~2s(n - s) + (m + 2)2h^'\t/2 = (рд2™ + (m+4^)22ra) • (1 + o(l)) <

( D (т + 2)2п\ , , ,, (т + 2)2п ,

4 (ьйБ + Щг) ■ ■+ ■= Уг' d +

Лемма доказана.

Работа выполнена при финансовой поддержке РФФИ, проект №14-01-00598.

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

1. Чашкин A.B. О среднем времени вычисления значений булевых функций // Дискретный анализ и исследование операций. Сер. 1. 1997. 4, вып. 1. 60-78.

Чашкин A.B. О среднем времени вычисления значений булевых операторов // Дискретный анализ и исследование операций. Сер. 1. 1998. 5, вып. 1. 88-103.

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

УДК 517.5

СВЯЗЬ МЕЖДУ СМЕШАННЫМИ МОДУЛЯМИ ГЛАДКОСТИ

В МЕТРИКАХ Lp И ¿„о

М. К. Потапов1, Б. В. Симонов2

В работе выясняется взаимосвязь между смешанными модулями гладкости дробных порядков, рассматриваемых в метриках Lp и L^.

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

In this paper we study interrelations between mixed fractional moduli of smoothness considered in the metrics of Lp and L^.

Key words: inequality, metrics, mixed fractional moduli of smoothness.

Установлению взаимосвязи между модулями гладкости в разных метриках посвящено большое количество публикаций (см., например, [1-14]). В настоящей работе выясняется взаимосвязь между смешанными модулями гладкости дробных порядков в метриках Ьр и Ь^. 1. Обозначения и определения. Введем следующие обозначения:

Lp, 1 ^ р ^ оо, — множество измеримых функций двух переменных f(x i,x2), 27г-периодических по каждому переменному, таких, что ||/||р < оо, где

2тг 2тг 1

, если 1 ^ р < оо;

о о

р= sup vrai \f(x\, Ж2) I, если p = 00;

0siiKisi27r, 0silK2Si27r

2тг 2тг

Lp — множество функций / € Lp, таких, что J f(x\,x2)dxi = 0 для почти всех х2, f f(x\,x2)dx2 -

о о

0 для почти всех х\~,

Vni00(/), Voon2(f), Vnin2(f ),rii GJVU {0}(г = 1, 2), — суммы Валле-Пуссена ряда Фурье функции f еЬр, т.е.

2тг 2тг

= ^ f f(x1+h,x2)V^(t1)dt1, Voon2(f) = i J f{xl,x2+t2)V^{t2)dt2, о 0

2тг 2тг

Vnin2(f) = J f(xl+tl,x2+t2)V^(tl)V^(t2)dtldt2,

о 0

где V0°(t) = Do CO, = ±{Dn{t) + ... + D2n-i(t)), neN, Dk{t) = sin^+|)t), k € N U {0};

1 Потапов Михаил Константинович — доктор физ.-мат. наук, проф. каф. теории функций и функционального анализа мех.-мат. ф-та МГУ, e-mail: mkpotapovQmail.ru.

2 Симонов Борис Витальевич — канд. физ.-мат. наук, доцент Волгоград, гос. техн. ун-та, e-mail: simonov-b2002Qyandex.ru.

11 ВМУ, математика, механика, №3

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