Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > bd5c3d824c3db63ffd9226c15941e6ad > files > 1185

mozart-1.4.0-1mdv2010.0.i586.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>3 Writing Problem Solvers in Oz</TITLE><LINK href="ozdoc.css" rel="stylesheet" type="text/css"></HEAD><BODY><TABLE align="center" border="0" cellpadding="6" cellspacing="6" class="nav"><TR bgcolor="#DDDDDD"><TD><A href="node2.html#chapter.constraints">&lt;&lt; Prev</A></TD><TD><A href="index.html">- Up -</A></TD><TD><A href="node20.html#chapter.elimination">Next &gt;&gt;</A></TD></TR></TABLE><DIV id="chapter.problem"><H1><A name="chapter.problem">3 Writing Problem Solvers in Oz</A></H1><P>We are now well-prepared to write and run our first finite domain problem solvers in Oz. For running, analyzing, and debugging problem solvers we will use the <A href="../explorer/index.html">Explorer</A>, a graphical tool of the Mozart programming environment. </P><P>A <A name="label41"></A><EM>script</EM> for a finite domain problem is a program that can compute one or all solutions of the problem. In Oz, scripts will be run on predefined search engines implementing the propagate and distribute method just described. Separating scripts from the search engines running them is an important abstraction making it possible to design scripts at a very high level. To develop a script for a given problem, we start by designing a model and a distribution strategy. We then obtain an executable script by implementing the model and distribution strategy with the predefined abstractions available in Oz. </P><HR><UL class="toc"><LI><A href="node14.html#section.problem.script">3.1 Format of Scripts</A></LI></UL><UL class="toc"><LI><A href="node15.html#section.problem.money">3.2 Example: Send More Money</A><UL class="toc"><LI><A href="node15.html#label42">Problem Specification</A></LI><LI><A href="node15.html#label43">Model</A></LI><LI><A href="node15.html#label44">Distribution Strategy</A></LI><LI><A href="node15.html#label45">Script</A></LI><LI><A href="node15.html#label46">Posting of constraints</A></LI></UL></LI></UL><UL class="toc"><LI><A href="node16.html#section.problem.explorer">3.3 The Explorer</A></LI></UL><UL class="toc"><LI><A href="node17.html#section.problem.primitives">3.4 New Primitives</A></LI></UL><UL class="toc"><LI><A href="node18.html#section.problem.watching">3.5 Watching Propagators</A></LI></UL><UL class="toc"><LI><A href="node19.html#section.problem.safe">3.6 Example: Safe</A><UL class="toc"><LI><A href="node19.html#label52">Problem Specification</A></LI><LI><A href="node19.html#label53">Model and Distribution Strategy</A></LI><LI><A href="node19.html#label54">Script</A></LI></UL></LI></UL></DIV><TABLE align="center" border="0" cellpadding="6" cellspacing="6" class="nav"><TR bgcolor="#DDDDDD"><TD><A href="node2.html#chapter.constraints">&lt;&lt; Prev</A></TD><TD><A href="index.html">- Up -</A></TD><TD><A href="node20.html#chapter.elimination">Next &gt;&gt;</A></TD></TR></TABLE><HR><ADDRESS><A href="http://www.ps.uni-sb.de/~schulte/">Christian&nbsp;Schulte</A> and&nbsp;<A href="http://www.ps.uni-sb.de/~smolka/">Gert&nbsp;Smolka</A><BR><SPAN class="version">Version 1.4.0 (20090610)</SPAN></ADDRESS></BODY></HTML>