Esercizio complessità asintotica
Ciao ragazzi, ho svolto il seguente esercizio, e vorrei qualche gentile parere sulla mia soluzione, se è corretta o meno.
Mia dimostrazione:
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
Non c'è nessuno che possa dare un'occhiatina veloce?
Mi basta anche solo che mi diciate se è sbagliato o corretto.
Mi basta anche solo che mi diciate se è sbagliato o corretto.