x - Общероссийский семинар

advertisement
ОБЩЕРОССИЙСКИЙ СЕМИНАР
«ИНФОРМАТИКА, УПРАВЛЕНИЕ И СИСТЕМНЫЙ АНАЛИЗ»
ДОКЛАД
УГЛОВАЯ МЕРА АСИМПТОТИЧЕСКОГО РОСТА ФУНКЦИЙ И
КЛАССИФИКАЦИЯ АЛГОРИТМОВ ПО ТРУДОЁМКОСТИ
ГОЛОВЕШКИН ВАСИЛИЙ АДАМОВИЧ
доктор технических наук, профессор,
профессор кафедры высшей математики МИРЭА
УЛЬЯНОВ МИХАИЛ ВАСИЛЬЕВИЧ
доктор технических наук, профессор,
в.н.с. ИПУ РАН, профессор ВМК МГУ и ФКН НИУ ВШЭ
МОСКВА
ВМК МГУ 16 сентября 2014 г.
ОБЛАСТЬ ИССЛЕДОВАНИЙ
Теория ресурсной эффективности компьютерных алгоритмов, классификации алгоритмов.
ОСОБЕННОСТИ ЗАДАЧИ
Традиционная классификация теории сложности вычислений опирается на результаты,
полученные Кобхэмом (1964 г.), Куком (1971 г.) и Левиным (1973 г.), и относящиеся к классам
задач, являющихся объектом исследований в этой теории. Большинство практически решаемых
задач относится к классу P — классу задач, решающие алгоритмы которых имеют не более чем
полиномиальную сложность. Большинство известных точных алгоритмов решения NP -полных
задач имеют экспоненциальную (класс EXP ) или надполиномиальную сложность.
К сожалению, использование в целях анализа ресурсной эффективности алгоритмов и в
целях решения задачи классификации алгоритмов по сложности, аппарата классической теории
сложности не является вполне корректным. Это связано с тем, что теория сложности оперирует с
классами задач, а не с классами алгоритмов, а большинство определений классов задач, за
исключением классов P и EXP , не включает в себя явного указания сложностных оценок.
Объект: Компьютерные алгоритмы в аспекте их трудоёмкости.
Предмет: Классификации алгоритмов по сложности функции трудоёмкости.
Слайд 2 из 23
ПОСТАНОВКА ЗАДАЧИ
В рамках теоретического исследования вычислительной сложности компьютерных
алгоритмов представляет интерес задача разработки корректной классификации алгоритмов по
сложности функции трудоемкости на основе детального разграничения асимптотических оценок
функций трудоемкости (сложности алгоритмов), сохраняющего традиционное выделение
функций с полиномиальной и экспоненциальной сложностью.
Таким образом, речь идет о математической задаче разделения полиномов и экспонент в
рамках единой меры, с явным выделением множества функций, разграничивающих полиномы и
экспоненты, и дополнительных множеств субполиномиальных и надэкспоненциальных функций.
Такая мера может быть основой для разработки корректной
компьютерных алгоритмов по сложности функции трудоёмкости.
Слайд 3 из 23
классификации
ТЕРМИНОЛОГИЯ И ОБОЗНАЧЕНИЯ
A — обозначение алгоритма решающего задачу (общую проблему) Z ;
D — вход алгоритма A — конечное множество слов фиксированной длины в бинарном
алфавите, задающее конкретную проблему для общей проблемы Z ;
  D   D  n — длина входа алгоритма;
f A  D  — трудоёмкость алгоритма A на входе D , целочисленная функция — число заданных
алгоритмом A базовых операций принятой модели вычислений на входе D ;
f A n  — трудоёмкость алгоритма в худшем случае на всех допустимых входах длины n ;
f n  — сложность алгоритма — функция, фигурирующая (в терминах O или  ) в
асимптотической оценке f A n  :
f A n   O f n , f A n    f n .
В рамках дальнейшего изложения будем считать, что аргумент x непрерывен, f   f  x  , а
необходимые значения функции f  x  вычисляются в целочисленных точках x  n .
Слайд 4 из 23
Функции, разграничивающие полиномы и экспоненты
Из множества функций разграничивающих полиномы и экспоненты в качестве
иллюстративной выберем функцию степенного логарифма g ( x)  ln x  ln x .
Утверждение 1. Функция степенного логарифма является разграничивающей для
полиномов и экспонент.
Доказательство.
Утверждение эквивалентно тому, что функция g  x  удовлетворяет следующим двум
соотношениям при x   ,
если f  x   x k , k  0 , то f  x   o  g  x ,
(1)
если f  x   e λx , λ  0 , то g  x   o  f  x .
На основании леммы о логарифмическом пределе покажем справедливость соотношения (1):
ln ( x k )
k  ln x
k
lim
 lim
 lim
 0,
