Hi Christian,

Thanks for the reply, I think I got it. I was under the impression that recomputation (and adaptive recomputation) where techniques for optimizing runtime performance when compared with standard copy since recomputing could perhaps be faster than copying for some cases. But now I see I was wrong and that their purpose is only to save space. This means that setting c_d=1  should always provide faster runtime than any other method (assuming that the problem at hand does not require huge amounts of memory). Am I getting the right picture now, or am I oversimplifying?

Thanks!
Marco
June 1, 2012 7:41 PM
Hi Marco,

Well, the number of clones _is_ the same for any value of c-d or a-d! You
have to backtrack, so you have to make a clone! The difference is that you
clone different spaces.

Christian

--
Christian Schulte, www.ict.kth.se/~cschulte/

-----Original Message-----
From: users-boun...@gecode.org [mailto:users-boun...@gecode.org] On
Behalf Of Marco Correia
Sent: Friday, June 01, 2012 6:54 PM
To: 'gecode list'
Subject: [gecode-users] Counting clones

Hi,

I suspect the answer to the following question should be somewhere in the
MPG
document, but I was unable to find it - apologies if this is the case.

I am interested on obtaining the number of clones for a specific example
when
subject to different value for the c_d parameter in the context of a DFS
search. I
believe gecode used to report this value in the statistics, but now it
seems there
is a specific class CloneStatistics which should be updated as search
proceeds. I
fail to see how to pass an object of type CloneStatistics to the DFS
search
object. Also the
Space::clone() member function (which seems to be the only place where
this
object can be updated) is not virtual, and therefore cannot be intercepted
in my
subclass of Space (is this correct?). So I tried another approach, which
was
simply to count the number of times that my
copy() function gets called, which I thought should tell me the number of
clones.
Now I think I'm wrong since this number always reports the same number of
clones for different values of c_d.

Obviously I'm making some mistake. Any hints?

Thanks!

_______________________________________________
Gecode users mailing list
users@gecode.org
https://www.gecode.org/mailman/listinfo/gecode-users
June 1, 2012 5:53 PM
Hi,

I suspect the answer to the following question should be somewhere in the MPG document, but I was unable to find it - apologies if this is the case.

I am interested on obtaining the number of clones for a specific example when subject to different value for the c_d parameter in the context of a DFS search. I believe gecode used to report this value in the statistics, but now it seems there is a specific class CloneStatistics which should be updated as search proceeds. I fail to see how to pass an object of type CloneStatistics to the DFS search object. Also the Space::clone() member function (which seems to be the only place where this object can be updated) is not virtual, and therefore cannot be intercepted in my subclass of Space (is this correct?). So I tried another approach, which was simply to count the number of times that my copy() function gets called, which I thought should tell me the number of clones. Now I think I'm wrong since this number always reports the same number of clones for different values of c_d.

Obviously I'm making some mistake. Any hints?

Thanks!
June 1, 2012 4:42 PM
Hi,

I suspect the answer to the following question should be somewhere in the MPG document, but I was unable to find it - apologies if this is the case.

I am interested on obtaining the number of clones for a specific example when subject to different value for the c_d parameter in the context of a DFS search. I believe gecode used to report this value in the statistics, but now it seems there is a specific class CloneStatistics which should be updated as search proceeds. I fail to see how to pass an object of type CloneStatistics to the DFS search object. Also the Space::clone() member function (which seems to be the only place where this object can be updated) is not virtual, and therefore cannot be intercepted in my subclass of Space (is this correct?). So I tried another approach, which was simply to count the number of times that my copy() function gets called, which I thought should tell me the number of clones. Now I think I'm wrong since this number always reports the same number of clones for different values of c_d.

Obviously I'm making some mistake. Any hints?

Thanks!
_______________________________________________
Gecode users mailing list
users@gecode.org
https://www.gecode.org/mailman/listinfo/gecode-users

Reply via email to