Boost logo

Boost Users :

Subject: Re: [Boost-users] [PBGL] Betweenness centrality and named vertexes
From: Carmine Paolino (earcar_at_[hidden])
Date: 2010-11-27 06:19:47


On 27 Nov 2010, at 11:50, Cedric Laczny wrote:

> Hi,
>
> unfortunately, I can't help you directly with that one as I have no MPI
> installed. I compared your code to one of my attempts to work with
> brandes_betweenness_centrality and I could not find anything that would make me
> say "Change this, and it should work". However, the documentation of
> brandes_betweenness_centrality says for the centrality_map: The value type of
> this property map should be a floating-point or rational type.
> I don't know if you already tried that out.

Yes, it's in the second example: https://gist.github.com/f02f18f30f0eef146a58#file_betweenness_named_graph2.cpp

> When I eliminate the MPI-parts and
> simply define adjacency_list <vecS, vecS, bidirectionalS, Vertex>, it compiles
> just fine. Also the vector<int> seems not to be a problem, although it might be
> for your results later on.
>
> What is interesting me though is, why you define an internal_vertex_name, when
> you already have it as a bundled property?
>

Those two files are just examples to reproduce the problem we have in the actual code. `internal_vertex_name` is independent from bundled properties: you can use it either with bundled properties or with a Vertex or Edge structure and it allows us to find a vertex by name and to automatically add it if that vertex isn't already in the graph. See the docs here: http://www.boost.org/doc/libs/release/libs/graph_parallel/doc/html/distributed_adjacency_list.html#named-vertices

The Vertex structure, by the way, give us more flexibility than the bundled properties and also results in more maintainable code.

Carmine Paolino

> Best,
>
> Cedric
>
> On Saturday, 27. November 2010 11:07:05 Carmine Paolino wrote:
>> Hello,
>>
>> I'm trying to use `brandes_betweenness_centrality` with named vertexes but
>> so far I haven't managed to get it working.
>>
>> These are the two approaches I tried:
>>
>> 1. passing an iterator_property_map on the vertex_index:
>> https://gist.github.com/f02f18f30f0eef146a58#file_betweenness_named_graph.
>> cpp
>>
>> 2. passing a property_map on a float inside the vertex:
>> https://gist.github.com/f02f18f30f0eef146a58#file_betweenness_named_graph2
>> .cpp
>>
>> And these are the compile logs for the first file:
>> clang: https://gist.github.com/f02f18f30f0eef146a58#file_compile_clang.log
>> gcc:https://gist.github.com/f02f18f30f0eef146a58#file_compile_gcc.log
>>
>> and the second file:
>> clang: https://gist.github.com/f02f18f30f0eef146a58#file_compile_clang2.log
>> gcc: https://gist.github.com/f02f18f30f0eef146a58#file_compile_gcc2.log
>>
>> What I'm doing wrong?
>>
>> Thanks in advance
>> _______________________________________________
>> Boost-users mailing list
>> Boost-users_at_[hidden]
>> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>
> _______________________________________________
> 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