Powrócono do warunków Sums of Landau

10

Poprosiłem (nasion) pytanie o sumach Landau warunkach przed , próbując ocenić niebezpieczeństwa nadużywania notacji asymptotyka w arytmetyce, z mieszanym powodzeniem.

Teraz, tutaj nasz guru ds. Nawrotów, JeffE , zasadniczo robi to:

i=1nΘ(1i)=Θ(Hn)

Chociaż wynik końcowy jest prawidłowy, myślę, że to źle. Dlaczego? Jeśli dodamy całe istnienie stałych implikowanych (tylko górna granica), otrzymamy

i=1nci1icHn.

Jak teraz obliczyć c z c1,,cn ? Odpowiedź jest, uważam, że nie możemy: c musi wiązany dla wszystkich n ale mamy więcej ci jak n rośnie. Nic o nich nie wiemy; może bardzo zależeć od , więc nie możemy założyć ograniczenia: skończone może nie istnieć. i cciic

Ponadto istnieje subtelna kwestia, która zmienna przechodzi w nieskończoność po lewej stronie - czy ? Obie? Jeśli (ze względu na kompatybilność), jakie jest znaczenie , wiedząc, że ? Czy to oznacza nie tylko ? Jeśli tak, nie możemy powiązać sumy lepiej niż .n n Θ ( 1 / i ) 1 i n Θ ( 1 ) Θ ( n )innΘ(1/i)1inΘ(1)Θ(n)

Gdzie nas to opuściło? Czy to rażący błąd? Subtelny? Czy jest to tylko zwykłe nadużycie notacji i nie powinniśmy patrzeć znaków podobny do tego z kontekstu? Czy możemy sformułować (rygorystycznie) prawidłową zasadę do oceny (pewnych) sum terminów Landaua?=

Myślę, że główne pytanie brzmi: co to jest ? Jeśli uznamy, że jest stała (ponieważ mieści się w zakresie sumy), możemy łatwo zbudować kontrprzykłady. Jeśli to nie jest stałe, nie mam pojęcia, jak to odczytać.i

Raphael
źródło
2
To pytanie na temat matematyki.SE jest dobrą lekturą na temat arytmetyki ogólnie pojęć Landaua.
Raphael
4
ΘC = max ( c 1 , c 2 , , c n )c=min(c1,c2,,cn)C=max(c1,c2,,cn)
5
Trzymaj się, Bucky. Nie napisałem żadnego streszczenia z Theta. Napisałem wznowienie z Theta w nim. Czy naprawdę interpretujesz wznowienie „ ” jako coś innego niż „Istnieje funkcja tak, że "? t(n)=Θ(1/n)+t(n1)t ( n ) = f ( n ) + t ( n - 1 )fΘx(x1/x)t(n)=f(n)+t(n1)
JeffE
4
@Raphael Nie, powtórzenie nie jest matematycznie takie samo jak suma, właśnie z tego powodu, który opisujesz ! Nawrót zawiera dokładnie jeden termin Theta, który jednoznacznie odnosi się do pojedynczej funkcji.
JeffE
2
To nie jest bardzo intuicyjne - zdecydowanie się nie zgadzam, ale myślę, że to kwestia gustu i doświadczenia.
JeffE,

Odpowiedzi:

5

Wygląda mi dobrze w następującej konwencji:

to wygodna notacja dlaSn=k=1nΘ(1/k)

Istnieje (jako x ) takie, żef(x)Θ(1/x)x

.Sn=k=1nf(k)

Zatem (lub z notacją w tej odpowiedzi c k ), którą otrzymujesz, tak naprawdę nie są zależne od k .cickk

Zgodnie z tą interpretacją, prawdą jest, że .Sn=Θ(Hn)

W rzeczywistości, w odpowiedzi Jeffa, pokazuje on, że gdzie f Θ ( 1 / k ) , więc jest to zgodne z powyższą interpretacją.T(k+1)=f(k)+T(k)fΘ(1/k)

Zamieszanie wydaje się wynikać z mentalnego „rozwijania” i zakładania różnych funkcji dla każdego wystąpienia Θ ...Θ