ln x
x
x ln x  ln ln x 
x ln ln x 
ln ln x 


и справедливость соотношения (2):
ln ln x ln x
ln x  ln ln x 
lim
 lim
0 .
x
x 
x


λ
x
ln e


 
Конец доказательства.
Слайд 5 из 23
(2)
ОПЕРАТОР Н И ЕГО СВОЙСТВА
Авторами предлагается следующее решение задачи разделения полиномов и экспонент на
основе единой меры, выделяющей множество разграничивающих, субполиномиальных и
надэкспоненциальных функций. Пусть дана функция f   f  x  , монотонно возрастающая, и
lim f  x    . Введём в рассмотрение оператор H  f  x   h x  , ставящий в соответствие
x 
функции f  x  функцию h x  по следующему правилу:
H  f  x   h  x   ln f  x  
ln f  x 
 x.
ln f  x   ln x
(3)
Функция h x   H  f  x  обладает следующим свойством — предел производной функции
h x  , как для полиномов, так и для экспонент равен константе:
lim h'  x   C , где C  0 ,
x 
которое устанавливается следующими двумя леммами.
Слайд 6 из 23
(4)
Лемма 1. Пусть: f  x   e λx 1    x , где   0,   x   o1,    x   o1 , при x   , тогда
lim h'  x   λ  1.
x 
Доказательство.
Вычислим h x  для f  x  , используя определение (3)
f'
1
 ln x   ln f
f'
ln f
f
x
h x  

 x
.
2
f ln f  ln x
ln f  ln x
Вычислим пределы слагаемых полученной производной для функции f  x   e λx 1    x  :
f'
λe λx 1    x   e λx'  x 
λ  1    x   '  x 
lim  lim

lim
 λ;
λx
x  f
x 
x


1    x 
e 1    x 
ln f
λx  ln 1    x 
 lim
 1;
x   ln f  ln x
x   λx  ln 1    x   ln x
lim
Слайд 7 из 23
(5)
ln 1   
f'
1
λ1     ' ln x
x
 ln x   ln f


1   
f
x
x
x
lim
 0
lim x 

2
2
x


x 
ln f  ln x 
ln x 

 λ  ln 1    

x 

λ
следовательно lim h'  x   λ  1.
x 
Конец доказательства.
Лемма 2. Пусть f ( x)  x k (1   ( x)) , где k  0,   x   o1,   x   o1, x'  x   O1, при x   ,
тогда
lim h x  
x 
k
.
k 1
Доказательство.
Используем формулу (5) из леммы 1 для h x  и вычислим пределы при x   для слагаемых
полученной производной для функции f ( x)  x k (1   ( x)) :
f'
kx k-1 1    x   x k '  x 
'  x  
k
lim  lim

lim

 x 1    x   0;
k
x  f
x 
x


x 1    x 


Слайд 8 из 23
ln1    x 
ln f
k ln x  ln 1    x 
k
ln x
lim
 lim
 lim

;
x  ln f  ln x
x  k ln x  ln 1    x   ln x
x 
ln 1    x 
k 1
k
1
ln x
k
lim
f
1
ln x  ln f
f
x
x 
k
 lim
x 
ln f
 ln x 
2
kx k 1 1     x k  
 lim
x 
x k 1   
ln x 
1
k ln x  ln1    x 
x
k ln x  ln1   x   ln x 
2

' ln x
 x  k ln x  ln 1   
1  k
'  x
k
ln 1   
1   

lim



0
2
2  2
2
x




1



ln
x
ln
x
ln
x
ln
x
k  1 
ln 1   



ln 2 x k 
 1
ln x


следовательно lim h'  x   k k  1 .
x
Конец доказательства.
Равенство константе предела производной функции h x   H  f  x  позволяет доказать
следующую лемму, вводящую преобразование системы координат.
Слайд 9 из 23
Лемма 3. Пусть дана функция h x  , такая, что lim h x   C  0 , рассмотрим образованную на
x 
основе h x  параметрически заданную функцию z  s  , определенную следующим образом:

1,
s

arctg
 

x
zs   
1 
 z  arctg 
,



h
x


тогда
lim
x
 s 0 
(6)
dz 1
 .
ds C
(7)
Доказательство.
По условиям леммы при x  , h x    , тогда по определению функции z  s  — s  0, z  0 .
В этих условия доопределим функцию z  s  следующим образом: z  0 , при s  0  x    , тогда
  h' 


1  h2 
1 2
x 2  1  h'
h


.
2
1  1 
h 1
 2 
1
1 2  x 
x
1
dz
dz dx

ds ds
dx

Слайд 10 из 23

Рассмотрим


dz
x 2  1  h'  x 
x 2  h'  x 
h x 
h'  x 
lim
 lim

lim
,
заметим,
что
lim

lim
C,
2
2
x  ds
x 
x


x


x


x
1
h x   1
h x 
 s 0 
в результате получаем
dz
x 2  h'  x 
x2
1
1
lim
 lim

lim
h'

x



С


,
2
2
x  ds
x  h x 2
x
С
С
h x 
 s 0 
Конец доказательства.
Графическая интерпретация системы координат  z, s 
Z 0,160
0,140
0,120
f=x*x
0,100
f=exp(x)
0,080
Z=S
0,060
0,040
0,020
0,000
0,000
0,020
0,040
0,060
0,080
0,100
0,120 S
Рис. 1. Функция z s  для полинома f  x   x 2 и экспоненты f  x   e x .
Слайд 11 из 23
Угловая мера асимптотического роста функций
Теорема 1. (об угловой мере асимптотического роста функций).
Пусть дана функция f  f  x  , монотонно возрастающая, и lim f  x    . Определим меру
x 
  f  x  асимптотического (на бесконечности) роста функции
  f  x     2  arctg  R , где R  lim
x 
 s 0 
dz
,
ds
при этом параметрически заданная функция z s  определена в виде (6), а функция h x  получена
применением оператора H к функции f  x  :
тогда если
1) f  x   e λx 1    x , где   0,   x   o1,   x   o1 , при x   ,
π 2    f  x   π ;
то
2) f ( x)  x k (1   ( x)) , где k  0,   x   o1,   x   o1, x'  x   O1, при x   ,
0    f  x   π 2 ;
то
3) f  x   ln x ln x , то
  f  x   π 2 .
Слайд 12 из 23
Доказательство.
Докажем первое утверждение теоремы: Если
f  x   e λx 1    x , то предел производной
функции h x  , образованной по функции f  x  , при x  , равен lim h'  x   λ  1, где   0 , по
x
лемме 1, при этом значение
R  lim
x 
 s 0 
dz
1

ds 1  λ
и следовательно, возможные значения λ в пределах 0     определяют пределы изменения
arctg  R  между 0  arctg  R    4 , что приводит к изменению значений меры π 2    f  x   π , в
силу определения   f  x . Тем самым доказано первое утверждение теоремы.
Докажем второе утверждение теоремы: Если f  x   x k 1    x , то предел производной
функции h x  , образованной по функции f  x  , при x  , равен lim h x  
x 
лемме 2, при этом значение
R  lim
x 
 s 0 
dz k  1

ds
k
Слайд 13 из 23
k
, где k  0 , по
k 1
в силу леммы 3, и, следовательно, возможные в рамках класса P значения k в пределах 0  k  
определяют пределы изменения arctg  R  между  4  arctg  R    2 , что приводит к изменению
значений меры 0    f  x    2 , в силу определения   f  x  .
Докажем третье утверждение теоремы Для доказательства рассмотрим функцию h x  для
функции степенного логарифма f  x   ln x 
h x   ln x ln ln x  x
ln x
:
ln x ln ln x
ln ln x
,
 ln x ln ln x  x
ln x ln ln x  ln x
ln ln x  1
и вычислим предел производной функции h x  при x  
1 1
1 1


ln
ln
x

1


ln
ln
x
 ln ln x

ln ln x
1 1

ln
x
x
ln
x
x
  1,
lim h'  x   lim 
 ln x
1  x
  lim 
2
x 
x  
x   ln ln x  1
x
ln x x 
ln ln x  1




тогда в силу леммы 3
R  lim
x 
 s0 
dz
ln x
  2.
 1, и, следовательно, arctg R   π 4 и мера  ln x 
ds

Конец доказательства.
Слайд 14 из 23

СВОЙСТВА УГЛОВОЙ МЕРЫ
Укажем следующий ряд свойств, которыми обладает введенная угловая мера асимптотического
роста функций   f  x  :
 
— мера  x k принимает значение, равное π 4 , для степени k  2 2 ;
 
— мера  e x принимает значение, равное 3π 4 , при показателе λ  2 ;
— мера   f  x  обладает следующим интересным свойством
   
 x1 λ   e λx  π,
в частности
 
 x   e x  π .
Слайд 15 из 23
ФУНКЦИОНАЛЬНЫЕ МНОЖЕСТВА И ИХ УГЛОВЫЕ МЕРЫ
Определим на базе введенной меры   f  x  следующие пять функциональных множеств в
предположении что lim f  x    :
x 
1) Определим множество FZ :


FZ  f  x  | f  x   x k , k  0 ,
множество субполиномиальных функций. Для функции f  x  из множества FZ значение R ,
определяемое по лемме 3, равно   , и мера   f  x   π  2  arctg R   0  f  x   FZ , в частности
 ln  x   0 .
2) Определим множество FP :

  ,
FP  f  x  |  k  0 : f  x    x k
множество полиномиальных функций. Для функции f  x  из FP значение R  k  1 k , k  0 , по
леммам 2 и 3, и мера   f  x   π  2  arctgk  1 k  , следовательно 0    f  x   π 2 . График
предложенной меры для полиномов представлен на рисунке 2.
3) Определим множество функций FL :


FL  f  x  | x k  f  x   e λx ,  k  0 ,  λ  0 ,
множество субэкспоненциальных функций. Для функции f  x  из FL значение R , определяемое


по лемме 3, равно 1, и мера   f  x   π  2  arctg1 , в частности  ln x ln x  π 2 .
Слайд 16 из 23

  ,
FE  f  x  |    0 : f  x    e x
4) Определим множество FE :
множество экспоненциальных функций. Для функции f  x  из FE значение R  1 1  λ , λ  0 ,
по леммам 1 и 3, и мера   f  x   π  2  arctg1 1   , следовательно π 2    f  x   π . График
меры для экспонент представлен на рисунке 3.


FF  f  x  | e λx  f  x ,  λ  0 ,
5) Определим множество функций FF :
множество надэкспоненциальных функций. Для функции
f  x  из
FF
значение
 
γ(f (x ))/
γ(f (x ))/
определяемое по лемме 3, равно 0, и мера   f  x   π  2  arctg R   π , в частности  x x  π .
0,50
0,40
1,00
0,90
0,80
0,70
0,60
0,30
0,50
0,20
0,40
0,30
0,10
0,20
0,10
0,00
0,00
0,00
0,50
1,00
1,50
2,00
2,50
3,00
3,50
4,00
4,50
0,00
0,50
1,00
1,50
2,00
2,50
3,00
k
Рис. 2. График меры   f  x  для полиномов
f x   xk .
 
3,50
4,00
4,50

Рис. 3. График меры   f  x  для экспонент
f  x    e x .
Слайд 17 из 23
 
R,
КЛАССИФИКАЦИЯ АЛГОРИТМОВ ПО СЛОЖНОСТИ ФУНКЦИИ
ТРУДОЕМКОСТИ.
Использование угловой меры асимптотического роста функций   f  x  позволяет предложить
следующую классификацию алгоритмов по асимптотике роста функции трудоемкости. Сохраняя
общепринятое обозначение n для размерности входа алгоритма A , обозначая через f n 
функцию сложности и подразумевая формальный переход от n к x при вычислении   f  x  ,
введем следующее теоретико-множественное определение классов:
1. Класс π 0 (пи нуль) — класс «быстрых алгоритмов» — это алгоритмы, для которых функции
сложности принадлежат множеству FZ и имеют меру нуль:
π 0   A |   f n   0  f n   FZ .
Алгоритмы, принадлежащие этому классу, являются существенно быстрыми относительно
длины входа; в основном это алгоритмы, имеющие полилогарифмическую или логарифмическую
сложность. Так, например, к этому классу относится алгоритм бинарного поиска в массиве
отсортированных ключей — асимптотическая оценка его трудоемкости — ln n  , мера
 ln n   0 .
