Hi

>From what I understand of Dijkstras search, Dijkstras visitor is invoked at
traversal of a vertex. However, this is still separate from the weights
which is a required argument the algorithm takes. In my case however, the
weight of traversing the edge is a function of cost of traversing to the
edge from the origin vertex.

I just used cost * weight as an example. In the actual algorithm,
weight(edge)  = interval_search(cost(edge[origin_vertex] ), interval_map)
On Sep 18, 2014 7:01 PM, "Tiago Peixoto [via Main discussion list for the
graph-tool project]" <[email protected]> wrote:

> On 18.09.2014 11:42, ambasta wrote:
>
> > Hi,
> >
> > I have two problems
> >
> > class Weights:
> >   ...
> >
> >
> > g = Graph(directed=True)
> > weights = g.new_edge_property('object')
> >
> > vertex_one = g.add_vertex()
> > vertex_two = g.add_vertex()
> > edge = g.add_edge(vertex_one, vertex_two)
> > weights[edge] = Weights(1)
> >
> > g.shortest_path(vertex_one, vertex_two, weights)
> >
> > This raises ValueError: property map 'dist_map' is not of scalar type.
> Is
> > there a function I can implement in Weights for it to return a scalar
> value
> > to be used during calculation of shortest path.
> Take a look at the search module:
>
>      https://graph-tool.skewed.de/static/doc/search_module.html
>
> You should use the dijkstra_search() function, and specialize the
> DijkstraVisitor class to do what you want.
>
>
> > Secondly, consider a directed graph where the edge weight is a function
> of
> > cost at edge's origin vertex, i.e. the weight class is defined as:
> >
> > class Weights:
> >     ....
> >     def get_weight(current_cost):
> >         return self.cost * current_cost
> >
> >
> > Hence during calculation of shortest_path/distance, is it possible to
> pass
> > the weight at the traversed/visited edge to get the cost of the edge.
> You can do that with the dijkstra_search() function, as I mentioned
> above. However, note that multiplying weights is the same as summing
> their logarithms... Hence you could simply use the log of the weights
> instead, and save you some trouble.
>
> Best,
> Tiago
>
>
> --
> Tiago de Paula Peixoto <[hidden email]
> <http://user/SendEmail.jtp?type=node&node=4025745&i=0>>
>
>
> _______________________________________________
> graph-tool mailing list
> [hidden email] <http://user/SendEmail.jtp?type=node&node=4025745&i=1>
> http://lists.skewed.de/mailman/listinfo/graph-tool
>
> *signature.asc* (836 bytes) Download Attachment
> <http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/attachment/4025745/0/signature.asc>
>  --
> Tiago de Paula Peixoto <[email protected]>
>
>
> ------------------------------
>  If you reply to this email, your message will be added to the discussion
> below:
>
> http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/Using-a-EdgePropertyMap-object-as-weights-tp4025744p4025745.html
>  To unsubscribe from Using a EdgePropertyMap('object') as weights, click
> here
> <http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=4025744&code=YW1pdC5wcmFrYXNoLmFtYmFzdGFAZ21haWwuY29tfDQwMjU3NDR8MTk5MTkwNzYwMQ==>
> .
> NAML
> <http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>




--
View this message in context: 
http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/Using-a-EdgePropertyMap-object-as-weights-tp4025744p4025747.html
Sent from the Main discussion list for the graph-tool project mailing list 
archive at Nabble.com.
_______________________________________________
graph-tool mailing list
[email protected]
http://lists.skewed.de/mailman/listinfo/graph-tool

Reply via email to