Esercizio complessità asintotica

Bonham1
Ciao ragazzi, ho svolto il seguente esercizio, e vorrei qualche gentile parere sulla mia soluzione, se è corretta o meno.


Si dimostri per esteso la verità o la falsità della seguente affermazione:
Se $z(n)=\Theta(n)$ e $g(n) = \Theta(2^n)$, allora esistono due costanti $k_1$ e $k_2$ tali che valga

$2^{k_1 z(n)} = \Theta(g(n/k_2))$


Mia dimostrazione:


Assunta vera l'ipotesi, abbiamo che $\exists c_1\mbox{, }c_2\mbox{, }n_0 > 0 \mbox{ : } \forall n \geq n_0$,

$ c_1 \cdot n \leq z(n) \leq c_2 \cdot n $

applicando l'esponenziale in base $2$:

$ 2^{c_1 \cdot n} \leq 2^{z(n)} \leq 2^{c_2 \cdot n}$

poiché $c_1>0$ e $c_2>0$, vale:

$ 2^{c_1 \cdot n} \leq 2^n \leq 2^{z(n)} \leq 2^n \leq 2^{c_2 \cdot n}$

per cui $2^{z(n)} = \Theta(2^{n})$.

Poiché la funzione $\Theta$ è simmetrica, abbiamo che $2^n = \Theta(g(n))$, e poiché $\Theta$ è anche transitiva, allora:

$ 2^{z(n)} = \Theta(g(n)) $

che equivale a

$ 2^{k_1 \cdot z(n)} = \Theta(g(n/k_2)) $

ponendo $k_1 = k_2 = 1$. Abbiamo trovato le costanti, pertanto l'affermazione è vera.


Risposte
Bonham1
Non c'è nessuno che possa dare un'occhiatina veloce?

Mi basta anche solo che mi diciate se è sbagliato o corretto.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.