mirror of https://github.com/2martens/uni.git
224 lines
9.6 KiB
TeX
224 lines
9.6 KiB
TeX
\documentclass[10pt,a4paper,oneside,ngerman,numbers=noenddot]{scrartcl}
|
|
\usepackage[T1]{fontenc}
|
|
\usepackage[utf8]{inputenc}
|
|
\usepackage[ngerman]{babel}
|
|
\usepackage{amsmath}
|
|
\usepackage{amsfonts}
|
|
\usepackage{amssymb}
|
|
\usepackage{paralist}
|
|
\usepackage{gauss}
|
|
\usepackage{pgfplots}
|
|
\usepackage{textcomp}
|
|
\usepackage[locale=DE,exponent-product=\cdot,detect-all]{siunitx}
|
|
\usepackage{tikz}
|
|
\usetikzlibrary{matrix,fadings,calc,positioning,decorations.pathreplacing,arrows,decorations.markings}
|
|
\usepackage{polynom}
|
|
\polyset{style=C, div=:,vars=x}
|
|
\pgfplotsset{compat=1.8}
|
|
\pagenumbering{arabic}
|
|
\def\thesection{\arabic{section})}
|
|
\def\thesubsection{(\alph{subsection})}
|
|
\def\thesubsubsection{(\roman{subsubsection})}
|
|
\makeatletter
|
|
\renewcommand*\env@matrix[1][*\c@MaxMatrixCols c]{%
|
|
\hskip -\arraycolsep
|
|
\let\@ifnextchar\new@ifnextchar
|
|
\array{#1}}
|
|
\makeatother
|
|
|
|
\begin{document}
|
|
\author{Tronje Krabbe, Jim Martens (6420323)}
|
|
\title{Hausaufgaben zum 22. Oktober}
|
|
\subtitle{Gruppe 8}
|
|
\maketitle
|
|
\section{} %1
|
|
\subsection{} %a
|
|
$\frac{1}{n} \prec 1$, da man immer eine Konstante $c$ finden kann, für die ab einem $n$ alle weiteren Funktionswerte von $\frac{1}{n}$ unter $c \cdot \mathcal{O}(1)$ liegen.
|
|
|
|
$1 \prec \log\log n$, da der Logarithmus schneller wächst als eine konstante Funktion und jeder Logarithmus langsamer wächst als eine polynomielle Funktion. Der doppelte Logarithmus wächst noch langsamer als der einfache Logarithmus.
|
|
|
|
$\log\log n \prec \log n$, da der einfache Logarithmus schneller wächst als der doppelte Logarithmus.
|
|
|
|
$\log n \asymp \log(n^{3})$, da sich die beiden nur um einen konstanten Faktor $3$ unterscheiden.
|
|
|
|
$\log(n^{3}) \prec \log(n^{\log n})$, da $\frac{\log n \cdot \log n}{3 \cdot \log n}$ gegen unendlich geht.
|
|
|
|
$\log(n^{\log n}) \prec n^{0.01}$, da jeder Logarithmus langsamer wächst als eine polynomielle Funktion.
|
|
|
|
$n^{0.01} \prec \sqrt{n}$, da $\frac{n^{0.5}}{n^{0.01}}$ nach dem Kürzen gegen unendlich geht.
|
|
|
|
$\sqrt{n} \prec n \cdot \log n$, da $\frac{n \cdot \log n}{n^{0.5}}$ nach dem Kürzen gegen unendlich geht.
|
|
|
|
$n \cdot \log n \prec n^{8}$, da $\frac{n^{8}}{n \cdot \log n}$ nach dem Kürzen gegen unendlich geht, weil jeder Logarithmus langsamer wächst als jede polynomielle Funktion.
|
|
|
|
$n^{8} \prec 2^{n}$, da jede Exponentialfunktion schneller wächst als jede polynomielle Funktion.
|
|
|
|
$2^{n} \prec 8^{n}$, da $8 > 2$, womit $8^{n}$ klar ersichtlich schneller wächst als $2^{n}$.
|
|
|
|
$8^{n} \prec n!$, da $\frac{n \cdot (n-1) \cdot ... \cdot 3 \cdot 2 \cdot 1}{8 \cdot 8 \cdot ... \cdot 8 \cdot 8 \cdot 8}$ ganz offensichtlich gegen unendlich geht.
|
|
|
|
$n! \prec n^{n}$, da $\frac{n \cdot n \cdot n \cdot ... \cdot n \cdot n}{n \cdot (n-1) \cdot (n-2) \cdot ... \cdot 2 \cdot 1}$ ebenfalls gegen unendlich geht.
|
|
\subsection{} %b
|
|
\subsubsection{} %i
|
|
Zu zeigen: für beliebige $b > 1$ gilt: $\log_{b}(n) \in \mathcal{\theta} (\log_{2}n)$\\
|
|
Dies ist durch die Logarithmusgesetze einfach zu zeigen. $\log_{b}(n)$ kann demnach auch als $\frac{\log_{2}(n)}{\log_{2}(b)}$ dargestellt werden. Dabei geht dieser Term asymptotisch gegen $\log_{2}(n)$, da $\log_{2}(b)$ eine Konstante ist und daher nicht beachtet werden muss. Damit ist die Aussage gezeigt, dass $\log_{b}(n)$ für $b > 1$ asymptotisch genau so schnell wächst wie $\log_{2}(n)$.
|
|
\subsubsection{} %ii
|
|
Behauptung: $f \in \mathcal{O}(g) \Rightarrow g \in \omega (f)$\\
|
|
Diese Behauptung gilt nicht. Dies kann mithilfe der Definition der Landau-Symbole erklärt werden. $f \in \mathcal{O}(g)$ besagt, dass $f$ maximal so schnell wie $g$ wächst. Dabei ist auch der Fall enthalten, dass $f$ und $g$ gleich schnell wachsen.
|
|
|
|
Der zweite Teil der Behauptung erfordert jedoch, dass $g$ in jedem Fall schneller als $f$ wächst. Dies steht aber im Widerspruch zu dem ersten Teil der Behauptung. Damit ist die Behauptung widerlegt.
|
|
\subsubsection{} %iii
|
|
Behauptung: $f_{c}(n) \in \theta(n) \Leftrightarrow c = 1$.\\
|
|
Dies ist einfach zu zeigen:\\
|
|
\begin{alignat*}{2}
|
|
\sum\limits_{i=0}^{n} 1^{i} &=& 1 + 1 + 1 + ... + 1 = n + 1
|
|
\end{alignat*}
|
|
Denn für $c=1$ werden einfach $n+1$ Einsen aufsummiert. Die Summe $n+1$ wächst asymptotisch genau so schnell wie $n$, da die Konstante $1$ vernachlässigt werden kann.
|
|
|
|
\section{} %2
|
|
\subsection{} %a
|
|
\underline{Behauptung:} $F_{n} \geq 2^{0.5n} : \forall n \geq 6$\\
|
|
\underline{Induktionsanfang ($n = 6)$:}\\
|
|
\begin{alignat*}{2}
|
|
F_{6} &=& F_{5} + F_{4} = 8\\
|
|
F_{5} &=& F_{4} + F_{3} = 5\\
|
|
F_{4} &=& F_{3} + F_{2} = 3\\
|
|
F_{3} &=& F_{2} + F_{1} = 2\\
|
|
F_{2} &=& F_{1} + F_{0} = 1
|
|
\end{alignat*}
|
|
Daraus ergibt sich: $8 \geq 2^{0.5 \cdot 6} \Leftrightarrow 8 \geq 2^{3} \Leftrightarrow 8 \geq 8$. Damit ist die Behauptung für den Induktionsanfang gezeigt.\\
|
|
\underline{Induktionsannahme:} $F_{n} \geq 2^{0.5n}$ gilt bis zu einem beliebig fest gewählten $n$.\\
|
|
\underline{Zu zeigen:} $F_{n+1} \geq 2^{0.5 \cdot (n+1)}$ gilt.\\
|
|
\underline{Induktionsschritt:}\\
|
|
\begin{alignat*}{3}
|
|
F_{n+1} = F_{n} + F_{n-1} &\overset{IA}{\geq} & 2^{0.5n} + 2^{0.5 \cdot (n-1)} &\overset{!}{\geq}& 2^{0.5 \cdot (n+1)} \\
|
|
&& 2^{0.5n} + 2^{0.5n} \cdot 2^{-0.5} &\geq& 2^{0.5n} \cdot 2^{0.5} \\
|
|
&& 2^{0.5n} \cdot \left(1 + 2^{-0.5}\right) &\geq & 2^{0.5n} \cdot 2^{0.5}
|
|
\end{alignat*}
|
|
Nun muss nur noch $\left(1 + 2^{-0.5}\right)$ mit $2^{0.5}$ verglichen werden. Da beide Terme Konstanten sind, kann man einfach deren Werte ausrechnen und vergleichen. Daher ergibt sich folgendes:
|
|
\begin{alignat*}{2}
|
|
\left(1 + 2^{-0.5}\right) &\geq & 2^{0.5} \\
|
|
\intertext{gerundet auf $5$ Nachkommastellen}
|
|
1.70710 &\geq & 1.41421
|
|
\end{alignat*}
|
|
Damit ist die Behauptung sowohl für den Induktionsanfang als auch für ein beliebiges $n$ gezeigt.
|
|
\subsection{} %b
|
|
|
|
\section{} %3
|
|
\subsection{} %a
|
|
\underline{Behauptung:} Die Formel
|
|
\begin{alignat*}{2}
|
|
\begin{pmatrix}
|
|
F_{n} \\
|
|
F_{n+1}
|
|
\end{pmatrix} &=& \begin{pmatrix}
|
|
0 & 1 \\
|
|
1 & 1
|
|
\end{pmatrix}^{n} \cdot \begin{pmatrix}
|
|
F_{0} \\
|
|
F_{1}
|
|
\end{pmatrix}
|
|
\end{alignat*}
|
|
gilt für $n \geq 0$.\\
|
|
\underline{Induktionsanfang:}\\
|
|
\begin{alignat*}{2}
|
|
\begin{pmatrix}
|
|
F_{0} \\
|
|
F_{1}
|
|
\end{pmatrix} &=& \begin{pmatrix}
|
|
0 & 1 \\
|
|
1 & 1
|
|
\end{pmatrix}^{0} \cdot \begin{pmatrix}
|
|
F_{0} \\
|
|
F_{1}
|
|
\end{pmatrix} \\
|
|
&=& \begin{pmatrix}
|
|
1 & 0 \\
|
|
0 & 1
|
|
\end{pmatrix} \cdot \begin{pmatrix}
|
|
F_{0} \\
|
|
F_{1}
|
|
\end{pmatrix} \\
|
|
&=& \begin{pmatrix}
|
|
F_{0} \\
|
|
F_{1}
|
|
\end{pmatrix}
|
|
\end{alignat*}\\
|
|
\underline{Induktionsannahme:} Die Behauptung gilt für ein beliebig fest gewähltes $n$.\\
|
|
\underline{Zu zeigen:}
|
|
\begin{alignat*}{2}
|
|
\begin{pmatrix}
|
|
F_{n+1} \\
|
|
F_{n+2}
|
|
\end{pmatrix} &=& \begin{pmatrix}
|
|
0 & 1 \\
|
|
1 & 1
|
|
\end{pmatrix}^{n+1} \cdot \begin{pmatrix}
|
|
F_{0} \\
|
|
F_{1}
|
|
\end{pmatrix}
|
|
\end{alignat*}
|
|
\underline{Induktionsschritt:}
|
|
\begin{alignat*}{2}
|
|
\begin{pmatrix}
|
|
F_{n+1} \\
|
|
F_{n+2}
|
|
\end{pmatrix} &=& \begin{pmatrix}
|
|
0 & 1 \\
|
|
1 & 1
|
|
\end{pmatrix} \cdot \begin{pmatrix}
|
|
F_{n} \\
|
|
F_{n+1}
|
|
\end{pmatrix} \\
|
|
\intertext{Anwenden der Induktionsannahme}
|
|
&=& \begin{pmatrix}
|
|
0 & 1 \\
|
|
1 & 1
|
|
\end{pmatrix} \cdot \begin{pmatrix}
|
|
0 & 1 \\
|
|
1 & 1
|
|
\end{pmatrix}^{n} \cdot \begin{pmatrix}
|
|
F_{0} \\
|
|
F_{1}
|
|
\end{pmatrix} \\
|
|
&=& \begin{pmatrix}
|
|
0 & 1 \\
|
|
1 & 1
|
|
\end{pmatrix}^{n+1} \cdot \begin{pmatrix}
|
|
F_{0} \\
|
|
F_{1}
|
|
\end{pmatrix}
|
|
\end{alignat*}
|
|
Nach dem Induktionsprinzip folgt aus dem Induktionsanfang und dem Induktionsschritt die Behauptung.
|
|
\subsection{} %b
|
|
$X^{64}$ kann geschickter berechnet werden, wenn man die Ergebnisse von vorigen Multiplikationen speichert. Damit lässt sich $X^{64}$ auf diese Weise berechnen:\\
|
|
\begin{alignat*}{3}
|
|
& X &\cdot & X &=& X^{2} \\
|
|
& X^{2} &\cdot & X^{2} &=& X^{4} \\
|
|
& X^{4} &\cdot & X^{4} &=& X^{8} \\
|
|
& X^{8} &\cdot & X^{8} &=& X^{16} \\
|
|
& X^{16} &\cdot & X^{16} &=& X^{32} \\
|
|
& X^{32} &\cdot & X^{32} &=& X^{64}
|
|
\end{alignat*}
|
|
Auf eben gezeigte Weise kann man $X^{64}$ mit nur $6$ Multiplikationen ausrechnen. Interessanterweise gilt $2^{6} = 64$. Müsste man nun eine andere 2-Potenz ausrechnen, dann wäre das Ergebnis ebenso schnell klar. Da im allgemeinen Fall $n$ aber irgendeine Zahl sein kann, ist es sinnvoll sich zum Beispiel $74$ anzusehen. Im Fall von $74$ würde es so weiter gehen:
|
|
\begin{alignat*}{3}
|
|
& X^{64} &\cdot & X^{8} &=& X^{72} \\
|
|
& X^{72} &\cdot & X^{2} &=& X^{74}
|
|
\end{alignat*}
|
|
Demnach würden bei $74$ acht Multiplikationen benötigt.
|
|
|
|
Daraus kann die allgemeine Formel für die Anzahl der Multiplikationen $F(n)$ gebildet werden:\\
|
|
\begin{alignat*}{2}
|
|
F(n) &=& \begin{cases}
|
|
0, & \text{wenn } n = 1\\
|
|
\lceil F(\frac{n}{2}) \rceil + 1, & \text{wenn } n > 1
|
|
\end{cases}
|
|
\end{alignat*}
|
|
Diese rekursive Formel könnte auch als Schleife dargestellt werden. Durch die Halbierung von n bei jedem Durchgang hat die Funktion eine logarithmische Laufzeit. Die Addition ist dabei irrelevant, wenn man sich das asymptotische Verhalten ansieht.
|
|
|
|
Damit ist die Behauptung, dass $\mathcal{O}(\log n)$ Multiplikationen ausreichen um $X^{n}$ zu berechnen, gezeigt.
|
|
\subsection{} %c
|
|
|
|
In 3b haben wir gezeigt, dass sich $X^{n}$ in $\mathcal{O}(\log n)$ Multiplikationen ausgerechnen lässt. Daraus lässt sich schließen, dass sich auch die 2x2 Matrix in $\star$ in logarithmischer Zeit errechnen lässt. Eine weitere Multiplikation macht dann auch keinen Unterschied mehr. Daher lässt sich $\star$ in logarithmischer Zeit lösen. Da jeder Logarithmus langsamer wächst und damit schneller ist als eine Potenzfunktion, ist das Matrizen-Verfahren damit echt schneller als das in der Vorlesung vorgestellte Verfahren.
|
|
\end{document}
|