Hi, how are you? I'm the guy who started the tread about tree decomposition. I implemented a non optimistic algorithm which return a tree with (|V|- 1 ) nodes with a tree width (|V|- 1 ).
I think I have misunderstood one part of the algorithm and it's probably the return statement (the one when n is not 1).
Thread with more info : http://math.stackexchange.com/questions/1246421/tree-decomposition-by-hand-for-understanding
Linkoping U Inst Tech ... 9K students, 1K faculty, impressive, large! presumably one of the larger in the world...? wonder how that comparse to US univs...
I'm looking for a fast in practice algorithm for calculating the (preferable optimized) tree decomposition of a graph.
I found the paper "A linear time algorithm for finding tree-decompositions of small treewidth" [1] by Hans L. Bodlaender which return a tree-decompsiton with the optimized tre...
the answer from LM is very informative. from that it is not clear if some/all of Bodlaenders algorithm(s) have ever been implemented even by him...? re impractical algorithms/ large hidden O(f(n)) constants see eg
Do you know sensible algorithms that run in polynomial time in (Input length + Output length), but whose asymptotic running time in the same measure has a really huge exponent/constant (at least, where the proven upper bound on the running time is in such a way)?
There are some nonconstructive algorithms, most notably Fellows and Langston and Courcelle's theorem.
Also, Bodlaender's linear-time algorithm for tree-width and Courcelle's theorem are notoriously impractical.
so can you give some more bkg, are you implementing this as part of a class exercise etc?
looking closer, algorithm 2 which your Mathematics question is on does not seem to be for treewidth exactly. its for treewidth of permutations of vertices which allows one to get an upper bound on the treewidth of a graph.
oh ok further look maybe it is actually returning a tree decomposition, but not an optimal one? ("heuristic".) it seems to say that. it is not easy to follow.
> In Algorithm 2, we give a recursive procedure that builds a tree decomposition from a permutation. It is not hard to turn this into an efficient iterative procedure.
"efficient" lol it is surely exponential time right?
it is returning a graph by giving the bag of vertices and set of edges F.
what is the "permutation"? the vertex list? guess the idea is to call this function over many (random?) permutations, or all of them, and take the smallest decomposition?
yes. the algorithm is an implementation of the lemma/ proof
scanned your c++. seems long & reformulates the pseudocode. my suggestion, write up algorithm exactly as his pseudocode is written in scripted language eg python or ruby (know that one, weak on python), then make sure its correct via some technique (eg compare with other algorithms etc), then do the c++ version.
what kind of assignment is this? for a class? exercise? research? what?