\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}{10}%TODO update
  \whiledo{\value{aufgabe} < 13}%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-19-05}{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 bisherige Mittelwert der Fitness. Außerdem wird für die aktuelle Generation die Fitness geplottet.
        \item Roulette-Wheel erreicht die beste Fitness, während RandomSelection schlechte Ergebnisse erzielt.\\
        \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.\\
        \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}

