logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Graph::Maker::SmallWorldBA - Creates a small world graph according to the Barabási-Albert preferential

Author

       Matt Spear, "<batman900+cpan at gmail.com>"

Bugs

       Please report any bugs or feature requests to "bug-graph-maker-smallworldba at rt.cpan.org", or through
       the web interface at <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Graph-Maker>.  I will be notified,
       and then you'll automatically be notified of progress on your bug as I make changes.

Functions

new%params
       Creates a small world graph with N nodes added on M edges at each step (the minimum number of edges per
       node) according to the Barabási-Albert model.  The recognized parameters are N, M, graph_maker, and
       callback any others are passed onto Graph's constructor.  If N is not given it defaults to 0.  If M is
       not given it defaults to 1.  callback allows one to simulate the growth of a preferential attachment
       network, callback will be called each time a node is added.  If graph_maker is specified it will be
       called to create the Graph class as desired (for example if you have a subclass of Graph), this defaults
       to create a Graph with the parameters specified.

Name

       Graph::Maker::SmallWorldBA - Creates a small world graph according to the Barabási-Albert preferential
       attachment model.

Synopsis

       Creates a small world graph according to the Barabási-Albert model.  A small world graph has an
       approximate power law degree distribution and a high clustering coefficient.  If the graph is directed
       then edges are added in both directions to create an undirected graph.

               use strict;
               use warnings;
               use Graph;
               use Graph::Maker;
               use Graph::Maker::SmallWorldBA;

               my $g = new Graph::Maker('small_world_ba', N => 10, M => 2, undirected => 1);
               my $g2 = new Graph::Maker('small_world_ba', N => 10, M => 2, callback => sub {print "Node added\n"}, undirected => 1);
               # work with the graph

Version

       Version 0.01

See Also