コード例 #1
0
ファイル: test_FastMIS.py プロジェクト: skltl/log_star_sim
 def test_checkMsgsFromNeighbors(self):
     # 1 - wezel nie moze przystapic, bo jakis jego sasiad o wyzszym stopniu sie zaznaczyl
     # 2 - wezel moze przystapic, bo co ma sasiadow o wyzszym stopniu, ale nie zaznaczonych
     # 3 - wezel nie moze przystapic, bo ma sasiada o tym samym stopniu z wyzszym ID ktory sie zaznaczyl
     # 4 - wezel moze przystapic, bo ma sasiada o tym samym stopniu, ale nie zaznaczonego
     
     # 1:
     node = Node(5)
     node.memory['neighbors_cp'] = [0]
     
     msg = Message(0, 5, {'is_marked':'marked', 'degree':2})
     alg = FastMIS(None)
     
     result = alg.checkMsgsFromNeighbors(node, [msg])
     
     self.failUnless(result == False)
コード例 #2
0
def compute():
    
    MIN = 50
    MAX =5000
    step = 500
    
    repetitions = 100
    
    adjMatrix = []
    alg = None
    network = None
    
    tempCommSum = 0
    commTimes = []
    
    tempAlgSum = 0
    algTimes = []
    
    
    for n in range(MIN, MAX, step):
        tempCommSum = 0
        tempAlgSum = 0
        
        for k in range(repetitions):
            adjMatrix = getPlanarGraph(n)
            network = Network(adjMatrix)
            
            alg = FastMIS(network)
            
            alg.execute()
            
            print k
            tempAlgSum += alg.roundCounter
            tempCommSum += network.algCommRoundCounter
            
        print n, 'time: ', datetime.now()
            
        commTimes.append(tempCommSum/float(repetitions))
        algTimes.append(tempAlgSum/float(repetitions))
        
    fileName = '/home/julka/100_reps/fast_MIS_planar_graph_comm.txt'
    save(commTimes, fileName)
    
    fileName = '/home/julka/100_reps/fast_MIS_planar_graph_alg.txt'
    save(algTimes, fileName)
コード例 #3
0
ファイル: test_FastMIS.py プロジェクト: skltl/log_star_sim
 def test_checkIfUndecidedExists(self):
     adjacencyMatrix = getUnitDiskGraph(10)
     
     network = Network(adjacencyMatrix)
     
     alg = FastMIS(network)
     
     alg.initiate()
     
     result = alg.checkIfUndecidedExists()
     
     self.failUnless(result == True)
     
     
     # zmiana stanow wezlow
     
     for node in network.ndList:
         node.memory['state'] = 'in_MIS'
         
     result = alg.checkIfUndecidedExists()
     
     self.failUnless(result == False)
         
     network.ndList[8].memory['state'] = 'unmarked'
     
     result = alg.checkIfUndecidedExists()
     
     self.failUnless(result == True)
コード例 #4
0
ファイル: test_FastMIS.py プロジェクト: skltl/log_star_sim
    def test_execute(self):
        adjacencyMatrix = getUnitDiskGraph(200)
        
        network = Network(adjacencyMatrix)
        
        alg = FastMIS(network)
        
        alg.execute()
        
        
#         self.drawGraph(network.ndList, adjacencyMatrix)
        # sprawdzenie wlasnosci wyliczonego MIS
        self.checkIfMISisCorrect(network.ndList)
        
        # graf Yao
        adjacencyMatrix = getYaoGraph(15, 6)
        
        network = Network(adjacencyMatrix)
        
        alg = FastMIS(network)
        
        alg.execute()
        
        
        self.drawGraph(network.ndList, adjacencyMatrix)
        # sprawdzenie wlasnosci wyliczonego MIS
        self.checkIfMISisCorrect(network.ndList)
        
        # graf planarny
        adjacencyMatrix = getPlanarGraph(10)
        
        network = Network(adjacencyMatrix)
        
        alg = FastMIS(network)
        
        alg.execute()
        
        
        self.drawGraph(network.ndList, adjacencyMatrix)
        # sprawdzenie wlasnosci wyliczonego MIS
        self.checkIfMISisCorrect(network.ndList)