Aryabhata
źródło
Jup, ale każdy może mieć swoją funkcję i być stały. Konwencja ta działa więc tylko w kontekście, to znaczy, jeśli wiemy, że terminy Landaua wynikają z nieco „jednolitej” ( wk i n ) definicji sum. Θ kn
Raphael
2
@Raphael: Wydaje bezsensowne rozwinąć, a następnie pozostawić inny : stałe wtedy zależą od zmiennej! i staje się niepoprawnym użyciem Θ , zakładając, że zmienna Θ to i (lub k w powyższej odpowiedzi). Nawet jeśli założymy, że zmienna ma wartość n , nadal wydaje mi się ona bez znaczenia. fiΘΘikn
Aryabhata,
3
W zasadzie każdy może mieć własną stałą, ale w szczególnym kontekście opisujesz , to jasne, że każdy Θ ma nie mieć swój własny stały. ΘΘ
JeffE
2
@JeffE: Racja. Możemy mieć wielokrotność z własnymi stałymi, o ile stałe są naprawdę stałe :-)Θ
Aryabhata
1
@JeffE Dlaczego więc nie napiszesz, co masz na myśli, ale wolisz coś niejednoznacznego / niewłaściwego? Zauważ, że moja zaktualizowana odpowiedź teraz proponuje sposób, aby to zrobić. Byłbym wdzięczny za komentarze na ten temat; przegłosowanie bez powodu nie pomaga mi zrozumieć, dlaczego ludzie wydają się odrzucać mój punkt widzenia.
Raphael
1

Myślę, że rozwiązałem problem. Zasadniczo: użycie terminów Landau oddziela zmienną funkcji summand od zmiennej bieżącej sumy. Nadal (chcemy) odczytać je jako identyczne, dlatego zamieszanie.

Aby formalnie go rozwinąć, co robi

Sni=1nΘ(f(i))(1)

prawdziwe znaczenie? Teraz zakładam, że te niech ja - nie n - do nieskończoności; jeśli pozwolimy n , każda taka suma będzie oceniana na Θ ( n ) (jeśli sumy są niezależne od n, a zatem stałe), co jest wyraźnie błędne. Oto pierwsza gratka, którą mamy do prymitywnych rzeczy: jestem związany (i stały) wewnątrz sumy, ale wciąż pozwalamy jej przejść do nieskończoności?ΘinnΘ(n)ni

Tłumacząc (dla górnej granicy dolna granica działa podobnie), otrzymujemy(1)

f1,,fnΘ(f). Sni=1nfi(i)

Teraz jest jasne, że podsu- i parameter- i są oddzielone: możemy łatwo zdefiniować f I tak, że oni używają I jako stała. W przykładzie z pytania możemy zdefiniować f i ( j ) = i 1iifiii miećfi(j)=i1jΘ(1/j)

i=0nfi(i)"="i=0nΘ(1/j)=i=0nΘ(1/i)

ale pierwotna suma wyraźnie nie daje wartości czegoś w . Teraz wymiany j na I - co jest tylko zmiana nazwy - w Θ może czuć się dziwnie, bo ja nie jest niezależna od n wzgl. suma, ale jeśli sprzeciwiamy się temu teraz , nigdy nie powinniśmy używać i wewnątrz Θ (ponieważ to ma tę samą dziwność).Θ(Hn)=Θ(logn)jiΘiniΘ

Zauważ, że nawet nie wykorzystać, że może również zależeć od n .fin

Podsumowując, proponowana tożsamość jest fałszywa. Możemy oczywiście uzgodnić konwencje dotyczące sposobu odczytywania takich kwot, jak skrót rygorystycznych obliczeń. Jednak takie konwencje będą niezgodne z definicją terminów Landaua (wraz z ich normalnym nadużywaniem), niemożliwe do prawidłowego zrozumienia bez kontekstu i przynajmniej wprowadzające w błąd (dla początkujących) - ale ostatecznie jest to kwestia gustu (i bezwzględności) ?).

Przyszło mi do głowy, że możemy również napisać dokładnie to , co mamy na myśli i nadal korzystać z wygody warunków Landau. My wiemy , że wszystkie summands pochodzą z jednej wspólnej funkcji, co oznacza, że asymptotyczne granice używać tych samych stałych. Jest to tracone, gdy dodamy do sumy. Więc nie umieszczajmy go tam i nie piszmyΘ

i=1n2i1i(i+1)Θ(i=1n1i)=Θ(Hn)

zamiast. Umieszczenie poza sumą powodujeΘ

  • stwierdzenie poprawne matematycznie i
  • prosty termin wewnątrz na możemy łatwo radzić sobie z (co jest to, co chcemy tutaj, prawda?).Θ

