Hello, 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?
At http://www.gecode.org/gecode-doc-latest/index.html 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 http://cs.swan.ac.uk/~csoliver/ _______________________________________________ Gecode users mailing list [email protected] https://www.gecode.org/mailman/listinfo/gecode-users
