[graph] Bron Kerbosch Documentation

Trac ticket 693 discusses the inclusion to trunk of the Bron Kerbosch cliques code from SOC 2007: https://svn.boost.org/trac/boost/ticket/693 Is there any documentation for this code in the boost::graph docs? I'm drawing a blank. First problem is that the example code is using typedef undirected_graph<Actor> Graph; which itself seems horribly documented. When I try to use a "real" undirected graph, I get compile errors stating that /usr/include/boost/graph/graph_concepts.hpp:455:13: error: no matching function for call to ‘renumber_vertex_indices(boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::property<boost::vertex_name_t, unsigned int>, boost::property<boost::edge_weight_t, unsigned int> >&)’ Any tips? Thanks! Joel

On Thu, 23 Jun 2011, Joel Young wrote:
Trac ticket 693 discusses the inclusion to trunk of the Bron Kerbosch cliques code from SOC 2007:
https://svn.boost.org/trac/boost/ticket/693
Is there any documentation for this code in the boost::graph docs? I'm drawing a blank. First problem is that the example code is using
typedef undirected_graph<Actor> Graph;
which itself seems horribly documented. When I try to use a "real" undirected graph, I get compile errors stating that
/usr/include/boost/graph/graph_concepts.hpp:455:13: error: no matching function for call to ‘renumber_vertex_indices(boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::property<boost::vertex_name_t, unsigned int>, boost::property<boost::edge_weight_t, unsigned int> >&)’
There is a little documentation in the source code, but it mostly covers the implementation rather than the interface to the algorithm. As to the renumber_vertex_indices thing, the example programs for Bron-Kerbosch don't use it at all, and I do not think it is necessary for graph types other than undirected_graph and directed_graph. You should try commenting it out and see if the code works. -- Jeremiah Willcock

Jeremiah Willcock <jewillco <at> osl.iu.edu> writes: Thanks for writing back. Your suggestion did work out.
There is a little documentation in the source code, but it mostly covers the implementation rather than the interface to the algorithm.
Is there any intention for this material to be documented? There is a bunch of capability that is distributed in boost graph and is completely undocumented. The interface for undirected_graph is such an example.
As to the renumber_vertex_indices thing, the example programs for Bron-Kerbosch don't use it at all, and I do not think it is necessary for graph types other than undirected_graph and directed_graph. You should try commenting it out and see if the code works.
I commented the line: function_requires< VertexIndexGraphConcept<Graph> >(); in bron_kerbosch_all_cliques.hpp and the code seems to be working just fine. Is there any chance of getting a bug fix in for this? The graph that I used is: typedef boost::property<boost::vertex_name_t, uint32_t> VertexProperty; typedef boost::property<boost::edge_weight_t, uint32_t> EdgeProperty; typedef boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, VertexProperty, EdgeProperty> Graph; Thanks, Joel
participants (2)
-
Jeremiah Willcock
-
Joel Young