From afd0edc54b068b7b7b7230d8762511fb8c556bd9 Mon Sep 17 00:00:00 2001 From: Joseph Walton-Rivers <jwalto@essex.ac.uk> Date: Mon, 21 May 2018 19:54:22 +0100 Subject: [PATCH] first draft of metircs slides --- slides/ce810-metrics.pres.tex | 4 ++ slides/content/metrics.tex | 130 ++++++++++++++++++++++++++++++++++ slides/images/tbs-peices.png | Bin 0 -> 30516 bytes 3 files changed, 134 insertions(+) create mode 100644 slides/ce810-metrics.pres.tex create mode 100644 slides/content/metrics.tex create mode 100644 slides/images/tbs-peices.png diff --git a/slides/ce810-metrics.pres.tex b/slides/ce810-metrics.pres.tex new file mode 100644 index 0000000..32ff391 --- /dev/null +++ b/slides/ce810-metrics.pres.tex @@ -0,0 +1,4 @@ +\input{shared/pres} +\input{shared/preamble} +\input{content/metrics} + diff --git a/slides/content/metrics.tex b/slides/content/metrics.tex new file mode 100644 index 0000000..3515d7c --- /dev/null +++ b/slides/content/metrics.tex @@ -0,0 +1,130 @@ +\subtitle{Metrics} +\date{Tuesday, 22 May 2018} + +\tikzset{ + treenode/.style = {align=center, inner sep=0pt, text centered, + font=\sffamily}, + arn_n/.style = {treenode, circle, white, font=\sffamily\bfseries, draw=black, + fill=black, text width=1.5em},% arbre rouge noir, noeud noir + arn_r/.style = {treenode, circle, red, draw=red, + text width=1.5em, very thick},% arbre rouge noir, noeud rouge + arn_x/.style = {treenode, rectangle, draw=black, + minimum width=0.5em, minimum height=0.5em},% arbre rouge noir, nil + box/.style = {draw, align=center, text centered, rectangle, draw=black, minimum height=1.25cm, minimum width=2cm} +} + +\DeclareMathOperator*{\argmax}{arg\,max} + + +\begin{document} + + \begin{frame} + \titlepage + \end{frame} + + \begin{frame}{Metrics} + \begin{itemize}[<+->] + \item We talked about this last week... + \item Have a look at the evaluation slides + \item We also did this in the asteroids code. + \end{itemize} + \end{frame} + +\section{Evaluation} + +\begin{frame}{Basic} +\begin{itemize} + \item Look at AppMetrics + \item Add your parameters using addParameter + \item Write your fitness function + \item get the best and print it out +\end{itemize} +\end{frame} + + \begin{frame}{What we need} + \begin{itemize}[<+->] + \item AI agents (We've done this yesterday) + \item Some Parameters (EntityProp, EntityCost, etc...) + \item An evaluation function + \item Some maps? (One will do...) + \end{itemize} + \end{frame} + + \begin{frame}{AI Agents} + \begin{itemize}[<+->] + \item We did these yesterday. + \item We should load the AIFactory + \item Then use the factory in the evaluate + \item ai.buildAI("ProRuleRushRangedBlue", settings), + \end{itemize} + \end{frame} + + \begin{frame}{Some Parameters} + \begin{itemize}[<+->] + \item evo.addParameter(new EntityProp("red\_knight", "defRanged", 0, 10, 1)); + \item A min, max and step size + \item The entity and property + \end{itemize} + \end{frame} + + \begin{frame}{Evaluation Function} + \begin{itemize}[<+->] + \item Run the games + \item Collect some \textbf{metrics} + \item Report the game fitness + \item (offline) analyse the metrics... + \end{itemize} + \end{frame} + +\begin{frame}[fragile]{Basic} + \begin{minted}[breaklines,tabsize=2,fontsize=\footnotesize]{Java} +public Double evaluate(GameSettings settings) { +} + \end{minted} +\end{frame} + +\begin{frame}[fragile]{Basic} + \begin{minted}[breaklines,tabsize=2,fontsize=\footnotesize]{Java} +public Double evaluate(GameSettings settings) { + GameState start = map.buildState(settings); + int[] winCounts = new int[2]; + for (int i=0; i<10; i++) { + Controller[] controllers = new Controller[] { + ai.buildAI("ProRuleRushRangedBlue", settings), + ai.buildAI("ProRuleRushRed", settings) + }; + GameState state = new GameState(start); + GameMetrics metrics = runGame(state, settings, controllers); + + Integer winner = metrics.getWinner(); + if (winner != null) { + winCounts[winner]++; + } + } + + double score = winCounts[1] - winCounts[0]; + fitnessScores.put(settings, score); + return score; +} + \end{minted} +\end{frame} + +\section{Stats} +\begin{frame}[fragile]{Stats} + \begin{itemize} + \item Stats about the games + \item Stats about the turns + \item You can write files per game played - see the example + \item lots (and lots) of files... + \end{itemize} +\end{frame} + +\begin{frame}[fragile]{Graphs} + \begin{figure} + \includegraphics[width=\textwidth]{tbs-peices} + \caption{What can we learn from this?} + \end{figure} +\end{frame} + + +\end{document} diff --git a/slides/images/tbs-peices.png b/slides/images/tbs-peices.png new file mode 100644 index 0000000000000000000000000000000000000000..97b83b080fb4723229efc7902aa5a37adc4acd8b GIT binary patch literal 30516 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 literal 0 HcmV?d00001 -- GitLab