NAME
Algorithm::SocialNetwork - Social Network Analysis
SYNOPSIS
use Graph::Undirected;
use Algorithm::SocialNetwork;
my $G = Graph::Undirected->new();
$G->add_edges([qw(a b)], [qw(b c)]);
my $algo = Algorithm::SocialNetwork->new(graph => $G3);
my $BC = $algo->BetweenessCentrality();
# $BC->{a} is 0
# $BC->{b} is 2
# $BC->{c} is 0
METHODS
So far this module implement the algorithm provided in [1]. More handy algorithm would be included in the future.
This module is a Spiffy module, methods provided as "field" are marked.
- new([graph => $G])
-
Object constructor, an optional graph parameter could be passed in to specify the network graph to be analyzed.
- graph([$G]) [Spiffy field]
-
Without arguments, this method return the current Graph object.
- BetweenessCentrality([$vertex])
-
The implementation of algorithm provided in [1], if an optional parameter $vertex is given, return the BetwenessCentrality value of that vertex, otherwise, return all vertice's BetweenessCentrality value, stored in a hash, which hash node name as keys.
- ClusteringCoefficient($vertex)
-
Return the clustering coefficient of a given vertex.
- WeightedClusteringCoefficient($vertex)
-
Return the weighted clustering coefficient of a given vertex. The graph object passed in should have 'weight' attribute set on edges. Weights are default to 1 if it's not set.
- DistanceCentrality($vertex)
-
Return the distance centrality of a given vertex.
- ClosenessCentrality($vertex)
-
An alias of DistanceCentrality().
- GraphCentrality($vertex)
-
Return the graph centrality of a given vertex.
- edges(@vertices)
-
Return a list of edges that connets any two of @vertices.
SEE ALSO
[1] Ulrik Brandes, A Faster Algorithm for Betweenness Centrality, http://www.inf.uni-konstanz.de/algo/publications/b-fabc-01.pdf
COPYRIGHT
Copyright 2004 by Kang-min Liu <gugod@gugod.org>.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
See <http://www.perl.com/perl/misc/Artistic.html>