# Triangle partition problem Jian Li Sep,2005.  Proposed by Redstar in Algorithm board in Fudan BBS.  Motivated by some network design strategy.

## Presentation on theme: "Triangle partition problem Jian Li Sep,2005.  Proposed by Redstar in Algorithm board in Fudan BBS.  Motivated by some network design strategy."— Presentation transcript:

triangle partition problem Jian Li Sep,2005

 Proposed by Redstar in Algorithm board in Fudan BBS.  Motivated by some network design strategy.

Problem description  3n point in a metric space.  A triangle partition is to divide this 3n points into n point disjoint triangle.  GOAL: Obtain a triangle partition T to minimize max t 2 T { e 2 t len(e)}

NP-hard proof  Reduction from 3-partition problem  3-partition problem:  Given 3n integers. The question is whether we can partition them into n class, where each class contain exactly 3 integers, such that the sums of integers in each class are all the same.

 Reduction:  Create 3n nodes. Each node v i represent a integer a i.  Define the distance len(v i,v j )=a i +a j  It is easy to verify it is a metric len(v i,v j )+len(v j,v k ) · len(v i,v k )  We claim the {a 1 ………a 3n } admits a 3- partition if and only if max t 2 T { e 2 t len(e)} ·  i=1 3n ai/n

 But for euclidean case, I can ’ t prove it is in NP-hard or P

A failed attempt  If we have a polynomial algorithm to do the following thing, we can optimally solve the problem.(of course we can ’ t)  Suppose oracle A solve the following problem:For a graph G(V,E) with 3n vertice, can we partition it to vertice- disjoint triangle?

A failed attempt  Algorithm:  Sort the edges in an increasing order.  Begin with an empty graph, then add the edge one by one, then we call A to decide whether the current graph have a triangle partition.  However, A cant be polynomial time implemented because the problem is known as triangle packing problem and NPC.

 Is there a polymomial time algorithm to decide whether a graph can be packed using the vertices disjoint 2-length path.  If yes, we can get a good approximation for triangle partition problem. A promising way.

A simple constant approximation  ALGORITHM:  First construct a MST.  Sort the edge of the MST in increasing order.  Adding these edge one by one.  If in some stage, every component is of size a multiply of 3, stop adding edges.

 ALGO Cont.  the current graph is a forest.  Now for each tree of this forest with 3k vertice, we obtain a triangle partition as following.

 Use E to denote the max length of this tree  Root the tree at any vertice. First change the tree to its binary tree representation,with the max length of whose edge at most 2E.  For this binary tree, we construct the triangle partition in a bottom-up manner.

 Find the deepest vertex. The perimeter of the triangle · 2E+6E+8E=16E

 Suppose the last edge e ’ we add is of length L.  It is easy to show OPT ¸ 2L  Suppose e join two components S 1 and S 2 with size 3k 1 +1 and 3k 2 +2.  Then OPT must use at least 2 edge in (S 1 ), and by the property of MST, e’ is of min length in (S 1 ).

 So, SOL · 16L · 8OPT \qed  I believe a better approximation exist if we change the way to construct a triangle partition for a single tree.

 Note so far we are working on metric space, for euclidean case the thing may become better.  Some property may be useful  eg, for euclidean plane, there exist a MST with max-deg at most five.  Every angle in euclidean MST is at least 60.

Thanks~~~~~~~~~~~~ welcome to discuss the problem

Download ppt "Triangle partition problem Jian Li Sep,2005.  Proposed by Redstar in Algorithm board in Fudan BBS.  Motivated by some network design strategy."

Similar presentations
{"found_math": false, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 0, "mathjax_display_tex": 0, "mathjax_asciimath": 0, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0, "katex": 0, "math-container": 0, "wp-katex-eq": 0, "align": 0, "equation": 0, "x-ck12": 0, "texerror": 0}