[gecode-users] how to start?
Mikael Zayenz Lagerkvist
zayenz at kth.se
Fri Jan 9 08:24:36 CET 2009
The documentation for Gecode is a reference documentation, there is
currently no tutorial-style documentation. See previous discussion on
the mailing list .
As for learning to use Gecode, I would recommend to start learning by
doing a few simple models. All the examples in the examples-directory
are full programs (hint: each file has a main-function), so they are a
good starting point for exploration. I would recommend starting by
studying a simple example like n-queens (examples/queens.cc) or
send+more=money (examples/money.cc). Gecode uses mostly the same
concepts as other CP-systems, so the modeling-part is quite similar.
For detailed information about the constraints and variables that you
can use, the relevant sections in the reference-documentation are
under Programming Models .
PS A script refers to a model.
On Thu, Jan 8, 2009 at 7:55 PM, Oliver Kullmann
<O.Kullmann at swansea.ac.uk> wrote:
> I'm relatively familiar with the concepts of
> constraint satisfaction and constraint programming
> (say, at the level of [Dechter, Constraint Processing],
> [Apt, Principles of Constraint Programming], or
> [Handbook of Constraint Programming], however
> when trying to get into Gecode, then I'm lost:
> I even don't know what it's all about?
> one finds under "Getting started" how to install it
> (no problem), some notational convention (which I
> somehow can imagine what it wants to say, but which
> seems at this point rather irrelevant), and then
> we have the glossary, which seems rather circular
> to me, and which doesn't say much when you are not
> already familiar with the library.
> That seems to be it: "Programming tasks" seem to speak
> only about some specifics (again, if the whole is not known
> that it doesn't seem to make so much sense), and the rest
> looks alike.
> So where to start?? Is there no definition of the whole problem
> area (what kind of "constraint satisfaction problems" are
> considered?), the basic algorithms supported (there are quite
> a few algorithmic models out there), what are the basic abstraction
> about "variables, values, constraints" (abstract data types)?
> Perhaps Gecode assumes familiarity with some other CSP-library?
> I'm coming from the SAT world, and I'm not aware of any other
> framework than Gecode (which could be used as a role model).
> Of course, I could start with some examples, but there seem to
> be no complete examples, just classes (like http://www.gecode.org/gecode-doc-latest/classGraphColor.html;
> I guessed that graph colouring would be rather easy), which don't say
> much without the framework.
> At http://www.gecode.org/gecode-doc-latest/group__Example.html it says
> "All scripts are compiled into simple standalone programs. ", but I don't understand
> what "script" here means? Clicking on "Scripts for problems" I only get
> some (specific) classes?
> Perhaps one needs to search for those files in the installed library?
> (Somehow I'm of the old-fashioned opinion that documentation should be
> somehow self-contained.)
> But for example "graph-color.cc" doesn't give definitions/explanations (about the
> concepts involved)? It all seems to assume that the basic concepts are known.
> This is now my second attempt to gain a bit of familiarity with Gecode, but
> I can't find no bridge.
> Is it necessary to start reading the source code, looking at all the examples,
> and deciphering myself what are the underlying concepts?
> Perhaps there is some fundamental piece of documentation I'm missing.
> Or, if not, then I would guess it wouldn't be too hard to outline
> somewhere the basic concepts (from an abstract point of view).
> Once one knows the main direction, then guessing what examples
> and code fragments could mean becomes much easier.
> Hoping for some hints
> Confused Oliver
> Dr. Oliver Kullmann
> Computer Science Department
> Swansea University
> Faraday Building, Singleton Park
> Swansea SA2 8PP, UK
> Gecode users mailing list
> users at gecode.org
Mikael Zayenz Lagerkvist, http://www.ict.kth.se/~zayenz/
More information about the gecode-users