OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
Public Member Functions | Private Member Functions | Private Attributes | List of all members
SocialNetworkGraph< TopoDiscoveryStrategy_t > Class Template Reference

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_
 

Detailed Description

template<class TopoDiscoveryStrategy_t>
class SocialNetworkGraph< TopoDiscoveryStrategy_t >

Modeling social graph (Cartesian neighbors plus additional random link) as underlaying master network.

See Also
MasterNode

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.

Member Function Documentation

template<class TopoDiscoveryStrategy_t >
void SocialNetworkGraph< TopoDiscoveryStrategy_t >::chooseRandomNeighbor ( )
inlineprivate
template<class TopoDiscoveryStrategy_t >
std::set<size_t> SocialNetworkGraph< TopoDiscoveryStrategy_t >::execute ( size_t  numMasters,
size_t  dimensions,
size_t  id,
int  island_id 
)
inline
template<class TopoDiscoveryStrategy_t >
double SocialNetworkGraph< TopoDiscoveryStrategy_t >::manhattenDistance ( size_t  from,
size_t  to 
)
inlineprivate

Definition at line 100 of file SocialNetworkGraph.h.

References abs(), SocialNetworkGraph< TopoDiscoveryStrategy_t >::numMasters_, and sqrt().

Referenced by SocialNetworkGraph< TopoDiscoveryStrategy_t >::chooseRandomNeighbor().

Here is the call graph for this function:

template<class TopoDiscoveryStrategy_t >
void SocialNetworkGraph< TopoDiscoveryStrategy_t >::setNetworkNeighbors ( )
inlineprivate

Member Data Documentation

template<class TopoDiscoveryStrategy_t >
double SocialNetworkGraph< TopoDiscoveryStrategy_t >::alpha_
private
template<class TopoDiscoveryStrategy_t >
size_t SocialNetworkGraph< TopoDiscoveryStrategy_t >::dim_
private
template<class TopoDiscoveryStrategy_t >
boost::random::mt19937 SocialNetworkGraph< TopoDiscoveryStrategy_t >::gen_
private
template<class TopoDiscoveryStrategy_t >
size_t SocialNetworkGraph< TopoDiscoveryStrategy_t >::myID_
private
template<class TopoDiscoveryStrategy_t >
size_t SocialNetworkGraph< TopoDiscoveryStrategy_t >::numMasters_
private
template<class TopoDiscoveryStrategy_t >
size_t SocialNetworkGraph< TopoDiscoveryStrategy_t >::randomNeighbor_
private
template<class TopoDiscoveryStrategy_t >
std::set<size_t> SocialNetworkGraph< TopoDiscoveryStrategy_t >::realNetworkNeighborPIDs_
private

The documentation for this class was generated from the following file: