uni/ad/Uebungsblatt01.tex

138 lines
7.3 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, Julian Tobergte}
\title{Hausaufgaben zum 22. Oktober}
\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
\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
\end{document}