diff options
-rw-r--r-- | doc/tex/imago.tex | 10 | ||||
-rw-r--r-- | doc/tex/introduction.tex | 29 | ||||
-rw-r--r-- | doc/tex/planification.tex | 36 | ||||
-rw-r--r-- | doc/tex/results.tex | 6 | ||||
-rw-r--r-- | doc/tex/systemAnalysis.tex | 2 |
5 files changed, 48 insertions, 35 deletions
diff --git a/doc/tex/imago.tex b/doc/tex/imago.tex index cc77673..5f0b781 100644 --- a/doc/tex/imago.tex +++ b/doc/tex/imago.tex @@ -34,6 +34,16 @@ \newcommand{\flist}[1]{Listing~\ref{#1}} %\newcommand{\uurl}[1]{\underline{\url{#1}}} +\newcommand{\acronim}[2] +{ + \iftoggle{#1} + {#1} + {#1 (#2)\toggletrue{#1}} +} + +\newtoggle{SGF} +\newcommand{\acrSGF}[0]{\acronim{SGF}{Smart Game Format}} + \newcommand{\tabitem}{~~\llap{\textbullet}~~} \begin{document} diff --git a/doc/tex/introduction.tex b/doc/tex/introduction.tex index fe5c205..2f34b7b 100644 --- a/doc/tex/introduction.tex +++ b/doc/tex/introduction.tex @@ -20,3 +20,32 @@ artificial intelligences with superhuman strength. While not expecting to achieve what a full team of developers and computer scientists at Google did, this project aims to evaluate how an engine able to play the game of Go could be created, implement such an engine and evaluate the results of the whole process. + +\subsection{Driving Needs} + +As one of the deepest and most studied games in the world, Go presents a very +interesting problem for artificial intelligence. Implementing not only the +game's simple but subtle rules, but a system capable of playing it with a +satisfying level of skill, is a task worth of pursuing as an exercise on +software design, algorithmics and AI research. + +On the practical level, this project can be a foundation for the development of +different Go analysis algorithms by providing an existing engine to house them, +which can be of interest to Go players and software scientists alike. + +\subsection{Reach} + +Presented here are the ideal targets of the project. + +\begin{itemize} + \item An implementation of the game of Go, that is, a system for holding the + moves and variants of a match (a tree of moves) and the logic for the + game's rules. + \item An engine capable of analyzing board positions and generating strong + moves via various decision algorithms. + \item Either a GUI specifically developed for the project or an + implementation of an existing protocol so the engine can be used with + existing tools and GUIs. + \item A way for processing existing records of games, which are usually + recorded in the SGF format. +\end{itemize} diff --git a/doc/tex/planification.tex b/doc/tex/planification.tex index f0f7535..9112f45 100644 --- a/doc/tex/planification.tex +++ b/doc/tex/planification.tex @@ -1,33 +1,7 @@ -\section{Planning} +\section{Planification} -\subsection{Driving Needs} - -As one of the deepest and most studied games in the world, Go presents a very -interesting problem for artificial intelligence. Implementing not only the -game's simple but subtle rules, but a system capable of playing it with a -satisfying level of skill, is a task worth of pursuing as an exercise on -software design, algorithmics and AI research. - -On the practical level, this project can be a foundation for the development of -different Go analysis algorithms by providing an existing engine to house them, -which can be of interest to Go players and software scientists alike. - -\subsection{Reach} - -Presented here are the ideal targets of the project. - -\begin{itemize} - \item An implementation of the game of Go, that is, a system for holding the - moves and variants of a match (a tree of moves) and the logic for the - game's rules. - \item An engine capable of analyzing board positions and generating strong - moves via various decision algorithms. - \item Either a GUI specifically developed for the project or an - implementation of an existing protocol so the engine can be used with - existing tools and GUIs. - \item A way for processing existing records of games, which are usually - recorded in the SGF format. -\end{itemize} +This section explains the aim of the project, its reach, the existing work it is +based on and an initial planification. \subsection{Project Stages} @@ -127,7 +101,7 @@ engine for which the GTP protocol was first defined. \paragraph{GTP\cite{gtp}} GTP (\textit{Go Text Protocol}) is a text based protocol for -communication with computer go programs. It is the protocol used by GNU Go and +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. @@ -144,7 +118,7 @@ based on neural networks. \subsubsection{Sabaki\cite{sabaki}} -Sabaki is a go board software compatible with GTP engines. It can serve as a GUI +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. diff --git a/doc/tex/results.tex b/doc/tex/results.tex index 3c586e4..9c1e52c 100644 --- a/doc/tex/results.tex +++ b/doc/tex/results.tex @@ -36,7 +36,7 @@ The Monte Carlo Algorithm tries to explore the tree of possibilities as efficiently as possible. With this approach, it can be expected to fail when alone on a problem such big as the game of Go. Nonetheless, there are some areas where it can be useful. It will be evaluated by its capabilities while playing -games but also when presented with go problems. +games but also when presented with Go problems. The Monte Carlo algorithm has been set to do 5 explorations with 10 simulations each when it is asked for a move. In the hardware used this makes it think for @@ -77,7 +77,7 @@ the board, for which the player must find some beneficial move. Life and death problems are a subset of tsumegos in which the survival of a group depends on finding the correct sequence to save or kill the group. One collection of such tsumegos is \textit{Cho Chikun's Encyclopedia of Life and Death}, part of which -are available on OGS\cite{ogsLifeAndDeath}, an online go server. +are available on OGS\cite{ogsLifeAndDeath}, an online Go server. The first of these problems and what the algorithm suggested as moves is shown in \fref{fig:mctsProblem01}. @@ -184,7 +184,7 @@ move), can be seen on Figs.~\ref{fig:denseVSdense01}, \ref{fig:denseVSdense02}, The dense network starts on the center of the board, which is one of the standard openings in the 9x9 board. It starts on a very good track, but we must -acknowledge that the empty board is a position present on every go match it has +acknowledge that the empty board is a position present on every Go match it has trained on and so it should know it well. It probably means the center was the most played opening in the sample. It is interesting to check the heatmap of this move, since the selected move has only a score of 0.27. Other common diff --git a/doc/tex/systemAnalysis.tex b/doc/tex/systemAnalysis.tex index c3c6aa8..e7fbc73 100644 --- a/doc/tex/systemAnalysis.tex +++ b/doc/tex/systemAnalysis.tex @@ -783,7 +783,7 @@ GTP protocol and outputs the coordinates of the board to play. main scenario. \\ \midrule \textbf{Notes} & - This scenario does not pretend to be a complete recreation of a go match. It + This scenario does not pretend to be a complete recreation of a Go match. It will be playable, but its main purpose is to see the Game implementation in action.\newline A robustness diagram for this scenario is shown in |