Class PubWebGenerator

Nested Relationships

Nested Types

Inheritance Relationships

Base Type

Class Documentation

class PubWebGenerator : public NetworKit::StaticGraphGenerator

Generates a static graph that resembles an assumed geometric distribution of nodes in a P2P network. The basic structure is to distribute points randomly in the unit torus and to connect vertices close to each other (at most neighRad distance and none of them already has maxNeigh neighbors). The distribution is chosen to get some areas with high density and others with low density. There are numDenseAreas dense areas, which can overlap. Each area is circular, has a certain position and radius and number of points. These values are strored in denseAreaXYR and numPerArea, respectively.

Used and described in more detail in J. Gehweiler, H. Meyerhenke: A Distributed Diffusive Heuristic for Clustering a Virtual P2P Supercomputer. In Proc. 7th High-Performance Grid Computing Workshop (HPGC’10), in conjunction with 24th IEEE Internatl. Parallel and Distributed Processing Symposium (IPDPS’10), IEEE, 2010.

Reasonable parameters for constructor:

  • numNodes: from several hundred up to a few thousand (possibly more if visualization is not desired and quadratic time complexity has been resolved)

  • numberOfDenseAreas: depending on number of nodes, e.g. [8, 50]

  • neighborhoodRadius: the higher, the better the connectivity [0.1, 0.35]

  • maxNumberOfNeighbors: maximum degree, a higher value corresponds to better connectivity [4, 40]

Public Functions

inline PubWebGenerator()
~PubWebGenerator() override = default
PubWebGenerator(count numNodes, count numberOfDenseAreas, coordinate neighborhoodRadius, count maxNumberOfNeighbors)
virtual Graph generate() override
inline const std::vector<Point2D> &getCoordinates() const
inline std::vector<Point2D> moveCoordinates()