Ejemplo n.º 1
0
 def test_conversion_8(self):
     for i in range(0, 10):
         V, E = randomGNP(20, 0.2)
         G = Graph(V, E)
         T, w = tdlib.PP_MD(G)
         self.assertTrue(tdlib.is_valid_treedecomposition(G, T))
         O = tdlib.treedec_to_ordering(T)
         T, w = tdlib.ordering_to_treedec(G, O)
         self.assertEqual(tdlib.is_valid_treedecomposition(G, T), True)
Ejemplo n.º 2
0
 def test_PP_FI_TM_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_FI_TM(G)
             self.assertEqual(tdlib.is_valid_treedecomposition(G, T), True)
Ejemplo n.º 3
0
 def test_MSVS_8(self):
     for i in range(0, 10):
         V, E = randomGNP(20, 0.2)
         G = Graph(V, E)
         T, w = tdlib.trivial_decomposition(G)
         T, w = tdlib.MSVS(G, T)
         self.assertEqual(tdlib.is_valid_treedecomposition(G, T), True)
Ejemplo n.º 4
0
    def test_FI(self):
	print("---FI---")
        for i in range(0, COUNT+1):
            base.print_graph_name(PREFIX, i)
            G = Graph(eval(PREFIX+".V_"+str(i)), eval(PREFIX+".E_"+str(i)))
            T, w = tdlib.fillIn_decomp(G)
            self.assertEqual(tdlib.is_valid_treedecomposition(G, T), True)
Ejemplo n.º 5
0
 def test_PP_FI_7(self):
     G = Graph(V_Grid_5_5, E_Grid_5_5)
     T, w = tdlib.PP_FI(G)
     print(str(T.vertices()))
     print(str(T.edges()))
     self.assertEqual(tdlib.is_valid_treedecomposition(G, T), True)
     self.assertEqual(w, 5)
Ejemplo n.º 6
0
 def test_exact_decomposition_cutset_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.exact_decomposition_cutset(G)
             self.assertEqual(tdlib.is_valid_treedecomposition(G, T), True)
Ejemplo n.º 7
0
 def test_conversion_0(self):
     for V, E in cornercases:
         G = Graph(V, E)
         T, w = tdlib.PP_MD(G)
         O = tdlib.treedec_to_ordering(T)
         T, w = tdlib.ordering_to_treedec(G, O)
         self.assertEqual(tdlib.is_valid_treedecomposition(G, T), True)
Ejemplo n.º 8
0
 def test_seperator_algorithm(self):
     print("---seperator_algorithm---")
     for i in range(0, COUNT+1):
         G = Graph(eval(PREFIX+".V_"+str(i)), eval(PREFIX+".E_"+str(i)))
         base.print_graph_name(PREFIX, i)
         T, w = tdlib.seperator_algorithm(G)
         self.assertEqual(tdlib.is_valid_treedecomposition(G, T), True)
Ejemplo n.º 9
0
 def test_PP_FI_TM(self):
     print("---PP_FI_TM---")
     for i in range(0, COUNT+1):
         G = Graph(eval(PREFIX+".V_"+str(i)), eval(PREFIX+".E_"+str(i)))
         base.print_graph_name(PREFIX, i)
         T, w = tdlib.PP_FI_TM(G)
         self.assertEqual(tdlib.is_valid_treedecomposition(G, T), True)
Ejemplo n.º 10
0
 def test_boost_MD(self):
     print("---boost::MD---")
     for i in range(0, COUNT+1):
         G = Graph(eval(PREFIX+".V_"+str(i)), eval(PREFIX+".E_"+str(i)))
         base.print_graph_name(PREFIX, i)
         T, w = tdlib.boost_minDegree_decomp(G)
         self.assertEqual(tdlib.is_valid_treedecomposition(G, T), True)
Ejemplo n.º 11
0
 def test_PP(self):
     print("---PP---")
     for i in range(0, COUNT+1):
         G = Graph(eval(PREFIX+".V_"+str(i)), eval(PREFIX+".E_"+str(i)))
         base.print_graph_name(PREFIX, i)
         G_, B, lb = tdlib.preprocessing(G)
         if G.vertices() is []:
             self.assertEqual(tdlib.is_valid_treedecomposition(G, T), True)
Ejemplo n.º 12
0
 def test_minimalChordal_trivial(self):
     print("---minimalChordal_trivial---")
     for i in range(0, COUNT+1):
         G = Graph(eval(PREFIX+".V_"+str(i)), eval(PREFIX+".E_"+str(i)))
         base.print_graph_name(PREFIX, i)
         T1, w1 = tdlib.trivial_decomposition(G)
         T2, w2 = tdlib.minimalChordal_decomp(G, T1)
         self.assertEqual(tdlib.is_valid_treedecomposition(G, T2), True)
Ejemplo n.º 13
0
 def test_PP_FI_TM_4(self):
     G = Graph(V_Petersen_double, E_Petersen_double)
     T, w = tdlib.PP_FI_TM(G)
     self.assertEqual(tdlib.is_valid_treedecomposition(G, T), True)
     self.assertEqual(w >= 4 and w <= 5, True) #c++11 issuse
