Пример #1
0
 def accumulate(self,variable,segment_size=None):
     """combining adjective values into one set"""
     self.activated_sets = {}
     temp = None
     for name,adjective in variable.adjectives.items():
         # get precomputed adjective set
         temp2 = norm((self.INF or self._INF),adjective.set,adjective.getMembership(),segment_size)
         self.activated_sets[name] = temp2
         # accumulate all adjectives
         if temp is None:
             temp = temp2
         else:
             temp = merge((self.ACC or self._ACC),temp,temp2,segment_size)
     self.accumulated_set = temp
     return temp
Пример #2
0
 def accumulate(self, variable, segment_size=None):
     """combining adjective values into one set"""
     self.activated_sets = {}
     temp = None
     for name, adjective in variable.adjectives.items():
         # get precomputed adjective set
         temp2 = norm((self.INF or self._INF), adjective.set, adjective.getMembership(), segment_size)
         self.activated_sets[name] = temp2
         # accumulate all adjectives
         if temp is None:
             temp = temp2
         else:
             temp = merge((self.ACC or self._ACC), temp, temp2, segment_size)
     self.accumulated_set = temp
     return temp
Пример #3
0
def getPoints(sets):
    """Collect all important points of all adjectives in this dict of sets."""

    from fuzzy.set.Set import merge
    # merge them all
    temp = None
    for s in sets.values():
        if temp is None:
            temp = s
        else:
            temp = merge(max,temp,s)

    # collect points
    # >>> result of merge is always a Polygon object
    points = [p[0] for p in temp.points]
    # avoid to have same value twice (filter points out where successor is equal)
    return points[:1] + [p0 for p0,p1 in zip(points[1:],points) if p0!=p1]
Пример #4
0
def getPoints(sets):
    """Collect all important points of all adjectives in this dict of sets."""

    from fuzzy.set.Set import merge
    # merge them all
    temp = None
    for s in sets.values():
        if temp is None:
            temp = s
        else:
            temp = merge(max,temp,s)

    # collect points
    # >>> result of merge is always a Polygon object
    points = [p[0] for p in temp.points]
    # avoid to have same value twice (filter points out where successor is equal)
    return points[:1] + [p0 for p0,p1 in zip(points[1:],points) if p0!=p1]