de.cesr.more.rs.building
Class MGeoRsBaselineRingNetworkService<AgentType extends MoreMilieuAgent,EdgeType extends MRepastEdge<AgentType> & MoreEdge<AgentType>>
java.lang.Object
de.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.MGeoRsBaselineRadiusNetworkService<AgentType,EdgeType>
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:
- For every agent in the context
- Fetch all agents within a given radius (
SEARCH_RADIUS
) from the focal agent (do not consider area
boundaries).
- 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.
- 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.
- 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
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
-
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