예제 #1
0
파일: test_apps.py 프로젝트: jamesjer/tdlib
 def test_min_dominating_set_with_treedecomposition_0d(self):
     V, E = cornercases[3]
     G = Graph(V, E)
     T, w = tdlib.PP_MD(G)
     s, S = tdlib.min_dominating_set_with_treedecomposition(G, T)
     self.assertEqual(len(S), 1)
     self.assertEqual(len(S), s)
예제 #2
0
파일: test_apps.py 프로젝트: zbhuang/tdlib
 def test_min_dominating_set_with_treedecomposition_8(self):
     for n in range(0, 13):
         for i in range(0, 10):
             V, E = randomGNP(n, 0.2)
             G = Graph(V, E)
             T, w = tdlib.PP_MD(G)
             S = tdlib.min_dominating_set_with_treedecomposition(G, T)
예제 #3
0
    def test_min_dominating_set(self):
        print("---minDominatingSet--")
        for i in range(0, COUNT + 1):
            if i == 999:  #huge graph
                continue

            G = Graph(eval(PREFIX + ".V_" + str(i)),
                      eval(PREFIX + ".E_" + str(i)))
            base.print_graph_name(PREFIX, i)
            T, w = tdlib.minDegree_decomp(G)
            S = tdlib.min_dominating_set_with_treedecomposition(G, T)
예제 #4
0
    def test_min_dominating_set(self):
        print("---dominating_set---")
        for i in range(0, COUNT + 1):
            if i == 91:
                continue

            if base.skip(PREFIX, i, lambda x, y: y > 2000):
                continue

            base.print_graph_name(PREFIX, i)
            G = Graph(eval(PREFIX + ".V_" + str(i)),
                      eval(PREFIX + ".E_" + str(i)))
            T, w = tdlib.minDegree_decomp(G)
            if w > 8:
                print("...tw > 8, skipping...")
                continue

            S = tdlib.min_dominating_set_with_treedecomposition(G, T)
예제 #5
0
파일: test_apps.py 프로젝트: jamesjer/tdlib
 def test_min_dominating_set_with_treedecomposition_7(self):
     G = Graph(V_Grid_5_5, E_Grid_5_5)
     T, w = tdlib.PP_MD(G)
     s, S = tdlib.min_dominating_set_with_treedecomposition(G, T)
     self.assertEqual(len(S), 7)
     self.assertEqual(len(S), s)
예제 #6
0
파일: test_apps.py 프로젝트: jamesjer/tdlib
 def test_min_dominating_set_with_treedecomposition_6(self):
     G = Graph(V_Pappus, E_Pappus)
     T, w = tdlib.PP_MD(G)
     s, S = tdlib.min_dominating_set_with_treedecomposition(G, T)
     self.assertEqual(len(S), 5)
     self.assertEqual(len(S), s)
예제 #7
0
파일: test_apps.py 프로젝트: jamesjer/tdlib
 def test_min_dominating_set_with_treedecomposition_5(self):
     G = Graph(V_Wagner, E_Wagner)
     T, w = tdlib.PP_MD(G)
     s, S = tdlib.min_dominating_set_with_treedecomposition(G, T)
     self.assertEqual(len(S), 3)
     self.assertEqual(len(S), s)
예제 #8
0
파일: test_apps.py 프로젝트: jamesjer/tdlib
 def test_min_dominating_set_with_treedecomposition_4(self):
     G = Graph(V_Petersen_double, E_Petersen_double)
     T, w = tdlib.PP_MD(G)
     s, S = tdlib.min_dominating_set_with_treedecomposition(G, T)
     self.assertEqual(len(S), 6)
     self.assertEqual(len(S), s)
예제 #9
0
파일: test_apps.py 프로젝트: zbhuang/tdlib
 def test_min_dominating_set_with_treedecomposition_3(self):
     G = Graph(V_Petersen, E_Petersen)
     T, w = tdlib.PP_MD(G)
     S = tdlib.min_dominating_set_with_treedecomposition(G, T)
     self.assertEqual(len(S), 3)
예제 #10
0
파일: test_apps.py 프로젝트: zbhuang/tdlib
 def test_min_dominating_set_with_treedecomposition_2(self):
     G = Graph(V_K5, E_K5)
     T, w = tdlib.PP_MD(G)
     S = tdlib.min_dominating_set_with_treedecomposition(G, T)
     self.assertEqual(len(S), 1)