Somma dei termini di Landau rivisitati


10

Ho fatto una domanda (seed) sulle somme dei termini di Landau prima , cercando di valutare i pericoli dell'abuso della notazione asintotica in aritmetica, con un successo misto.

Ora, qui il nostro guru della ricorrenza JeffE fa essenzialmente questo:

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

Mentre il risultato finale è corretto, penso che sia sbagliato. Perché? Se aggiungiamo tutta l'esistenza delle costanti implicite (solo il limite superiore), abbiamo

i=1nci1icHn .

Ora come calcoliamo da ? La risposta è, credo, che non possiamo: deve limitarsi a tutto ma otteniamo più man mano che cresce. Non ne sappiamo nulla; può benissimo dipendere da , quindi non possiamo assumere un limite: un finito potrebbe non esistere.cc1,,cncn cinciic

Inoltre, c'è questo sottile problema di quale variabile va all'infinito sul lato sinistro: o ? Tutti e due? Se (per motivi di compatibilità), qual è il significato di , sapendo che ? Non significa solo ? In tal caso, non possiamo limitare la somma meglio di .innΘ(1/i)1inΘ(1)Θ(n)

Quindi, dove ci lascia? È un errore palese? Uno sottile? O è solo il solito abuso della notazione e non dovremmo guardare segni come questo fuori dal contesto? Possiamo formulare una regola (rigorosamente) corretta per valutare (determinate) somme dei termini di Landau?=

Penso che la domanda principale sia: che cosa sono ? Se lo consideriamo costante (poiché rientra nell'ambito della somma) possiamo facilmente creare controesempi. Se non è costante, non ho idea di come leggerlo.i


2
Questa domanda su math.SE è una buona lettura sull'aritmetica con i termini di Landau in generale.
Raffaello

4
Dal collegamento che hai fornito, l'uguaglianza può essere vista come una relazione di sottoinsieme o una relazione "è in" (cioè ). Per stai solo dicendo che è limitato sopra e sotto da una costante. Perché non scegliere e ? Θc=min(c1,c2,,cn)C=max(c1,c2,,cn)
user834,

5
Aspetta lì, Bucky. Non ho scritto alcuna somma con un Theta. Ho scritto una ricorrenza con un Theta in esso. Interpreti davvero la ricorrenza " " come qualcosa di diverso da "Esiste una funzione tale che "? f Θ x ( x 1 / x ) t ( n ) = f ( n ) + t ( n - 1 )t(n)=Θ(1/n)+t(n1)fΘx(x1/x)t(n)=f(n)+t(n1)
JeffE,

4
@Raphael No, la ricorrenza non è matematicamente uguale alla somma, proprio per il motivo che descrivi! La ricorrenza ha esattamente un termine Theta in esso, che si riferisce inequivocabilmente a una singola funzione.
JeffE,

2
Non è molto intuitivo - non sono assolutamente d' accordo, ma penso che sia una questione di gusti ed esperienze.
JeffE,

Risposte:


5

Mi sembra giusto nella seguente convenzione:

Sn=k=1nΘ(1/k) è una notazione conveniente per

C'è una (come ) tale chex f(x)Θ(1/x)x

Sn=k=1nf(k) .

Quindi il (o con la notazione in questa risposta ) che ottieni, non dipende realmente da .c k kcickk

Sotto questa interpretazione, è vero che .Sn=Θ(Hn)

In effetti, nella risposta di Jeff, mostra che dove , quindi è coerente con l'interpretazione di cui sopra.f Θ ( 1 / k )T(k+1)=f(k)+T(k)fΘ(1/k)

La confusione sembra derivare dallo "srotolamento" mentale del e dalla presunzione di funzioni diverse per ogni ricorrenza di ...ΘΘ


Jup, ma ogni può avere la sua funzione e costante. Quindi questa convenzione funziona solo con il contesto, cioè se sappiamo che i termini Landau derivano da una definizione un po '"uniforme" (in e ) delle sintesi. k nΘ kn
Raffaello

2
@Raphael: Sembra insignificante srotolarsi e quindi consentire diversi : le costanti dipenderanno quindi dalla variabile! e diventa un uso errato di , supponendo che la variabile sia (o nella risposta sopra). Anche se assumiamo che la variabile sia , per me sembra ancora insignificante. Θ Θ i k nfiΘΘikn
Aryabhata,

3
In linea di principio, ogni può avere una sua costante, ma nel particolare contesto che descrivi , è chiaro che ogni non ha una sua costante. ΘΘΘ
JeffE,

2
@JeffE: Giusto. Possiamo avere multipli con le loro costanti, purché le costanti siano davvero costanti :-)Θ
Aryabhata,

