|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectde.cesr.more.building.network.MNetworkService<AgentType,EdgeType>
de.cesr.more.rs.building.MRsNetworkService<AgentType,EdgeType>
de.cesr.more.rs.building.MGeoRsNetworkService<AgentType,EdgeType>
de.cesr.more.rs.building.MGeoRsHomophilyDistanceFfNetworkService<AgentType,EdgeType>
public class MGeoRsHomophilyDistanceFfNetworkService<AgentType extends MoreMilieuAgent & MoreNetworkAgent<AgentType,EdgeType>,EdgeType extends MRepastEdge<AgentType> & MoreEdge<AgentType>>
MORe TODO test and make component of RS version (?) This network builder considers baseline homophily [1] and distance distributions [2]. The network is build as follows:
MGeoHexagons, and add them to the geography and the root context.MMilieuPartnerFinderMNetBuildHdffPa.AGENT_SHUFFLE_INTERVAL.| Property | Value |
|---|---|
| #Vertices | N (via collection of agents) |
| #Edges: | undefined |
PmParameterDefinitions:
MNetBuildHdffPa.HEXAGON_SHAPEFILEMNetworkBuildingPa.BUILD_DIRECTEDMNetBuildHdffPa.K_DISTRIBUTION_CLASS (via MNetworkBuildingPa.MILIEU_NETWORK_PARAMS)MNetBuildHdffPa.K_PARAM_A (via MNetworkBuildingPa.MILIEU_NETWORK_PARAMS)MNetBuildHdffPa.K_PARAM_B (via MNetworkBuildingPa.MILIEU_NETWORK_PARAMS)MNetBuildHdffPa#DISTANCE_PROBABILITY_EXPONENT (via MNetworkBuildingPa.MILIEU_NETWORK_PARAMS)MNetBuildHdffPa.MAX_SEARCH_RADIUS (via MNetworkBuildingPa.MILIEU_NETWORK_PARAMS)MNetBuildHdffPa.P_MILIEUS (via MNetworkBuildingPa.MILIEU_NETWORK_PARAMS)MNetBuildHdffPa.PROB_FORWARD (via MNetworkBuildingPa.MILIEU_NETWORK_PARAMS)MNetBuildHdffPa.PROB_BACKWARD (via MNetworkBuildingPa.MILIEU_NETWORK_PARAMS)MNetBuildHdffPa.DIM_WEIGHTS_GEO (via MNetworkBuildingPa.MILIEU_NETWORK_PARAMS)MNetBuildHdffPa.DIM_WEIGHTS_MILIEU (via MNetworkBuildingPa.MILIEU_NETWORK_PARAMS)MNetBuildHdffPa.AGENT_SHUFFLE_INTERVAL (specifies the number of turns - selection of new ambassador for
each agent - after which agents are shuffled)
| Field Summary | |
|---|---|
protected double |
areaDiameter
|
protected boolean |
considerBackwardLinks
|
protected boolean |
considerDistance
|
protected boolean |
considerForwardLinks
|
protected boolean |
considerMilieus
|
protected Map<Integer,MIntegerDistribution> |
degreeDistributions
|
static int |
DISTANCE_FACTOR_FOR_DISTRIBUTION
|
protected Map<Integer,MRealDistribution> |
distanceDistributions
|
protected double |
distanceStep
|
protected String |
name
|
protected MMilieuNetworkParameterMap |
paraMap
|
protected MMilieuPartnerFinder<AgentType,EdgeType> |
partnerFinder
|
protected cern.jet.random.Uniform |
rand
|
protected MRuntimeDbWriter |
runtimeWriter
|
static double |
TOLERANCE_VALUE_DIM_WEIGHTS
|
| Fields inherited from class de.cesr.more.rs.building.MGeoRsNetworkService |
|---|
geoFactory, geography, geoRequestClass, pm |
| Fields inherited from class de.cesr.more.rs.building.MRsNetworkService |
|---|
context |
| Fields inherited from class de.cesr.more.building.network.MNetworkService |
|---|
edgeFac, edgeModifier |
| Constructor Summary | |
|---|---|
MGeoRsHomophilyDistanceFfNetworkService(repast.simphony.space.gis.Geography<Object> geography,
MoreEdgeFactory<AgentType,EdgeType> edgeFac,
String name)
Uses main instance of PmParameterManager. |
|
MGeoRsHomophilyDistanceFfNetworkService(repast.simphony.space.gis.Geography<Object> geography,
MoreEdgeFactory<AgentType,EdgeType> edgeFac,
String name,
de.cesr.parma.core.PmParameterManager pm)
- builder constructor - edge modifier - builder set - parma |
|
MGeoRsHomophilyDistanceFfNetworkService(MoreEdgeFactory<AgentType,EdgeType> edgeFac,
String name)
Takes the geography from MBasicPa.ROOT_GEOGRAPHY. |
|
| Method Summary | |
|---|---|
boolean |
addAndLinkNode(MoreNetwork<AgentType,EdgeType> network,
AgentType node)
Removes an agent from the given network and deletes all its links. |
protected void |
adjustProbabilityWeights()
TODO test |
protected void |
assignMilieuParamMap()
|
MoreRsNetwork<AgentType,EdgeType> |
buildNetwork(Collection<AgentType> agents)
The returned network is always directed! |
protected void |
checkParameter()
Checks... |
protected ArrayList<AgentType> |
createRandomAgentList(Collection<AgentType> agents,
Map<AgentType,Integer> degreeTargets)
|
protected void |
explorePartner(AgentType agent,
LinkedList<AgentType> toExplore,
MoreNetwork<AgentType,EdgeType> network,
Map<AgentType,Integer> degreeTargets)
Assumes that the distance distribution's density is highest at supported lower bound (p_local / x_min). |
protected double |
getAreaDiameter()
Calculates the area diameter from hexagon shapefiles. |
protected double |
getDistance(int milieu)
|
protected double |
getDistanceProb(AgentType ego,
AgentType partner)
|
protected Map<AgentType,Integer> |
initDegreeTargets(Collection<AgentType> agents)
|
protected void |
initHexagons()
Init hexagons from shapefile into geography. |
void |
initRuntimeDbWriter(MoreRunIdProvider provider)
Initialises the MRuntimeDbWriter. |
protected void |
linkPartner(AgentType agent,
AgentType partner,
MoreNetwork<AgentType,EdgeType> network,
Map<AgentType,Integer> degreeTargets)
|
String |
toString()
|
| Methods inherited from class de.cesr.more.rs.building.MGeoRsNetworkService |
|---|
getGeoRequestClass, logEdges, setContext, setGeography, setGeoRequestClass, shuffleCollection |
| Methods inherited from class de.cesr.more.building.network.MNetworkService |
|---|
addAgents, checkAgentCollection, createEdge, getEdgeFactory, getEdgeModifier, logEdges, removeEdge, removeNode, setEdgeModifier |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface de.cesr.more.manipulate.network.MoreNetworkModifier |
|---|
removeNode, setEdgeModifier |
| Methods inherited from interface de.cesr.more.manipulate.edge.MoreNetworkEdgeModifier |
|---|
createEdge, getEdgeFactory, removeEdge |
| Field Detail |
|---|
public static final int DISTANCE_FACTOR_FOR_DISTRIBUTION
public static final double TOLERANCE_VALUE_DIM_WEIGHTS
protected String name
protected MMilieuNetworkParameterMap paraMap
protected MMilieuPartnerFinder<AgentType extends MoreMilieuAgent & MoreNetworkAgent<AgentType,EdgeType>,EdgeType extends MRepastEdge<AgentType> & MoreEdge<AgentType>> partnerFinder
protected cern.jet.random.Uniform rand
protected Map<Integer,MIntegerDistribution> degreeDistributions
protected Map<Integer,MRealDistribution> distanceDistributions
protected double distanceStep
protected double areaDiameter
protected MRuntimeDbWriter runtimeWriter
protected boolean considerBackwardLinks
protected boolean considerForwardLinks
protected boolean considerMilieus
protected boolean considerDistance
| Constructor Detail |
|---|
public MGeoRsHomophilyDistanceFfNetworkService(MoreEdgeFactory<AgentType,EdgeType> edgeFac,
String name)
MBasicPa.ROOT_GEOGRAPHY.
edgeFac - name -
public MGeoRsHomophilyDistanceFfNetworkService(repast.simphony.space.gis.Geography<Object> geography,
MoreEdgeFactory<AgentType,EdgeType> edgeFac,
String name)
PmParameterManager.
areasGeography -
public MGeoRsHomophilyDistanceFfNetworkService(repast.simphony.space.gis.Geography<Object> geography,
MoreEdgeFactory<AgentType,EdgeType> edgeFac,
String name,
de.cesr.parma.core.PmParameterManager pm)
areasGeography - | Method Detail |
|---|
public void initRuntimeDbWriter(MoreRunIdProvider provider)
MRuntimeDbWriter. Runtimes are only recorded when this method was called before this#buildNetwork(Collection).
initRuntimeDbWriter in interface MoreRuntimeAnalysableprovider - public MoreRsNetwork<AgentType,EdgeType> buildNetwork(Collection<AgentType> agents)
buildNetwork in interface MoreNetworkBuilder<AgentType extends MoreMilieuAgent & MoreNetworkAgent<AgentType,EdgeType>,EdgeType extends MRepastEdge<AgentType> & MoreEdge<AgentType>>buildNetwork in interface MoreRsNetworkBuilder<AgentType extends MoreMilieuAgent & MoreNetworkAgent<AgentType,EdgeType>,EdgeType extends MRepastEdge<AgentType> & MoreEdge<AgentType>>MoreRsNetworkBuilder.buildNetwork(java.util.Collection)protected double getDistance(int milieu)
http://mathworld.wolfram.com/RandomNumber.htmlprotected double getAreaDiameter()
protected Map<AgentType,Integer> initDegreeTargets(Collection<AgentType> agents)
agents -
protected void explorePartner(AgentType agent,
LinkedList<AgentType> toExplore,
MoreNetwork<AgentType,EdgeType> network,
Map<AgentType,Integer> degreeTargets)
agent - agent/ambassadorpartner - network - orderedAgents - degreeTargets -
protected void linkPartner(AgentType agent,
AgentType partner,
MoreNetwork<AgentType,EdgeType> network,
Map<AgentType,Integer> degreeTargets)
agent - partner - network - orderedAgents - degreeTargets -
protected double getDistanceProb(AgentType ego,
AgentType partner)
ego - partner -
protected void adjustProbabilityWeights()
protected void checkParameter()
protected void assignMilieuParamMap()
protected ArrayList<AgentType> createRandomAgentList(Collection<AgentType> agents,
Map<AgentType,Integer> degreeTargets)
agents -
public boolean addAndLinkNode(MoreNetwork<AgentType,EdgeType> network,
AgentType node)
MoreNetworkModifier#addAgent(Object, MoreRsNetwork)
performed.
addAndLinkNode in interface MoreNetworkModifier<AgentType extends MoreMilieuAgent & MoreNetworkAgent<AgentType,EdgeType>,EdgeType extends MRepastEdge<AgentType> & MoreEdge<AgentType>>network - the network to remove the given agent from
MoreNetworkModifier.addAndLinkNode(de.cesr.more.basic.network.MoreNetwork,
java.lang.Object)protected void initHexagons()
public String toString()
toString in class ObjectObject.toString()
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||