Слайд 18 из 23
2. Класс πP — класс «рациональных (собственно полиномиальных) алгоритмов» — это
алгоритмы, функции сложности которых принадлежат множеству FP :
πP   A | 0    f n   π 2  0  f n   FP .
К этому классу относится большинство реально используемых алгоритмов, позволяющих
решать вычислительные задачи за рациональное время; отметим, что этот класс обладает
свойством естественной замкнутости. Введенный класс алгоритмов πP является подклассом
алгоритмов, определяющих класс задач P в теории сложности вычислений.
3. Класс πL — класс «субэкспоненциальных алгоритмов» — это алгоритмы, функции
сложности которых принадлежат множеству FL :
πL   A |   f n   π 2  f n   FL .
Этот класс образуют алгоритмы с более чем полиномиальной, но менее чем экспоненциальной
сложностью. Эти алгоритмы достаточно трудоёмки, соответствующие задачи, как правило,
принадлежат сложностному классу NP , но для некоторых задач такие алгоритмы применяются
на практике. Примером может служить алгоритм факторизации больших составных чисел
методом обобщенного числового решета, применяемый для прямых атак на криптосистему RSA.
Слайд 19 из 23
Если n есть число бит числа, предъявляемого для факторизации, то эвристическая оценка
сложности этого алгоритма имеет вид
1
3
 O  n ln n 
f n    e 


2
3





, и   f n   π 2 .
4. Класс πE — класс «собственно экспоненциальных алгоритмов» — это алгоритмы, функции
сложности которых принадлежат множеству FE :
πE   A | π 2    f n   π  f n   FE .
Это алгоритмы с экспоненциальной трудоемкостью, на сегодня практически применимые
только для малой длины входа, возможности реального использования таких алгоритмов связаны
с практической реализацией квантовых компьютеров. Примерами алгоритмов этого класса
являются переборные алгоритмы для точного решения NP -полных задач, таких, как задача о
выполнимости схемы, задача о сумме, задача о клике и т. д., имеющие асимптотические оценки
  
 

трудоемкости (сложность) вида O 2 n , O n  2 n , O n 2  2 n .
Слайд 20 из 23
5. Класс πF — класс «надэкспоненциальных алгоритмов» — это алгоритмы, функции
сложности которых принадлежат множеству FF :
πE   A |   f n   π  f n   FF .
Это класс практически неприменимых алгоритмов, обладающих более чем экспоненциальной
трудоемкостью факториального или показательно-степенного вида. Например, алгоритм решения
задачи коммивояжера методом полного перебора имеет оценку nn  1! , а поскольку
n! n  1 , где  x  — гамма функция Эйлера и ln  x  1  x  ln x  x , то n! e nln n1 , и,


следовательно, мера  e x ln x 1  π , то этот алгоритм относится к классу πF . К этому же классу
относится алгоритм полного перечисления всех остовных деревьев полного графа на n вершинах


с асимптотической оценкой трудоемкости  n n2 . Обозначение F в названии класса отражает
принадлежность к этому классу алгоритмов с факториальной (Factorial) оценкой трудоемкости.
Слайд 21 из 23
БИБЛИОГРАФИЯ
1.
Головешкин В.А., Ульянов М.В. Метод классификации вычислительных алгоритмов
по сложности на основе угловой меры асимптотического роста функций // Вычислительные
технологии. 2006. Том 11. № 1 С.52–62.
2.
Головешкин В.А., Ульянов М.В. Теория рекурсии для программистов.
— М.: ФИЗМАТЛИТ, 2006. — 296 с.
3.
Ульянов М.В. Ресурсно-эффективные компьютерные алгоритмы. Разработка и анализ.
— М.: ФИЗМАТЛИТ, 2008. — 304 с.
Слайд 22 из 23
БЛАГОДАРИМ ЗА ВНИМАНИЕ
Слайд 23 из 23
Download