diff --git a/documents/kit-muendlich-proplan/FS-Eule.png b/documents/kit-muendlich-proplan/FS-Eule.png new file mode 100644 index 0000000..0c62ead Binary files /dev/null and b/documents/kit-muendlich-proplan/FS-Eule.png differ diff --git a/documents/kit-muendlich-proplan/Makefile b/documents/kit-muendlich-proplan/Makefile new file mode 100755 index 0000000..78bce81 --- /dev/null +++ b/documents/kit-muendlich-proplan/Makefile @@ -0,0 +1,6 @@ +make: + pdflatex kit-muendlich-proplan.tex -output-format=pdf + make clean + +clean: + rm -rf *.aux *.log diff --git a/documents/kit-muendlich-proplan/README.md b/documents/kit-muendlich-proplan/README.md new file mode 100644 index 0000000..5a68823 --- /dev/null +++ b/documents/kit-muendlich-proplan/README.md @@ -0,0 +1,2 @@ +* Zu [Web Engineering](http://martin-thoma.com/web-engineering/) +* Die `FS-Eule.pdf` müsst ihr noch von [hier](http://www.fsmi.uni-karlsruhe.de/Studium/Pruefungsprotokolle/) holen. diff --git a/documents/kit-muendlich-proplan/kit-muendlich-proplan.tex b/documents/kit-muendlich-proplan/kit-muendlich-proplan.tex new file mode 100644 index 0000000..fb9911a --- /dev/null +++ b/documents/kit-muendlich-proplan/kit-muendlich-proplan.tex @@ -0,0 +1,347 @@ +\documentclass[a4paper]{article} +\usepackage{myStyle} +\usepackage{amsmath} +\usepackage{csquotes} +\usepackage[inline]{enumitem} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Hier eigene Daten einfügen % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\Studiengang}{Informatik (MA)} +\newcommand{\Fach}{Probabilistische Planung} +\newcommand{\Pruefungsdatum}{04.08.2016} % DD.MM.YYYY +\newcommand{\Pruefer}{Dr. Marco Huber} +\newcommand{\Beisitzer}{mir unbekannt} +% Nicht zwingend, aber es waere nett, wenn du zumindest die Zahl vor +% dem Komma angeben koenntest: +\newcommand{\Note}{1,0} +\newcommand{\Dauer}{45} % in Minuten + +%%% WEITER SCROLLEN %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\DeclareMathOperator*{\argmin}{arg\,min} + +\begin{document} +\begin{tabular}{p{2cm}p{15cm}} +\ifpdf\vspace{-0.8cm}\fi +\multirow{2}{2cm}{ \includegraphics[width=20mm]{FS-Eule}} & + +\Large Fragebogen der Fachschaft zu \\ +& \Large {\bfseries mündlichen Prüfungen} \\ +& \Large{im Informatikstudium} +\\ +\end{tabular} + + \begin{tabular}{p{8cm}p{8cm}} + \begin{flushleft}Dieser Fragebogen gibt den Studierenden, + die nach Dir die Prüfung ablegen wollen, einen Einblick in Ablauf + und Inhalt der Prüfung. Das erleichtert die Vorbereitung. + + Bitte verwende zum Ausfüllen einen schwarzen Stift. + Das erleichtert das Einscannen. \\[0.5cm] +%%% HIER GEHTS LOS! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Das Dokument % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + Dein Studiengang: \Studiengang \\[0.5cm] + + \textbf{Prüfungsart:}\\ +%% entsprechende \boxempty bitte durch \boxtimes ersetzen. + $\boxempty$ Wahlpflichtfach \\ + $\boxtimes$ Vertiefungsfach \\ + $\boxempty$ Ergänzungsfach \\[0.5cm] +%% Namen des Wahl/Vertiefungs/Ergaenzungsfachs hier bitte eintragen. + Welches? \Fach +%% Jetzt kommt ein Barcode von uns. Einfach weitergehen. ;-) + \end{flushleft} + & + \begin{center} + Barcode: + \begin{tabular}{p{0.2cm}p{6.8cm}p{0.2cm}} + $\ulcorner$ + \vskip 2cm + $\llcorner$ & & $\urcorner$ + \vskip 2cm + $\lrcorner$ \\ + \end{tabular} + \end{center} + \vskip 0.5cm +%% Hier gehts weiter: + \begin{flushright} +%% Pruefungsdatum, PrueferIn und BeisitzerIn bitte hier eintragen. Wichtig: Im Allgemeinen kann nur ein Professor der Pruefer gewesen sein. + \begin{tabular}{ll} + Prüfungsdatum: & \Pruefungsdatum \\[0.5cm] + Prüfer/-in: & \Pruefer \\[0.5cm] + Beisitzer/-in: & \Beisitzer \\ + \end{tabular} + \end{flushright} \\ + \end{tabular} + + \begin{tabular}{|p{8.2cm}|p{3cm}|p{1cm}|p{3.5cm}|} + \multicolumn{4}{l}{\bfseries Prüfungsfächer und Vorbereitung: } \\[0.2cm] + \hline + Veranstaltung & Dozent/-in & Jahr & regelmäßig besucht? \\ + \hline + \hline +%% Beispiel: +%% Interessante Vorlesung & Toller Prof & 2007 & Ich war immer 5 Minuten vorher da \\ + Probabilistische Planung & Dr. Huber & SS 2016 & Ja \\[0.2cm] + \hline + \end{tabular} \\[0.5cm] + +\begin{multicols}{2} +Note: \Note\\[0.5cm] +War diese Note angemessen? +%% Hier ist Platz fuer deinen Kommentar +Ja + +\columnbreak +%% Bitte Pruefungsdauer eintragen +Prüfungsdauer: \Dauer{} Minuten \\[0.5cm] +\end{multicols} + + + \textbf{\ding{46}} Wie war der \textbf{Prüfungsstil des Prüfers / der Prüferin?} \\ + \begin{footnotesize} (Prüfungsatmosphäre, (un)klare Fragestellungen, Frage nach Einzelheiten oder eher größeren Zusammenhängen, kamen häufiger Zwischenfragen oder ließ er/sie dich erzählen, wurde Dir weitergeholfen, wurde in Wissenslücken gebohrt?)\end{footnotesize} \\ + \begin{minipage}[t][10cm]{\linewidth} +%% Hier ist Platz fuer deinen Kommentar + Die Fragen waren klar gestellt. Die Atmosphäre war + angenehm; er hat einen viel erzählen lassen. Ich konnte das meiste in Ruhe + aufschreiben (einmal hat er gesagt, dass ich die Formel nicht aufschreiben + muss) und er hat auch immer Feedback gegeben, dass ich das erzähle was er + hören will. Die Fragen waren eigentlich immer klar; bei einer unklaren + Frage habe ich direkt nachgehakt ob er XY meint und er hat es auch direkt + bejaht. Super angenehm! + + + \end{minipage} + + \begin{flushright}$\hookrightarrow$\textbf{Rückseite bitte nicht vergessen!}\end{flushright} + + \newpage + \columnseprule=.4pt + + \begin{multicols}{2} + + \ding{46} Hat sich der \textbf{Besuch / Nichtbesuch} der Veranstaltung für dich gelohnt? \\ + \begin{minipage}[t][6.8cm]{\linewidth} +%% Hier ist Platz fuer deinen Kommentar + Ja. Teilweise ist die Schrift schwer zu lesen, aber die Zusammenhänge werden + klarer und Dr. Huber geht auch wunderbar auf Fragen ein. + + \end{minipage} + + \ding{46} Wie lange und wie hast du dich \textbf{alleine bzw. mit anderen vorbereitet}? \\ + \begin{minipage}[t][7cm]{\linewidth} +%% Hier ist Platz fuer deinen Kommentar + Ich habe die Vorlesung 2 mal gehört, mich ca. 2 Monate immer wieder ein + bisschen (ca. 2h/Tag) und ca. 2 Wochen intensiv (5h/Tag) vorbereitet. + 3 Treffen à ca. 4h mit einem Lernpartner. + + \end{minipage} + + \ding{46} Welche \textbf{Tips zur Vorbereitung} kannst du geben? + \begin{footnotesize}(Wichtige / Unwichtige Teile des Stoffes, gute Bücher / Skripten, Lernstil)\end{footnotesize} \\ + \begin{minipage}[t][7cm]{\linewidth} +%% Hier ist Platz fuer deinen Kommentar + Folien lesen und verstehen, Protokolle durchgehen und + meinen Blog lesen:\\ + \href{https://martin-thoma.com/probabilistische-planung/}{martin-thoma.com/probabilistische-planung/} + + Insbesondere die Tabelle am Ende, wo MDP / POMDP / RL verglichen werden + sollte man auswendig können und aus dem FF beherrschen. + \end{minipage} + +\columnbreak + + \ding{46} Kannst du ihn/sie \textbf{weiterempfehlen}? +%% entsprechende \boxempty bitte durch \boxtimes ersetzen. + $\boxtimes$ Ja / $\boxempty$ Nein\newline Warum? \\ + \begin{minipage}[t][6.8cm]{\linewidth} +%% Hier ist Platz fuer deinen Kommentar + Sehr nett, angenehme Athmosphäre. + + \end{minipage} + + \ding{46} Fanden vor der Prüfung \textbf{Absprachen} zu Form oder Inhalt statt? Wurden sie \textbf{eingehalten}? \\ + \begin{minipage}[t][7cm]{\linewidth} +%% Hier ist Platz fuer deinen Kommentar + Ja. Es wurde gesagt, dass keine Beweise dran kommen. War auch so. + + \end{minipage} + + \ding{46} Kannst du Ratschläge für das \textbf{Verhalten in der Prüfung} geben? \\ + \begin{minipage}[t][6.8cm]{\linewidth} +%% Hier ist Platz fuer deinen Kommentar + Mit den Antworten kann man etwas lenken, was als nächstes gefragt wird. + Wenn man kurz Nachdenken muss, kann man das auch einfach sagen. + + \end{minipage} +% +\end{multicols} +\clearpage + +\section*{Inhalte der Prüfung:} +Gedächtnisprotokoll; ich habe sicherlich ein paar Fragen / Details vergessen. + + \begin{itemize} + \item Welche 3 Themen hatten wir in der Vorlesung + \item[$\Rightarrow$] MDP (Markov Decision Processes), POMDP (Partially observable MDPs), + RL (Reinforcement Learning). Ich habe + auch gleich die Agent-Umwelt-Diagramme gezeichnet + und daran die Unterschiede erklärt und habe das + Explorationsproblem erwähnt. + \item Gut. Zuvor hatten wir die Grundlagen mit Wahrscheinlichkeitstheorie, + Optimierungs- und Nutzentheorie. Schreiben sie mir doch mal ein + allgemeines Optimierungsproblem auf. + \item[$\Rightarrow$] + \begin{align} + \argmin_{x \in \mathbb{R}^n}& f(x)\\ + \text{s.t. } & g_i(x) \leq 0 \quad \text{mit } i = 1, \dots, m\\ + & h_j(x) = 0 \quad \text{mit } j = 1, \dots, p + \end{align} + Siehe auch: \href{https://martin-thoma.com/optimization-basics/}{https://martin-thoma.com/optimization-basics/}.\\ + Ich habe auch gleich erklärt warum $=0$ genügt und warum man o.B.d.A. + von einem Minimierungsproblem ausgehen kann. + \item Ok, und was macht man wenn man Gleichungs-Nebenbedingungen hat? + \item[$\Rightarrow$] Lagrange-Ansatz: + $$\mathcal{L}(x, \lambda_1, \dots, \lambda_p) = f(x) + \sum_{j=1}^p \lambda_j \cdot h_j(x)$$ + wobei das nun die notwendigen Nebenbedingungen für ein Optimum liefert, + wenn man den Gradienten nach $x$ und den Gradienten nach $\lambda$ + bildet und gleich 0 setzt. + \item Was passiert bei den Gradienten nach $\lambda$? + \item[$\Rightarrow$] Die Gleichungsnebenbedingungen kommen raus. + \item Nun kam noch die Sache mit den Höhenlinien / den Gradienten und + dem Winkel. + \item Ok, verlassen wir die Optimierungstheorie. Was können sie zum + Optimalitätsprinzip sagen? + \item[$\Rightarrow$] Wenn man ein Problem mit optimaler Substruktur hat, + dann gilt für jede optimale Lösung, dass die Lösungen der + enthaltenen Teilprobleme optimal sein müssen. Sehr schön kann + man das bei der kürzesten Wegesuche sehen. + \item Zeigen sie das mal an einem Beispiel. + \item[$\Rightarrow$] Wenn der kürzeste Weg von $A$ nach $E$ über + $B, C, D$ führt, dann muss der kürzeste Weg von $B$ nach $D$ auch + über $C$ führen. Falls das nicht so wäre --- es also einen + kürzesten Weg z.B. direkt von $B$ nach $D$ geben würde, dann wäre + auch der Weg von $A$ nach $E$ kürzer wernn man direkt von $B$ nach + $D$ gehen würde. + \item Was hat das mit MDPs zu tun? + \item[$\Rightarrow$] Anwendung findet es im Dynamic Programming + (Endliche MDPs mit endlichem Horizont). Dabei geht man Rückwärtsrekursiv + vor um die Wertefunktion $J$ aus der Kostenfunktion $g$ zu berechnen: + \begin{align} + J(x_N) &= g_N(x_N)\\ + J(x_k) &= \min_{a_k} \left [ g_k(a_k, x_k) + \mathbb{E}\{J_{k+1}(x_k+1) | x_k, a_k\} \right] + \end{align} + \item Sehr schön, da haben wir auch gleich die Bellman-Gleichungen. + Nun hatten wir noch geschlossen lösbare Spezialfälle. Welche + sind das? + \item[$\Rightarrow$] \begin{enumerate*}[label=(\roman*)] + \item Lineare Probleme (LQR) + \item Endliche, deterministische Probleme (Label-Korrektur) + \item Endliche Probleme mit unendlichem Horizont (Fixpunktsatz, Werteiteration, Bellman-Operator) + \end{enumerate*} + \item Dann erklären Sie doch mal den LQR. + \item[$\Rightarrow$] + Zustandsraummodell ist linear und rauschen ist $r \sim \mathcal{N}(0, \Sigma)$: + $$x_{k+1} = A_k x_k + B_k a_k + r$$ + Objective function ist: + $$\mathbb{E} \left ( \underbrace{x_N^T \cdot Q_N \cdot x_N + \sum_{k=0}^{N-1} x_k^T \cdot Q_k \cdot x_k}_{\text{Zustandsabhängige Kosten}} + \underbrace{\sum_{k=0}^{N-1} a_k^T \cdot R_k \cdot a_k}_{\text{aktionsabhängige Kosten}} \right )$$ + Der LQR ist dann einfach + $$a_k^* = \underbrace{-{(R_k + B_k^T P_{k+1} B_k)}^{-1} \cdot B_k^T \cdot P_{k+1} \cdot A_k}_{\text{Verstärkungsmatrix } L_k} x_k$$ + wobei $P_k$ Rückwärtsrekursiv durch die iterativen Riccati-Gleichungen + bestimmt werden kann. (Hier wollte ich die aufschreiben, aber bei $P_N = Q_N$ + hat er mich gestoppt.) + \item Ok, das ist schon gut so. Nur Qualitativ, was machen die + Riccati-Gleichungen? + \item[$\Rightarrow$] Strukturell sind sie identisch zum Update der + Fehlermatrix im Kalman-Filter duch den Update und + Prädiktionsschritt. + \item Ok, gut. Kommen wir zu POMDPs. Wie löst man die? + \item[$\Rightarrow$] Belief-State MDP und Informationsvektor-MDP erklärt, + Approximative Lösungen (Abbildung auf geschlossen lösbare Spezialfälle, Funktionsapproximatoren, Änderung der Optimierung) + \item Ok. Warum verwendet man in der Praxis eher nicht das Informationsvektor-MDP? + \item[$\Rightarrow$] Weil der Zustand in jedem Zeitschritt wächst. + In jedem Zeitschritt $k$ kommt eine weitere + Aktion $a_k$ hinzu; ggf. auch noch Beobachtungen + $z_k$. Will man alles nutzen wird das Programm + immer langsamer. + \item Sie haben hinreichende Statistiken erwähnt. Was ist das? + \item[$\Rightarrow$] (Definition; vgl. mein Blog-Artikel) + \item Welche geschlossenen Spezialfälle gibt es bei POMDPs? + \item[$\Rightarrow$] Linear (Kalman-Filter + LQR) und endlich ($\alpha$-Vektoren) + \item Was ändert sich beim LQR im POMDP-Fall? + \item[$\Rightarrow$] $a_k = L_k \cdot \mathbb{E}(x)$ + \item Warum ist der Kalman-Filter toll? + \item[$\Rightarrow$] Er erfüllt die BLUE-Eigenschaft (Best linear unbiased estimator). + Das bedeutet, unter den erwartungstreuen linearen Schätzern ist + er derjenige, welcher die geringste Varianz aufweist. + \item Welche Annahmen machen wir beim Kalman-Filter? + \item[$\Rightarrow$] Additives, mittelwertfreies normalverteiltes Rauschen und + ein linearer Zustandsübergang. + \item Was passiert, wenn das Rauschen nicht mehr normalverteilt ist? + \item[$\Rightarrow$] Man muss die Kovarianz-Matrix berechnen können. + Wenn das geht, dann ist der Kalman-filter immer noch + der beste lineare Filter (aber es gibt nicht-lineare + Filter die besser sind). + \item Welche Bedingung muss der Zustandsschätzer für den LQR erfüllen? + \item[$\Rightarrow$] Er muss erwartungstreu sein, was der Kalman-filter ja ist. + \item Was bedeutet PWLC? + \item[$\Rightarrow$] Piece-wise linear and concave. Da wir in der Vorlesung + Minimierungsprobleme hatten, war es concave und + nicht konvex. PWLC sind bei endlichen POMDPs + die Wertefunktionen $J_k$ (Zeichnung des Belief-State / der Aktionen; vgl. Links in meinem Blog). Ich habe noch Pruning erwähnt. + \item Wie kann man einfach Pruning durchführen? + \item[$\Rightarrow$] Es handelt sich um einen Simplex. (Beispiel mit nur + 2 Zuständen aufgezeichnet.) Ein paarweiser + Vergleich ist möglich, indem man nur die Endpunkte + betrachtet. Wird eine Aktion echt von einer anderen + dominiert, so kann diese Entfernt werden. + Wird eine Aktion durch Kombinationen von + Aktionen dominiert, so könnte man z.B. Algorithmen + zur berechnun der Konvexen Hülle nutzen. + \item Wie steigt die komplexität des $\alpha$-Algorithmus in jedem + Zeitschritt? + \item[$\Rightarrow$] Exponentiell (in jedem Zeitschritt sind alle + Aktionen prinzipiell wieder möglich) + \item Ok, nun zu RL. Welche 3 Gruppen von Lösungsalgorithmen hatten wir? + \item[$\Rightarrow$] Modellbasiert, Wertefunktionsbasiert, Strategiesuche. + Modellbasiert kann mittels DP zu Wertefunktionsbasiert + reduziert werden. Mit argmax kann man dann eine Strategie + berechnen. Modellbasiert gibt es Dyna-Q, + Adaptive DP und PILCO. Wertefunktionsbasiert + hatten wir die Monte Carlo-Verfahren, + Temporal Difference und die Kombination mit + Eligibility traces. + \item Was ist das Exploitation vs. Exploration-Problem? + \item[$\Rightarrow$] Im RL kennen wir das Modell nicht. Wir befinden + uns sozusagen im Dunkeln und müssen erst finden wo es Rewards gibt. + Am Anfang muss man also Explorieren. (Habe eine Grid-World gezeichet + und eine Pfad, wo ein Roboter einen Reward von 100 gefunden hat). Nun + könnte man die Strategie so aufbauen, dass immer dieser Pfad + (versucht wird) zu nehmen. Allerdings kann man auch darauf hoffen, dass + an anderer Stelle (eingezeichnet) ein Reward von z.B. 150 ist. Um + das herauszufinden muss man von der aktuell \enquote{optimalen} Strategie + abweichen und explorieren. + \item Wie macht man das? + \item[$\Rightarrow$] Durch probabilistische Strategien. Das einfachste + ist, dass man am Anfang $\varepsilon \in \mathbb{N}$ Schritte exploriert + und dann deterministisch die Strategie benutzt. Besser sind GLIE-Strategien, + die theoretisch unendlich oft alle Zustände besuchen. Nennenswert sind + $\varepsilon$-Greedy und Softmax. + \item Zeichnen sie die Verteilung mal auf, wenn sie 3 Aktionen haben + und Aktion 1 optimal ist, Aktion 2 die zweitbeste und Aktion 3 + die schlechteste. + \item[$\Rightarrow$] Es ergibt sich, dass bei $\varepsilon$-Greedy + die nicht-optimalen Aktionen gleichverteilt sind und bei + softmax ist die Verteilung vom aktuell geschätzten Wert der Aktion + abhängig. Da gibt es noch eine Temperatur $\tau$, welche mit der + Zeit sinkt. Am Anfang ist der $Q$-Wert der Aktionen also nicht so + wichtig, aber später mehr. Es gibt noch ausgefeiltere Explorations-Strategien + welche berücksichtigen wie viel sich in der Q-Funktion noch ändert. + \item Ok, dass hatten wir nicht in der Vorlesung. Damit ist die + Zeit auch schon rum. + \end{itemize} +\end{document} diff --git a/documents/kit-muendlich-proplan/myStyle.sty b/documents/kit-muendlich-proplan/myStyle.sty new file mode 100644 index 0000000..fa81e43 --- /dev/null +++ b/documents/kit-muendlich-proplan/myStyle.sty @@ -0,0 +1,26 @@ +\usepackage[utf8]{inputenc} % this is needed for umlauts +\usepackage[ngerman]{babel} % this is needed for umlauts +\usepackage[T1]{fontenc} % needed for right umlaut output in pdf +\usepackage{multicol} +\usepackage{stmaryrd} +\usepackage{pifont} +\usepackage{graphicx} +\usepackage{multirow} +\usepackage{color} +\usepackage{amsfonts, amssymb} +\usepackage{hyperref} + +\pagestyle{empty} + +\topmargin=-1.5cm +\headheight=0cm +\headsep=0cm +\textheight=28cm +\footskip=0cm + +\oddsidemargin=-1cm +\evensidemargin=-1cm +\textwidth=18cm +\parindent=0cm + +\title{Fragebogen zu mündlichen Prüfungen}