«O» большое и «o» малое

Материал из testwiki
Версия от 09:48, 3 декабря 2024; imported>Fkbump (в данном разложении в о малом должна находиться старшая степень)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

Шаблон:К переименованию Шаблон:Значения «O» большое и «o» малое (O и o) — математические обозначения для сравнения асимптотического поведения (асимптотики) функций. Используются в различных разделах математики, но активнее всего — в математическом анализе, теории чисел и комбинаторике, а также в информатике и теории алгоритмов. Под асимптотикой понимается характер изменения функции при стремлении её аргумента к определённой точке.

o(f), «о малое от f» обозначает «бесконечно малое относительно f»[1], пренебрежимо малую величину при рассмотрении f. Смысл термина «О большое» зависит от его области применения, но всегда O(f) растёт не быстрее, чем f (точные определения приведены ниже).

В частности:

  • фраза «сложность алгоритма есть O(f(n))» означает, что с увеличением параметра n, характеризующего количество входной информации алгоритма, время работы алгоритма будет возрастать не быстрее, чем f(n), умноженная на некоторую константу;
  • фраза «функция f(x) является „о“ малым от функции g(x) в окрестности точки p» означает, что с приближением x к p f(x) уменьшается быстрее, чем g(x) (отношение |f(x)|/|g(x)| стремится к нулю).

Определения

Пусть f(x) и g(x) — две функции, определённые в некоторой проколотой окрестности точки x0, причём в этой окрестности g не обращается в ноль. Говорят, что:

  • f является «O» большим от g при xx0, если существует такая константа C>0, что для всех x из некоторой окрестности точки x0 имеет место неравенство
    |f(x)|C|g(x)|;
  • f является «o» малым от g при xx0, если для любого ε>0 найдется такая проколотая окрестность Ux0 точки x0, что для всех xUx0 имеет место неравенство
    |f(x)|<ε|g(x)|.

Иначе говоря, в первом случае отношение |f||g|C в окрестности точки x0 (то есть ограничено сверху), а во втором оно стремится к нулю при xx0.

Обозначение

Обычно выражение «f является O большим (o малым) от g» записывается с помощью равенства f(x)=O(g(x)) (соответственно, f(x)=o(g(x))).

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

В частности, можно писать

f(x)=O(g(x)) (или f(x)=o(g(x))),

но выражения

O(g(x))=f(x) (или o(g(x))=f(x))

бессмысленны.

Другой пример: при x0 верно, что

O(x2)=o(x)

но

o(x)O(x2).

При любом x верно

o(x)=O(x),

то есть бесконечно малая величина является ограниченной, но

O(x)o(x).

Вместо знака равенства методологически правильнее было бы употреблять знаки принадлежности и включения, понимая O() и o() как обозначения для множеств функций, то есть используя запись в форме

x3+x2O(x3)

или

O(x2)o(x)

вместо, соответственно,

x3+x2=O(x3)

и

O(x2)=o(x)

Однако на практике такая запись встречается крайне редко, в основном, в простейших случаях.

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

Другие подобные обозначения

Для функций f(n) и g(n) при nn0 используются следующие обозначения:

Обозначение Интуитивное объяснение Определение
f(n)O(g(n)) f ограничена сверху функцией g (с точностью до постоянного множителя) асимптотически (C>0),U:(nU)|f(n)|C|g(n)|
Шаблон:Якорь2 f ограничена снизу функцией g (с точностью до постоянного множителя) асимптотически (C>0),U:(nU)C|g(n)||f(n)|
Шаблон:Якорь2 f ограничена снизу и сверху функцией g асимптотически (C>0),(C>0),U:(nU)C|g(n)||f(n)|C|g(n)|
f(n)o(g(n)) g доминирует над f асимптотически (C>0),U:(nU)|f(n)|<C|g(n)|
Шаблон:Якорь2 f доминирует над g асимптотически (C>0),U:(nU)C|g(n)|<|f(n)|
f(n)g(n) f эквивалентна g асимптотически limnn0f(n)g(n)=1

где U — проколотая окрестность точки n0.

Основные свойства

Транзитивность

f(n)=Θ(g(n))g(n)=Θ(h(n))f(n)=Θ(h(n))f(n)=O(g(n))g(n)=O(h(n))f(n)=O(h(n))f(n)=Ω(g(n))g(n)=Ω(h(n))f(n)=Ω(h(n))f(n)=o(g(n))g(n)=o(h(n))f(n)=o(h(n))f(n)=ω(g(n))g(n)=ω(h(n))f(n)=ω(h(n))

Рефлексивность

