Example #1
0
 def smartGetFristNGroups(self, lists, noGroups=2):
     """
     Metoda zwraca członków noGroups wyznaczonych grup, zaczynając od najmniej licznej. 
     Jeżeli zwrócone węzły stanowią mniej niż 10% populacji, metoda zwraca członków noGroups+1 grup. 
     
     @param lists: lista list węzłów podzielonych na grupy
     @param noGroups: liczba grup, których członkowie będą zwróceni
     
     @rtype: list
     @return: lista członków kilki najmniej licznych grup, stanowiących powyżej 10% populacji
     """
     lists.sort(key=len)
     retList = []
     for i in xrange(min(noGroups, len(lists))):
         retList.extend(lists[i])
     
     while len(retList)/len(self.graph) < 0.1:
         # if this still lower then 10% of population, get more groups
         i += 1
         try:
             retList.extend(lists[i])
         except:
             logger.error("To byłą ostatani grupa! Zwrócono  %f procent." % (len(retList)/len(self.graph)))
             
     return retList
Example #2
0
 def invertWeight(edge):
     try:
         edge[2]['weight'] = int(100/edge[2]['weight'])
     except:
         edge[2]['weight'] = float('Inf')
         logger.error("Błąd przy wyliczaniu wagi krawędzi, ustawiono nieskończoność!!")