예제 #1
0
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) 
예제 #2
0
 def test_in_wclone(self):
     self.assertTrue(self.sm.in_wclone(self.wop3))
     self.assertTrue(self.wop3.in_wclone(self.sm,MinMax.clone(2)))
예제 #3
0
 def test_clone(self):
     self.assertEqual(MinMax.clone(3),Clone(self.C3))
     self.assertEqual(Clone.generate([self.min2,self.max2],3),MinMax.clone(3))