Mauricio Toro wrote: > I am thinking about implementing the > parallel conditional combinator as a > Gecode propagator. Any ideas about > how to do this efficiently?
I guess by parallel conditional you mean something like (if b1 then a1 || if b2 then a2 || ...), where || means parallel composition, and with a short-circuit semantics that the first b that is determined to be true "wins" and all other branches are discarded? I think you could just extend the conditional that you already have. As soon as one guard is determined, you execute that branch and remove the conditional propagator (by returning ES_SUBSUMED). You have to be very careful, though: you can easily program non-monotonic propagators this way, which are not allowed in Gecode! E.g., if you wait for two conditions, it may depend on the order of propagation which condition is satisfied first, so the constraints added by the parallel conditional can be different, depending on the order of propagator execution. Don't do this unless you know exactly what you're doing (I cannot see how to use this in a reasonable way). Remember that Gecode is meant for solving constraint problems, not for executing cc programs! > By the way, where can I find examples > about using the reflection post and spec > propagator methods? Here: http://www.gecode.org/gecode-doc-latest/PageReflection.html Cheers, Guido _______________________________________________ Gecode users mailing list [EMAIL PROTECTED] https://www.gecode.org/mailman/listinfo/gecode-users
