Exemplo n.º 1
0
    def test_unary_operators(self):
        gs = GraphSet([g0, g1, g12, g123, g1234, g134, g14, g4])

        self.assertTrue(isinstance(~gs, GraphSet))
        self.assertEqual(~gs, GraphSet([g124, g13, g2, g23, g234, g24, g3, g34]))

        self.assertTrue(isinstance(gs.smaller(3), GraphSet))
        self.assertEqual(gs.smaller(3), GraphSet([g0, g1, g12, g14, g4]))
        self.assertTrue(isinstance(gs.larger(3), GraphSet))
        self.assertEqual(gs.larger(3), GraphSet([g1234]))
        self.assertTrue(isinstance(gs.graph_size(3), GraphSet))
        self.assertEqual(gs.graph_size(3), GraphSet([g123, g134]))
        self.assertTrue(isinstance(gs.len(3), GraphSet))
        self.assertEqual(gs.len(3), GraphSet([g123, g134]))

        gs = GraphSet([g12, g123, g234])
        self.assertTrue(isinstance(gs.minimal(), GraphSet))
        self.assertEqual(gs.minimal(), GraphSet([g12, g234]))
        self.assertTrue(isinstance(gs.maximal(), GraphSet))
        self.assertEqual(gs.maximal(), GraphSet([g123, g234]))

        gs = GraphSet([g12, g14, g23, g34])
        self.assertTrue(isinstance(gs.blocking(), GraphSet))
        self.assertEqual(
            gs.blocking(), GraphSet([g123, g1234, g124, g13, g134, g234, g24]))
Exemplo n.º 2
0
    def test_unary_operators(self):
        gs = GraphSet([g0, g1, g12, g123, g1234, g134, g14, g4])

        self.assertTrue(isinstance(~gs, GraphSet))
        self.assertEqual(~gs,
                         GraphSet([g124, g13, g2, g23, g234, g24, g3, g34]))

        self.assertTrue(isinstance(gs.smaller(3), GraphSet))
        self.assertEqual(gs.smaller(3), GraphSet([g0, g1, g12, g14, g4]))
        self.assertTrue(isinstance(gs.larger(3), GraphSet))
        self.assertEqual(gs.larger(3), GraphSet([g1234]))
        self.assertTrue(isinstance(gs.graph_size(3), GraphSet))
        self.assertEqual(gs.graph_size(3), GraphSet([g123, g134]))
        self.assertTrue(isinstance(gs.len(3), GraphSet))
        self.assertEqual(gs.len(3), GraphSet([g123, g134]))

        gs = GraphSet([g12, g123, g234])
        self.assertTrue(isinstance(gs.minimal(), GraphSet))
        self.assertEqual(gs.minimal(), GraphSet([g12, g234]))
        self.assertTrue(isinstance(gs.maximal(), GraphSet))
        self.assertEqual(gs.maximal(), GraphSet([g123, g234]))

        gs = GraphSet([g12, g14, g23, g34])
        self.assertTrue(isinstance(gs.blocking(), GraphSet))
        self.assertEqual(gs.blocking(),
                         GraphSet([g123, g1234, g124, g13, g134, g234, g24]))
# -*- coding: utf-8 -*-


from graphillion import GraphSet
import graphillion.tutorial as tl
n=15
m=10
nm = n+m
goal = (n+1)*(m+1)

universe=tl.grid(n,m)
GraphSet.set_universe(universe)

Gt=GraphSet.paths(1,goal)
Gs=Gt.graph_size(nm)

Guniv = GraphSet({})
Gss = Guniv.graph_size(nm)
Gs2 = Gss.paths(1,goal)

len(Gs)
len(Gs2)

            sum += 1.0
    return sum

#m列n行の格子を左上から右下にあるくこととする
#下に移動する可能性をp,下に向かう可能性をqとする

m = 2 
n = 2
p = 0.2
q = 0.8

lp = math.log10(p)
lq = math.log10(q)
mn = m+n 
goal = (m+1)*(n+1)

universe= grid_prob(m, n, p=lp, q=lq)
GraphSet.set_universe(universe)

Gu = GraphSet({})
Gt = Gu.graph_size(mn)
Gs = Gt.paths(1, goal)
weight = prob_dict(universe)

for i in Gs.max_iter(weight):
    wt = sumWeight(i, weight)
    print 10**wt
    print i


from graphillion import GraphSet
import graphillion.tutorial as tl
n=6
m=6
nm = n+m
goal = (n+1)*(m+1)

universe=tl.grid(n,m)
GraphSet.set_universe(universe)

Gt=GraphSet.paths(1,goal)
Gs=Gt.graph_size(nm)

Guniv = GraphSet({})

GsS  = Guniv.graph_size(nm)
GsSP = GsS.paths(1,goal)
print len(GsS)
print len(GsSP)
Gss = []
GsSP = []


GsP  = Guniv.paths(1,goal)
GsPS = GsP.graph_size(nm)
print len(GsP)
print len(GsPS)