de.cesr.more.rs.building
Class MGeoRsBaselineRingNetworkService<AgentType extends MoreMilieuAgent,EdgeType extends MRepastEdge<AgentType> & MoreEdge<AgentType>>

java.lang.Object
  extended by de.cesr.more.building.network.MNetworkService<AgentType,EdgeType>
      extended by de.cesr.more.rs.building.MRsNetworkService<AgentType,EdgeType>
          extended by de.cesr.more.rs.building.MGeoRsNetworkService<AgentType,EdgeType>
              extended by de.cesr.more.rs.building.MGeoRsBaselineRadiusNetworkService<AgentType,EdgeType>
                  extended by de.cesr.more.rs.building.MGeoRsBaselineRingNetworkService<AgentType,EdgeType>
All Implemented Interfaces:
MoreNetworkBuilder<AgentType,EdgeType>, MoreNetworkService<AgentType,EdgeType>, MoreGeoNetworkBuilder<AgentType,EdgeType>, MoreGeoNetworkService<AgentType,EdgeType>, MoreNetworkEdgeModifier<AgentType,EdgeType>, MoreNetworkModifier<AgentType,EdgeType>, MoreGeoRsNetworkBuilder<AgentType,EdgeType>, MoreGeoRsNetworkService<AgentType,EdgeType>, MoreRsNetworkBuilder<AgentType,EdgeType>, MoreRsNetworkService<AgentType,EdgeType>

public class MGeoRsBaselineRingNetworkService<AgentType extends MoreMilieuAgent,EdgeType extends MRepastEdge<AgentType> & MoreEdge<AgentType>>
extends MGeoRsBaselineRadiusNetworkService<AgentType,EdgeType>

TODO adapt This network builder considers baseline homophily (McPherson2001). Agents are linked as follows:

  1. For every agent in the context
    1. Fetch all agents within a given radius (SEARCH_RADIUS) from the focal agent (do not consider area boundaries).
    2. For every potential partner that is not yet connected check according to milieu specific probability if it should be connected with focal agent. The approach to check the agents that are in the surroundings as they come considers the local milieu distribution and reflects baseline homophily. Applying milieu specific tie probabilities reflects inbreeding homophily.
    3. If the number of required neighbours is not satisfied but all fetched agents checked, request more agents from geography within an extended radius (X_SEARCH_RADIUS) until maximum radius ( MAX_SEARCH_RADIUS) is reached.
  2. Rewire: For each agent, check if every existing link should be rewired (with probability p_rewire) to a randomly chosen agent from the whole region that passes the milieu check (applying milieu tie probabilities ( p_links for every partnerMilieu). On purpose the new partner's milieu is not guaranteed to be the same as that of the original link: The partners within direct surroundings are coined by local milieu distributions (baseline homophly) and therefore do not entirely reflect the focal agent's preferences. Determining the milieu during rewiring anew may correct to milieu distributions of partners towards inbreeeding homophily and is desired.
Uses MGeographyWrapper.getSurroundingAgents(Object, double, Class) to fetch agents (all agents within the given radius of the given class). Internal: The BaselineDhhRadiusNetworkBuilder is based on DHH_ColCalc_Computer_Lifestyle.

Date:
27.07.2012

Field Summary
 
Fields inherited from class de.cesr.more.rs.building.MGeoRsBaselineRadiusNetworkService
agentList, CHECKED_NEIGHBOURS_CAPACITY_FACTOR, name, paraMap, partnerFinder, rand
 
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
MGeoRsBaselineRingNetworkService(repast.simphony.space.gis.Geography<Object> geography, MoreEdgeFactory<AgentType,EdgeType> edgeFac, String name)
           
MGeoRsBaselineRingNetworkService(MoreEdgeFactory<AgentType,EdgeType> edgeFac)
           
MGeoRsBaselineRingNetworkService(MoreEdgeFactory<AgentType,EdgeType> edgeFac, String name)
           
 
Method Summary
protected  int connectAgent(MMilieuNetworkParameterMap paraMap, MoreNetwork<AgentType,EdgeType> network, int numNotConnectedPartners, MGeographyWrapper<Object> geoWrapper, AgentType hh)
          TODO integerate
 
Methods inherited from class de.cesr.more.rs.building.MGeoRsBaselineRadiusNetworkService
addAndLinkNode, buildNetwork, checkParameter, createRadiusNetwork, getAgentList, getRandomFromContext, getRequestClass, globalLinking, 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
 

Constructor Detail

MGeoRsBaselineRingNetworkService

public MGeoRsBaselineRingNetworkService(MoreEdgeFactory<AgentType,EdgeType> edgeFac)
Parameters:
edgeFac -

MGeoRsBaselineRingNetworkService

public MGeoRsBaselineRingNetworkService(MoreEdgeFactory<AgentType,EdgeType> edgeFac,
                                        String name)
Parameters:
edgeFac -
name -

MGeoRsBaselineRingNetworkService

public MGeoRsBaselineRingNetworkService(repast.simphony.space.gis.Geography<Object> geography,
                                        MoreEdgeFactory<AgentType,EdgeType> edgeFac,
                                        String name)
Parameters:
geography -
edgeFac -
name -
Method Detail

connectAgent

protected int connectAgent(MMilieuNetworkParameterMap paraMap,
                           MoreNetwork<AgentType,EdgeType> network,
                           int numNotConnectedPartners,
                           MGeographyWrapper<Object> geoWrapper,
                           AgentType hh)
TODO integerate

Overrides:
connectAgent in class MGeoRsBaselineRadiusNetworkService<AgentType extends MoreMilieuAgent,EdgeType extends MRepastEdge<AgentType> & MoreEdge<AgentType>>
Parameters:
paraMap -
network -
numNotConnectedPartners -
geoWrapper -
hh -
Returns:
the number of _not_ connected partners