Is erlang suitable to handle Constraint satisfaction problems ?

View: New views
5 Messages — Rating Filter:   Alert me  

Is erlang suitable to handle Constraint satisfaction problems ?

by Jun HU :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello all,

I'm a PhD student in computer science, currently i'm working
constraint satisfaction problem, notable in frequency assignment
problem. I'm just wondering that erlang is suitable for this kind of
problems or not.



Thanks in advance.

Re: Is erlang suitable to handle Constraint satisfaction problems ?

by Torben Hoffmann-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Jun,

I don't think constraint satisfaction is one of Erlang's strengths.

The syntax has roots in Prolog, but that is just about it - you won't get
any of Prolog's wonderful inference algorithms.

You should look at Mozart/Oz, Prolog or <something I don't know about> for
constraint satisfaction.

Unless the frequency assignment problem is something completely different
than what I read from your description!

Cheers,
Torben

On Wed, Nov 4, 2009 at 19:42, Jun HU <junhufr@...> wrote:

> Hello all,
>
> I'm a PhD student in computer science, currently i'm working
> constraint satisfaction problem, notable in frequency assignment
> problem. I'm just wondering that erlang is suitable for this kind of
> problems or not.
>
>
>
> Thanks in advance.
>



--
http://www.linkedin.com/in/torbenhoffmann

Re: Is erlang suitable to handle Constraint satisfaction problems ?

by Robert Virding :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

As mentioned there is no built-in support for constraint satisfaction in
Erlang. There is, however, a Prolog interpreter implemented in erlang,
Erlog, which could be useful if you need other Erlang features as well.
There is no constraint satisfaction in erlog now but I am itching for a
reason to add it. It seems like it could be a fun project.

http://github.com/rvirding/erlog

Robert

2009/11/4 Torben Hoffmann <torben.lehoff@...>

> Hi Jun,
>
> I don't think constraint satisfaction is one of Erlang's strengths.
>
> The syntax has roots in Prolog, but that is just about it - you won't get
> any of Prolog's wonderful inference algorithms.
>
> You should look at Mozart/Oz, Prolog or <something I don't know about> for
> constraint satisfaction.
>
> Unless the frequency assignment problem is something completely different
> than what I read from your description!
>
> Cheers,
> Torben
>
> On Wed, Nov 4, 2009 at 19:42, Jun HU <junhufr@...> wrote:
>
> > Hello all,
> >
> > I'm a PhD student in computer science, currently i'm working
> > constraint satisfaction problem, notable in frequency assignment
> > problem. I'm just wondering that erlang is suitable for this kind of
> > problems or not.
> >
> >
> >
> > Thanks in advance.
> >
>
>
>
> --
> http://www.linkedin.com/in/torbenhoffmann
>

Re: Is erlang suitable to handle Constraint satisfaction problems ?

by Richard O'Keefe :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Actually, there was a (masters?) thesis on constraints in Erlang
years and years ago.  Thank you Google:
An Extension of Erlang with Finite-Domain Constraints
www.erlang.se/publications/xjobb/finite-domain-erlang.ps.gz

Dan Sahlin wrote:
        An experiment has also been carried out adding
        finite domain constraints to Erlang.  The work showed
        that although constraint programming does not fit so
        well into the functional programming framework, it
        was quite feasible to do.  As telecom applications
        seem to lack the need for constraint solving, the
        system will not be included in current releases of
        the [Erlang/OTP] system.

I suspect that "lack the need for" may really mean "are not
yet written by people aware of the utility of".  See
http://www.starlikedesign.com/
for one possible counter-example.  So I hope that the code
hasn't been lost or bitrotted too much to be salvaged.

As others have noted, modern Prolog systems like SICStus,
Eclipse, and SWI often support contraint programming.
Much depends on what _kind_ of constraints you have to deal with
and the scale of the problem.
>>


________________________________________________________________
erlang-questions mailing list. See http://www.erlang.org/faq.html
erlang-questions (at) erlang.org


Re: Is erlang suitable to handle Constraint satisfaction problems ?

by Michael Turner-7 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 11/4/2009, "Richard O'Keefe" <ok@...> wrote:

>As others have noted, modern Prolog systems like SICStus,
>Eclipse, and SWI often support contraint programming.

I pointed out ECLiPSe as being probably more appropriate for the needs of
the original inquirer, especially since it's
Prolog-for-constraint-programming-until-the-cows-come-home.

The inevitable afterthought arrived: sometimes constraint programming has
highly parallelizable stages, and for very large problems, good
concurrency support could be a big help.  So I went looking for how
ECLiPSe might manage concurrency and found this, at
http://www.eclipse-clp.org/:

"ECLiPSe programs can execute in or-parallel on shared-memory
multiprocessor hardware (this functionality is currently not actively
maintained because of other priorities)."

If the maintainer can't tell you that his app is broken in a certain
respect, it means it's almost certainly broken in that respect.

To qualify my first recommendation: ECLiPSe is probably better IF you
don't need parallelized solvers.  Maybe there's something worth doing
with Erlang in this application space for big, highly parallelizable
constraint programming.  ECLiPSe-over-Erlang would be so ridiculously
powerful that somebody might write Skynet in it by accident.  If only I
weren't so wrapped up right now in this project of implementing TECO in
Erlang ...

-michael turner

P.S. The last two sentences of the above were meant in jest, just in case
anybody found them confusing.  Especially the one referring to Skynet;
everybody knows that Skynet would have to be written in Emacs Lisp.



On 11/4/2009, "Richard O'Keefe" <ok@...> wrote:

>Actually, there was a (masters?) thesis on constraints in Erlang
>years and years ago.  Thank you Google:
>An Extension of Erlang with Finite-Domain Constraints
>www.erlang.se/publications/xjobb/finite-domain-erlang.ps.gz
>
>Dan Sahlin wrote:
> An experiment has also been carried out adding
> finite domain constraints to Erlang.  The work showed
> that although constraint programming does not fit so
> well into the functional programming framework, it
> was quite feasible to do.  As telecom applications
> seem to lack the need for constraint solving, the
> system will not be included in current releases of
> the [Erlang/OTP] system.
>
>I suspect that "lack the need for" may really mean "are not
>yet written by people aware of the utility of".  See
>http://www.starlikedesign.com/
>for one possible counter-example.  So I hope that the code
>hasn't been lost or bitrotted too much to be salvaged.
>
>As others have noted, modern Prolog systems like SICStus,
>Eclipse, and SWI often support contraint programming.
>Much depends on what _kind_ of constraints you have to deal with
>and the scale of the problem.
>>>
>
>
>________________________________________________________________
>erlang-questions mailing list. See http://www.erlang.org/faq.html
>erlang-questions (at) erlang.org
>
>

________________________________________________________________
erlang-questions mailing list. See http://www.erlang.org/faq.html
erlang-questions (at) erlang.org