1
@JeffE Allora perché non scrivi semplicemente cosa intendi, ma preferisci qualcosa di ambiguo / sbagliato? Nota che la mia risposta aggiornata ora propone un modo per farlo. Gradirei commenti su questo; i voti negativi senza motivo non mi aiutano a capire perché le persone sembrano rifiutare il mio punto.
Raffaello

1

Penso di aver risolto il problema. In sostanza: l'uso dei termini Landau disaccoppia la variabile della funzione summand dalla variabile corrente della somma. Tuttavia, li vogliamo ancora leggere come identici, quindi la confusione.

Per svilupparlo formalmente, cosa fa

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

veramente meschino? Ora presumo che questi lasciare - non - all'infinito; se lasciamo , ogni somma viene valutata in (se i riepiloghi sono indipendenti da e quindi costanti) il che è chiaramente sbagliato. Ecco un primo omaggio a cui noi dobbiamo grezze cose: sono legato (e costante) all'interno della somma, ma lo lasciamo ancora andare all'infinito?i n n Θ ( n ) n iΘinnΘ(n)ni

Traducendo (per il limite superiore, il limite inferiore funziona in modo simile), otteniamo(1)

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

Ora è chiaro che la somma e il parametro sono disaccoppiati: possiamo facilmente definire modo che utilizzino come costante. Nell'esempio della domanda, possiamo definire e averei f i i f i ( j ) = i 1iifiifi(j)=i1jΘ(1/j)

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

ma la somma originale chiaramente non valuta qualcosa in . Ora lo scambio di per - che è solo una ridenominazione - nel può sentire strano perché non è indipendente dal resp. la somma, ma se ci opponiamo a questo ora , non avremmo mai dovuto usare all'interno di in primo luogo (poiché ciò detiene la stessa stranezza).j i Θ i n i ΘΘ(Hn)=Θ(logn)jiΘiniΘ

Nota che non abbiamo nemmeno sfruttato il fatto che potrebbe anche dipendere da . nfin

Per concludere, l'identità proposta è falsa. Naturalmente, possiamo concordare convenzioni su come leggere tali somme come abbreviazione di calcoli rigorosi. Tuttavia, tali convenzioni saranno incompatibili con la definizione dei termini di Landau (insieme al loro abuso normale), impossibile da comprendere correttamente senza contesto e fuorviante (almeno per i principianti) - ma che alla fine è una questione di gusti (e di spietatezza ?).

Mi è venuto in mente che possiamo anche scrivere esattamente cosa intendiamo e fare ancora uso della comodità dei termini di Landau. Noi sappiamo che tutti gli addendi provengono da una funzione comune, il che implica che i limiti asintotici utilizzano le stesse costanti. Questo viene perso quando mettiamo il nella somma. Quindi non mettiamolo lì e scriviamoΘ

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

anziché. Inserendo al di fuori della somma si ottieneΘ

  • una dichiarazione matematicamente corretta e
  • un semplice termine all'interno del si può facilmente fare con (che è quello che vogliamo qui, giusto?).Θ

Quindi mi sembra che questo sia un modo sia corretto sia utile per scrivere la questione, e quindi dovrebbe essere preferito usare i simboli Landau all'interno della somma quando li intendiamo al di fuori di essa.


Considera . Posso definire (usando come costante), quindi secondo il tuo ragionamento, giusto? Ma questa somma è . f i ( n ) = i i n i i = n i O ( 1 ) = O ( n ) O ( n 2 )inifi(n)=iiini=inO(1)=O(n)O(n2)
Xodarap,

@Xodarap: Con mio ragionamento, crollare la somma come questo non funziona, perché accoppiare l'interno s (che non vengono accoppiati né ) per non cambiare il significato. i n nΘinn
Raffaello

Non li sto accoppiando ad , sto solo usando il fatto che . (E suppongo anche che .)n i k = n k n O ( f ) = O ( n f )nink=nknO(f)=O(nf)
Xodarap,

