\documentclass[a4paper,12pt]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{graphicx} %BIlder einbinden
\usepackage{amsmath} %erweiterte Mathe-Zeichen
\usepackage{amsfonts} %weitere fonts
\usepackage[utf8]{inputenc} %Umlaute & Co
\usepackage{hyperref} %Links
\usepackage{ifthen} %ifthenelse
\usepackage{enumerate}
\usepackage{listings}
\lstset{language=Python}

\usepackage{algpseudocode} %Pseudocode
\usepackage{dsfont} % schöne Zahlenräumezeichen
\usepackage{amssymb, amsthm} %noch stärker erweiterte Mathe-Zeichen
\usepackage{tikz} %TikZ ist kein Zeichenprogramm
\usetikzlibrary{trees,automata,arrows,shapes}

\pagestyle{empty}


\topmargin-50pt

\newcounter{aufgabe}
\def\tand{&}


\newcommand{\makeTableLine}[2][0]{%
  \setcounter{aufgabe}{13}%TODO update
  \whiledo{\value{aufgabe} < 16}%TODO update
  {%
    #2\tand\stepcounter{aufgabe}%
  }
}

\newcommand{\aufgTable}[1]{
  \def\spalten{\numexpr #1 + 1 \relax}
  \begin{tabular}{|*{\spalten}{p{1cm}|}}
    \makeTableLine[\spalten]{A\theaufgabe}$\Sigma$~~\\ \hline
    \rule{0pt}{15pt}\makeTableLine[\spalten]{}\\
  \end{tabular}
}

\def\header#1#2#3#4#5#6#7{\pagestyle{empty}
\begin{minipage}[t]{0.47\textwidth}
\begin{flushleft}
{\bf #4}\\
#5
\end{flushleft}
\end{minipage}
\begin{minipage}[t]{0.5\textwidth}
\begin{flushright}
#6 \vspace{0.5cm}\\
%                 Number of Columns    Definition of Columns      second empty line
% \begin{tabular}{|*{5}{C{1cm}|}}\hline A1&A2&A3&A4&$\Sigma$\\\hline&&&&\\\hline\end{tabular}\\\vspace*{0.1cm}
\aufgTable{#7}
\end{flushright}
\end{minipage}
\vspace{1cm}
\begin{center}
{\Large\bf Übungsblatt #1}

{(Abgabe #3)}
\end{center}
}



%counts the exercisenumber
\newcounter{n}
\setcounter{n}{12} %TODO update

%Kommando für Aufgaben
%\Aufgabe{AufgTitel}{Punktezahl}
\newcommand{\Aufgabe}[2]{\stepcounter{n}
\textbf{Aufgabe \arabic{n}: #1} (#2 Punkte)}


\begin{document}
    %\header{BlattNr}{Tutor}{Abgabedatum}{Vorlesungsname}{Namen}{Semester}{Anzahl Aufgaben}
    \header{5}{}{2015-06-02}{Evolutionäre Algorithmen}{
    	\textit{Jan-Peter Hohloch}\\ \textit{Maximus Mutschler}
    }{SS 15}{3}%TODO update
    \vspace{0.5cm} \Aufgabe{EvA2}{7}\\
    \begin{enumerate}[(a)]
        \item Die stabilere Linie ist der Mittelwert der Fitness der bisherigen Runs nach einer gewissen Zahl function calls. Außerdem wird für den aktuellen Run die Populations-Fitness zum Zeitpunkt eines gewissen function call geplottet.
        \item Roulette-Wheel erreicht die beste Fitness, während RandomSelection schlechte Ergebnisse erzielt. Man sieht, dass die Steigung der entsprechenden Fitnesskurve schneller oder später abnimmt. Dies liegt daran, dass zufälliges Auswählen (Roulette-Wheel) gute Individuen erhalten kann, auch wenn sie noch keine gute Fitness haben, bei SelectBest ist das nicht der Fall. SelectRandom strebt nur gegen eine mittelmäßige Fitness, da nicht durch Selektion optimiert wird, sondern zufällige Individuen gewählt werden.\\
        \includegraphics[width=0.5\textwidth]{A1.png}
        \item Bei wenigen function calls sind kleine Populationen etwas besser (die durchschnittliche Fitness betreffend). Später setzten sie gute Individuen auch in der größeren Population durch. Allerdings sind im Plot keine großen Unterschiede zu erkennen, da sich im Großen und Ganzen alle Populationen stark verbessern. Etwa bei 4000 function calls ist der Unterschied am deutlichsten erkennbar.\\
        \includegraphics[width=0.5\textwidth]{A1c.png}
    \end{enumerate}
    \Aufgabe{Mandelbrot}{7}
        \begin{enumerate}[(a)]
            \item Überall stetig aber nirgends differenzierbar, außerdem lassen sich mit dieser Funktion Turbulenzen an Wänden und in Kanälen beschreiben (\url{http://www.sciencedirect.com/science/article/pii/0169598392900596})
            \item Größere Populationen haben eine schlechtere Fitness (Hillclimber), beim GA sorgt eine größere Population für bessere Fitness. Im Vergleich ist ein Hillclimber mit kleiner Population besser als ein GA (selbst mit größerer Population).\\
            Grund dafür ist, dass der GA in lokale Minima läuft, der Hillclimber aber die Chance behält das globale Optimum zu finden.\\
            \includegraphics[width=0.5\textwidth]{A2b.png}
            \item Der GA verbessert sich ohne Mutation nur noch durch Crossover, dadurch können Stellen verloren gehen. Sobald alle Stellen verloren sind, verbessert er sich nicht mehr weiter.\\
            \includegraphics[width=0.5\textwidth]{A2c.png}
        \end{enumerate}
    \Aufgabe{Konvergenzgeschwindigkeit}{6}
        \begin{enumerate}[(a)]
            \item Gilt jeweils bei:
            \begin{itemize}
                \item $x_t=0,x_{t+1}=0.1$ und $x_t=6,x_{t+1}=6.1$
                \item $x_t=0.1,x_{t+1}=0$ und $x_t=6.1,x_{t+1}=6$
            \end{itemize}
            \item Bei $\varphi <0 <\tilde{\varphi}$ entfernt sich der Funktionswert vom Optimum, der x-Wert jedoch nähert sich ihm an. Bei $\tilde{\varphi}<0<\varphi$ entsprechend umgekehrt.
        \end{enumerate}
\end{document}

