aboutsummaryrefslogtreecommitdiffstats
path: root/buch/papers/multiplikation/problemstellung.tex
diff options
context:
space:
mode:
authorNunigan <michael.schmid2@ost.ch>2021-07-28 22:27:27 +0200
committerNunigan <michael.schmid2@ost.ch>2021-07-28 22:27:27 +0200
commita4817013b542cd6aa1a0cd955806c82ac337dca6 (patch)
tree3ea96d1f1c9d363a9ac3cbbb5e7dd273afee2f5d /buch/papers/multiplikation/problemstellung.tex
parentadded first part of paper and code (diff)
downloadSeminarMatrizen-a4817013b542cd6aa1a0cd955806c82ac337dca6.tar.gz
SeminarMatrizen-a4817013b542cd6aa1a0cd955806c82ac337dca6.zip
added corrections from prof mueller
Diffstat (limited to '')
-rwxr-xr-xbuch/papers/multiplikation/problemstellung.tex27
1 files changed, 16 insertions, 11 deletions
diff --git a/buch/papers/multiplikation/problemstellung.tex b/buch/papers/multiplikation/problemstellung.tex
index b20a791..fed6a9f 100755
--- a/buch/papers/multiplikation/problemstellung.tex
+++ b/buch/papers/multiplikation/problemstellung.tex
@@ -6,24 +6,24 @@
\section{Problemstellung}
\rhead{Problemstellung}
Dank der breiten Anwendung der Matrizenmultiplikation ist eine effiziente L\"osung dieser Operation von grosser Bedeutung.
-Das Ziel dieses Papers ist verschiedenen Algorithmen der Matrizenmultiplikation vorzustellen.
-Wobei gezielt auf Algorithmen, welche das Problem schneller als der Standard Algorithmus L\"osen eingegangen wird.
+Das Ziel dieses Papers ist, verschiedenen Algorithmen der Matrizenmultiplikation vorzustellen.
+Gezielt werden auf Algorithmen, welche das Problem schneller als der Standard Algorithmus L\"osen eingegangen.
\subsection{Big $\mathcal{O}$ Notation}
Die Big $\mathcal{O}$ Notation beschreibt die Laufzeitkomplexit\"at eines Algorithmus \cite{multiplikation:bigo}.
-$f(x) \in \mathcal{O}(g(x))$ besagt das die Funktion $f$ nicht wesentlich schneller w\"achst als $g$ wenn $x \rightarrow \infty$.
+$f(x) \in \mathcal{O}(g(x))$ besagt, dass die Funktion $f$ nicht wesentlich schneller w\"achst als $g$ wenn $x \rightarrow \infty$.
Vereinfacht werden f\"ur Algorithmen die folgende Notation verwendet:
\begin{itemize}
\item $f \in \mathcal{O}(1) \rightarrow f$ ist beschr\"ankt
\item $f \in \mathcal{O}(n) \rightarrow f$ w\"achst linear
- \item $f \in \mathcal{O}(n^2) \rightarrow f$ w\"achst quadratisch
+ \item $f \in \mathcal{O}\left (n^2 \right ) \rightarrow f$ w\"achst quadratisch
\item $f \in \mathcal{O}(\log n) \rightarrow f$ w\"achst logarithmisch
\item $f \in \mathcal{O}(n \log n) \rightarrow f$ hat super-lineares Wachstum
- \item $f \in \mathcal{O}(e^n) \rightarrow f$ w\"achst exponentiell
+ \item $f \in \mathcal{O}\left (e^n \right ) \rightarrow f$ w\"achst exponentiell
\item usw.
\end{itemize}
-In der Abbildung \ref{multiplikation:fig:bigo} k\"onnen die Verschiedenen Laufzeiten miteinander verglichen werden.
+In der Abbildung \ref{multiplikation:fig:bigo} k\"onnen die verschiedenen Laufzeiten miteinander verglichen werden.
\begin{figure}
\center
@@ -33,9 +33,11 @@ In der Abbildung \ref{multiplikation:fig:bigo} k\"onnen die Verschiedenen Laufze
\end{figure}
\subsubsection{Beispiel Algorithmen}
+
+Folgend einige Beispiele von Algorithmen welche zu einer bestimmten Zeitkomplexit\"atsklassen geh\"oren.
\paragraph{Beschr\"ankter Algorithmus}
-Ein Beispiel eines Beschr\"ankter Verhalten $\mathcal{O}(1)$, kann im Algorithmus \ref{multiplikation:alg:b1} entnommen werden.
+Ein Beispiel eines Beschr\"ankter Verhalten $\mathcal{O}(1)$, kann im Algorithmus \ref{multiplikation:alg:b1} entnommen werden. Da $a$ und $b$ Skalare sind, hat keine Gr\"osse $n$ einen einfluss auf die Laufzeit.
\begin{algorithm}\caption{}
\label{multiplikation:alg:b1}
@@ -47,7 +49,7 @@ Ein Beispiel eines Beschr\"ankter Verhalten $\mathcal{O}(1)$, kann im Algorithmu
\end{algorithmic}
\end{algorithm}
-Wobei Konstanten nicht beachtet werden, der Algorithmus \ref{multiplikation:alg:b2} f\"uhrt ebenso zu $\mathcal{O}(1)$ und nicht zu $\mathcal{O}(2)$.
+Konstanten werden nicht beachtet, der Algorithmus \ref{multiplikation:alg:b2} f\"uhrt ebenso zu $\mathcal{O}(1)$ und nicht zu $\mathcal{O}(2)$.
\begin{algorithm}\caption{}
\label{multiplikation:alg:b2}
@@ -63,13 +65,14 @@ Wobei Konstanten nicht beachtet werden, der Algorithmus \ref{multiplikation:alg:
\paragraph{Linearer Algorithmus}
-Folgender Algorithmus \ref{multiplikation:alg:l1} hat ein lineares $\mathcal{O}(n)$ Verhalten.
+Folgender Algorithmus \ref{multiplikation:alg:l1} hat ein lineares Verhalten.
+Die \texttt{for}-Schleife wird $n$-mal durchgef\"hrt und f\"uhrt deshalb zu $\mathcal{O}(n)$.
\begin{algorithm}\caption{}
\setlength{\lineskip}{7pt}
\begin{algorithmic}
\label{multiplikation:alg:l1}
- \Function{L}{$\mathbf{A}, \mathbf{B}$,n}
+ \Function{L}{$\mathbf{a}, \mathbf{b}$,n}
\State $ sum \gets 0$
\For{$i = 0,1,2 \dots,n$}
\State $ sum \gets sum + A[i] \cdot B[i] $
@@ -83,7 +86,9 @@ Folgender Algorithmus \ref{multiplikation:alg:l1} hat ein lineares $\mathcal{O}(
\paragraph{Quadratischer Algorithmus}
-Folgender Algorithmus \ref{multiplikation:alg:q1} hat ein quadratisches $\mathcal{O}(n^2)$ Verhalten.
+Folgender Algorithmus \ref{multiplikation:alg:q1} hat ein quadratisches Verhalten.
+Die beiden \texttt{for}-Schleifen werden jeweils $n$-mal durchgef\"hrt und f\"uhrt deshalb zu $\mathcal{O}\left(n^2\right)$.
+
\begin{algorithm}[H]\caption{}
\label{multiplikation:alg:q1}