f(n)=Θ(f(n)); f(n)=O(f(n)); f(n)=Ω(f(n))

Симметричность

f(n)=Θ(g(n))g(n)=Θ(f(n))

Перестановочная симметрия

f(n)=O(g(n))g(n)=Ω(f(n))f(n)=o(g(n))g(n)=ω(f(n))

Другие

  • Co(f)=o(f)
CO(f)=O(f)
  • o(Cf)=o(f)
O(Cf)=O(f)
и, как следствия,
o(f)=o(f)
O(f)=O(f)
  • o(f)+o(f)=o(f)
o(f)+O(f)=O(f)+O(f)=O(f)
  • O(f)O(g)=O(fg)
o(f)O(g)=o(f)o(g)=o(fg)
  • O(O(f))=O(f)
o(o(f))=o(O(f))=O(o(f))=o(f)

Асимптотические обозначения в уравнениях

  • Если в правой части уравнения находится только асимптотическое обозначение (например n=O(n2)), то знак равенства обозначает принадлежность множеству (nO(n2)).
  • Если в уравнении асимптотические обозначения встречаются в другой ситуации, они рассматриваются как подставляемые взамен их некоторые функции. Например, при x → 0 формула ex1=x+o(x) обозначает, что ex1=x+f(x), где f(x) — функция, о которой известно только то, что она принадлежит множеству o(x). Предполагается, что таких функций в выражении столько, сколько раз встречаются в нём асимптотические обозначения. Например,   i=0nO(ni2)   — содержит только одну функцию из класса O(n2).
  • Если асимптотические обозначения встречаются в левой части уравнения, используют следующее правило:
    какие бы мы функции ни выбрали (в соответствии с предыдущим правилом) взамен асимптотических обозначений в левой части уравнения, можно выбрать функции вместо асимптотических обозначений (в соответствии с предыдущим правилом) в правой части так, что уравнение будет правильным.
    Например, запись x+o(x)=O(x) обозначает, что для любой функции f(x)o(x), существует некоторая функция g(x)O(x) такая, что выражение x+f(x)=g(x) — верно для всех x.
  • Несколько таких уравнений могут быть объединены в цепочки. Каждое из уравнений в таком случае следует интерпретировать в соответствии с предыдущим правилом.
    Например: 4n4+4n2+1=4n4+Θ(n2)=Θ(n4). Отметим, что такая интерпретация подразумевает выполнение соотношения 4n4+4n2+1=Θ(n4).

Приведенная интерпретация подразумевает выполнение соотношения:

A=BB=C}A=C, где A, B, C — выражения, которые могут содержать асимптотические обозначения.

Примеры использования

  • ex=1+x+x22!+x33!++xnn!+=1+x+x22+o(x2) при x0.
  • T(n)=(n+1)2=O(n2) при n.
При n>1 выполнено неравенство (n+1)2<4n2. Поэтому положим n0=1,c=4.
Отметим, что нельзя положить n0=0, так как T(0)=1 и, следовательно, это значение при любой константе c больше c02=0.
  • Функция T(n)=3n3+2n2 при n имеет степень роста O(n3).
Чтобы это показать, надо положить n0=0 и c=5. Можно, конечно, сказать, что T(n) имеет порядок O(n4), но это более слабое утверждение, чем то, что T(n)=O(n3).
  • Докажем, что функция 3n при n не может иметь порядок O(2n).
Предположим, что существуют константы c и n0 такие, что для всех nn0 выполняется неравенство 3nc2n.
Тогда c(32)n для всех nn0. Но (32)n принимает любое, как угодно большое, значение при достаточно большом n, поэтому не существует такой константы c, которая могла бы мажорировать (32)n для всех n больших некоторого n0.
  • T(n)=n3+2n2=Ω(n3),n.
Для проверки достаточно положить c=1. Тогда T(n)cn3 для n=0,1,....

История

Обозначение «„O“ большое» введено немецким математиком Паулем Бахманом во втором томе его книги «Analytische Zahlentheorie» (Аналитическая теория чисел), вышедшем в 1894 году. Обозначение «„о“ малое» впервые использовано другим немецким математиком, Эдмундом Ландау в 1909 году; с работами последнего связана и популяризация обоих обозначений, в связи с чем их также называют символами Ландау. Обозначение пошло от немецкого слова «Ordnung» (порядок)[2].

См. также

Примечания

Шаблон:Примечания

Литература

  1. Шведов И. А. Компактный курс математического анализа. Часть 1. Функции одной переменной. — Новосибирск, 2003. — С. 43.
  2. Шаблон:Статья