\documentclass[10pt,a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}

\usepackage{enumerate}
\usepackage{listings}
\usepackage{url}
\usepackage{float}

\title{Algoritme en complexiteit: opgaves deel 3}
\author{Sander van Veen \& Richard Torenvliet \\ Tadde\"us Kroes \& Jayke Meijer}

% dot graphs
\usepackage{dot2texi}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows}

\begin{document}

\definecolor{darkgray}{rgb}{0.95,0.95,0.95}

\maketitle

\tableofcontents

\pagebreak

\section{}


\section{}


\section{Chemische stof}
Na elke veredeling stijgt de waarde van de stof (er geldt dus
$\phi_{r+1}(x) > \phi_{r}(x)$, als $x$ niet verandert). De hoeveelheid $x$ van
de stof neemt af bij elke veredeling ($x_{i+1} = x_i * a$ met $a < 1$). De
maximale winst van de chemische stof wordt behaald als $\phi_r(x)$ maximaal is.

Stel: $x_0$ = 6 en $\phi_0(x) = \frac{1}{2} x$. In dit voorbeeld nemen we aan dat
$\phi_{r+1}(x) = \phi_r(x) * c$ met $c = 1.4$. Tot slot geldt in dit voorbeeld
dat $a = 0.8$. Dat levert de volgende tabel op:
\begin{table}[H]
\begin{tabular}{|r|l|l|l|l|l|l|l|l|l|l|}
\hline
 & $x_0$ & $x_1$ & $x_2$ & $x_3$ & $x_4$ & $x_5$ & $x_6$ & $x_7$ & $x_8$ & $x_9$ \\
\hline
$\phi_0(x)$ &  3.00 & 2.40 & 1.92 & 1.54 & 1.23 & 0.98 & 0.79 & 0.63 & 0.50 & 0.40 \\
\hline
$\phi_1(x)$ &  4.20 & 3.36 & 2.69 & 2.15 & 1.72 & 1.38 & 1.10 & 0.88 & 0.70 & 0.56 \\
\hline
$\phi_2(x)$ &  5.88 & 4.70 & 3.76 & 3.01 & 2.41 & 1.93 & 1.54 & 1.23 & 0.99 & 0.79 \\
\hline
$\phi_3(x)$ &  8.23 & 6.59 & 5.27 & 4.21 & 3.37 & 2.70 & 2.16 & 1.73 & 1.38 & 1.10 \\
\hline
$\phi_4(x)$ &  11.52 & 9.22 & 7.38 & 5.90 & 4.72 & 3.78 & 3.02 & 2.42 & 1.93 & 1.55 \\
\hline
$\phi_5(x)$ &  16.13 & 12.91 & 10.33 & 8.26 & 6.61 & 5.29 & 4.23 & 3.38 & 2.71 & 2.17 \\
\hline
$\phi_6(x)$ &  22.59 & 18.07 & 14.46 & 11.57 & 9.25 & 7.40 & 5.92 & 4.74 & 3.79 & 3.03 \\
\hline
$\phi_7(x)$ &  31.62 & 25.30 & 20.24 & 16.19 & 12.95 & 10.36 & 8.29 & 6.63 & 5.31 & 4.24 \\
\hline
$\phi_8(x)$ &  44.27 & 35.42 & 28.34 & 22.67 & 18.13 & 14.51 & 11.61 & 9.28 & 7.43 & 5.94 \\
\hline
$\phi_9(x)$ &  61.98 & 49.59 & 39.67 & 31.74 & 25.39 & 20.31 & 16.25 & 13.00 & 10.40 & 8.32 \\
\hline
\end{tabular}
\end{table}

\noindent Uit de tabel valt op te maken dat de cel $\phi_9(x_9)$ het meest voordelig is.
Daardoor is het volgende algoritme bedacht:

\begin{lstlisting}[language=python,backgroundcolor=\color{darkgray}]
def phi(i, x):
    if i == 0:
        return 0.5 * x
    else:
        return phi(i-1, x * 1.4)
    
def x_i(i, x):
    if i == 0:
        return x
    else:
        return x_i(i-1, x * 0.8)

max = phi(n, x_i(x, x0))
\end{lstlisting}

\noindent De worse-case tijdcomplexiteit van dit algoritme is van de orde
$\mathcal{O}(n)$, omdat het zichzelf recursief aanroept (n keer).

\section{}


\section{}


\end{document}
