def save_net(self, *args): if self.fname != 0 : start = self.fname else: default_filetype = 'gz' start = datetime.now().strftime('%Y%m%d.tar.') + default_filetype filters = ['Network pickle (*.gz), (*.tar.gz)', 'All files (*)'] selectedFilter = 'Network pickle (*.gz), (*.tar.gz)' filters = ';;'.join(filters) fname = QFileDialog.getSaveFileName( self, "Choose a filename", start, filters, selectedFilter) if fname: try: #print ("save " + fname) self.net = self.scene.get_net() write_pickle(self.net, str(fname)) except Exception as e: #print ("Error saving file %s" % str(e)), QMessageBox.critical( self, "Error saving file", str(e), QMessageBox.Ok, QMessageBox.NoButton)
def test_network(): algorithmList = [traversal.DF_STAR, traversal.DFT] for algorithm in algorithmList: networks = [one_node(), line(), triangle(), small_random(), medium_random(), big_random(), square(), square_x(), my_random(), tree()] for net in networks: net.algorithms = (algorithm, ) sim = Simulation(net) try: sim.run() except Exception, e: import pdb pdb.set_trace() write_pickle(net, 'net_exception.npc.gz') raise e for node in net.nodes(): try: assert node.status == 'DONE' assert len(node.memory['unvisitedNodes']) == 0 except AssertionError: write_pickle(net, 'net_assertion_error.npc.gz')
def run_test(self): self.net.algorithms = (self.algorithm,) self.sim = Simulation(self.net) try: self.sim.run() except Exception, e: write_pickle(self.net, "{}_{}_exception.npc.gz".format(self.algorithm.__class__.__name__, self.test_name)) pdb.set_trace() traceback.print_exc(file=sys.stdout) raise e
def test_network(): net = node_network() net.algorithms = (DFstar, ) net.nodes()[0].memory['I']= 'information' sim = Simulation(net) try: sim.run() except Exception, e: write_pickle(net, 'net_exception.npc.gz') raise e
def test_network(): algorithmsList = [dfstar.DFStar, traversal.DFT] for algorithm in algorithmsList: netList = [network1(), network2(), network3(), network4(), network5(), network6(), network7(), network8(), network9(), network10()] for net in netList: net.algorithms = (algorithm, ) sim = Simulation(net) try: sim.run() except Exception, e: import pdb; pdb.set_trace() write_pickle(net, 'net_exception.npc.gz') raise e for node in net.nodes(): try: assert node.status == 'DONE' assert len(node.memory['unvisitedNodes']) == 0 except AssertionError: write_pickle(net, 'net_assertion_error.npc.gz')
from pymote.algorithms.KVM.MinHopRouting import MinHopRouting from pymote.networkgenerator import NetworkGenerator from pymote.npickle import write_pickle from pymote.simulation import Simulation from pymote.network import Network import networkx as nx #generate random network net_gen = NetworkGenerator(15) net = net_gen.generate_random_network() #add MinHopRouting algorithm and show the network net.algorithms = (MinHopRouting,) net.show() #write network to file write_pickle(net, 'minMreza.tar.gz') #start simulation sim = Simulation(net) sim.run() #after simulation write node memory and status print "\n" for node in net.nodes(): print node.id, node.memory, node.status print str(len(node.memory['routingTable'])) print " " #sim.reset() #initialize tmp routing list, set error counter to 0 tmpPathList = []
from pymote.algorithms.KVM.MinHopRouting import MinHopRouting from pymote.networkgenerator import NetworkGenerator from pymote.npickle import write_pickle from pymote.simulation import Simulation from pymote.network import Network import networkx as nx import random #generiraj random mrezu, dodaj PTConstruction algoritam i prikazi mrezu net_gen = NetworkGenerator(6) net = net_gen.generate_random_network() net.algorithms = (MinHopRouting,) net.show() #zapisi mrezu write_pickle(net, 'pt_mreza3.tar.gz') #pokreni simulaciju sim = Simulation(net) sim.run() #kad se simulacija zavrsi, prikazi id, memoriju i status svakog svora print "\n" for node in net.nodes(): print node.id, node.memory, node.status print " " #sim.reset() #inicijaliziraj tmp routing listu, i postavi brojac greski na 0 tmpPathList = []
from pymote.simulation import Simulation from networkx import draw, Graph, draw_networkx_edges, draw_networkx_edge_labels, get_node_attributes from pylab import show, figure import random #from pymote.algorithms.turk2018.megamerge_p import MegaMerger from pymote.algorithms.turk2018.megamerge import MegaMerger test_net = net = read_pickle('RandomBezAlg.tar.gz') #test_net = net = read_pickle('WorstCaseBezAlg.tar.gz') net.show() net.algorithms = (MegaMerger,) write_pickle(net, 'RandomSAlg.tar.gz') #write_pickle(net, 'WorstCaseSAlg.tar.gz') ##s ovom mrezom pokretati GUI simulator g = Graph() g.adj=net.adj #Uses Kruskal’s algorithm. #If the graph edges do not have a weight attribute #a default weight of 1 will be used. #test_graph = minimum_spanning_tree(net) test_graph=prim_mst(net) test_net.adj=test_graph.adj test_net.show() test_sum= test_net.size(weight='weight')
from pymote.algorithms.BuildTree import BuildTree from pymote.algorithms.Saturation import Saturation from pymote.algorithms.broadcast import Flood from pymote.networkgenerator import NetworkGenerator from pymote.simulation import Simulation from pymote.npickle import write_pickle net_gen = NetworkGenerator(5) net = net_gen.generate_random_network() net.algorithms = ((BuildTree, {'informationKey': 'I'}), (Saturation, {})) net.nodes()[0].memory['I'] = "Koja je tvoja temperatura?" net.show() write_pickle(net, 'sat_mreza.tar.gz') sim = Simulation(net) sim.run() for node in net.nodes(): print node.id, node.memory, node.status #sim.reset() print "\nDone script."
from pymote import NetworkGenerator from pymote.npickle import read_pickle, write_pickle from networkx import minimum_spanning_tree #from pymote.algorithms.MegaMeger import MegaMerger from pymote.algorithms.turk2018.megamerge_p import MegaMerger from pymote.simulation import Simulation from networkx import draw, Graph from pylab import show net = read_pickle("poslati.txt") write_pickle(net, 'bezAlg.tar.gz') #net.algorithms = (MegaMerger,) #write_pickle(net, 'saAlg.txt') g = Graph() g.add_edge(net.nodes()[0], net.nodes()[1], weight=1) g.add_edge(net.nodes()[0], net.nodes()[2], weight=2) g.add_edge(net.nodes()[0], net.nodes()[5], weight=3) g.add_edge(net.nodes()[2], net.nodes()[6], weight=4) g.add_edge(net.nodes()[3], net.nodes()[5], weight=5) g.add_edge(net.nodes()[4], net.nodes()[6], weight=6) g.add_edge(net.nodes()[6], net.nodes()[7], weight=7) #dodatni, da naprave razliku g.add_edge(net.nodes()[3], net.nodes()[4], weight=8) g.add_edge(net.nodes()[5], net.nodes()[7], weight=9) g.add_edge(net.nodes()[1], net.nodes()[2], weight=10) #draw(g) #show()
g.add_edge(net.nodes()[1], net.nodes()[2], weight=1.414) g.add_edge(net.nodes()[1], net.nodes()[3], weight=2.414) g.add_edge(net.nodes()[1], net.nodes()[4], weight=3.414) g.add_edge(net.nodes()[1], net.nodes()[5], weight=4.414) g.add_edge(net.nodes()[2], net.nodes()[3], weight=1) g.add_edge(net.nodes()[3], net.nodes()[4], weight=2) g.add_edge(net.nodes()[4], net.nodes()[5], weight=3) g.add_edge(net.nodes()[2], net.nodes()[4], weight=2.5) g.add_edge(net.nodes()[2], net.nodes()[5], weight=3.66) g.add_edge(net.nodes()[3], net.nodes()[5], weight=3.33) net.adj = g.adj net.show() write_pickle(net, 'WorstCaseBezAlg.tar.gz') #nacrtaj s težinama, #pozicija nodova nije uredu?! Kako izvući poziciju? pos = spring_layout(net.pos) #pos=get_node_attributes(g,net.pos) figure(2) #draw(g,pos) # specifiy edge labels explicitly edge_labels = dict([(( u, v, ), d['weight']) for u, v, d in g.edges(data=True)]) #pos=net.pos #Ako pos nije izvuceno iz net.pos rasporede se tako da se bolje vide draw_networkx_nodes(g, pos=net.pos, node_size=500)