@Xodarap: Ma non hai una , ma una per summand. Se le funzioni sottostanti usano (come fattore costante), devi espanderlo e la somma finisce per essere corretta. Quindi, chiaramente, secondo il mio ragionamento la regola di somma che proponi non funziona mentre scrivi. f i f i iffifii
Raffaello

Se ho una sequenza , ognuno di questi sono (purché non aumentino con il progredire della serie). Diresti che l'aggiunta di genererà una somma ? Qual è la differenza se invece di essere costanti le descrivo come funzioni costanti ? O ( 1 ) n O ( n ) f 1 ( x ) = 5 , f 2 ( x ) = 1 , 5,1,3,2,O(1)nO(n)f1(x)=5,f2(x)=1,
Xodarap,

-1

Se ogni è una costante, allora c'è qualche tale che . Quindi chiaramente Stessa idea per poco o.c m a xc i : c ic m a xc i f ( i ) c m a x f ( i ) = c m a x f ( i ) = O ( f ( i ) )cicmaxci:cicmax

cif(i)cmaxf(i)=cmaxf(i)=O(f(i))

Penso che il problema qui sia che . È (poiché non esiste tale che ), quindi la somma complessiva sarà . E ogni termine è , il che significa che la somma complessiva è . Quindi non è possibile trovare limiti stretti da questo metodo.1/iΘ(1)o(1/n)ϵi:1/i>ϵno(1/n)=o(1)O(1)O(n)

Penso che le tue domande siano:

  1. Limitare facendo la piccola o di ogni termine e la grande o di ogni termine quindi moltiplicando per accettabile? (Risposta: Sì)inf(i)n
  2. C'è un metodo migliore? (Risposta: non che io sappia.)

Spero che qualcun altro possa rispondere più chiaramente al n. 2.

EDIT: guardando di nuovo la tua domanda, penso che tu lo stia facendo

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

A cui la risposta è sì. In questo caso, tuttavia, ogni termine non è di nulla, quindi l'approccio cade a pezzi.Θ

EDIT 2: dici "considera , quindi non c'è ". Inequivocabilmente vero. Se dici che è una funzione non costante di , allora è, per definizione, non costante.ci=icmaxcii

Nota che se lo definisci in questo modo, allora non è , è . In effetti, se si definisce "costante" per indicare "qualsiasi funzione di ", allora ogni due funzioni di differiscono per una "costante"!ciiΘ(i)Θ(i2)ii

Forse questo è un modo più semplice di pensarci: abbiamo la sequenza . Qual è il termine più piccolo in questa sequenza? Bene, dipenderà da . Quindi non possiamo considerare i termini come costanti.1,12,,1nn

(Gli informatici hanno spesso una maggiore familiarità con big-O, quindi potrebbe essere più intuitivo chiedere se ha un termine più ampio costante.)1,,n

Per fornire la prova: sia il valore più piccolo di nell'intervallo . Quindif(imin)f(i)1,,n

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

Una prova analoga può essere fatta per il limite superiore.

Infine, scrivi che e come prova danno . Questa è in realtà una contro-prova: se è "più grande" di , allora non può essere "più piccolo" di , che è ciò che è richiesto per essere . Quindi non può essere .Hn=o(n)Hn=Θ(logn)HnnlognΘ(logn)o(n)


1) "..quindi c'è qualche tale che ..." - no, non c'è. Prendi in considerazione con . 2) "Non credo " - 3) . È - È sbagliato. Come , . 4) "(Risposta: Sì)" - fintanto che non vedo una prova formale di questo fatto, non ci credo. Inoltre, "moltiplicare per " non è quello che è successo nel caso esposto. ( c i ) i N c i = i H n = o ( n ) H nΘ ( ln n ) 1 / i Θ ( 1 ) o ( 1 / n ) 1 / i 1 / n 1 / i Ω ( 1 / n )cmax(ci)iNci=iHn=o(n)HnΘ(lnn)1/iΘ(1)o(1/n)1/i1/n1/iΩ(1/n)n
Raffaello

Credo che tu non abbia colto il senso. La tua prova non funziona perché potremmo non avere la stessa in ogni summand, e nemmeno la stessa per lo stesso summand ma diverso . Penso di averlo inchiodato; Comporrò una risposta a breve. nfn
Raffaello

Non capisco ancora cosa stai dicendo, quindi sono contento che tu l'abbia capito :-)
Xodarap,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.