Skip to content
Snippets Groups Projects
Commit afd0edc5 authored by Joseph Walton-Rivers's avatar Joseph Walton-Rivers
Browse files

first draft of metircs slides

parent 3befc8bf
No related branches found
No related tags found
No related merge requests found
Pipeline #
\input{shared/pres}
\input{shared/preamble}
\input{content/metrics}
\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}
slides/images/tbs-peices.png

29.8 KiB

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment