[Algoritmi] Ricorrenza con componente non ricorsiva fratta

Messaggioda Leyxargon » 06/11/2019, 13:18

Salve a tutti, mi sono bloccato durante lo svolgimento della seguente ricorrenza.

\begin{equation} \nonumber
T(n)=\begin{cases}
T(n-1)+\frac{2}{n} & \text{$n\geq 2$}.\\
O(1) & \text{$n < 2$}.
\end{cases}
\end{equation}

Iterando ottengo
\begin{align*}
T(n) & = T(n-1) + \frac{2}{n} \\
& = T(n-2) + \frac{2}{n} + \frac{2}{n-1} \\
& = T(n-3) + \frac{2}{n} + \frac{2}{n-1} + \frac{2}{n-2}\\
& = \dots \\
& = T(n-i) + \sum_{k=0}^{i-1} \frac{2}{n-k} \text{, con } n - i = 1 \text{, quindi } i = n - 1\\
\\
T(n) & = \sum_{k=0}^{n-2} \frac{2}{n-k}
\end{align*}

Arrivato davanti a questa sommatoria non riesco ad andare avanti, innanzitutto mi chiedo se ci sono dei passaggi che ho sbagliato, altrimenti come posso risolvere?
Nel materiale didattico del mio docente c'è questa serie armonica che viene trasformata nel modo seguente
\[ \sum_{k=1}^{n} \frac{1}{k} = \ln n + O(1)\]
ma nel mio caso non so come trattare il denominatore $n-k$ della funzione.

Grazie a tutti!
Leyxargon
Starting Member
Starting Member
 
Messaggio: 2 di 22
Iscritto il: 06/11/2019, 12:44

Re: [Algoritmi] Ricorrenza con componente non ricorsiva fratta

Messaggioda probid » 06/11/2019, 20:31

$ \sum_{k=0}^{n-2} \frac{1}{n-k} = \frac{1}{n} + \ldots + \frac{1}{2} = \sum_{k=2}^{n} \frac{1}{k} $ :)

Ciao!
probid
New Member
New Member
 
Messaggio: 29 di 82
Iscritto il: 01/10/2010, 19:30

Re: [Algoritmi] Ricorrenza con componente non ricorsiva fratta

Messaggioda Leyxargon » 06/11/2019, 21:12

probid ha scritto:$ \sum_{k=0}^{n-2} \frac{1}{n-k} = \frac{1}{n} + \ldots + \frac{1}{2} = \sum_{k=2}^{n} \frac{1}{k} $ :)

Ciao!

Ti ringrazio per la risposta!
Dunque ricapitolando, la soluzione della ricorrenza dovrebbe essere così, giusto?
\[ T(n) = \sum_{k=0}^{n-2} \frac{2}{n-k} = \frac{1}{n} + \ldots + \frac{1}{2} = \sum_{k=2}^{n} \frac{1}{k} = \ln n + O(1) = O(\log n)\]
Attendo conferme e/o correzioni, grazie ancora!
Leyxargon
Starting Member
Starting Member
 
Messaggio: 3 di 22
Iscritto il: 06/11/2019, 12:44

Re: [Algoritmi] Ricorrenza con componente non ricorsiva fratta

Messaggioda probid » 06/11/2019, 23:41

Leyxargon ha scritto:$ \sum_{k=0}^{n-2} \frac{2}{n-k} = \frac{1}{n} + \ldots + \frac{1}{2} $


Il 2 non è che scompare, lo porti fuori per la proprietà distributiva delle sommatorie e quindi moltiplica le somme dopo.
Poi essendo una costante non cambia nulla in termini di complessità (potresti anche mettere tutto in $O()$ e non curartene affatto...), ma l'uguaglianza così com'è scritta non vale.

Ciao!
Ultima modifica di probid il 07/11/2019, 00:14, modificato 3 volte in totale.
probid
New Member
New Member
 
Messaggio: 30 di 82
Iscritto il: 01/10/2010, 19:30

Re: [Algoritmi] Ricorrenza con componente non ricorsiva fratta

Messaggioda Leyxargon » 06/11/2019, 23:55

probid ha scritto:
Leyxargon ha scritto:$ \sum_{k=0}^{n-2} \frac{2}{n-k} = \frac{1}{n} + \ldots + \frac{1}{2} $


Il 2 non è che scompare, lo porti fuori per la proprietà distributiva delle sommatorie e quindi moltiplica le somme dopo.
Poi essendo una costante non cambia nulla in termini di complessità (potresti anche mettere tutto in $O()$ e non curartene affatto...), ma l'uguaglianza così com'è scritta non vale.

Ciao!

Ok, capito. Senza dilungarmi in ulteriori dettagli, semplicemente affermo che $T(n) = \sum_{k=0}^{n-2} \frac{2}{n-k} = \frac{1}{n} + \ldots + \frac{1}{2} = \sum_{k=2}^{n} \frac{1}{k} = O(\log n)$

Ti ringrazio!
Leyxargon
Starting Member
Starting Member
 
Messaggio: 4 di 22
Iscritto il: 06/11/2019, 12:44


Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite