Skip to content
Snippets Groups Projects

pydtn agkmeans and version 1.0

Merged Hunter McConnell (rtm534) requested to merge summer2022 into develop
4 files
+ 311
26
Compare changes
  • Side-by-side
  • Inline
Files
4
+ 14
4
@@ -12,6 +12,7 @@ from pprint import pprint
from pydtn import Network, RandomTraffic, Node, EpidemicNode, CSVTrace
from pydtn.community import BubbleKCliqueNode, BubbleLouvainNode
from pydtn.community import HCBFKCliqueNode, HCBFLouvainNode
from pydtn.community import HCBFAGKmeansNode, BubbleAGKmeansNode
Simulation = namedtuple('Simulation', ['trace', 'node_type', 'seed'])
@@ -25,13 +26,14 @@ def run_simulation(simulation):
metadata = path.join(simulation.trace, 'metadata.json')
trace = CSVTrace(csv, metadata=metadata)
epoch = 7*24*60*60 # 7 days
epoch = 7*24*60*60 # 7 days
node_type = simulation.node_type
node_options = {
'tick_rate': 5 * 60, # 5 mins
'epoch': epoch,
'k': 3,
'agk':3,
'context': {}
}
nodes = {
@@ -61,6 +63,9 @@ def run_simulation(simulation):
def main(args):
"""Run simulation for each seed in args."""
log = pprint if args['pretty'] else print
pool = Pool()
@@ -70,23 +75,28 @@ def main(args):
node_types = [
Node,
EpidemicNode,
BubbleKCliqueNode,
HCBFKCliqueNode,
BubbleAGKmeansNode,
HCBFAGKmeansNode,
BubbleLouvainNode,
HCBFLouvainNode,
BubbleKCliqueNode,
HCBFKCliqueNode,
]
for seed in args['seeds']:
for node_type in node_types:
sim = Simulation(trace=trace, node_type=node_type, seed=seed)
simulations.append(sim)
for stats in pool.imap_unordered(run_simulation, simulations):
log(stats)
def parse_args(args):
"""Parse arguments."""
parser = ArgumentParser()
parser.add_argument('shed')
Loading