Caveman graph
Example I - Unconnected caves
[1]:
import pop2net as p2n
env = p2n.Environment()
creator = p2n.Creator(env)
inspector = p2n.NetworkInspector(env)
class Cave(p2n.LocationDesigner):
n_actors = 5
env.add_actors([p2n.Actor() for _ in range(25)])
creator.create_locations(location_designers=[Cave])
inspector.plot_networks()
Example II - Connected grid caves
[2]:
import networkx as nx
env = p2n.Environment()
creator = p2n.Creator(env)
inspector = p2n.NetworkInspector(env)
class Cave(p2n.LocationDesigner):
nxgraph = nx.grid_2d_graph(3, 3)
class Bridge(p2n.LocationDesigner):
nxgraph = nx.cycle_graph(5)
def filter(self, actor):
return actor.Cave_head
env.add_actors([p2n.Actor() for _ in range(45)])
creator.create_locations(
location_designers=[
Cave,
Bridge,
]
)
inspector.plot_networks()