On Wed, Oct 24, 2012 at 6:07 PM, Jamie Brandon <ja...@scattered-thoughts.net
> wrote:

> It sounds like something that would benefit from good constraint
> propagation. If I remember correctly, core.logic only support
> propagating equality/inequality constraints which can be pretty slow
> for exploring large domains. Something like gecode
> (http://www.gecode.org) might be a better fit if you want to use large
> integer domains.
>
> Where core.logic lvars can only be assigned or fresh, gecode
> explicitly represents the domain of each variable and can efficiently
> propagate constraints across them. In your example, x and y would both
> have domain [0,5]. If you added the constraint x >=3, after
> propagation you would have x: [3,5] y:[0,2]
>

Not true anymore - we have interval propagation and we actually leverage it
unlike the Scheme cKanren implementation. There's still plenty of room for
improvement.


> Gecode also has support for custom search strategies which would allow
> writing heuristics for minimisation. I'm not sure if gecode would ever
> be as fast as a linear programming solution but it's certainly more
> flexible.
>

Yes this what I was talking about when I referred to the Mozart/Oz
distribute facility. This is pretty simple to add to core.logic as far as I
can tell as I've stated earlier.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to