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


12

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

0 ≤ f ( n ) ≤ c g ( n ) , ∀ n ≥ n 0f(n)∈O(g(n))⟺∃c,n0>0 такий, що0≤f(n)≤cg(n),∀n≥n0

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

O(f1)⊆O(f2)⋯⊆O(fn)

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

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

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

Відповіді:


15

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

Ми можемо подивитися на межу функцій у послідовності, тобто . Однак можливо, що обмеження не існує. І навіть у випадку, якщо він існує, ми можемо не мати . Наприклад, розглянемо послідовність функцій . Для кожного , і тому . Однак таким чином, .f 1 ( n ) = O ( f ∞ ( n ) ) f i ( n ) = nf∞(n)=limi→∞fi(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)=limi→∞fi(n)=0=Θ(1)f1(n)≠O(f∞(n))

З іншого боку, ми можемо подивитися на межу послідовності класів, яка не повинна дорівнювати класу межі функцій . У нас є , тому і для всіх . Вища межа містить усі елементи (функції в даному випадку), які виникають нескінченно часто, а межа нижчого містить усі елементи, які зустрічаються у всіх для деякихO ( f i ) ⊆ O ( f i + 1 ) f j ∈ lim i → ∞ O ( f i ) = lim sup i → ∞ O ( f i ) = lim inf i → ∞ O ( f i ) = ⋃ n ∈ Nfi∈O(fi+1)O(fi)⊆O(fi+1)j O ( f i ) , i ≥ n 0 n 0 limfj∈limi→∞O(fi)=lim supi→∞O(fi)=lim infi→∞O(fi)=⋃n∈N⋂k>nO(fk)jO(fi),i≥n0n0 (що може залежати від елемента). Оскільки послідовність класів монотонно зростає, обидва існують, і вони рівні. Це виправдовує використання .lim


3
Існує дві серії: одна з функцій (яка може конвергуватися чи ні) та одна із множин (де кожен набір є супер множиною попереднього; саме тому ця серія конвергується - див. Визначення lim inf і lim sup для множин) . Перша частина відповідає на питання без частини , друга частина відповідає частина негативно (якщо - це якась липа). f ∞ f ∞f∞f∞f∞
— 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,…,fnf∞fiNR+f∞(x)=max{fn(x)∣n∈N}{fn(x)∣n∈N} N f N ∈ O ( f ∞ ) ∀ x ≥ N , f ∞ ( x ) ≥ f N ( x ) f ∞ = o ( f ′ ∞ ) f ′ ∞ ( x ) = x ⋅ ( 1 + f ∞ ( x ) )

f∞(x)=max{fn(x)∣1≤n≤N}if N≤x<N+1
Тоді для будь-якого , , оскільки . Якщо ви хочете, щоб функція, яка росте строго швидше ( ), візьміть .NfN∈O(f∞)∀x≥N,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.