Jason House wrote:
I went back to take another look and here are some of the things I'm
noticing immediately:
* There's both a go and gouct directory. They share many of the
same file names (after removing the path-dependent name mangling
such as GoBoard.cpp and GoUctBoard.cpp). One would guess that
the gouct directory would take precedent.
* GoUctPlayoutPolicy.h includes GoUctGlobalSearch.h which includes
GoBoard.h??? This obviously conflicts with the first
conclusion. Maybe GoUctBoard is just dead code and GoBoard is
the file to use?
* GoUctGlobalSearch.h also include GoUctSearch.h which includes
both GoBoard.h and GoUctBoard.h. Again, another conclusion gone
bad.
* GoBoard.h includes SgBoardConst.h, which hides in smartgame.
There's tons of other references to Sg stuff throughout the
code. What is smartgame anyway?
I agree that the documentation could be better. The code has been
restructured many times within the last years and sometimes it is better
not to spend too much time too early on full documentation or tutorials,
because it could lead to an accumulation of outdated and therefore
misleading documentation.
However, the questions you list here can be answered by looking at the
existing documentation. The SmartGame, Go, and GoUct library have a
hierarchical dependency, see
http://www.cs.ualberta.ca/~games/go/fuego/fuego-doc/general/generalmodules.html
The main page of these libraries in the doxygen documentation has at
least a short description what they are for. Reading the class
descriptions would have given you the information that GoBoard is a
general implementation of a Go board, whereas GoUctBoard is a version
optimized for MC-playouts, which does not support undo or super-ko.
GoUctSearch uses both of them. GoUctSearch does not "take precendent"
over SgUctSearch, but derives from it. It is indeed a bit unfortunate
that we use the prefix GoUct for the GoUct library, because it is
ambiguous whether GoUctSearch resides in the Go or GoUct library, but
the class listings of the libraries should have answered that question.
I actually did spend several weeks on writing a technical report, which
gives a high level introduction to Fuego version 0.3 and its current
performance. There are still a few paragraphs that Martin has to write,
so it could take a few more weeks until it is done. Hopefully it will be
made public on Fuego's website by end of March, but that depends on Martin.
- Markus
_______________________________________________
computer-go mailing list
[email protected]
http://www.computer-go.org/mailman/listinfo/computer-go/