예제 #1
0
 def node_compare(self, plan1, plan2):
     plan1 = tuple(plan1)
     plan2 = tuple(plan2)
     if plan1 == plan2:
         return True
     
     dn = self.plan_distance(plan1, plan2, diffeoaction_distance_L2_infow) / self.ds.scalew
     
     match = dn < self.collapse_threshold
     if match:
         # print('%10g  %4d %4d' % (dn, len(plan1), len(plan2)))
         logger.info('Found match at %g' % dn)
         logger.info('- plan1: %s' % plan_friendly(plan1))
         logger.info('- plan1: %s' % plan_friendly(plan2))
     
     return match 
예제 #2
0
    def node_compare(self, plan1, plan2):
        plan1 = tuple(plan1)
        plan2 = tuple(plan2)
        if plan1 == plan2:
            return True

        dn = self.plan_distance(
            plan1, plan2, diffeoaction_distance_L2_infow) / self.ds.scalew

        match = dn < self.collapse_threshold
        if match:
            # print('%10g  %4d %4d' % (dn, len(plan1), len(plan2)))
            logger.info('Found match at %g' % dn)
            logger.info('- plan1: %s' % plan_friendly(plan1))
            logger.info('- plan1: %s' % plan_friendly(plan2))

        return match
예제 #3
0
    def log_chosen(self, node):
        all_visibility = map(self.visibility, self.G.nodes())

        logger.info('#%4d closed %4d open %4d [minvis: %.4g] pop %s' %
                    (self.iterations, len(self.closed), len(self.open_nodes),
                     np.min(all_visibility), plan_friendly(node)))
        if (self.iterations + 1) % self.debug_graph_iterations == 0:
            self.save_graph()
예제 #4
0
    def node_compare(self, plan1, plan2):
        plan1 = tuple(plan1)
        plan2 = tuple(plan2)
        if plan1 == plan2:
            return True

        if super(DiffeoCoverExp, self).node_compare(plan1, plan2):
            return True
        
        dn = self.plan_distance(plan1, plan2)
        match = dn < self.collapse_threshold
        if match:
            # print('%10g  %4d %4d' % (dn, len(plan1), len(plan2)))
            logger.info('Found match at %g' % dn)
            logger.info('- plan1: %s' % plan_friendly(plan1))
            logger.info('- plan1: %s' % plan_friendly(plan2))
        
        return match 
예제 #5
0
 def log_chosen(self, node):
     all_visibility = map(self.visibility, self.G.nodes())
     
     logger.info('#%4d closed %4d open %4d [minvis: %.4g] pop %s' % 
           (self.iterations, len(self.closed), len(self.open_nodes),
            np.min(all_visibility),
            plan_friendly(node)))
     if (self.iterations + 1) % self.debug_graph_iterations == 0:
         self.save_graph()
예제 #6
0
    def node_compare(self, plan1, plan2):
        plan1 = tuple(plan1)
        plan2 = tuple(plan2)
        if plan1 == plan2:
            return True

        if super(DiffeoCoverExp, self).node_compare(plan1, plan2):
            return True

        dn = self.plan_distance(plan1, plan2)
        match = dn < self.collapse_threshold
        if match:
            # print('%10g  %4d %4d' % (dn, len(plan1), len(plan2)))
            logger.info('Found match at %g' % dn)
            logger.info('- plan1: %s' % plan_friendly(plan1))
            logger.info('- plan1: %s' % plan_friendly(plan2))

        return match
 def log_plan_found(self, d, p1, p2, plan_red, plan):  # @UnusedVariable
     self.info('Connection between %s and %s of distance %s' %
               (self.start_tree.node_friendly(p1),
                self.goal_tree.node_friendly(p2), d))
     self.info(' concat: %s' % plan_friendly(plan_red))
     self.info('reduced: %s' % plan_friendly(plan))
 def log_plan_found(self, d, p1, p2, plan_red, plan):  # @UnusedVariable
     self.info('Connection between %s and %s of distance %s' % 
               (self.start_tree.node_friendly(p1),
                self.goal_tree.node_friendly(p2), d))
     self.info(' concat: %s' % plan_friendly(plan_red))
     self.info('reduced: %s' % plan_friendly(plan))