Example #1
0
if settings.network_type == 0:
    G = nx.complete_graph(settings.number_of_nodes)
if settings.network_type == 1:
    G = nx.barabasi_albert_graph(settings.number_of_nodes, 10)
if settings.network_type == 2:
    G = nx.margulis_gabber_galil_graph(settings.number_of_nodes, None)
# More types of networks can be added here

##############
# Simulation #
##############

sim = NetworkSimulation(topology=G,
                        states=init_states,
                        agent_type=ControlModelM2,
                        max_time=settings.max_time,
                        num_trials=settings.num_trials,
                        logging_interval=1.0)

sim.run_simulation()

###########
# Results #
###########
x_values = []
infected_values = []
neutral_values = []
cured_values = []
vaccinated_values = []

attribute_plot = 'status'
    seednode = random.randint(0, numberofnodes)

    hashdata = string.ascii_letters
    for i in range(10):
        #piece={"pieceid":random.choice(hashdata),"piecesize":ps/20}
        piece = {"pieceid": random.choice(hashdata), "piecesize": 0.1}
        nodes[seednode]["pieces"].append(piece)

    nodes[seednode]["id"] = 1

    #for i in range(50,200,10):
    sim = NetworkSimulation(topology=G,
                            agent_type=randompeerfailure,
                            states=nodes,
                            num_trials=1,
                            max_time=time,
                            logging_interval=1.0,
                            environmentparams={
                                "time": time,
                                "faileddict": {}
                            })

    sim.run_simulation()
    faileddict = sim.environment_params["environmentparams"]["faileddict"]

    if time in faileddict.keys():
        deletesizes.append(len(faileddict[time]))
    else:
        deletesizes.append(0)

print(deletesizes, piecesizes)
failureratios = []
    
    
    
        



# Starting out with a human population
init_states = [{'id': 0, } for _ in range(number_of_nodes)]

# Randomly seeding patient zero
patient_zero = random.randint(0, number_of_nodes)
init_states[patient_zero] = {'id': 1}

# Setting up the simulation
sim = NetworkSimulation(topology=G, states=init_states, agent_type=ZombieMassiveOutbreak, 
                        max_time=28, num_trials=100, logging_interval=1.0, dir_path='sim_01')

# Running the simulation
sim.run_simulation()



# Starting out with a human population
init_states = [{'id': 0, } for _ in range(number_of_nodes)]

# Randomly seeding patient zero
patient_zero = random.randint(0, number_of_nodes)
init_states[patient_zero] = {'id': 1}

# Setting up the simulation
sim = NetworkSimulation(topology=G, states=init_states, agent_type=ZombieEscape, 
    def zombify(self):
        normal_neighbors = self.get_neighboring_agents(state_id=0)
        for neighbor in normal_neighbors:
            if random.random() < self.bite_prob:
                neighbor.state['id'] = 1 # zombie
                print(self.env.now, self.id, neighbor.id, sep='\t')
                break

from nxsim import NetworkSimulation

# Initialize agent states. Let's assume everyone is normal.
init_states = [{'id': 0, } for _ in range(number_of_nodes)]  # add keys as as necessary, but "id" must always refer to that state category

# Seed a zombie
init_states[5] = {'id': 1}
sim = NetworkSimulation(topology=G, states=init_states, agent_type=ZombieOutbreak, 
                        max_time=30, num_trials=1, logging_interval=1.0)


sim.run_simulation()

#%matplotlib inline
nx.draw(G)

# from nxsim import BaseLoggingAgent
# trial = BaseLoggingAgent.open_trial_state_history(dir_path='sim_01', trial_id=0)

# import numpy as np
# from matplotlib import pyplot as plt
# #%matplotlib inline
# zombie_census = [sum([1 for node_id, state in g.items() if state['id'] == 1]) for t,g in trial.items()]
# plt.plot(zombie_census)
Example #5
0
from nxsim import NetworkSimulation
#from churnsim.uk.ac.bristol.rechurn.modes.p2p.biasedpeerselection import biasedpeerfailure
from networkx import nx
import random

numberofnodes=10
G = nx.complete_graph(numberofnodes)

failurestates={}
keys=range(numberofnodes)

for i in keys:
    failurestates[i]=0

failurenode=random.randint(0,numberofnodes)

failurestates[failurenode]=1

sim=NetworkSimulation(topology=G,agent_type=randompeerselection,states=,environment_agent=,dir_path=,
                      num_trials=,max_time=,logging_interval=)
Example #6
0
    'id': 'node',
    'active': False,
    'queue': 0,
    'cpu': 0,
    'dropped': 0,
} for _ in range(number_of_nodes + 1)]

# Seed a balancer
init_states[0] = {'id': 'balancer', 'req_new': 0}
# Activate single node
init_states[1]['active'] = True

sim = NetworkSimulation(topology=G,
                        states=init_states,
                        agent_type=AutoScalingAgent,
                        max_time=period * number_of_periods,
                        dir_path='sim_01',
                        num_trials=1,
                        logging_interval=1.0)

sim.run_simulation()

trial = BaseLoggingAgent.open_trial_state_history(dir_path='sim_01',
                                                  trial_id=0)

# plt.interactive(False)
# req_num = [sum([state['req_new'] for node_id, state in g.items() if state['id'] == 'balancer']) for t, g in trial.items()  if t > (period * (number_of_periods - 1))]
# plt.plot(req_num)
# plt.show()

# queue_size = [sum([state['queue'] for node_id, state in g.items() if state['id'] == 'node']) for t, g in trial.items()]
Example #7
0
# More types of networks can be added here

##############
# Simulation #
##############

agents = settings.environment_params['agent']

print("Using Agent(s): {agents}".format(agents=agents))

if len(agents) > 1:
    for agent in agents:
        sim = NetworkSimulation(
            topology=G,
            states=init_states,
            agent_type=locals()[agent],
            max_time=settings.network_params["max_time"],
            num_trials=settings.network_params["num_trials"],
            logging_interval=1.0,
            **settings.environment_params)
        sim.run_simulation()
        print(str(agent))
        results(str(agent))
        resultadosTipo(str(agent))
        visualization(str(agent))
else:
    agent = agents[0]
    sim = NetworkSimulation(topology=G,
                            states=init_states,
                            agent_type=locals()[agent],
                            max_time=settings.network_params["max_time"],
                            num_trials=settings.network_params["num_trials"],
Example #8
0
    if initial_states[i] < 1:
        initial_states[i] = 1

    elif initial_states[i] > 5:
        initial_states[i] = 5
initial_states

#plt.hist(initial_states, bins=5)

init = [{'quali-rate': state} for state in initial_states]

# Preparando a simulação
sim = NetworkSimulation(topology=G_scale_free,
                        states=init,
                        agent_type=DifusaoQualidade,
                        max_time=50,
                        num_trials=1,
                        logging_interval=1.0,
                        dir_path='quali_sim_01')

# Rodando a simulação
sim.run_simulation()

print('\n\n')

# Resultados
log = BaseLoggingAgent.open_trial_state_history(dir_path='quali_sim_01')

rates = []
for node in range(numero_de_pessoas):
    rate = log[49][node]['quali-rate']