def check_bsm_express(gamma,k): mu0 = CostFunction(1,2,{(0,):1,(1,):0}) mu1 = CostFunction(1,2,{(0,):0,(1,):1}) omega = CostFunction(2,2,{(0,0,):0,(0,1,):0,(1,0,):1,(1,1,):0}) C = MinMax.clone(k) result = gamma.wpol_separate([mu0,mu1,omega],k,C) if result: print "%s is not expressible over binary submodular" & str(gamma) print str(result) else: print "%s does not separate on arity %d" % (str(gamma),k)
def test_in_wclone(self): self.assertTrue(self.sm.in_wclone(self.wop3)) self.assertTrue(self.wop3.in_wclone(self.sm,MinMax.clone(2)))
def test_clone(self): self.assertEqual(MinMax.clone(3),Clone(self.C3)) self.assertEqual(Clone.generate([self.min2,self.max2],3),MinMax.clone(3))