Kish Shen wrote:

> Hi,
> 
> I am trying to figure out if some of the versions of the count constraints 
> corresponds to constraints in other places (e.g. the global constraint 
> catalog, in other constraint systems, or in papers).
> One of the count variants maps to the count constraint of the global 
> constraint catalog (and SICStus), while another maps to (one version) of the 
> global cardinality constraint. However, I was not able to determine if the 
> other versions of count have any equivalent to constraints defined elsewhere, 
> can anyone help by pointing me to any equivalent constraints that might be 
> defined elsewhere for the following (these descriptions are based on the ones 
> in the MPG):
> 
> 
> count(home, x, c, IRT_EQ, z):
> 
> where x is an array of integer variables and c is an array of integers of the 
> same array size as x, and z is an integer variable (or value).
> 
> which constrains z to how often xi = cl.

I don't know if this version is used anywhere else.

> count(home, x, y)
> 
> where x and y are integer variable arrays.
> 
> which constraints the number of variables in x that are equal to a value j is 
> yj.
> 
> This seems to be a restricted version of the global cardinality constraint. 
> Is the reason for providing this more restricted form because this 
> restriction allows for a more efficient implementation of the constraint?

No, it's just for convenience, so that you don't have to write
count(home,x,y,IntArgs::create(y.size(),0,1));

> On a slightly different topic, in the MPG description of the count 
> constraints, there is a reference to
> 
> count(home, x IntSet(0,1), IntSet(0,n))
> 
> which seems to be an example of using
> 
> count(home, x, d, c)
> 
> where x is an array of integer variables, d is an integer set, and c an array 
> of integer values -- but the last argument (IntSet(0,n)) is also an integer 
> set. I also cannot find the description of count with two IntSet in the 
> reference documentation (in doc-latest, I assume for 3.5.0?) Am I missing 
> something?

That's a bug in the documentation, thanks.  Will be fixed in the next version.

Cheers,
        Guido

-- 
Guido Tack, http://people.cs.kuleuven.be/~guido.tack/






_______________________________________________
Gecode users mailing list
[email protected]
https://www.gecode.org/mailman/listinfo/gecode-users

Reply via email to