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/

Reply via email to