OPAL (Object Oriented Parallel Accelerator Library)
2.2.0
OPAL
|
Modeling social graph (Cartesian neighbors plus additional random link) as underlaying master network. More...
#include <SocialNetworkGraph.h>
Inherits TopoDiscoveryStrategy_t.
Public Member Functions | |
std::set< size_t > | execute (size_t numMasters, size_t dimensions, size_t id, int island_id) |
Private Member Functions | |
void | setNetworkNeighbors () |
double | manhattenDistance (size_t from, size_t to) |
void | chooseRandomNeighbor () |
Private Attributes | |
boost::random::mt19937 | gen_ |
double | alpha_ |
size_t | numMasters_ |
size_t | dim_ |
size_t | myID_ |
size_t | randomNeighbor_ |
std::set< size_t > | realNetworkNeighborPIDs_ |
Modeling social graph (Cartesian neighbors plus additional random link) as underlaying master network.
Due to its nice rumor spreading properties this master network is mimicking a social network graph (augmented grid) and solution states are distributed in a rumor fashion.
Definition at line 30 of file SocialNetworkGraph.h.
|
inlineprivate |
compute random neighbor using power law distribution with \( \alpha = 2\).
Definition at line 113 of file SocialNetworkGraph.h.
References SocialNetworkGraph< TopoDiscoveryStrategy_t >::alpha_, SocialNetworkGraph< TopoDiscoveryStrategy_t >::gen_, SocialNetworkGraph< TopoDiscoveryStrategy_t >::manhattenDistance(), SocialNetworkGraph< TopoDiscoveryStrategy_t >::myID_, SocialNetworkGraph< TopoDiscoveryStrategy_t >::numMasters_, pow(), SocialNetworkGraph< TopoDiscoveryStrategy_t >::randomNeighbor_, and sum().
Referenced by SocialNetworkGraph< TopoDiscoveryStrategy_t >::execute().
|
inline |
Definition at line 34 of file SocialNetworkGraph.h.
References SocialNetworkGraph< TopoDiscoveryStrategy_t >::chooseRandomNeighbor(), SocialNetworkGraph< TopoDiscoveryStrategy_t >::dim_, SocialNetworkGraph< TopoDiscoveryStrategy_t >::myID_, SocialNetworkGraph< TopoDiscoveryStrategy_t >::numMasters_, SocialNetworkGraph< TopoDiscoveryStrategy_t >::realNetworkNeighborPIDs_, and SocialNetworkGraph< TopoDiscoveryStrategy_t >::setNetworkNeighbors().
|
inlineprivate |
Definition at line 100 of file SocialNetworkGraph.h.
References abs(), SocialNetworkGraph< TopoDiscoveryStrategy_t >::numMasters_, and sqrt().
Referenced by SocialNetworkGraph< TopoDiscoveryStrategy_t >::chooseRandomNeighbor().
|
inlineprivate |
Definition at line 59 of file SocialNetworkGraph.h.
References SocialNetworkGraph< TopoDiscoveryStrategy_t >::myID_, SocialNetworkGraph< TopoDiscoveryStrategy_t >::numMasters_, SocialNetworkGraph< TopoDiscoveryStrategy_t >::realNetworkNeighborPIDs_, and sqrt().
Referenced by SocialNetworkGraph< TopoDiscoveryStrategy_t >::execute().
|
private |
Definition at line 50 of file SocialNetworkGraph.h.
Referenced by SocialNetworkGraph< TopoDiscoveryStrategy_t >::chooseRandomNeighbor().
|
private |
Definition at line 53 of file SocialNetworkGraph.h.
Referenced by SocialNetworkGraph< TopoDiscoveryStrategy_t >::execute().
|
private |
Definition at line 49 of file SocialNetworkGraph.h.
Referenced by SocialNetworkGraph< TopoDiscoveryStrategy_t >::chooseRandomNeighbor().
|
private |
|
private |
Definition at line 52 of file SocialNetworkGraph.h.
Referenced by SocialNetworkGraph< TopoDiscoveryStrategy_t >::chooseRandomNeighbor(), SocialNetworkGraph< TopoDiscoveryStrategy_t >::execute(), SocialNetworkGraph< TopoDiscoveryStrategy_t >::manhattenDistance(), and SocialNetworkGraph< TopoDiscoveryStrategy_t >::setNetworkNeighbors().
|
private |
Definition at line 56 of file SocialNetworkGraph.h.
Referenced by SocialNetworkGraph< TopoDiscoveryStrategy_t >::chooseRandomNeighbor().
|
private |
Definition at line 57 of file SocialNetworkGraph.h.
Referenced by SocialNetworkGraph< TopoDiscoveryStrategy_t >::execute(), and SocialNetworkGraph< TopoDiscoveryStrategy_t >::setNetworkNeighbors().