aboutsummaryrefslogtreecommitdiff
path: root/doc/tex/planning.tex
diff options
context:
space:
mode:
Diffstat (limited to 'doc/tex/planning.tex')
-rw-r--r--doc/tex/planning.tex61
1 files changed, 34 insertions, 27 deletions
diff --git a/doc/tex/planning.tex b/doc/tex/planning.tex
index 1450e8a..2caace3 100644
--- a/doc/tex/planning.tex
+++ b/doc/tex/planning.tex
@@ -12,7 +12,7 @@ components and needs.
The rules of the game must be implemented, ideally in a way they can be tested
by direct human play. This system will at its bare minimum represent the
-Japanese Go rules (area scoring, no superko rule, no suicide moves).
+Japanese Go rules (area scoring, no \gls{superko} rule, no \gls{suicide} moves).
\subsubsection{Engine Implementation}
@@ -125,29 +125,35 @@ presents a great resource for this project. The logo of the project is shown on
A software capable of playing Go part of the GNU project. Although not a strong
engine anymore, it is interesting for historic reasons as the free software
-engine for which the GTP protocol was first defined. The logo of the project is shown on
-\fref{fig:gnuGoLogo}.
+engine for which the \acrshort{gtp} protocol was first defined. The logo of the
+project is shown on \fref{fig:gnuGoLogo}.
\subsubsection{Existing Standards}
-\paragraph{GTP \cite{gtp}}
+\paragraph{\acrshort{gtp} \cite{gtp}}
-GTP (\textit{Go Text Protocol}) is a text based protocol for
+\acrshort{gtp} (\textit{\acrlong{gtp}}) is a text based protocol for
communication with computer Go programs. It is the protocol used by GNU Go and
-the more modern and powerful KataGo. By supporting GTP the engine developed for
-this project can be used with existing GUIs and other programs, making it easier
-to use it with the tools users are already familiar with.
-
-\paragraph{SGF \cite{sgf}}
-
-SGF (\textit{Smart Go Format} or, in a more general context, \textit{Smart Game
-Format}) is a text format widely used for storing records of Go matches which
-allows for variants, comments and other metadata. It was devised for Go but it
-supports other games with similar turn-based structure. Many popular playing
-tools use it. By supporting SGF vast existing collections of games, such as
-those played on online Go servers, can be used to train the decision algorithms
-based on neural networks. An example of a SGF file can be seen on
-\lref{lst:sgfExample}.
+the more modern and powerful KataGo. By supporting \acrshort{gtp} the engine
+developed for this project can be used with existing GUIs and other programs,
+making it easier to use it with the tools users are already familiar with.
+
+%TODO
+%\begin{listing}[h]
+% \inputminted{text}{listings/gtpExample.sgf}
+% \caption{GTP session example.}
+% \label{lst:gtpExample}
+%\end{listing}
+
+\paragraph{\acrshort{sgf} \cite{sgf}}
+
+\acrshort{sgf} (\textit{\acrlong{sgf}}) is a text format widely used for storing
+records of Go matches which allows for variants, comments and other metadata. It
+was devised for Go but it supports other games with similar turn-based
+structure. Many popular playing tools use it. By supporting \acrshort{sgf} vast
+existing collections of games, such as those played on online Go servers, can be
+used to train the decision algorithms based on neural networks. An example of a
+\acrshort{sgf} file can be seen on \lref{lst:sgfExample}.
\begin{listing}[h]
\inputminted[breakafter=\]]{text}{listings/sgfExample.sgf}
@@ -167,10 +173,10 @@ based on neural networks. An example of a SGF file can be seen on
\subsubsection{Sabaki \cite{sabaki}}
-Sabaki is a Go board software compatible with GTP engines. It can serve as a GUI
-for the engine developed in this project and as an example of the advantages of
-following a standardized protocol. Part of its graphical interface is shown on
-\fref{fig:sabaki}.
+Sabaki is a Go board software compatible with \acrshort{gtp} engines. It can
+serve as a GUI for the engine developed in this project and as an example of the
+advantages of following a standardized protocol. Part of its graphical interface
+is shown on \fref{fig:sabaki}.
\begin{figure}[h]
\begin{center}
@@ -210,11 +216,12 @@ choice is Python \cite{python}, for various reasons:
Both the game and the engine will offer a text interface. For the game this
allows for quick human testing. For the engine it is mandated by the protocol,
-since GTP is a text based protocol for programs using text interfaces.
-Independent programs compatible with this interface can be used as a GUI.
+since \acrshort{gtp} is a text based protocol for programs using text
+interfaces. Independent programs compatible with this interface can be used as a
+GUI.
-There is also the need of an interface with SGF files so existing games can be
-processed by the trainer.
+There is also the need of an interface with \acrshort{sgf} files so existing
+games can be processed by the trainer.
Both the engine and the trainer will need to interface with the files storing
the neural network models.