Esempio n. 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
Esempio n. 2
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()
Esempio n. 3
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
Esempio n. 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 
Esempio n. 5
0
 def plan_friendly_labels(self, plan):
     """ Returns a friendly string using the actions' labels """
     names = []
     # tmp fix for some previous mistake
     # TODO: remove
     for i, a in enumerate(self.actions):
         if 'Uninterpreted' in a.label:
             label = '%d' % i
         else:
             label = a.label
         names.append(label)
     # names = [a.label for a in self.actions]
     
     return plan_friendly(plan, names=names)
Esempio n. 6
0
    def plan_friendly_labels(self, plan):
        """ Returns a friendly string using the actions' labels """
        names = []
        # tmp fix for some previous mistake
        # TODO: remove
        for i, a in enumerate(self.actions):
            if 'Uninterpreted' in a.label:
                label = '%d' % i
            else:
                label = a.label
            names.append(label)
        # names = [a.label for a in self.actions]

        return plan_friendly(plan, names=names)
Esempio n. 7
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()