diff options
-rw-r--r-- | aied2018/presentation/aied_poster.tex | 2 | ||||
-rw-r--r-- | aied2018/presentation/rules.tex | 32 |
2 files changed, 24 insertions, 10 deletions
diff --git a/aied2018/presentation/aied_poster.tex b/aied2018/presentation/aied_poster.tex index ad9850c..6956fdc 100644 --- a/aied2018/presentation/aied_poster.tex +++ b/aied2018/presentation/aied_poster.tex @@ -92,7 +92,7 @@ \item Patterns are useful, because in our experiment ... \begin{itemize} - \item classification accuracy of Random Forest was 17\% overall higher than default accuracy. + \item classification accuracy of Random Forest was on average 17\% higher than default accuracy. \item n-rules explained over 70\% of incorrect submissions. \item p-rules explained 62\% of correct programs. \end{itemize} diff --git a/aied2018/presentation/rules.tex b/aied2018/presentation/rules.tex index 994e3a0..f2a31c7 100644 --- a/aied2018/presentation/rules.tex +++ b/aied2018/presentation/rules.tex @@ -20,7 +20,7 @@ $\vdotswithin{S_4}$ & & $\vdotswithin{1}$ & & & $\vdotswithin{correct}$ \\ \end{itemize} \end{column} \end{columns} -\vspace{1cm} +\vspace{2cm} \begin{columns} @@ -33,12 +33,12 @@ $\vdotswithin{S_4}$ & & $\vdotswithin{1}$ & & & $\vdotswithin{correct}$ \\ \item \emph{p-rules} describe necessary patterns for programs to be correct: \\IF $condition$ THEN $correct$. \end{itemize} \vspace{0.5cm} - \textbf{Example:} Implement a function that returns the element with the largest absolute value. + \textbf{Example: Greatest Absolutist} \begin{itemize} \item 155 submissions (57 correct, 98 incorrect) - \item 8298 patterns, 15 n-rules and 6 p-rules. + \item 8298 patterns, 15 n-rules and 6 p-rules \end{itemize} - \textbf{Correct solution:} + \underline{\smash{A solution:}} \begin{Verbatim} \textbf{def} max_abs(l): vmax = l[0] @@ -48,7 +48,7 @@ $\vdotswithin{S_4}$ & & $\vdotswithin{1}$ & & & $\vdotswithin{correct}$ \\ \textbf{return} vmax \end{Verbatim} \vspace{0.5cm} - \textbf{Two sample learned n-rules:} + \underline{\smash{Two sample learned n-rules:}} \begin{itemize} \item \textsf{P64 ⇒ incorrect } (covers 22) \item \textsf{P2 ∧ P70 ⇒ incorrect} (covers 17) @@ -58,12 +58,13 @@ $\vdotswithin{S_4}$ & & $\vdotswithin{1}$ & & & $\vdotswithin{correct}$ \\ \begin{column}{0.40\textwidth} \fbox{ \begin{minipage}[t]{0.94\textwidth} + \vspace{0.5cm} \textbf{How useful are patterns?} \begin{itemize} \item Compare accuracies of Random Forest and Majority Classifier. \item Three types of exercises (basic, loops, functions) \end{itemize} - \vspace{1cm} + \vspace{0.5cm} \begin{center} \begin{tabular}{l|rr} \textbf{Problem} & Maj & RF \\ @@ -89,8 +90,12 @@ $\vdotswithin{S_4}$ & & $\vdotswithin{1}$ & & & $\vdotswithin{correct}$ \\ \end{minipage}} \end{column} \end{columns} -\vspace{1.0cm} -\textbf{Vizualizations of patterns}; left program contains pattern \textsf{P64}, right program contains pattern \textsf{P2} (red) and \textsf{P70} (blue) that matches the call to \textsf{abs} in an assignment statement nested within a for loop and an if clause. +\vspace{1.5cm} +\underline{\smash{Vizualizations of rules / patterns}} +\begin{itemize} + \item \textsf{P64} (blue left) matches functions returning variable compared in the \textsf{if} clause. + \item \textsf{P2} (red right) matches functions that return the variable used in an assignment statement within a for-if block; \textsf{P70} (blue) matches the call to \textsf{abs} in an assignment statement nested within a for loop and an if clause. +\end{itemize} \begin{Verbatim} \textbf{def} max_abs(l): \textbf{def} max_abs(l): vmax = 0 vmax = None @@ -98,6 +103,15 @@ $\vdotswithin{S_4}$ & & $\vdotswithin{1}$ & & & $\vdotswithin{correct}$ \\ \textbf{if} \blue{vmax} < abs(l[i]): \textbf{if} vmax==None or vmax<v: vmax = l[i] \red{vmax} = \blue{abs}(v) \textbf{return} \blue{vmax} \textbf{return} \red{vmax} -\end{Verbatim} +\end{Verbatim} + +%\begin{Verbatim} +%\textbf{def} max_abs(l): \textbf{def} max_abs(l): +%vmax = 0 vmax = None +%\textbf{for} i \textbf{in} range(len(l)): \textbf{for} v \textbf{in} l: +%\textbf{if} \blue{vmax} < abs(l[i]): \textbf{if} vmax==None or vmax<v: +%vmax = l[i] \red{vmax} = \blue{abs}(v) +%\textbf{return} \blue{vmax} \textbf{return} \red{vmax} +%\end{Verbatim} |