###### tags: `Matematyka Dyskretna M` # Lista 1 ## 1 a) $a_n = \frac{2n^{81,2} + 3n^{45,1}}{4n^{23,3} + 5n^{11,6}} = \frac{2n^{57.9} + 3n^{21.8}}{4 + \frac{5}{n^{11.7}}} = O(n^{57.9})$, czyli k = 57.9 b) $a_n = 5^{log_2n} = 2^{log_2nlog_25} = n^{log_25} = O(n^{log_25})$, czyli k = $log_25$ c) $a_n = (1,001^n)$ Z definicji notacji dużego O $\lim\limits_{n \to \infty} \frac{1,001^n}{n^k} < \infty$ $\lim\limits_{n \to \infty} \frac{1,001^n}{n^k} = \lim\limits_{n \to \infty} e^{ln\frac{1,001^n}{n^k}} = e^{\lim\limits_{n \to \infty}ln\frac{1,001^n}{n^k}} = e^{\lim\limits_{n \to \infty}ln1,001^n - lnn^k} = e^{\lim\limits_{n \to \infty}n(ln1,001 - \frac{k*lnn}{n})} = +\infty$ Czyli nie istnieje takie k $\in \mathbb{N}$, bo niezależnie od wyboru k, $\frac{1,001^n}{n^k}$ dąży do $+\infty$ d) $a_n = n*log^3n$ $\lim\limits_{n \to \infty} \frac{n*log^3n}{n^k} < \infty$ $\lim\limits_{n \to \infty} \frac{n*log^3n}{n^k} = \lim\limits_{n \to \infty} \frac{log^3n}{n^{k-1}}\stackrel{\mbox{l`H}}{=}\lim\limits_{n \to \infty}\frac{\frac{3log^2n}{n}}{(k-1)*n^{k-2}} =\lim\limits_{n \to \infty}\frac{3log^2n}{(k-1)*n^{k-1}} \stackrel{\mbox{l`H}}{=}\lim\limits_{n \to \infty}\frac{\frac{6logn}{n}}{(k-1)^2*n^{k-2}} =\lim\limits_{n \to \infty} \frac{6logn}{(k-1)^2*n^{k-1}}\stackrel{\mbox{l`H}}{=}\lim\limits_{n \to \infty}\frac{6}{(k-1)^3*n^{k-1}} =\frac{6}{(k-1)^3}*\lim\limits_{n \to \infty} \frac{1}{n^{k-1}}$ Czyli $\forall_{k>1}$ $\lim\limits_{n \to \infty} \frac{n*log^3n}{n^k} < \infty$ Czyli nie istnieje najmniejsze k takie, że $a_n= O(n^k)$ ## 2 1. $0,99^n$ - funkcja malejąca 2. $(1 + \frac{1}{n})^n$ - dąży do e 3. $log{n}$ - logarytm wolniej dąży do $\infty$ niż n 4. n - wolniej dąży niż $logn^n$, bo $logn^n$ = $nlogn$ 5. $logn^n$ - rośnie wolnej niż $3^{logn}$, ponieważ $3^{logn}$ = $(2^{log_23})^{logn} = 2^{log_23*logn} = n^{log_23}$, a potęgowa funkcja rośnie szybciej niż $nlogn$ 6. $3^{logn}$ - rośnie wolnej niż $n^2$, bo $3^{logn}= n^{log_23}$, a $log_23 < 2$ 7. $n^2$ - rośnie wolniej niż $n^{logn}$, bo $n^2$ = $2^{2log_2n}$, a $n^{logn}$ = $2^{log_2n * logn}$ = $2^{log^2_2n}$ 8. $n^{logn}$ - rośnie wolniej niż $2^{\sqrt{n}}$, bo $n^{logn}$ = $2^{log^2_2n}$, a $logarytm^2$ rośnie wolniej niż $\sqrt{n}$ 9. $2^{\sqrt{n}}$- rośnie wolniej niż $1,01^n$, bo $1,01^n$ = $2^{nlog_21,01}$ 10. $1,01^n$ - rośnie wolniej niż $(logn)^n$, bo $(logn)^n$ = $2^{nlog_2(log_2n)}$, a z podpunktu 9 $1,01^n$ = $2^{nlog_21,01}$ 11. $(logn)^n$ - rośnie najszybciej ## 6 $e^{\frac{1}{n}} = \displaystyle\sum_{i=0}^{\infty} \frac{\frac{1}{n^i}}{i!} = 1 + \frac{1}{n} + \displaystyle\sum_{i=2}^{\infty}\frac{1}{n^i*i!} \leq 1 + \frac{1}{n} + \frac{1}{n^2}\displaystyle\sum_{i=2}^{\infty}\frac{1}{i!} \leq 1 + \frac{1}{n} + \frac{1}{n^2}\displaystyle\sum_{i=2}^{\infty}\frac{1}{2^i} \leq 1 + \frac{1}{n} + \frac{1}{n^2}*\frac{1}{2} < 1 + \frac{1}{n} + \frac{1}{n^2} = 1 + \frac{1}{n} + O(\frac{1}{n^2})$ Podczas rozwiązywania tego zadania korzystałem z faktu, $f(x)<=g(x)$ oraz $g(x) = O(\frac{1}{n^2}) \Rightarrow f(x) = O(\frac{1}{n^2})$ ## 7 Zakładamy, że znalezenie minimum z ciągu n-elementowego zajmuje n instrukcji. Wybieramy najmniejszy element w n instrukcji, kolejny w n-1 instrukcji ... ostatni w 1 instrukcje. **Ilość instrukcji** $= n + (n-1) + (n-2) + ... + (1) = \frac{n*(n+1)}{2} < 1 * n^2$, czyli algorytm działa w czasie $O(n^2)$ ## 8 \begin{equation} \frac{ \begin{array}[b]{r} \left( x_1 x_2 ... x_n\right)\\ + \left( x'_1 x'_2 ... x'_n\right) \end{array} }{ \left(y_1 y_2 ... y_n\right) } \end{equation} W najgorszym przypadku będziemy musieli dodać n cyfr do n cyfr i dodatkowo dodać ewentualne "przeniesienia" cyfry jeden w przypadku gdy wynik wyjdzie nam >9. Wtedy wykonamy n + (n-1) operacji dodawania i jedno przepisanie liczby na samym końcu, co daje dam 2n operacji czyli czasowo jest to $O(n)$ \begin{equation} \frac{ \begin{array}[b]{r} \left( x_1 x_2 ... x_n\right)\\ \times \left( x'_1 x'_2 ... x'_n\right) \end{array} }{ \left(y_{11} y_{12} ... y_{1n}\right)\\ \left(y_{21} y_{22} ... y_{2n}\right)\\ \left(...\right)\\ +\left(y_{n1} y_{n2} ... y_{nn}\right) } \end{equation} W przypadku mnożenia musimy dodać n przeniesień, wymnożyć n razy cyfry, oraz wykonać operacje dodawania n razy n - długości liczb. Czyli $T(n) = n + n + n * n = n^2 + 2n = O(n^2)$ ## 10 Policzmy całkę nieoznaczoną $\int\frac{1}{x}\mathrm{d}x = lnx$ oraz $\int\frac{1}{x + 1}\mathrm{d}x = ln(x + 1)$ Pierwsza całka ogranicza nam sumę z góry, druga - z dołu $\int_0^n \frac{1}{x + 1}\mathrm{d}x = ln(n + 1) - ln(1) = ln(n + 1) \leq \displaystyle\sum_{k=1}^n \frac{1}{k} =1 + \displaystyle\sum_{k=2}^n \frac{1}{k} \leq 1 + \int_1^n \frac{1}{x}\mathrm{d}x = 1 + ln(n) - ln1 = 1 + ln(n)$ ## 14 Teza: $\lfloor{\sqrt{x}}\rfloor = \lfloor{\sqrt{\lfloor{x}\rfloor}}\rfloor$ Z własności podłogi: Jeżeli $\lfloor\sqrt{\lfloor{x}\rfloor}\rfloor = n$ to $n <= \sqrt{\lfloor{x}\rfloor} < n+1$ / $\uparrow^2$ (strony nierówności są dodatnie) $n^2 <= \lfloor{x}\rfloor < (n + 1)^2$ (x >=0, więc moduł z liczby zwraca nią samą) ($n \in \mathbb{N} \Rightarrow n^2 \in \mathbb{N}$ oraz $n+1 \in \mathbb{N} \Rightarrow (n+1)^2 \in \mathbb{N}$) Korzystając z tego, że jeśli $z \in \mathbb{N}$ to z <= $\lfloor{y}\rfloor < z + 1 \Leftrightarrow z <= y < z + 1$ $n^2 <= x < (n + 1)^2$ / $\sqrt{}$ (wszystkie strony są dodatnie więc domyślnie wartość bezwzględna jest zdjęta) $n <= \sqrt{x} < n + 1$ Z własności podłogi n = $\lfloor\sqrt{x}\rfloor$ czyli n = $\lfloor\sqrt{\lfloor{x}\rfloor}\rfloor = \lfloor\sqrt{x}\rfloor$ $\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\blacksquare$