def square(): net = Network() net.add_node(pos=(111, 111), commRange=151) net.add_node(pos=(111, 251), commRange=151) net.add_node(pos=(251, 111), commRange=151) net.add_node(pos=(251, 251), commRange=151) return net
class TestNetworkCreation(unittest.TestCase): def setUp(self): self.net = Network() self.net.environment.im[22, 22] = 0 self.node1 = self.net.add_node(pos=[22.8, 21.8]) self.node2 = self.net.add_node(pos=[21.9, 22.9]) self.node3 = self.net.add_node(pos=[21.7, 21.7]) def test_nodes(self): """Make sure the nodes are added.""" self.assertTrue(isinstance(self.node1, Node)) self.assertEqual(len(self.net.node), 3) if (isinstance(self.net.environment, Environment2D)): self.assertEqual(self.net.environment.im.shape, settings.ENVIRONMENT2D_SHAPE, 'incorrect default size') self.assertTrue(isinstance(self.net.channelType, ChannelType)) def test_visibility(self): """ Pixel 22,22 is not space so node1 and node2 should not be visible but node3 is visible. """ self.assertFalse(self.net.environment\ .are_visible(self.net.pos[self.node1], self.net.pos[self.node2])) self.assertTrue(self.net.environment\ .are_visible(self.net.pos[self.node2], self.net.pos[self.node3]))
def network3(): net = Network() net.add_node(pos=(0,0), commRange=201) net.add_node(pos=(200, 0), commRange=201) net.add_node(pos=(0, 200), commRange=201) net.add_node(pos=(200, 100), commRange=201) net.add_node(pos=(400, 100), commRange=201) net.add_node(pos=(400, 200), commRange=201) net.add_node(pos=(500, 300), commRange=201) net.add_node(pos=(200, 300), commRange=201) return net
def my_random(): net = Network() net.add_node(pos=(100, 100), commRange=300) net.add_node(pos=(123, 302), commRange=300) net.add_node(pos=(204, 250), commRange=250) net.add_node(pos=(100, 574), commRange=300) net.add_node(pos=(395, 350), commRange=300) net.add_node(pos=(250, 500), commRange=300) net.add_node(pos=(404, 145), commRange=450) net.add_node(pos=(374, 195), commRange=300) net.add_node(pos=(147, 220), commRange=250) net.add_node(pos=(298, 402), commRange=300) return net
def line(): net = Network() net.add_node(pos=(111, 111), commRange=80) net.add_node(pos=(151, 151), commRange=80) net.add_node(pos=(201, 201), commRange=80) net.add_node(pos=(251, 251), commRange=80) net.add_node(pos=(301, 301), commRange=80) net.add_node(pos=(351, 351), commRange=80) net.add_node(pos=(401, 401), commRange=80) net.add_node(pos=(451, 451), commRange=80) net.add_node(pos=(501, 501), commRange=80) net.add_node(pos=(551, 551), commRange=80) return net
def network1(): net = Network() net.add_node(pos=(100, 100), commRange=51) net.add_node(pos=(100, 150), commRange=51) net.add_node(pos=(100, 200), commRange=51) net.add_node(pos=(100, 250), commRange=51) net.add_node(pos=(100, 300), commRange=51) net.add_node(pos=(100, 350), commRange=51) net.add_node(pos=(100, 400), commRange=51) net.add_node(pos=(100, 450), commRange=51) net.add_node(pos=(100, 500), commRange=51) net.add_node(pos=(100, 550), commRange=51) return net
def network5(): net = Network() net.add_node(pos=(100,100), commRange=401) net.add_node(pos=(100, 500), commRange=501) net.add_node(pos=(400, 200), commRange=501) net.add_node(pos=(599, 200), commRange=401) net.add_node(pos=(500, 50), commRange=401) net.add_node(pos=(500,400), commRange=401) return net
def get_line(): net1 = Network() net1.add_node(pos=(50, 100), commRange=101) net1.add_node(pos=(150, 100), commRange=101) net1.add_node(pos=(250, 100), commRange=101) net1.add_node(pos=(350, 100), commRange=101) net1.add_node(pos=(450, 100), commRange=101) net1.add_node(pos=(550, 100), commRange=101) return net1
def _create_modify_network(self, net=None, step=1): """Helper method for creating new or modifying given network. Arguments: net (int): network to modify, if None create from scratch step: if >0 new network should be more dense for <0 less dense """ if net is None: net = Network(**self.kwargs) for _n in range(self.n_count): node = Node(commRange=self.comm_range, **self.kwargs) net.add_node(node) else: print "here2-" + str(step) if step>0: if len(net)<self.n_max: node = Node(**self.kwargs) net.add_node(node) logger.debug("Added node, number of nodes: %d (%d)" % (len(net), int(self.n_max))) elif not self.comm_range: for node in net.nodes(): node.commRange += step logger.debug("Increased commRange to %d" % node.commRange) else: return None else: print "here3-" + str(self.n_min) if len(net) > self.n_min and len(net) > 1: net.remove_node(net.nodes()[0]) logger.debug("Removed node, nodes left: %d" % len(net)) elif not self.comm_range: if abs(step) >= net.nodes()[0].commRange: step /= 4 for node in net: node.commRange += step logger.debug("Decreased commRange to %d" % net.nodes()[0].commRange) else: return None return net
def test_set_compositeSensor(self): """Test setting compositeSensors on a node""" net = Network() node = net.add_node() dist_sensor = DistSensor({'pf': scipy.stats.norm, 'scale': 10}) node.compositeSensor = (NeighborsSensor, 'AoASensor', dist_sensor) self.assertTrue(len(node.compositeSensor.sensors) == 3) readings = node.compositeSensor.read() self.assertTrue('Neighbors' in readings.keys() and 'AoA' in readings.keys() and 'Dist' in readings.keys())
def line_network(): net = Network() net.add_node(pos=(100, 100), commRange=150) net.add_node(pos=(200, 200), commRange=150) net.add_node(pos=(300, 300), commRange=150) net.add_node(pos=(400, 400), commRange=150) net.add_node(pos=(500, 500), commRange=150) return net
def network2(): net = Network() net.add_node(pos=(100, 100), commRange=51) net.add_node(pos=(100, 150), commRange=51) net.add_node(pos=(100, 200), commRange=51) net.add_node(pos=(100, 250), commRange=51) net.add_node(pos=(150, 100), commRange=51) net.add_node(pos=(200, 100), commRange=51) net.add_node(pos=(250, 100), commRange=51) net.add_node(pos=(150, 250), commRange=51) net.add_node(pos=(200, 250), commRange=51) net.add_node(pos=(250, 250), commRange=51) net.add_node(pos=(250, 200), commRange=51) net.add_node(pos=(250, 150), commRange=51) return net
def tree(): net = Network() net.add_node(pos=(300, 559), commRange=370) net.add_node(pos=(410, 520), commRange=370) net.add_node(pos=(150, 500), commRange=200) net.add_node(pos=(490, 480), commRange=100) net.add_node(pos=(50, 400), commRange=170) net.add_node(pos=(200, 430), commRange=130) net.add_node(pos=(400, 400), commRange=150) net.add_node(pos=(480, 380), commRange=130) net.add_node(pos=(320, 300), commRange=140) net.add_node(pos=(15, 330), commRange=100) net.add_node(pos=(140, 350), commRange=150) net.add_node(pos=(370, 215), commRange=140) net.add_node(pos=(511, 405), commRange=50) net.add_node(pos=(490, 354), commRange=50) net.add_node(pos=(200, 300), commRange=105) net.add_node(pos=(490, 314), commRange=66) net.add_node(pos=(530, 274), commRange=66) net.add_node(pos=(450, 274), commRange=66) return net
def triangle(): net = Network() net.add_node(pos=(111, 111), commRange=200) net.add_node(pos=(111, 251), commRange=200) net.add_node(pos=(251, 111), commRange=200) return net
def get_arch_unique3(): net4 = Network() net4.add_node(pos=(300, 0), commRange=599) net4.add_node(pos=(400, 100), commRange=599) net4.add_node(pos=(500, 200), commRange=599) net4.add_node(pos=(599, 300), commRange=599) net4.add_node(pos=(500, 400), commRange=599) net4.add_node(pos=(400, 500), commRange=599) net4.add_node(pos=(300, 599), commRange=599) net4.add_node(pos=(200, 500), commRange=599) net4.add_node(pos=(100, 400), commRange=599) net4.add_node(pos=(0, 300), commRange=599) net4.add_node(pos=(100, 200), commRange=599) net4.add_node(pos=(200, 100), commRange=599) return net4
def get_arch_unique2(): net3 = Network() net3.add_node(pos=(300, 0), commRange=101) net3.add_node(pos=(300, 100), commRange=101) net3.add_node(pos=(300, 200), commRange=150) net3.add_node(pos=(200, 300), commRange=150) net3.add_node(pos=(400, 300), commRange=150) net3.add_node(pos=(300, 300), commRange=101) net3.add_node(pos=(300, 0), commRange=101) net3.add_node(pos=(300, 400), commRange=150) net3.add_node(pos=(300, 500), commRange=101) net3.add_node(pos=(300, 599), commRange=101) net3.add_node(pos=(100, 300), commRange=101) net3.add_node(pos=(0, 300), commRange=101) net3.add_node(pos=(500, 300), commRange=101) net3.add_node(pos=(599, 300), commRange=101) return net3
def test_read(self): """Test read compositeSensor""" net = Network() node = net.add_node() node.compositeSensor.read()
def triangle_network(): net = Network() net.add_node(pos=(200, 200), commRange=120) net.add_node(pos=(200, 300), commRange=120) net.add_node(pos=(250, 250), commRange=120) return net
g.add_edge(net.nodes()[0],net.nodes()[2],weight=1.7) g.add_edge(net.nodes()[0],net.nodes()[4],weight=2.6) g.add_edge(net.nodes()[1],net.nodes()[3],weight=3.1) g.add_edge(net.nodes()[2],net.nodes()[4],weight=3.8) g.add_edge(net.nodes()[3],net.nodes()[5],weight=3.7) g.add_edge(net.nodes()[4],net.nodes()[5],weight=2.1) net.adj=g.adj net.show() write_pickle(net, 'allCasesBezAlg.tar.gz') """ ### Primjer mreze sa worst-case slučajem net = Network() node = net.add_node(pos=[100, 50]) node = net.add_node(pos=[150, 50]) node = net.add_node(pos=[100, 200]) node = net.add_node(pos=[400, 200]) node = net.add_node(pos=[250, 300]) node = net.add_node(pos=[350, 50]) g = Graph() g.add_edge(net.nodes()[0], net.nodes()[1], weight=0.5) 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)
net.adj = g.adj net.show() #Uses Kruskal’s algorithm. #If the graph edges do not have a weight attribute #a default weight of 1 will be used. mst = minimum_spanning_tree(net) net.adj = mst.adj net.show() from pymote.network import Network net = Network() node = net.add_node(pos=[200, 300]) node = net.add_node(pos=[300, 300]) node = net.add_node(pos=[100, 200]) node = net.add_node(pos=[400, 200]) node = net.add_node(pos=[200, 100]) node = net.add_node(pos=[300, 100]) a = Graph() a.add_edge(net.nodes()[0], net.nodes()[1], weight=1.1) a.add_edge(net.nodes()[0], net.nodes()[2], weight=1.7) a.add_edge(net.nodes()[0], net.nodes()[4], weight=2.6) a.add_edge(net.nodes()[1], net.nodes()[3], weight=3.1) a.add_edge(net.nodes()[2], net.nodes()[4], weight=3.8) a.add_edge(net.nodes()[3], net.nodes()[5], weight=3.7) a.add_edge(net.nodes()[4], net.nodes()[5], weight=2.1) net.adj = a.adj
def node_network(): net = Network() net.add_node(pos=(300, 300), commRange=80) return net
def one_node(): net = Network() net.add_node(pos=(351, 351), commRange=80) return net