Wydaje mi się więc, że jest to zarówno poprawny, jak i użyteczny sposób spisania sprawy i dlatego powinien być preferowany nad używaniem symboli Landau wewnątrz sumy, gdy mamy na myśli je poza nią.

Raphael
źródło
Rozważ . Mogę zdefiniować f i ( n ) = i (używając i jako stałej), dlatego n i i = n i O ( 1 ) = O ( n ) według twojego rozumowania, prawda? Ale ta suma to O ( n 2 ) . inifi(n)=iiini=inO(1)=O(n)O(n2)
Xodarap,
@Xodarap: Według mojego rozumowania zwijanie sumę jak to nie działa, ponieważ sprzężenie wewnętrzna s (które nie są sprzężone z I ani n ) z n ma zmiany sensu. Θinn
Raphael
Nie łączę ich z , po prostu używam faktu, że n i k = n k . (I przypuszczam także fakt, że n O ( f ) = O ( n f ) .)nink=nknO(f)=O(nf)
Xodarap
@Xodarap: Ale nie ma jednego , ale jeden f I za do składnika. Jeśli podstawowe funkcje f i używają i (jako stałego współczynnika), musisz to rozwinąć, a suma jest poprawna. Tak więc, z mojego rozumowania, proponowana przez ciebie reguła sumowania nie działa podczas pisania. ffifii
Raphael
Jeśli mam sekwencję , każda z nich to O ( 1 ) (pod warunkiem, że nie rosną one w miarę postępu serii). Czy powiedziałbyś, że dodanie n z nich wygeneruje sumę O ( n ) ? Jaka jest różnica, jeśli zamiast stałych opisuję je jako funkcje stałe f 1 ( x ) = 5 , f 2 ( x ) = 1 , ? 5,1,3,2,O(1)nO(n)f1(x)=5,f2(x)=1,
Xodarap
-1

If each ci is a constant, then there is some cmax such that ci:cicmax. So clearly

cif(i)cmaxf(i)=cmaxf(i)=O(f(i))
Same idea for little o.

I think the problem here is that 1/iΘ(1). It's o(1/n) (since there is no ϵ such that i:1/i>ϵ), so the overall sum will be no(1/n)=o(1). And each term is O(1), meaning the overall sum is O(n). So no tight bounds can be found from this method.

I think your questions are:

  1. Is bounding inf(i) by doing the little o of each term and the big o of each term then multiplying by n acceptable? (Answer: Yes)
  2. Is there a better method? (Answer: Not that I know of.)

Hopefully someone else can answer #2 more clearly.

EDIT: Looking over your question again, I think you are asking

inΘ(f(n))=Θ(nf(n)) ?

To which the answer is yes. In this case though, each term is not Θ of anything, so that approach falls apart.

EDIT 2: You say "consider ci=i, then there is no cmax". Unequivocally true. If you say that ci is a non-constant function of i, then it is, by definition, non-constant.

Note that if you define it this way, then cii is not Θ(i), it's Θ(i2). Indeed, if you define "constant" to mean "any function of i", then any two functions of i differ by a "constant"!

Perhaps this is an easier way to think of it: we have the sequence 1,12,,1n. What's the smallest term in this sequence? Well, it will depend on n. So we can't consider the terms as constant.

(Computer scientists are often more familiar with big-O, so it might be more intuitive to ask if 1,,n has a constant largest term.)

To provide your proof: let f(imin) be the smallest value of f(i) in the range 1,,n. Then

inf(i)inf(imin)=nf(imin)=no(f(n))

An analogous proof can be made for the upper bound.

Lastly, you write that Hn=o(n) and as proof give that Hn=Θ(logn). This is in fact a counter-proof: if Hn is "bigger" than n, then it can't be "smaller" than logn, which is what's required for it to be Θ(logn). So it can't be o(n).

Xodarap
źródło
1) "..then there is some cmax such that..." -- no, there is not. Consider (ci)iN with ci=i. 2) "I don't think Hn=o(n)" -- HnΘ(lnn) 3) 1/iΘ(1). It's o(1/n) -- That is wrong. As 1/i1/n, 1/iΩ(1/n). 4) "(Answer: Yes)" -- as long as I don't see a formal proof of that fact, I don't believe it. Besides, "multiplying by n" is not what happened in the exhibited case.
Raphael
I think you are missing the point. Your proof does not work because we may not have the same f in every summand, and not even the same for the same summand but different n. I think I nailed it down; I will compose an answer shortly.
Raphael
I still don't understand what you're saying, so I'm glad you figured it out :-)
Xodarap