[Gecode] Announcement: FS constraints prototype

Gabor Szokoli szokoli at ps.uni-sb.de
Fri Dec 5 16:50:41 CET 2003


Christian Schulte wrote:

>Failure and nothing does not need a bit?
>
I would expect "nothing" to be one of the 8 possible combinations, in 
general/kernel.hh you say
ME_GEN_NONE = 0

I agree that failure does not have to be stored on the variable if it is 
taken care of immediately anyway without further regard to the 
consistency of the space, but we thought it was stored as 7.

> So it should eaxctly as with finite
>domains!
>	Assigned
>	GLB changed
>	LUB changed
>	GLB+LUB changed
>  
>
This is what we have so far, w/o cardinality support...

>	CARD changed
>  
>
>And the point to note is that all other events also change the cardinality,
>right?
>  
>
Theoretically, the cardinality bounds may contain stronger information 
than the sizes of the (U&L) bounds, then (U&L) bounds changes may happen 
without cardinality changes.
Say there's a free set, you first tell "it has 1 element" and then after 
stability "It's not 42":
there's an UpperBound change, with no cardinality change.
But this could be so rare in real life that you might practically be right.

One other thing to note is that cardinality information is only used to 
detect failure and assignment, but it triggers no other bounds changes. 
The primitive propagators maintain this property (only FAIL, VAL or CARD 
changes infered from CARD events). You'd have to have something twisted 
like "This set contains its cardinality" to break this rule.
Not that I can derive anything useful from this observation, but it 
suggests that a propagator based aproach would not result in spinning 
propagator loops.

>Otherwise, congratulations!
>
>  
>
Guido did the real work while I made smartass comments over his 
shoulder, but you should see my whiteboard!
("Oh my God! It's full of UML, with stars in it!")

>Christian
>  
>
Gabor, pair-non-programmer



More information about the gecode-users mailing list