Hi,
I have written the text below as part of my final year undergraduate project. I am trying to capture the essence of programming with constraints in Oz without the detail of the documentation. The intended audience is almost certainly not aware of spaces, entailment, or even Oz for that matter. I'm also not concerned yet about spelling, grammar or parts that can be better expressed - just that what I have described is accurate.

My intention is for it to be a sort of basic 'walkthrough' describing an 'ideal' solution, where propagators work, things become stable, solutions are produced,...etc

I wonder if anyone would be so kind as to have a quick glance at the text below and let me know if I've said anything that is absolutely ridiculous? I would ask someone at my university to check it, but apparently I am the only Oz 'expert' on campus. (and expert I am not!)


"There follows a simplified overview of the operation of a constraint based program; the interested reader is referred to the official Mozart-Oz documentation for a more detailed explanation.

Initially a problem (P) is modelled using integer values. Limits for the possible values of these FD integers are applied. These are known as basic constraints. A method known as 'propagate and distribute' is then employed. Constraint propagation (implemented by program entities known as propagators) narrows down the possible values of the FD integers by amplification of the constraint store. Propagators are connected to the constraint store in a computational space (see fig2.1). When no further propagation is possible, the values of the FD integers being non-determined, the program resorts to a distribution method whereupon a constraint (C) is heuristically chosen. This results in the creation of two new spaces. One space represents {P\/C}, the other {P\/¬C}. Propagation then continues, if possible, in each new space. This iteration of propagate and distribute continues until either no further propagation is possible or all the FD integers can be assigned values that satisfy all the constraints in the constraint store. In the case of no further propagation being possible and there is no assignment of values that will satisfy all constraints in the constraint store, then that space is said to be failed and is removed from the solution; this is analogous to the failure of a choice point in languages such as Prolog. In the case of no further propagation being possible but all the FD integers have all been assigned values that are consistent with the constraint store, then the FD integers are said to be determined and the space becomes both stable and a solution to the problem P."

Thank you in advance
Regards
Mark

--
Mark Richardson
Final year undergraduate
University of Teesside
_________________________________________________________________________________
mozart-users mailing list                               
[email protected]
http://www.mozart-oz.org/mailman/listinfo/mozart-users

Reply via email to