| 1 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> | 
|---|
| 2 | <!-- | 
|---|
| 3 | -- Copyright (c) 2004 Trustees of Indiana University | 
|---|
| 4 | -- | 
|---|
| 5 | -- Distributed under the Boost Software License, Version 1.0. | 
|---|
| 6 | -- (See accompanying file LICENSE_1_0.txt or copy at | 
|---|
| 7 | -- http://www.boost.org/LICENSE_1_0.txt) | 
|---|
| 8 | --> | 
|---|
| 9 | <html> | 
|---|
| 10 | <head> | 
|---|
| 11 | <meta name="generator" content= | 
|---|
| 12 | "HTML Tidy for Mac OS X (vers 12 April 2005), see www.w3.org"> | 
|---|
| 13 | <meta http-equiv="Content-Type" content= | 
|---|
| 14 | "text/html; charset=us-ascii"> | 
|---|
| 15 | <title>Function betweenness_centrality_clustering</title> | 
|---|
| 16 | </head> | 
|---|
| 17 | <body> | 
|---|
| 18 | <div class="titlepage"></div> | 
|---|
| 19 | <div class="refnamediv"> | 
|---|
| 20 |  | 
|---|
| 21 | <IMG SRC="../../../boost.png" | 
|---|
| 22 | ALT="C++ Boost" width="277" height="86"> | 
|---|
| 23 |  | 
|---|
| 24 | <h1><img src="figs/python.gif" alt="(Python)"/><span class="refentrytitle">Function | 
|---|
| 25 | betweenness_centrality_clustering</span></h1> | 
|---|
| 26 | <p>boost::betweenness_centrality_clustering — Graph | 
|---|
| 27 | clustering based on edge betweenness centrality.</p> | 
|---|
| 28 | </div> | 
|---|
| 29 | <h2 xmlns:rev= | 
|---|
| 30 | "http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class= | 
|---|
| 31 | "refsynopsisdiv-title">Synopsis</h2> | 
|---|
| 32 | <div xmlns:rev= | 
|---|
| 33 | "http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class= | 
|---|
| 34 | "refsynopsisdiv"> | 
|---|
| 35 | <pre class="synopsis"> | 
|---|
| 36 | <span class="bold"><b>template</b></span><<span class= | 
|---|
| 37 | "bold"><b>typename</b></span> MutableGraph, <span class= | 
|---|
| 38 | "bold"><b>typename</b></span> Done, <span class= | 
|---|
| 39 | "bold"><b>typename</b></span> EdgeCentralityMap, | 
|---|
| 40 | <span class= | 
|---|
| 41 | "bold"><b>typename</b></span> VertexIndexMap> | 
|---|
| 42 | <span class="type"><span class= | 
|---|
| 43 | "bold"><b>void</b></span></span> betweenness_centrality_clustering(MutableGraph & g, Done done, | 
|---|
| 44 | EdgeCentralityMap edge_centrality, | 
|---|
| 45 | VertexIndexMap vertex_index); | 
|---|
| 46 | <span class="bold"><b>template</b></span><<span class= | 
|---|
| 47 | "bold"><b>typename</b></span> MutableGraph, <span class= | 
|---|
| 48 | "bold"><b>typename</b></span> Done, <span class= | 
|---|
| 49 | "bold"><b>typename</b></span> EdgeCentralityMap> | 
|---|
| 50 | <span class="type"><span class= | 
|---|
| 51 | "bold"><b>void</b></span></span> betweenness_centrality_clustering(MutableGraph & g, Done done, | 
|---|
| 52 | EdgeCentralityMap edge_centrality); | 
|---|
| 53 | <span class="bold"><b>template</b></span><<span class= | 
|---|
| 54 | "bold"><b>typename</b></span> MutableGraph, <span class= | 
|---|
| 55 | "bold"><b>typename</b></span> Done> | 
|---|
| 56 | <span class="type"><span class= | 
|---|
| 57 | "bold"><b>void</b></span></span> betweenness_centrality_clustering(MutableGraph & g, Done done); | 
|---|
| 58 | </pre></div> | 
|---|
| 59 | <div class="refsect1" lang="en"><a name="id822306" id= | 
|---|
| 60 | "id822306"></a> | 
|---|
| 61 | <h2>Description</h2> | 
|---|
| 62 | <p>This algorithm implements graph clustering based on edge | 
|---|
| 63 | betweenness centrality. It is an iterative algorithm, where in each | 
|---|
| 64 | step it compute the edge betweenness centrality (via <a href= | 
|---|
| 65 | "betweenness_centrality.html">brandes_betweenness_centrality</a>) and | 
|---|
| 66 | removes the edge with the maximum betweenness centrality. The | 
|---|
| 67 | <tt class="computeroutput">done</tt> function object determines | 
|---|
| 68 | when the algorithm terminates (the edge found when the algorithm | 
|---|
| 69 | terminates will not be removed).</p> | 
|---|
| 70 |  | 
|---|
| 71 | <h2>Parameters</h2> | 
|---|
| 72 | IN: <tt>const Graph& g</tt> | 
|---|
| 73 | <blockquote> | 
|---|
| 74 | The graph object on which the algorithm will be applied.  The type | 
|---|
| 75 | <tt>Graph</tt> must be a model of <a | 
|---|
| 76 | href="VertexListGraph.html">Vertex List Graph</a> and <a | 
|---|
| 77 | href="IncidenceGraph.html">Incidence Graph</a>. When an edge | 
|---|
| 78 | centrality map is supplied, it must also model <a | 
|---|
| 79 | href="EdgeListGraph.html">Edge List Graph</a> and <a | 
|---|
| 80 | href="MutableGraph.html">MutableGraph</a>.<br> | 
|---|
| 81 |  | 
|---|
| 82 | <b>Python</b>: The parameter is named <tt>graph</tt>. | 
|---|
| 83 | </blockquote> | 
|---|
| 84 |  | 
|---|
| 85 | IN: <tt>Done done</tt> | 
|---|
| 86 | <blockquote> | 
|---|
| 87 | The function object that indicates termination of the algorithm. | 
|---|
| 88 | It must be a ternary function object thats accepts the maximum | 
|---|
| 89 | centrality, the descriptor of the edge that will be removed, and | 
|---|
| 90 | the graph <tt class="computeroutput">g</tt>.<br> | 
|---|
| 91 | <b>Python</b>: Any callable Python object will suffice. | 
|---|
| 92 | </blockquote> | 
|---|
| 93 |  | 
|---|
| 94 | OUT/UTIL: <tt>EdgeCentralityMap edge_centrality_map</tt> | 
|---|
| 95 | <blockquote> | 
|---|
| 96 | This property map is used to accumulate the betweenness centrality | 
|---|
| 97 | of each edge, and is a secondary form of output for the | 
|---|
| 98 | algorithm. The type <tt>EdgeCentralityMap</tt> must be a model of <a | 
|---|
| 99 | href="../../property_map/ReadWritePropertyMap.html">Read/Write | 
|---|
| 100 | Property Map</a>, with the graph's edge descriptor type as its key | 
|---|
| 101 | type. The value type of this property map should be the same as the | 
|---|
| 102 | value type of the <tt>CentralityMap</tt> property map.<br> | 
|---|
| 103 |  | 
|---|
| 104 | <b>Default:</b> a <tt>dummy_property_map</tt>, which requires no | 
|---|
| 105 | work to compute and returns no answer.<br> | 
|---|
| 106 | <b>Python</b>: The color map must be a <tt>edge_double_map</tt> for | 
|---|
| 107 | the graph.<br> | 
|---|
| 108 | <b>Python default</b>: <tt>graph.get_edge_double_map("centrality")</tt> | 
|---|
| 109 | </blockquote> | 
|---|
| 110 |  | 
|---|
| 111 | IN: <tt>VertexIndexMap vertex_index</tt> | 
|---|
| 112 | <blockquote> | 
|---|
| 113 | This maps each vertex to an integer in the range <tt>[0, | 
|---|
| 114 | num_vertices(g))</tt>. This is necessary for efficient updates of the | 
|---|
| 115 | heap data structure when an edge is relaxed.  The type | 
|---|
| 116 | <tt>VertexIndexMap</tt> must be a model of | 
|---|
| 117 | <a href="../../property_map/ReadablePropertyMap.html">Readable Property Map</a>. The value type of the map must be an | 
|---|
| 118 | integer type. The vertex descriptor type of the graph needs to be | 
|---|
| 119 | usable as the key type of the map.<br> | 
|---|
| 120 | <b>Default:</b> <tt>get(vertex_index, g)</tt>. | 
|---|
| 121 | Note: if you use this default, make sure your graph has | 
|---|
| 122 | an internal <tt>vertex_index</tt> property. For example, | 
|---|
| 123 | <tt>adjacenty_list</tt> with <tt>VertexList=listS</tt> does | 
|---|
| 124 | not have an internal <tt>vertex_index</tt> property.<br> | 
|---|
| 125 | <b>Python</b>: Unsupported parameter. | 
|---|
| 126 | </blockquote> | 
|---|
| 127 |  | 
|---|
| 128 | <table xmlns:rev= | 
|---|
| 129 | "http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width= | 
|---|
| 130 | "100%"> | 
|---|
| 131 | <tr> | 
|---|
| 132 | <td align="left"></td> | 
|---|
| 133 | <td align="right"></td> | 
|---|
| 134 | </tr> | 
|---|
| 135 | </table> | 
|---|
| 136 | <h3>Where Defined</h3> | 
|---|
| 137 | <<a href= | 
|---|
| 138 | "../../../boost/graph/bc_clustering.hpp">boost/graph/bc_clustering.hpp</a>> | 
|---|
| 139 | <hr> | 
|---|
| 140 | <table> | 
|---|
| 141 | <tr valign="top"> | 
|---|
| 142 | <td nowrap>Copyright © 2004</td> | 
|---|
| 143 | <td><a href="../../../people/doug_gregor.html">Douglas Gregor</a>, | 
|---|
| 144 | Indiana University (dgregor@cs.indiana.edu)<br> | 
|---|
| 145 | <a href="http://www.osl.iu.edu/~lums">Andrew Lumsdaine</a>, Indiana | 
|---|
| 146 | University (<a href= | 
|---|
| 147 | "mailto:lums@osl.iu.edu">lums@osl.iu.edu</a>)</td> | 
|---|
| 148 | </tr> | 
|---|
| 149 | </table> | 
|---|
| 150 | </body> | 
|---|
| 151 | </html> | 
|---|