Нескінченний ланцюжок великих


12

По-перше, дозвольте мені написати визначення великого просто для того, щоб зробити явні речі.O

0 f ( n ) c g ( n ) , n n 0f(n)O(g(n))c,n0>0 такий, що0f(n)cg(n),nn0

Скажімо, у нас є обмежена кількість функцій: задовольняють:f1,f2,fn

O(f1)O(f2)O(fn)

За транзитивністю маємо, що:O ( f 1 ) O ( f n )OO(f1)O(fn)

Чи це має місце, якщо ми маємо нескінченний ланцюжок з ? Іншими словами, ?O ( f 1 ) O ( f )OsO(f1)O(f)

Мені важко уявити, що відбувається.

Відповіді:


15

Спершу нам потрібно уточнити, що ми маємо на увазі під "чи це справедливо, якщо у нас є нескінченний ланцюжок?" Ми інтерпретуємо це як нескінченну послідовність функцій така, що для всіх маємо . Така послідовність може не мати останньої функції.i f i ( n ) = O ( f i + 1 ( n ) ){fi:NN1i}ifi(n)=O(fi+1(n))

Ми можемо подивитися на межу функцій у послідовності, тобто . Однак можливо, що обмеження не існує. І навіть у випадку, якщо він існує, ми можемо не мати . Наприклад, розглянемо послідовність функцій . Для кожного , і тому . Однак таким чином, .f 1 ( n ) = O ( f ( n ) ) f i ( n ) = nf(n)=limifi(n)f1(n)=O(f(n)) ifi(n)=Θ(n)fi(n)=O(fi+1(n))f(fi(n)=niifi(n)=Θ(n)fi(n)=O(fi+1(n))f 1 ( n ) O ( f (f(n)=limifi(n)=0=Θ(1)f1(n)O(f(n))

З іншого боку, ми можемо подивитися на межу послідовності класів, яка не повинна дорівнювати класу межі функцій . У нас є , тому і для всіх . Вища межа містить усі елементи (функції в даному випадку), які виникають нескінченно часто, а межа нижчого містить усі елементи, які зустрічаються у всіх для деякихO ( f i ) O ( f i + 1 ) f jlim i O ( f i ) = lim sup i O ( f i ) = lim inf i O ( f i ) = n NfiO(fi+1)O(fi)O(fi+1)j O ( f i ) , i n 0 n 0 limfjlimiO(fi)=lim supiO(fi)=lim infiO(fi)=nNk>nO(fk)jO(fi),in0n0 (що може залежати від елемента). Оскільки послідовність класів монотонно зростає, обидва існують, і вони рівні. Це виправдовує використання .lim


3
Існує дві серії: одна з функцій (яка може конвергуватися чи ні) та одна із множин (де кожен набір є супер множиною попереднього; саме тому ця серія конвергується - див. Визначення lim inf і lim sup для множин) . Перша частина відповідає на питання без частини , друга частина відповідає частина негативно (якщо - це якась липа). f f fff
frafl

Що робити, якщо кількість термінів не рахується? :)
SamM

Використовуючи якісь упорядковані замовлення чи хочете замінити серію чимось більш безперервним? :)
frafl

@Kaveh Дякую велике, зараз це має багато сенсу. Якщо ви зможете виправдати використання обмежень і те, що означає ця річ inf inf, тоді це завершить моє розуміння.
saadtaame

1
@saadtaame: Можливо, це тому, що вищезазначене питання все ще не запитує того, що ти хочеш знати? Якщо я правильно пам'ятаю, ви додали через коментар, який запропонував. Якщо ви надасте якийсь контекст, можливо, хтось може переформулювати питання ще раз. f
frafl

5

Так, можливо мати нескінченний ланцюжок.

Я впевнений, що ви вже знайомі з деякими прикладами: вас тут нескінченний ланцюжок: поліноми зростаючого ступеня. Ви можете піти далі? Звичайно! Експоненція росте швидше (асимптотично кажучи), ніж будь-який многочлен. І звичайно, ви можете продовжувати рух:O ( x ) O ( x 2 ) O ( x 42 ) O ( e x ) O ( e x ) O ( x

O(x)O(x2)O(x42)
O(x)O(x2)O(x42)O(ex)
O(ex)O(xex)O(e2x)O(eex)

Ви можете побудувати нескінченний ланцюжок і в іншому напрямку. Якщо то (дотримуючись позитивних функцій, оскільки тут ми обговорюємо асимптотику функцій складності). Ось ми маємо для прикладу:1f=O(g)1g=O(1f)

O(x)O(x2)O(exx2)O(exx)O(ex)

Насправді, враховуючи будь-який ланцюг функцій , ви можете побудувати функцію яка зростає швидше, ніж усі вони. (Я припускаю, що - це функції від до .) Спочатку почніть з ідеї . Це може не спрацювати, оскільки множина може бути без обмежень. Але оскільки ми втручаємося лише в асимптотичний ріст, достатньо починати з малого та прогресивно рости. Візьміть максимум над обмеженою кількістю функцій. f f i N R + f ( x ) = max { f n ( x ) n N } { f n ( x ) n N } f ( x ) = max { f n ( x ) 1 n f1,,fnffiNR+f(x)=max{fn(x)nN}{fn(x)nN} N f NO ( f ) x N , f ( x ) f N ( x ) f = o ( f ) f ( x ) = x ( 1 + f ( x ) )

f(x)=max{fn(x)1nN}if Nx<N+1
Тоді для будь-якого , , оскільки . Якщо ви хочете, щоб функція, яка росте строго швидше ( ), візьміть .NfNO(f)xN,f(x)fN(x)f=o(f)f(x)=x(1+f(x))

Усі ці відповіді (ваші та інші) ґрунтуються на припущенні, що ми знаємо, що відбувається в нескінченності, вони мені не підходять, я не знаю про ОП (чому ми не повинні мати закриту групу з нескінченним розміром ?)

4
@SaeedAmiri Вибачте, я не розумію ваш коментар: що ви маєте на увазі під "ми знаємо, що відбувається в нескінченності, вони для мене не підходять"?
Жил 'ТАК - перестань бути злим'
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.