Estimate


Classes

class  graphgen::estimator
 Estimator base class. More...
class  graphgen::degreedist
 Degree distribution estimator. More...
class  graphgen::distancedist
 Distance distribution estimator. More...
class  graphgen::clusteringlocal
 Local clustering coefficient estimator. More...
class  graphgen::clusteringglobal
 Global clustering coefficient estimator. More...

Typedefs

typedef unsigned long long graphgen::histint
 type to use for histogram counters, means histogram int
typedef std::vector< histint > graphgen::histogram
 type to use for histograms.
typedef symmetric_matrix< histint > graphgen::histomatrix
 type to use for symmetrix matrix histograms, like the degree-degree-correlations

Functions

qint graphgen::estimate_degree_distribution (const undirected_graph &G, histogram &H)
 Accumulate degree sequence to histogram.
qint graphgen::estimate_degree_distribution (const undirected_graph &G, histogram &H, qint &qmax)
 record degree sequence and maximal degree of graph to histogram
double graphgen::calc_average_degree (const histogram &H)
 calculate average degree from degree histogram.
histogram & graphgen::estimate_distance_distribution_local (const undirected_graph &G, vertex_type root, histogram &H)
 Separate function to update a distance histogram H(d) with the distance distribution for one vertex root in the given graph.
histogram & graphgen::estimate_distance_distribution (const undirected_graph &G, double density, histogram &H)
 estimate distance distribution for a sub graph containing density*N_v sites and their corresponding edges.
histogram & graphgen::estimate_distance_distribution (const undirected_graph &G, histogram &H)
 estimate distance distribution for a whole graph.
histogram & graphgen::estimate_distance_distribution (const undirected_graph &G, histogram &H, unsigned int &diam)
 estimate distance distribution and diameter for a whole graph.
double graphgen::estimate_clustering_coeff_local (const undirected_graph &G, const vertex_type v)
 Separate function to calculate the local clustering coefficient of vertex v in graph.
double graphgen::estimate_clustering_coeff (const undirected_graph &G)
 Separate function to calculate the global clustering coefficient as the average value of all local clustering coefficients in the given graph.
histomatrix & graphgen::estimate_degree_correlation (const undirected_graph &G, histomatrix &H)
 Separate function to measure degree-degree-correlations in the given graph.
double graphgen::estimate_assortativity (const histogram &Pi, const histomatrix &Epsilon)
 Calculate the degree assortativity from degree distribution degree distribution Pi deg-deg-correlation Epsilon.
unsigned int graphgen::estimate_number_triangles (const undirected_graph &)
 Count the number of triangles in the given graph.
void graphgen::estimate_average_neighbor_degrees (const histomatrix &, std::vector< double > &)
 Calculate the average neighbor degree for any degree k from the degree-degree correlations table.
void graphgen::estimate_average_neighbor_degrees (const undirected_graph &, std::vector< double > &)
 Estimate the average neighbor degree for any degree k directly from the graph.
std::ostream & graphgen::operator<< (std::ostream &out, const estimator &est)
int graphgen::connected_components (const undirected_graph &G)

Function Documentation

double graphgen::calc_average_degree ( const histogram &  H  ) 

calculate average degree from degree histogram.

Return maximal degree.

double graphgen::estimate_assortativity ( const histogram &  Pi,
const histomatrix &  Epsilon 
)

Calculate the degree assortativity from degree distribution degree distribution Pi deg-deg-correlation Epsilon.

\[ \newcommand{\tr}{\mathrm{tr}} A = \frac{(\tr\epsilon-\tr\epsilon_\mathrm{r})} {(1- \tr\epsilon_\mathrm{r})}, \]

with

\[ \epsilon_\mathrm{r}(k,q) = (k*\Pi(k) * q*\Pi(q))/(\bar{k}^2), \]

with

\[ \bar{k} = \sum_q q*\Pi(q) \]

Pi is the degree histogram and Epsilon the degree degree correlation histogram. Normalization is done where needed.

References graphgen::symmetric_matrix< T >::size().

void graphgen::estimate_average_neighbor_degrees ( const undirected_graph &  ,
std::vector< double > &   
)

Estimate the average neighbor degree for any degree k directly from the graph.

The highest k would be the size of the vector

References graphgen::undirected_graph::degree().

double graphgen::estimate_clustering_coeff_local ( const undirected_graph &  G,
const vertex_type  v 
)

Separate function to calculate the local clustering coefficient of vertex v in graph.

Returns:
: local clustering coefficient as in (1.9) Statistical Mechanics of complex networks, BW. 0 is returned if degree is smaller 2 or no triangles exist

References graphgen::undirected_graph::are_linked(), graphgen::undirected_graph::degree(), and graphgen::undirected_graph::ineighbors::valid().

Referenced by graphgen::estimate_clustering_coeff().

qint graphgen::estimate_degree_distribution ( const undirected_graph &  G,
histogram &  H 
)

Accumulate degree sequence to histogram.

Return maximal degree.

References graphgen::undirected_graph::degree().

unsigned int graphgen::estimate_number_triangles ( const undirected_graph &   ) 

Count the number of triangles in the given graph.

one topologic triangle is counted as 3 because of label permutation

Todo:
check this definition

References graphgen::undirected_graph::are_linked(), graphgen::undirected_graph::source(), and graphgen::undirected_graph::target().


Generated on Wed Jun 2 14:49:07 2010 for GraphGen by  doxygen 1.5.6