---
name: "Graph::Maker::SmallWorldHK"
section: "3pm"
platform: "linux"
package: "libgraph-maker-perl"
version: "0.02-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Graph::Maker::SmallWorldHK"
---

# Graph::Maker::SmallWorldHK(3pm)

Creates a small world graph according to Holmea, Beom & Kim

## NAME

Graph::Maker::SmallWorldHK - Creates a small world graph according to Holmea, Beom & Kim

## VERSION

Version 0.01

## SYNOPSIS

Creates a small world graph according to Holmea, Beom & Kim's model. A small world graph has an approximate power law degree distribution and a high clustering coefficient. Holmea, Beom & Kim's can be seen as a super-set of th BA model as it also allows a "triangle formation" phase to increase the 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::SmallWorldHK;
        my $g = new Graph::Maker('small_world_hk', N => 10, M => 2, M_0 => 1, PR => 0, undirected => 1); # BA's model
        my $g2 = new Graph::Maker('small_world_hk', N => 10, M => 2, M_0 => 1, PR => 0.25, undirected => 1);
        # work with the graph
```

## FUNCTIONS

### new %params

Creates a small world graph with N nodes, initially starting with M\_0 nodes and adding M (the minimum number of edges per node) on each step probalistically doing a triangle formation with probability PR according to the Holmes, Beom & Kim model. The recognized parameters are N, M, M\_0, PR, 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. If M\_0 is not given it defaults to M. If PR is not given it defaults to 0. 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.

## AUTHOR

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

## BUGS

Please report any bugs or feature requests to `"bug-graph-maker-smallworldhk 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.

## COPYRIGHT & LICENSE

Copyright 2008 Matt Spear, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
