Re: [eclipse-clp-users] Assignment propagation queue

From: Kish Shen <kisshen_at_cisco.com>
Date: Tue, 03 Feb 2009 14:56:56 +0000
Lars Kotthoff wrote:
>>  > or does it use a heuristic like most constrained variable first?
>>
>> You would have to explain more precisely what you mean by that in the
>> context of a propagator-queuing implementation.  Propagators typically
>> involve many variables.  You could write a propagator that increases
>> its own priority when it involves highly constrained variables.
> 
> I was thinking along the lines of taking the highest number of constraints any
> of the variables covered by the propagator is involved in and using that as the
> priority.
> 
> Do all propagators that eclipse defines have the same priority then?
> 
Hi Lars,

No, ECLiPSe does not "define" the priority of propagators.

The priority for a propagator (implemented as one or more goals that are 
suspended) is specifed when you suspend (or resuspend) the propogator -- 
see the documentation for suspend/3,4 (you may also want to read the 
`Advance Control Features' chapter of the User manual, 
http://www.eclipse-clp.org/doc/userman/umsroot104.html).

I assume you are questioning how the priority can be adjusted when you 
resuspend -- to do so, the propagator goal must remember the old 
priority. In fact, since propagators are simply normal ECLiPSe goals, 
you can resuspend a different goal (effectively a different propagator), 
because you no longer need the original propagator.

I guess I should explain more clearly what I meant when I said ECLiPSe 
do not directly implement propagators in my last message. I was thinking 
  in terms of what is available in some other (Constraint Logic) 
Programming languages, which provide special syntax for directly 
encoding propagators -- examples are indexicals (used in SICStus, 
probably others), action rules (used in B-Prolog). ECLiPSe does not have 
such specialised syntax, and instead you write the code for propagation 
using normal ECLiPSe syntax.

Cheers,

Kish



(in fact you may suspend a different goal from the original, e.g. 
because the further propagation needed have become simpilier)
-- 
This e-mail may contain confidential and privileged material for the
sole use of the intended recipient. Any review, use, distribution or
disclosure by others is strictly prohibited. If you are not the intended
recipient (or authorized to receive for the recipient), please contact
the sender by reply e-mail and delete all copies of this message.
Cisco Systems Limited (Company Number: 02558939), is registered in
England and Wales with its registered office at 1 Callaghan Square,
Cardiff, South Glamorgan CF10 5BT.
Received on Tue Feb 03 2009 - 14:56:59 CET

This archive was generated by hypermail 2.2.0 : Thu Feb 02 2012 - 02:31:58 CET