Hi,
Oh right a view is shared and could also be somewhere else than in my
view array.
I get it now, thanks for taking the time to answer my questions.
Regards,
Valentin
On 11/10/2015 09:03 PM, Christian Schulte wrote:
Hi,
No, this is not at all feasible as I tried to explain: the view has
(and hence the advisor) has no idea that the view is stored in a view
array. Think of it as follows: the view might be stored in different
arrays by different propagators. So how could the view and hence the
advisor know which array we talk about?
Cheers
Christian
--
Christian Schulte, www.gecode.org/~schulte
<http://www.gecode.org/%7Eschulte>
Professor of Computer Science, KTH, [email protected]
<mailto:[email protected]>
Expert Researcher, SICS, [email protected] <mailto:[email protected]>
*From:*[email protected] [mailto:[email protected]] *On
Behalf Of *Valentin Lemière
*Sent:* Tuesday, November 10, 2015 05:20 PM
*To:* [email protected]
*Cc:* [email protected]
*Subject:* Re: [gecode-users] Advisor on a ViewArray and index of
assigned variable
Hi,
I see, thanks for your answer.
When an Advisor is used on a BoolView it stores the type of assignment
in the delta, which can be accessed with BoolView::one and ::zero.
But couldn't an Advisor, when applied to a ViewArray, store the index
in the delta and then access it with ViewArray::index?
With the index I can get the assigned value but not the other way around.
It's not the case right now I understand, but do you think this is
something feasible?
Regards,
Valentin
------------------------------------------------------------------------
*De: *"Christian Schulte" <[email protected] <mailto:[email protected]>>
*À: *"Valentin Lemière" <[email protected]
<mailto:[email protected]>>, [email protected]
<mailto:[email protected]>
*Envoyé: *Lundi 9 Novembre 2015 20:20:51
*Objet: *RE: [gecode-users] Advisor on a ViewArray and index of
assigned variable
Hi,
An advisor subscribes to a particular variable implementation through
a view hence, the only information that is available by default is
which advisor is executed and what is the delta.
Additional information – such as the position of an advisor in a view
array – must be explicitly stored in the advisor, there is no way
around it.
Cheers
Christian
--
Christian Schulte, www.gecode.org/~schulte
<http://www.gecode.org/%7Eschulte>
Professor of Computer Science, KTH, [email protected]
<mailto:[email protected]>
Expert Researcher, SICS, [email protected] <mailto:[email protected]>
*From:*[email protected] <mailto:[email protected]>
[mailto:[email protected]] *On Behalf Of *Valentin Lemière
*Sent:* Monday, November 9, 2015 04:56 PM
*To:* [email protected] <mailto:[email protected]>
*Subject:* [gecode-users] Advisor on a ViewArray and index of assigned
variable
Hello everyone,
I am a PhD. student and I am currently looking at Gecode to see if
it'll fit my needs.
I need to implement a global constraint on a large number of boolean
variables. So I have extended from NaryPropagator with a view of type
BoolView.
When a variable is assigned, the propagator infers some knowledge and
may assign other variable(s).
To get the required information, I added an Advisor to each variable,
storing its index; so I can get it in the advise method and provide it
to the propagator.
But this technique is too slow and creates too much advisors.
So I tried adding an Advisor directly to the ViewArray; the advise
function is correctly called and I can still get whether the variable
was assigned a zero or a one with the delta.
But I don't get the index information to find the actual assigned
variable.
I looked for a static method of ViewArray to convert the delta to this
information but couldn't find one.
Can an Advisor on a ViewArray get the index of the assigned variable?
Or is there another way to deal with a large number of variables other
than an Advisor per variable?
Regards,
Valentin
_______________________________________________
Gecode users mailing list
[email protected]
https://www.gecode.org/mailman/listinfo/gecode-users