1
0

Sorted out structure report

This commit is contained in:
Ruben
2019-05-23 16:58:47 +02:00
parent 01e0a40316
commit 9eb5f251c6

View File

@@ -14,6 +14,8 @@
\newcommand{\CS}{C\nolinebreak\hspace{-.05em}\raisebox{.4ex}{\tiny\bf +}\nolinebreak\hspace{-.10em}\raisebox{.4ex}{\bf +}} \newcommand{\CS}{C\nolinebreak\hspace{-.05em}\raisebox{.4ex}{\tiny\bf +}\nolinebreak\hspace{-.10em}\raisebox{.4ex}{\bf +}}
\def\CS{{C\nolinebreak[4]\hspace{-.05em}\raisebox{.4ex}{\bf \#}}} \def\CS{{C\nolinebreak[4]\hspace{-.05em}\raisebox{.4ex}{\bf \#}}}
\setlength\parindent{0em}
\begin{document} \begin{document}
\maketitle \maketitle
@@ -117,8 +119,28 @@
} }
\caption{Doorlooplijnalgoritme $O((N+S)log_2(N))$} \caption{Doorlooplijnalgoritme $O((N+S)log_2(N))$}
\end{algorithm} \end{algorithm}
\section{Beschrijving experimenten en correctheid}\label{exp} \section{Beschrijving experimenten}\label{exp}
Om de complexiteit van de algoritmen na te gaan, voeren we experimenten op een toenemend aantal cirkels uit. We starten van 10 cirkels en verdubbelen steeds het aantal. Bij elk aantal voeren we 100 testen uit, meten we de tijd die het algoritme erover doet en nemen we het gemiddelde. Zo gaan we door tot ongeveer 10.000 cirkels voor het simpele algoritme en tot ongeveer 80.000 cirkels voor de andere algoritmes. Deze gemiddelde tijd kunnen we dan plotten in functie van het aantal cirkels en deze vergelijken met de grafiek van de complexiteit die we verwachten, met eventueel verschillende factoren. Ook kunnen we het beschouwen als een 'doubling ratio'-experiment en de verhouding tussen de opeenvolgende gemiddelde tijden berekenen. Deze 'doubling ratio' geeft ook een idee van de grootte-orde van de complexiteit. Zo geeft een verhouding van ongeveer 4 weer dat bij een verdubbeling de tijd met een factor 4 toeneemt. Dit wijst op een kwadratisch verband tussen het aantal cirkels en de tijd.
De concrete resultaten zijn te vinden in Sectie \ref{comp}.
\section{Correctheid van het algoritme}
Om de correctheid van de drie algoritmes na te gaan, bewijzen we eerst de correctheid van het simpele algoritme. Hierna voeren we een groot aantal testen uit waarbij zowel het simpele algoritme als een van de andere algoritme uitgevoerd worden. Na het uitvoeren vergelijken we de uitvoer met elkaar, waarin we nagaan of de resultaten op kleine afrondingsfouten na, hetzelfde zijn. Indien dit zo is voor het grote aantal testen, gaan we ervan uit dat het andere algoritme correct is.
\section{Bespreking resultaten en rekentijden}\label{comp} \section{Bespreking resultaten en rekentijden}\label{comp}
\subsection{Simpel algoritme}
Grafiek + vermoedelijke complexiteit.
\subsection{Doorlooplijnalgoritme $O(N^2)$}
Grafiek + vermoedelijke complexiteit.
\subsection{Doorlooplijnalgoritme $O((N+S)log_2(N))$}
Grafiek + vermoedelijke complexiteit.
\end{document} \end{document}