Hi Kish, the propagator looks like that (this is an example only): propagate(Var, OldDom, Susp) :- propagate(Var), ic:get_domain_as_list(Var, NewDom), kill_suspension(Susp), suspend( propagate(Var, NewDom, Susp1),3, Var->ic:hole, Susp1). Here the state is a domain of a variable. What is the better way to deal with such propagators? Best regards -- [ Wit Jakuczun w.jakuczun_at_...116... ] [ WLOG Solutions http://wlogsolutions.com ] 2009/2/15 Kish Shen <kisshen_at_...5...>: > Hi Wit, > > Why do you need to kill the old suspension? Is it because the > state you calculate is stored in the suspension, and it has > changed? If so, you can use setarg/3 to change the state and > use demon suspension. This will only work if your state does > not need to survive backtracking. > > Cheers, > > Kish > > Wit Jakuczun wrote: >> >> Hi, >> I have a propagator that uses state. It means >> that during propagation phase a new state is >> calculated that is used for the next event. >> What is the most effective way of resuspending >> such propagators? >> Now I just suspend a propagator with a >> new state. In manual it is stated that using >> demons is more efficient but in my situation >> usign demons doesn't make any difference as >> I must kill suspension and create a new one. >> >> Best regards > > > -- > 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 Sun Feb 15 2009 - 18:47:06 CET
This archive was generated by hypermail 2.3.0 : Wed Sep 25 2024 - 15:13:20 CEST