aboutsummaryrefslogtreecommitdiff
path: root/doc/tex/appendixes.tex
diff options
context:
space:
mode:
Diffstat (limited to 'doc/tex/appendixes.tex')
-rw-r--r--doc/tex/appendixes.tex127
1 files changed, 79 insertions, 48 deletions
diff --git a/doc/tex/appendixes.tex b/doc/tex/appendixes.tex
index ec6c2aa..f9f189e 100644
--- a/doc/tex/appendixes.tex
+++ b/doc/tex/appendixes.tex
@@ -34,7 +34,7 @@ When executed the user is presented with the following interface:
\par
}
-The state of the board (empty for now) is shown and the user is prompt for a
+The state of the board (empty for now) is shown and the user is prompted for a
move. The color to make the move is marked between brackets: \texttt{B} for
Black, \texttt{W} for White.
@@ -87,11 +87,38 @@ specification. It can be executed in a shell as:
\par
}
+The \acrshort{ai} to be run can be passes as an argument to the \texttt{-e}
+option. The available arguments are:
+
+\begin{itemize}
+
+ \item \texttt{montecarlo}: The Monte Carlo Tree Search algorithm is used.
+ \item \texttt{keras}: The default Keras neural network, the convolutional
+ one, is used.
+ \item \texttt{dense}: The dense neural network is used.
+ \item \texttt{conv}: The convolutional neural network is used.
+
+\end{itemize}
+
+So, if for example the dense neural network is the one to use, the program would
+be executed as:
+
+{
+ \centering
+ \begin{minipage}{0.4\textwidth}
+ \texttt{python imagocli.py -e dense}
+ \end{minipage}
+ \par
+}
+
+If no arguments are provided, the default configuration is to use the Monte
+Carlo Tree Search algorithm.
+
When executed interactively and before any input is provided it just waits for
input, with no prompt whatsoever. This is in compliance with the \acrshort{gtp}
specification.
-There are the commands that the program knows and a short description of what
+These are the commands that the program knows and a short description of what
each does:
\begin{itemize}
@@ -155,18 +182,26 @@ is closed with \texttt{quit}.
\subsubsection{Example of \acrshort{gui} use: configuring Sabaki}
Since the main aim of implementing a \acrshort{gtp} interface is having it be
-compatible with existing tools, an explanation of how to use in in conjunction
+compatible with existing tools, an explanation of how to use it in conjunction
with one such established tool is provided.
+\begin{figure}[p]
+ \begin{center}
+ \includegraphics[width=0.8\textwidth]{img/sabakiManual/01-initialScreen.jpg}
+ \caption{Sabaki after being started.
+ }\label{fig:sabakiStart}
+ \end{center}
+\end{figure}
+
Sabaki \cite{sabaki} is a Go board software compatible with \acrshort{gtp}
engines. It can be downloaded from \texttt{https://sabaki.yichuanshen.de/}. When
started, it shows a screen such as the one in \fref{fig:sabakiStart}.
-\begin{figure}[h]
+\begin{figure}[p]
\begin{center}
- \includegraphics[width=0.8\textwidth]{img/sabakiManual/01-initialScreen.jpg}
- \caption{Sabaki after being started.
- }\label{fig:sabakiStart}
+ \includegraphics[width=0.8\textwidth]{img/sabakiManual/02-examplePlaying.jpg}
+ \caption{Playing some moves on the default board.
+ }\label{fig:sabakiExampleMoves}
\end{center}
\end{figure}
@@ -176,11 +211,11 @@ board and, as would be expected, the interface swaps between players after each
move. An example of the screen after some initial moves can be seen on
\fref{fig:sabakiExampleMoves}.
-\begin{figure}[h]
+\begin{figure}[p]
\begin{center}
- \includegraphics[width=0.8\textwidth]{img/sabakiManual/02-examplePlaying.jpg}
- \caption{Playing some moves on the default board.
- }\label{fig:sabakiExampleMoves}
+ \includegraphics[width=0.8\textwidth]{img/sabakiManual/03-enginesSidebar.jpg}
+ \caption{Opened the engines sidebar (on the left).
+ }\label{fig:sabakiEnginesSidebar}
\end{center}
\end{figure}
@@ -191,9 +226,9 @@ sidebar open at the left but with nothing shown on it yet.
\begin{figure}[h]
\begin{center}
- \includegraphics[width=0.8\textwidth]{img/sabakiManual/03-enginesSidebar.jpg}
- \caption{Opened the engines sidebar (on the left).
- }\label{fig:sabakiEnginesSidebar}
+ \includegraphics[width=0.8\textwidth]{img/sabakiManual/04-engineManagement.jpg}
+ \caption{The engine management window.
+ }\label{fig:sabakiEngineManagement}
\end{center}
\end{figure}
@@ -202,11 +237,11 @@ triangle inside of a circle (the play button), and on ``Manage Engines...'' on
the opened floating dialog. The engine management window will open, as shown on
\fref{fig:sabakiEngineManagement}.
-\begin{figure}[h]
+\begin{figure}[p]
\begin{center}
- \includegraphics[width=0.8\textwidth]{img/sabakiManual/04-engineManagement.jpg}
- \caption{The engine management window.
- }\label{fig:sabakiEngineManagement}
+ \includegraphics[width=0.8\textwidth]{img/sabakiManual/05-configuredEngine.jpg}
+ \caption{\texttt{imagocli.py} configured as engine.
+ }\label{fig:sabakiConfiguredEngine}
\end{center}
\end{figure}
@@ -215,15 +250,17 @@ yet been configured nothing will be shown there. Click ``Add'' to create the
first engine entry. Give it a name by writing on the first line of the newly
created entry, then write the path to the \texttt{imagocli.py} executable
besides the folder symbol, at the text box prompting for the path to the engine.
-Arguments and initial commands to provide to the engine can be configured here,
-but none of them will be needed for the default configuration of \program{}. An
-example of the configured engine is shown on \fref{fig:sabakiConfiguredEngine}.
+Alternatively, click on the folder symbol and a file explorer will open where it
+will be possible to graphically select the executable file. Arguments and
+initial commands to provide to the engine can be configured here, but none of
+them will be needed for the default configuration of \program{}. An example of
+the configured engine is shown on \fref{fig:sabakiConfiguredEngine}.
-\begin{figure}[h]
+\begin{figure}[p]
\begin{center}
- \includegraphics[width=0.8\textwidth]{img/sabakiManual/05-configuredEngine.jpg}
- \caption{\texttt{imagocli.py} configured as engine.
- }\label{fig:sabakiConfiguredEngine}
+ \includegraphics[width=0.8\textwidth]{img/sabakiManual/06-configuringAMatch.jpg}
+ \caption{Configuring a match against the engine.
+ }\label{fig:sabakiConfiguringAMatch}
\end{center}
\end{figure}
@@ -239,23 +276,23 @@ most important settings are making the engine be one (or both) of the players
and setting the board size to 9x9, since this is where the engine plays best.
For example, to set the engine as the white player, click on the arrow next to
the white player's name and select the engine, represented by the name given to
-it before), on the floating menu. The size of the board can be set on the
-``Board Size'' setting. Other options allow to set a name for the other player,
-a name for the match, the \gls{komi} and the handicap stones, if any. When
-ready, click ``Ok'' on the bottom right of the window. An example configuration
-can be seen on \fref{fig:sabakiConfiguringAMatch}. If the engine doesn't respond
-to the moves, which should be clear since its status is shown on the engines
-sidebar, try adding it to the match by clicking on ``Attach Engine'' and then on
-its name on the new match window, instead of directly on its name. This creates
-a new entry for the engine on the engines sidebar. Multiple instances of the
-same or different engines can be running at the same time; to remove one, just
-right click on its name and click on ``Detach'' on the floating menu.
-
-\begin{figure}[h]
+it before, on the floating menu. The size of the board can be set on the ``Board
+Size'' setting. Other options allow to set a name for the other player, a name
+for the match, the \gls{komi} and the handicap stones, if any. When ready, click
+``Ok'' on the bottom right of the window. An example configuration can be seen
+on \fref{fig:sabakiConfiguringAMatch}. If the engine doesn't respond to the
+moves, which should be clear since its status is shown on the engines sidebar,
+try adding it to the match by clicking on ``Attach Engine'' and then on its name
+on the new match window, instead of directly on its name. This creates a new
+entry for the engine on the engines sidebar. Multiple instances of the same or
+different engines can be running at the same time; to remove one, just right
+click on its name and click on ``Detach'' on the floating menu.
+
+\begin{figure}[p]
\begin{center}
- \includegraphics[width=0.8\textwidth]{img/sabakiManual/06-configuringAMatch.jpg}
- \caption{Configuring a match against the engine.
- }\label{fig:sabakiConfiguringAMatch}
+ \includegraphics[width=0.8\textwidth]{img/sabakiManual/07-playingAgainstImago.png}
+ \caption{Playing some moves against \program{}.
+ }\label{fig:sabakiAgainstTheEngine}
\end{center}
\end{figure}
@@ -264,13 +301,7 @@ will respond as white. Some initial moves against it can be seen on
\fref{fig:sabakiAgainstTheEngine}. Note the interaction between Sabaki and the
\acrshort{gtp} interface on the engines sidebar.
-\begin{figure}[h]
- \begin{center}
- \includegraphics[width=0.8\textwidth]{img/sabakiManual/07-playingAgainstImago.png}
- \caption{Playing some moves against \program{}.
- }\label{fig:sabakiAgainstTheEngine}
- \end{center}
-\end{figure}
+\clearpage
\subsection{Budget}