Ejemplo n.º 14
0
 def test_boost_minDegree_decomp_7(self):
     G = Graph(V_Grid_5_5, E_Grid_5_5)
     T, w = tdlib.boost_minDegree_decomp(G)
     self.assertEqual(tdlib.is_valid_treedecomposition(G, T), True)
     self.assertEqual(w, 7)
Ejemplo n.º 15
0
 def test_boost_minDegree_decomp_5(self):
     G = Graph(V_Wagner, E_Wagner)
     T, w = tdlib.boost_minDegree_decomp(G)
     self.assertEqual(tdlib.is_valid_treedecomposition(G, T), True)
     self.assertEqual(w, 5)
Ejemplo n.º 16
0
 def test_boost_minDegree_decomp_decomp_0(self):
     for V, E in cornercases:
         G = Graph(V, E)
         T, w = tdlib.boost_minDegree_decomp(G)
         self.assertEqual(tdlib.is_valid_treedecomposition(G, T), True)
Ejemplo n.º 17
0
 def test_exact_decomposition_cutset_7(self):
     G = Graph(V_Grid_5_5, E_Grid_5_5)
     T, w = tdlib.exact_decomposition_cutset(G)
     self.assertEqual(tdlib.is_valid_treedecomposition(G, T), True)
     self.assertEqual(w, 5)
Ejemplo n.º 18
0
 def test_exact_decomposition_cutset_5(self):
     G = Graph(V_Wagner, E_Wagner)
     T, w = tdlib.exact_decomposition_cutset(G)
     self.assertEqual(tdlib.is_valid_treedecomposition(G, T), True)
     self.assertEqual(w, 4)
Ejemplo n.º 19
0
 def test_exact_decomposition_cutset_4(self):
     G = Graph(V_Petersen_double, E_Petersen_double)
     T, w = tdlib.exact_decomposition_cutset(G)
     self.assertEqual(tdlib.is_valid_treedecomposition(G, T), True)
     self.assertEqual(w, 4)
Ejemplo n.º 20
0
 def test_exact_decomposition_cutset_1(self):
     G = Graph(V_P6, E_P6)
     T, w = tdlib.exact_decomposition_cutset(G)
     self.assertEqual(tdlib.is_valid_treedecomposition(G, T), True)
     self.assertEqual(w, 1)
Ejemplo n.º 21
0
 def test_PP_FI_TM_6(self):
     G = Graph(V_Pappus, E_Pappus)
     T, w = tdlib.PP_FI_TM(G)
     self.assertEqual(tdlib.is_valid_treedecomposition(G, T), True)
     self.assertEqual(w, 6)
Ejemplo n.º 22
0
 def test_PP_FI_TM_5(self):
     G = Graph(V_Wagner, E_Wagner)
     T, w = tdlib.PP_FI_TM(G)
     self.assertEqual(tdlib.is_valid_treedecomposition(G, T), True)
     self.assertEqual(w, 4)
Ejemplo n.º 23
0
 def test_boost_minDegree_decomp(self):
     G = Graph(V_RandomGNM_250_1000, E_RandomGNM_250_1000)
     T, w = tdlib.boost_minDegree_decomp(G)
     self.assertEqual(tdlib.is_valid_treedecomposition(G, T), True)
     self.assertEqual(w, 157)
Ejemplo n.º 24
0
 def test_PP_FI_1(self):
     G = Graph(V_P6, E_P6)
     T, w = tdlib.PP_FI(G)
     self.assertEqual(tdlib.is_valid_treedecomposition(G, T), True)
     self.assertEqual(w, 1)
Ejemplo n.º 25
0
 def test_boost_minDegree_decomp_4(self):
     G = Graph(V_Petersen_double, E_Petersen_double)
     T, w = tdlib.boost_minDegree_decomp(G)
     self.assertEqual(tdlib.is_valid_treedecomposition(G, T), True)
     self.assertEqual(w, 5)
Ejemplo n.º 26
0
 def test_exact_decomposition_dynamic_0(self):
     for V, E in cornercases:
         G = Graph(V, E)
         T, w = tdlib.exact_decomposition_dynamic(G)
         self.assertEqual(tdlib.is_valid_treedecomposition(G, T), True)
Ejemplo n.º 27
0
 def test_boost_minDegree_decomp_6(self):
     G = Graph(V_Pappus, E_Pappus)
     T, w = tdlib.boost_minDegree_decomp(G)
     self.assertEqual(tdlib.is_valid_treedecomposition(G, T), True)
     self.assertEqual(w, 7)
Ejemplo n.º 28
0
 def test_exact_decomposition_dynamic_2(self):
     G = Graph(V_K5, E_K5)
     T, tw = tdlib.exact_decomposition_dynamic(G)
     self.assertEqual(tdlib.is_valid_treedecomposition(G, T), True)
     self.assertEqual(tw, 4)
Ejemplo n.º 29
0
 def test_boost_minDegree_decomp_8(self):
     for i in range(0, 10):
         V, E = randomGNP(20, 0.2)
         G = Graph(V, E)
         T, w = tdlib.boost_minDegree_decomp(G)
         self.assertEqual(tdlib.is_valid_treedecomposition(G, T), True)
Ejemplo n.º 30
0
 def test_PP_FI_TM_0(self):
     for V, E in cornercases:
         G = Graph(V, E)
         T, w = tdlib.PP_FI_TM(G)
         self.assertEqual(tdlib.is_valid_treedecomposition(G, T), True)