Boost logo

Boost Users :

Subject: Re: [Boost-users] [PropertyMap, Graph] Question on constructing a property map from a Cartesian product AxB of two sets to the set C of all real numbers
From: Jeremiah Willcock (jewillco_at_[hidden])
Date: 2012-06-13 17:10:43


On Wed, 13 Jun 2012, Alex Sadovsky wrote:

> Hi Jeremiah,
>
> Thanks for reading, and apologies for lack of clarity.  Let me provide the clarifications.
>
> The keys to the map will be the pairs <vertex, path>.  The value
> corresponding to such a key is the arc length coordinate of that vertex
> on that path.  I will likely be needing the values for most of the keys
> and, more importantly, will need to access repeatedly the value for a
> given key.  This need for repeated access the main reason for wanting to
> store the values in a property map rather than compute them every time
> using a function.
>
> The paths will be stored in instances of a different class.  I am
> modeling the movement of a collection of ``moving agents'' (vehicles ,
> robots, etc.) in a network (graph), each agent assigned to a path in the
> graph.  I will have a class defining a moving agent.  One of the class
> variables will be the path to which that agent is assigned.
>
> I hope this clarifies my intentions, but if it doesn't, I'll gladly
> answer further questions.

OK. Unless you need to use these maps in BGL algorithms or have a generic
interface, you might want to just use an std::map, hash table, or similar
to store your data. If you do want to use a property map, use
associative_property_map unless you have some way to map your paths to a
dense interval of integers (which you probably don't, but you might if you
have a finite, known set of them).

-- Jeremiah Willcock

>
> ____________________________________________________________________________________________________________________________________________________________
> From: Jeremiah Willcock <jewillco_at_[hidden]>
> To: "boost-users_at_[hidden]" <boost-users_at_[hidden]>
> Sent: Wednesday, June 13, 2012 11:10 AM
> Subject: Re: [Boost-users] [PropertyMap, Graph] Question on constructing a property map from a Cartesian product AxB of two sets to the set C of all real
> numbers
>
> On Tue, 12 Jun 2012, Alex Sadovsky wrote:
>
> > Hello,
> >
> > I have defined a directed graph type, and a path type (each variable of type "path" is a sequence (vector) of vertices in the graph such that every two
> consecutive ones are connected by an edge).  Each path is parameterized by arc length.
> >
> > What I'd like to do is tabulate the function that, for each pair (vertex, path) tells the arc length coordinate of the vertex.  I don't want to make it a
> function: a pair (vertex, path) is likely to come up more than once, and I want to avoid repeating the computation of the arc length coordinate.  Just
> compute it once and store it in a property map.
>
> Where are you storing the paths?  Are they attached to vertices?  They don't appear to be from the definitions below.  Are you going to be using all of the
> <vertex, path> pairs' arc length values?  I don't think I fully understand what you're asking---why do you want to store your data in a property map?  What
> are you thinking of as the keys of the property map? Vertices, or <vertex, path> pairs, or something else?
>
> -- Jeremiah Willcock
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>
>
>


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net