示例#1
0
文件: PC.py 项目: EJHortala/books-2
 def __init__(self, separator, constrain_order = None, hill_climb_cond = False, must_have=None):
     """
     @param separator: available separator
     @type separator: HypotheticalSeparator
     """
     super(PCCI,self).__init__(variables=separator.variables())
     self._constrain_order = constrain_order
     self._hill_climb_cond = hill_climb_cond
     if must_have is None or not must_have:
         self._must_have = separator.variables()
     else:
         self._must_have = must_have
     self.num_tests = 0
     self._skel = UGraph(vertices=self.variables())
     self._ic_discovery(separator)
示例#2
0
 def setUp(self):
     super(TestGraphCI, self).setUp()
     self.g = list(xrange(4))
     self.indeps = list(xrange(4))
     self.g[0] = UGraph(vertices=['a', 'b', 'c', 'd', 'e'],
                        lines=[('a', 'b'), ('a', 'c'), ('b', 'd'),
                               ('b', 'c'), ('c', 'd'), ('c', 'e')])
     self.indeps[0] = {
         ('b', 'e'): [frozenset(['c'])],
         ('d', 'e'): [frozenset(['c'])],
         ('a', 'd'): [frozenset(['c', 'b'])],
         ('a', 'e'): [frozenset(['c'])]
     }
     self.g[1] = ADG(vertices=['a', 'b', 'c', 'd', 'e', 'f'],
                     arrows=[('a', 'b'), ('b', 'c'), ('d', 'a'), ('d', 'e'),
                             ('d', 'f'), ('e', 'c'), ('c', 'f')])
     self.indeps[1] = {
         ('e', 'f'): [frozenset(['c', 'd'])],
         ('a', 'f'): [frozenset(['b', 'd']),
                      frozenset(['c', 'd'])],
         ('a', 'e'): [frozenset(['d'])],
         ('b', 'f'): [frozenset(['a', 'c', 'e']),
                      frozenset(['c', 'd'])],
         ('c', 'd'): [frozenset(['b', 'e']),
                      frozenset(['a', 'e'])],
         ('b', 'e'): [frozenset(['a']), frozenset(['d'])],
         ('a', 'c'): [frozenset(['b', 'd']),
                      frozenset(['b', 'e'])],
         ('b', 'd'): [frozenset(['a'])]
     }
     self.g[2] = ADG(vertices=['a', 'b', 'c', 'd'],
                     arrows=[('a', 'b'), ('b', 'c'), ('c', 'd')])
     self.indeps[2] = {
         ('a', 'd'): [frozenset(['c']), frozenset(['b'])],
         ('a', 'c'): [frozenset(['b'])],
         ('b', 'd'): [frozenset(['c'])]
     }
     self.g[3] = ADG(vertices=['a', 'b', 'c', 'd'],
                     arrows=[('a', 'c'), ('b', 'c'), ('c', 'd')])
     self.indeps[3] = {
         ('a', 'c'): [frozenset([])],
         ('b', 'c'): [frozenset([])],
         ('d', 'c'): [frozenset([])]
     }