Min–max-boundary domain decomposition

14

Transcript of Min–max-boundary domain decomposition

Min-Max-Boundary Domain Decomposition�Marcos Kiwiy Daniel A. Spielmanz Shang-Hua TengxAbstractDomain decomposition is one of the most e�ective and popular parallel computing techniquesfor solving large scale numerical systems. In the special case when the amount of computationin a subdomain is proportional to the volume of the subdomain, domain decomposition amountsto minimizing the surface area of each subdomain while dividing the volume evenly. Motivatedby this fact, we study the following min{max boundary multi{way partitioning problem: Givena graph G and an integer k > 1, we would like to divide G into k subgraphs G1; : : : ; Gk(by removing edges) such that (i) jGij = �(jGj=k) for all i 2 f1; : : : ; kg; and (ii) the maximumboundary size of any subgraph (the set of edges connecting it with other subgraphs) is minimized.We provide an algorithm that given G, a well{shaped mesh in d dimensions, �nds a partitionof G into k subgraphs G1; : : : ; Gk, such that for all i, Gi has �(jGj=k) vertices and the number ofedges connecting Gi with the other subgraphs is O((jGj=k)1�1=d). Our algorithm can �nd such apartition in O(jGj log k) time. We show that extensions of our main algorithm, when d = 2, can�nd similar partitions in planar graphs and graphs with bounded genus and forbidden minors.Finally, we extend our results to vertex{weighted and vertex{based graph decomposition. Ourresults can be used to simultaneously balance the computational and memory requirement ona distributed{memory parallel computer without sacri�cing the communication overhead.1 IntroductionDomain decomposition is one of the most e�ective and popular technique for solving large scalenumerical systems on parallel computers [5, 7]. This technique is used for �nding solutions to partialdi�erential equations by iteratively solving subproblems de�ned on smaller subdomains. Thus, itis a divide{and{conquer technique. When applying this technique, it is desirable to decomposethe domain into subdomains with approximately the same computational work associated to them(for balancing the load) and to minimize communication between each subdomain and all othersubdomains (for reducing total communication and communicational bottleneck) [5].�Part of this work was done while Daniel Spielman and Shang-Hua Teng were visiting Universidad de Chile.yDept. de Ingenier��a Matem�atica, Fac. de Ciencias F��sicas y Matem�aticas, U. de Chile, Casilla 170/3, Correo 3,Santiago, Chile. ([email protected], http://www.dim.uchile.cl/�mkiwi). Supported in part by FondecytNo. 1981182, and Fondap in Applied Mathematics 1998.zDepartment of Mathematics, Massachusetts Institute of Technology., Cambridge, MA 02139, USA.([email protected], http://www-math.mit.edu/�spielman). Supported in part by a NSF CAREER award(CCR-9701304) and an Alred P. Sloan Research FellowshipxDepartment of Computer Science, University of Minnesota, Minneapolis, MN 55455, USA. ([email protected],http://www.cs.umn.edu/�steng). Supported in part by an NSF CAREER award (CCR-9502540), an Alfred P. SloanResearch Fellowship, and an Intel research grant. 1

We �rst focus in the special case where the amount of computational work associated to asubdomain is proportional to the volume of the subdomain. Here, domain decomposition amountsto minimizing the surface area of each subdomain while dividing the volume evenly. For example,consider a uniform square domain and its regular grid discretization. Clearly, such domain (grid)can be divided into k > 1 equal{sized subdomains (sub{grids) so that the measure of the boundaryconnection of each subdomain (sub{grid) is the square{root of the measure of the area (number ofnodes) of the subdomain (sub{grid). (See Figure 1 for an illustration of a 16{way partition.) Ingeneral, a similar statement can be made for regular d{dimensional grids by replacing \square-root"by (1� 1=d)-th power.

Figure 1: A 16{way partitioning of a uniform square domain.The ratio of the measure of the boundary connection to the measure of the computation require-ment of a subdomain is sometimes referred to as the surface{to{volume ratio or the communication{to{computation ratio of the subdomain. Minimizing this ratio plays a key role in reducing thecomputational complexity of the underlying iterative method [7].To solve partial di�erential equations numerically, one discretizes the domain into a mesh ofwell{shaped elements such as simplices or hexahedral elements. The density of mesh points, andhence the size of mesh elements, may vary within the domain giving rise to unstructured meshes[4, 14, 19]. Obtaining good partitions of unstructured meshes is, in general, signi�cantly morechallenging than partitioning their uniform/regular counterparts.The main result established in this work is that every d-dimensional well{shaped unstructured2

mesh has a k{way partition where the surface{to{volume ratio of every sub{mesh is as small asthat of a regular d{dimensional grid that has the same number of nodes.In Section 2, we introduce the problem of min{max{boundary multi{way partitioning. InSection 3, we describe a multi{way partitioning divide{and{conquer algorithm and present ourmain result. In Section 4, we extend the results of Section 3 to graphs with non{negative weightsat each vertex. More precisely, we propose an e�cient algorithm that partitions vertex{weightedgraphs into subgraphs of similar total weight and vertex size and at the same time achieves lowsurface{to{volume ratio in all subgraphs. Such multi{way partitioning algorithm can be used tosimultaneously balance the computational work and the memory requirements on a distributed{memory parallel computer without sacri�cing communication overhead. In Section 5, we addressthe vertex{based partitioning problem in order to be able to handle graphs with large vertex degree.2 Multi{way PartitioningA bisection of a graph G is a division of its vertices into two disjoint subsets whose sizes di�er byat most one. In general, for every integer k > 1, a k-way partition of G is a division of its vertexset into k disjoint subsets of size djGj=ke or bjGj=kc, where jGj denotes the number of vertices inG. Partitions that evenly divide the vertices are not necessary in most applications of graphpartitioning [17]. Indeed, balanced partitions su�ce. Given a graph G = (V;E) and an integerk > 1, we say that P = fG1; : : : ; Gkg is a balanced partition, or more precisely a (�; k)-partition ofGif the subgraphs Gi = (Vi; Ei) of G have disjoint vertex sets that cover all of V and jVij � �djGj=ke,for all i 2 f1; : : : ; kg. Thus, a k-way partition is a (1; k)-partition. We denote by @V (Gi) the setof boundary{vertices of Gi, i.e. the set of vertices in Vi that are connected by an edge of G to avertex not in Vi. Similarly, we denote by @E(Gi) the boundary{edges of Gi, i.e. the set of edges inG exactly one of whose endpoints is in Vi.We consider the following two costs associated with a (�; k)-partition:� The number of edges whose endpoints are in di�erent subgraphs, i.e.total-boundaryE(P ) = kXi=1 j@E(Gi)j! =2 :� The maximum size of the subgraphs' set of boundary{edges, i.e.max-boundaryV (P ) = maxi=1;:::;k j@E(Gi)j :Notice that when k = 2, total-boundaryE(P ) = max-boundaryV (P ). We henceforth refer to thisquantity as the cut{size of the (�; 2)-partition P .The problem of min{total{boundary (multi{way) partitioning is to construct a (�; k)-partitionthat minimizes total-boundary. The problem of min{max{boundary (multi{way) partitioning isto construct a (�; k)-partition that minimizes max-boundary. In this work we discuss e�cientalgorithms for both of these problems. 3

3 Bounds for Min{Max{Boundary PartitioningLipton and Tarjan [12] proved the following small{separator Theorem for planar graphs: Everybounded{degree planar graph G = (V;E) has a bisection of cut{size O(pjGj). We will show that,when G is a planar graph, the Lipton{Tarjan small{separator Theorem can be used to establishan upper bound of O(pjGj=k) on max-boundaryV (P ) for the best (2; k)-partition P of G. We willpresent our result in a more general setting so that it can be applied to �nite{element meshes andother classes of graphs that have small separators.In order to formally state our main result we need to introduce some terminology. Let G bea family of graphs that is closed under the subgraph operation, i.e. every subgraph of a graphG 2 G belongs to G. For 0 < � < 1, we say G has an n�-separator theorem or G is n�-separableif there is a constant c such that every n-node graph in G has a bisection of cut{size at most cn�.Moreover, we refer to the latter type of bisections as n�-separators. (More information concerningsmall separators can be found in [12, 8, 18].)In the reminder of this paper we denote by G(�) a family of graphs that is n�-separable andclosed under the subgraph operation. Several such families are known. For example, Gilbert,Hutchinson, and Tarjan [10] showed that bounded{degree graphs with bounded genus are n1=2-separable; Alon, Seymour, and Thomas [1] proved that bounded{degree graphs that do not have anh-clique minor for a constant h are n1=2-separable. Miller, Teng, Thurston, and Vavasis [14, 15, 18]showed that well{shaped meshes in R and nearest neighbor graphs in R are (n1�1=d){separable;The min{total{boundary exact partitioning problem has been addressed in the literature. Thefollowing lemma has been shown in [17].Lemma 3.1 Let k be an integer such that k > 1. Then, for every graph G in G(�) a k-waypartition P such that total-boundaryE(P ) = O(k1��jGj�) can be constructed.The main result of this section establishes a separator theorem for min{max{boundary parti-tioning. More precisely, we prove the following:Theorem 3.2 (main) Let k be an integer such that k > 1. Then, every graph G in G(�) has a(2; k)-partition P such that max-boundaryE(P ) = O((jGj=k)�). Moreover, such a partition can befound e�ciently in time O(jGj=k).Notice that Theorem 3.2 implies Lemma 3.1. Thus, our main result can be seen as an extension ofthe result of [17] cited above.3.1 Simultaneous Partition of Vertices and BoundaryIn this section we show how to �nd a (2; k)-partition P = fG1; : : : ; Gkg with max-boundary(P ) =O(jGij�). To achieve this, we propose a procedure that uses a divide{and{conquer approach as itsbasic strategy.We �rst examine a simple case in order to motivate our construction. Consider a pn � pngrid in two dimensions. Furthermore, assume both k and pn are powers of two. One possible wayof partitioning the grid is to divide it into two pn�pn=2 grids by removing the edge in the middleof every row (a pn-separator), and then divide each of the two sub{grids into two pn=2 �pn=2sub{grids by removing the middle edge of every column. This process can continue by recursivelydividing the sub{grids until k disconnected sub{grids are found. (See Figure 1.) It is not hard4

to show that each �nal sub{grid will have n=k vertices and at most 4pn=k boundary{edges.However, the naive recursive application of the small{separator Theorem of Lipton and Tarjandoes not, in general, guarantee the generation of a k-way partition P with max-boundaryE(P ) =O(pn=k) for all bounded degree n-node planar graphs. Note that the reason why a better bound onmax-boundary was achieved in the partitioning procedure given above for regular two{dimensionalgrids is that a somewhat stronger version of the small{separator Theorem was used. Indeed, atevery stage of the divide{and{conquer,1. Each subgraph was divided into two subgraphs of the same size by removing a set of edgeswhose size is on the order of the square{root of the size of the subgraph (a la standardLipton{Tarjan small{separator Theorem).2. The boundary{vertices of the subgraphs were divided evenly.Our procedure for solving the min{max{boundary (multi{way) partitioning problem is motivatedby the latter observation. In the next section we describe such procedure. We now show that thedivide{and{conquer application of the stronger type of small{separator Theorem mentioned aboveguarantees the desired upper bound on max-boundary.Lemma 3.3 Let k > 1 be a power of two. Let G be a bounded{degree graph in G(�) such that jGjis a power of two. If in every stage of a divide{and{conquer partitioning procedure the vertices andboundary{vertices of each subgraph are evenly divided by a separator, whose size is on the order ofthe �-th power of the size of the subgraph, then the divide{and{conquer procedure, on input G, willgenerate a k-way partition whose max-boundary is O((jGj=k)�).Proof: Let s(i) be the maximum possible number of boundary{vertices for graphs at level i ofthe divide{and{conquer partitioning procedure. It follows from the assumption of the lemma thatthere exists a constant c such that s(1) � c(jGj=2)�, and if i � 1,s(i) � s(i� 1)=2 + c � (jGj=2i)� :Hence, s(i) � c � (jGj=2i)�0@ i�1Xj=0 2j(��1)1A :Since � < 1, we get that s(i) = O((jGj=2i)�). Fixing i = log k, we have s(i) = O((jGj=k)�). Thelemma follows from the assumption that G is a bounded{degree graph. 2Unfortunately, we may not always be able to �nd a small separator that evenly divides bothvertices and boundary{vertices. In the remainder of this section, we show that we can achieve thissimultaneous partition approximately.Lemma 3.4 Let G = (V;E) be a bounded{degree graph in G(�) such that jGj is a power of two.Let S be a subset of V . Then, one can �nd an O(jGj�)-separator that divides G into two subgraphsG1 = (V1; E1) and G2 = (V2; E2) such that jS \ V1j = bjSj=2c and jS \ V2j = djSj=2e.Proof: Results of this kind were �rst proved by Lipton and Tarjan [12]. For the sake of completenesswe give a proof here.Consider the following procedure for dividing G into two subgraphs satisfying the conditionsstated in the lemma: 5

1. Let D(0) = G, V1 = V2 = ;, and i = 0.2. Repeat until D(i) is an empty graph,(a) Find a separator of size O(jD(i)j�) that divides the vertex set of D(i) into F (i) and �F (i)of equal size. Without loss of generality assume that jS \ F (i)j � jS \ �F (i)j.(b) If jS \ V1j � jS \ V2j, let V1 = V1 [ F (i); otherwise let V2 = V2 [ F (i).(c) Let D(i+1) = �F (i+1), and increment i by 1.3. Return V1 and V2.Observe that since j �F (i+1)j = j �F (i)j=2 the total separator size is O(jGj�).Assume that the procedure terminates after t iterations. To prove that the algorithm is correct,i.e. that it evenly divides S, we will show that at the beginning of the i-th loop in Step 2, for alli 2 f0; : : : ; t� 1g, the following holds:min(jS \ V1j; jS \ V2j) + jS \ F (i)j � djSj=2e :Since jS \ F (i)j � jS \ �F (i)j, we get that min(jS \ V1j; jS \ V2j) + jS \ F (i)j is at most(jS \ V1j+ jS \ V2j+ jS \ F (i)j+ jS \ �F (i)j)=2 � djSj=2e :By our procedure, �F (t) contains a single vertex which will be assigned to the smaller subgraph.Hence, the above procedure returns V1 and V2 such that jS \ V1j = bjSj=2c and jS \ V2j = djSj=2e.2Lemma 3.5 Let 0 < � < 1=2. Let G = (V;E) be a bounded{degree graph in G(�) such that jGj is apower of two. Let S � V be a subset of V . Then, one can �nd an O(jGj�)-separator that divides Ginto two subgraphs G1 = (V1; E1) and G2 = (V2; E2) such that jS\V1j = bjSj=2c, jS\V2j = djSj=2e,and jV1j; jV2j � (1 + �)jGj=2.Proof: Let t be the smallest integer such that 1=2t � �. Divide G into T = 2t subgraphs G01; : : : ; G0Tof equal vertex size by recursively using n�-separators. By Lemma 3.1 this can be done so thatthe total number of edges removed is O(T 1��jGj�) = O(jGj�). Now, divide each G0i = (V 0i ; E0i)into two subgraphs G0i;1 and G0i;2, using the procedure described in the proof of Lemma 3.4, sothat S \ V 0i is evenly partitioned. Without loss of generality assume jG0i;1j � jG0i;2j. Consider thefollowing procedure for dividing G into two subgraphs G1 and G2 satisfying the conditions statedin the lemma:1. Let G1; G2 be empty graphs.2. For i = 1 to T ,If jG1j � jG2j, then let G1 = G1 [ G0i;1 and G2 = G2 [ G0i;2; otherwise let G1 =G1 [G0i;2 and G2 = G2 [G0i;1.6

First notice that S is evenly divided between G1 and G2. Moreover, there are at most O(jGj�)edges of G connecting G1 and G2.We now show that jV1j; jV2j � (1+1=2t)jGj=2. We will prove that at the end of every iterationof the for{loop in the above procedure, jjG1j� jG2jj � jGj=2t. The proof is by induction on the for{loop counter i. Let ui and vi be the size of G1 andG2 after the i-th iteration, respectively. The claimis true when i = 1 because jG01;1j; jG01;2j � jGj=2t and hence ju1 � v1j = jjG01;1j � jG01;2jj � jGj=2t.By the induction hypothesis, we get jui�1 � vi�1j � jGj=2t. Without loss of generality, assumeui�1 � vi�1. Thus ui = ui�1+ jG0i;1j and vi = vi�1 + jG0i;2j. If ui � vi, then since jG0i;1j � jG0i;2j, weget thatui�vi = (ui�1+ jG0i;1j)� (vi�1+ jG0i;2j) = (jG0i;1j� jG0i;2j)+(ui�1�vi�1) � ui�1�vi�1 � jGj=2t :If ui < vi, then since jG0i;1j+ jG0i;2j = jGj=2t, we get thatvi�ui = (vi�1+jG0i;2j)�(ui�1+jG0i;1j) = (jG0i;2j�jG0i;1j)+(vi�1�ui�1) � jG0i;2j�jG0i;1j � jGj=2t :23.2 An Algorithm for and the Proof of the Main TheoremIn this section we present our divide{and{conquer procedure for solving the min{max{boundary(multiway) partitioning problem and prove Theorem 3.2.Let G = (V;E) be a graph that we would like to partition into k subgraphs. Let � = djGj=keand � be a constant satisfying the conditions of Lemma 3.5. Assume jGj is a power of two and thatwe know a bisection of G of cut size O(jGj�). Consider the following recursive procedure:Algorithm: min-max-boundary-partition(G;�; �)1. If jGj � � then return G.2. Apply the procedure of Lemma 3.5 to divide G into G1 = (V1; E1) and G2 =(V2; E2) where S is chosen to be the set of all boundary{vertices in G (at the �rstlevel of the recursion let S be the boundary{vertices of the known bisection of G).3. Let the set of boundary{vertices of G1 andG2 be those boundary{vertices inheritedfrom G and those produced by the partition of the previous step.4. Recursively call min-max-boundary-partition(G1;�; �).5. Recursively call min-max-boundary-partition(G2;�; �).6. If more than k subgraphs were generated, repeatly merge the two smallest sub-graphs until only k subgraphs remain.Note that the partitioning procedure of Step 2 evenly divides the boundary{vertices and approxi-mately divides the vertex set.We now restate and prove our main separator theorem.Theorem 3.6 Let k be an integer such that k > 1 and � be a constant such that 0 < � <minf1=2; 1 � 21�1=�g. Let G be a bounded{degree graph in G(�) such that jGj is a power of two.Then, a (2; k)-partition P of G such that max-boundaryE(P ) = O((jGj=k)�) can be constructed.7

Proof: The recursive procedure above de�nes a separator tree. Associated to the leaves of theseparator tree are the subgraphs generated at the end of Step 5. The size of each of these subgraphsis at least (1� �)jGj=2k but at most djGj=ke. Similarly, associated to every internal node v of theseparator tree there is a subgraph Gv. The graph associated to the root of the separator tree isG itself. Let the level of a node in the tree be its distance to the root. Let c0 be a constant suchthat every graph H in G(�) has a separator of cut size at most c0jHj�. We now prove, by inductionon the levels of the separator tree, that there is a constant c such that for every node v of G,@V (Gv) � cjGvj�. The claim is true for the two children of the root, provided c � c0, since we can�nd a bisection of G of size at most c0jGj�. Assume that the claim is true for every internal nodev at level i� 1. Let u and w be the two children of v. The algorithm divides Gv into Gu and Gw.Let c1 be the constant hidden in the O-notation of Lemma 3.5. Hence, if G0 denotes either Gu orGw, we have that @V (G0) � @V (Gv)=2 + c1jGvj�� (c=2)jGv j� + c1jGvj�= (c=2 + c1)jGvj�� (2�(c=2 + c1)=(1 � �)�) jG0j�:The last inequality follows since Lemma 3.5 insures that jG0j � (1 � �)jGvj=2. To conclude, recallthat G is a bounded-degree graph and choose c such that c � 2�(c=2 + c1)=(1 � �)�, i.e.,c � ((1� �)�=2� � 1=2) � c1 :This can be done as long as � < 1� 21�1=�. 2Corollary 3.7 Let k be an integer such that k > 1. Then, every n-node well{shaped mesh ornearest neighbor graph has a (2; k)-partition P with max-boundaryE(P ) = O((n=k)1�1=d); everyn-node bounded{degree planar graph, graph with bounded genus, and graph with bounded forbiddenminor has a (2; k)-partition P with max-boundaryE(P ) = O(pn=k).4 Partitioning Weighted GraphsAs said earlier, one of the motivations of our work is the need to balance the load in parallel com-puters when solving large scale numerical systems. This led us, in the previous section, to considerthe problem of partitioning a graph into subgraphs of approximately equal vertex size. Our solutionto the latter problem allows us to balance the computational work allocated to di�erent proces-sors while achieving low communication between processors if one assumes that the computationalwork is proportional to the size of the subgraphs generated. However, several numerical formu-lations/problems do not fall into this category | they may give rise to varying computationalcosts throughout the mesh/graph. In the next two paragraphs we discuss two such numericalformulations/problems.In adaptive numerical formulation, in order to e�ciently achieve a desired solution accuracy,sophisticated adaptive strategies that vary the solution or discretization technique within each �niteelement are used. For example, the p-re�nement technique applies a higher order basis functionin those elements having a rapidly changing solution or a large error. The h-re�nement technique8

involves subdivision of the mesh elements themselves. (The p� and hybrid hp-re�nement [3] tech-niques can be used to e�ciently �nd accurate solutions to problems in areas such as computationalplasticity.) Strategies such as p� and hp-re�nement may cause the computational requirement tovary at di�erent elements in the domain. This variation may be as high as one or two orders ofmagnitude [3].In N -body simulations for non{uniformally distributed particles [2, 6, 11, 16, 20], particles willbe grouped into clusters based on their geometric location. The interaction between particles in apair of well{separated clusters will be approximated by the interaction between their clusters. Theamount of calculations associated with some cluster/particle may be much higher than the amountof calculations needed in some other cluster/particle.We now describe a model that captures more accurately problems that give rise to meshes/graphswith varying computational costs throughout the mesh/graph. Consider a graph where every ver-tex is assigned a weight that is proportional to the amount of computation needed at the vertex.Let the total weight of a graph be the sum of the weight of its vertices. Rather than partitioningthe graph into subgraphs of equal vertex size we would now like to partition it into subgraphs with\equal" total weight. However, partitioning according to weights alone may cause an imbalancein the size of the resulting subgraphs. In some applications, this may cause an imbalance on localmemory requirements since, in general, all vertices need a similar amount of storage even thoughthe computational work associated to them may vary.In this section, we consider the problem of partitioning vertex{weighted graphs into sub-graphs and simultaneously balancing the total weight and the size of the vertex set of the resultingsubgraphs. In addition, we would like that the partition generated achieves low total{boundaryconnection.4.1 Simultaneous Partition of Vertices and WeightsWe represent a vertex{weighted graph by G = (V;E;w) where V is the vertex set, E is the edgeset, and w : V ! R+ is a weight vector.1 For any subgraph G0 = (V 0; E0) of G, we denote by w(G0)or w(V 0) the total weight of G0, i.e. w(G0) = w(V 0) =Pv2V 0 w(v).A variant of the following lemma was �rst given in Lipton and Tarjan [12].Lemma 4.1 Let 0 < � < 1=2. Let G = (V;E) be a bounded{degree graph in G(�) and w : V ! R+be a weight{vector such that w(v) < �w(G) for all v 2 V . Then, one can �nd an O(jGj�)-separatorthat divides G into two subgraphs G1 = (V1; E1) and G2 = (V2; E2) such that w(G1); w(G2) �(1 + �)w(G)=2.Proof: The following is an algorithm for constructing a partition with the properties stated in thelemma.1. Let D(0) = G, V1 = V2 = ;, and i = 0.2. Repeat until D(i) is an empty graph.(a) Find a separator of size O(jD(i)j�) that divides the vertex set of D(i) into F (i) and �F (i)of equal size. Without loss of generality assume that w(F (i)) � w( �F (i)).1 We denote by R+ the set of non{negative real numbers.9

(b) If w(V1) � w(V2), let V1 = V1 [ F (i); otherwise let V2 = V2 [ F (i);(c) Let D(i+1) = �F (i+1), and increment i by 1.3. Return V1 and V2.The rest of the proof is similar to that of Lemma 3.4. 2In the following lemma, we show that any graph from G(�) can be divided into two roughlyequal size and equal weight subgraphs.Lemma 4.2 Let 0 < � < 1=2 and 0 < � < 1=2. Let G = (V;E) be a bounded{degree graph in G(�)such that jGj is a power of two. Let w : V ! R+ be a weight{vector such that w(v) < �w(G) for allv 2 V . Then, one can �nd an O(jGj�)-separator that divides G into two subgraphs G1 = (V1; E1)and G2 = (V2; E2) such that jV1j; jV2j � (1 + �)jV j=2 and w(G1); w(G2) � (1 + �)w(G)=2.Proof: The proof is similar to that of Lemma 3.5. Let t be the smallest integer such that 1=2t � �.Divide G into T = 2t subgraphs G01; : : : ; G0T of equal vertex size by recursively using n�-separators.Divide each G0i = (V 0i ; E0i) into two subgraphs G0i;1 and G0i;2, using the procedure described in theproof of Lemma 4.1, so that w(G0i) is about evenly partitioned. Then, use the procedure given inthe proof of Lemma 3.5 to de�ne G1 and G2. The stated lemma follows by the same argumentsused to prove Lemma 3.5. 2We now characterize a new type of partition. Let k be an integer such that k > 1. LetG = (V;E;w) be a vertex{weighted graph. Let P = fG1; : : : ; Gkg be a collection of subgraphsGi = (Vi; Ei) of G that have disjoint vertex sets. We say that P is a (�; �; k)-partition of G if theVi's cover all of V , and for all i 2 f1; : : : ; kg it holds that jVij � �djGj=ke and w(Gi) � �w(G)=k.The following corollary follows by recursively applying Lemma 4.2.Corollary 4.3 Let 0 < � < 1=2 and 0 < � < 1=2. Let k be an integer such that k > 1. LetG = (V;E) be a graph in G(�) such that jGj is a power of two. Let w : V ! R+ be a weight{vector such that w(v) < �w(G) for all v 2 V . Then, a (1 + �; 1 + �; k)-partition P of G such thattotal-boundaryE(P ) = O(k1��jGj�) can be constructed.4.2 Min{Max{Boundary Partition of Weighted GraphsWe now establish the following separator theorem for min{max{boundary partitioning of weightedgraphs.Theorem 4.4 Let k be an integer such that k > 1 and � be a constant such that 0 < � < 1=2. LetG = (V;E) be a bounded{degree graph in G(�) such that jGj is a power of two. Let w : V ! R+ bea weight{vector such that w(v) < �w(G) for all v 2 V . Then, a (2; 1 + �; k)-partition P of G suchthat max-boundaryE(P ) = O((jGj=k)�) can be constructed.To prove the latter theorem we will follow the same argument used in Section 3.2 to prove Theo-rem 3.6. We �rst need a procedure that simultaneously partitions weights, vertices, and boundary.Lemma 4.5 Let 0 < � < 1=2 and 0 < � < 1=2. Let G = (V;E) be a bounded{degree graph in G(�)such that jGj is a power of two and w : V ! R+ be a weight{vector such that w(v) < �w(G) for allv 2 V . Let S � V be a subset of V . Then, one can �nd an O(jGj�)-separator that divides G intotwo subgraphs G1 = (V1; E1) and G2 = (V2; E2) such that jS \ V1j = bjSj=2c, jS \ V2j = djSj=2e,jV1j; jV2j � (1 + �)jGj=2, and w(G1); w(G2) � (1 + �)w(G)=2.10

Proof: The proof follows the basic idea developed in the proof of Lemma 3.5. Let t be the smallestinteger such that 1=2t � �. Divide G into T = 2t subgraphs G01; : : : ; G0T of equal vertex size byrecursively using n�-separators. Divide each G0i = (V 0i ; E0i) into two subgraphs G0i;1 and G0i;2 usingthe procedure described in the proof of Lemma 3.5 so that S \ V 0i is evenly partitioned and thevertices are approximately partitioned. Without loss of generality assume that w(G0i;1) � w(G0i;2).De�ne two subgraphs, G1 and G2, of G by the following procedure:1. Let G1, G2 be empty graphs.2. For i = 1 to T ,If w(G1) � w(G2) then G1 = G1 [ G0i;1 and G2 = G2 [ G0i;2; otherwise let G1 =G1 [G0i;2 and G2 = G2 [G0i;1.The remaining part of the proof is similar to that of Lemma 3.5. 2We now present our divide{and{conquer procedure for solving the min{max{boundary (mul-tiway) weighted partitioning problem and prove Theorem 4.4.Let G = (V;E) be a graph in G(�) and w : V ! R+ be a weight{vector such that w(v) < �w(G)for all v 2 V . As usual let k be an integer such that k > 1. Let � = djGj=ke, � = w(G)=k, and� be a constant satisfying the condition of Lemma 4.5. Assume jGj is a power of two and that weknow a bisection of G of cut size O(jGj�). Consider the following recursive procedure:Algorithm: min-max-boundary-weighted-partition(G;�;�; �)1. If jGj � � then return G.2. Apply the procedure of Lemma 4.5 to divide G into G1 = (V1; E1) and G2 =(V2; E2) where S is chosen to be the set of all boundary{vertices in G (at the �rstlevel of the recursion let S be the boundary{vertices of the known bisection of G).3. Let the set of boundary{vertices of G1 andG2 be those boundary{vertices inheritedfrom G and those produced by the partition of the previous step.4. Recursively call min-max-boundary-weighted-partition(G1;�;�; �).5. Recursively call min-max-boundary-weighted-partition(G2;�;�; �).6. If more than k subgraphs were generated, repeatly merge the two smallest sub-graphs until only k subgraphs remain.Note that the partitioning procedure of Step 2 evenly divides the boundary{vertices, but onlyapproximately divides the vertex set and total weight.Using the same argument given in the proof of Theorem 3.6 one can prove Theorem 4.4. Weleave the details to the interested reader.5 Vertex-based DecompositionAn alternative way to partition a graph is by removing vertices rather than by removing edges. Inother words, by using vertex separators, i.e. a small subset of the vertices whose removal divides therest of the graph into two disconnected subgraphs of size less than half of the size of the originalgraph. Vertex{based decomposition has been used in nested dissection for solving sparse linearsystems [13] and overlapping domain decomposition [7]. Lipton, Rose, and Tarjan [13] proposedthe following scheme to recursively divide a graph using vertex separators:11

Algorithm: LRT(G;�)1. If jGj � � then return G.2. Find a small vertex separator C � V of G = (V;E) that partitions V into twodisjoint subsets A and B such that jAj � jV j=2 and jBj � jV j=2.3. Let G1 and G2 be the subgraphs of G induced by the vertex sets A[C and B [Crespectively.4. Recursively call LRT(G1;�).5. Recursively call LRT(G2;�).The procedure above decomposes the input graph G into k subgraphs G1; : : : ; Gk, for some k � 1.Vertices used in separators may occur in two or more subgraphs.Motivated by this procedure, we de�ne the following vertex-based decomposition problem.Given a graph G = (V;E) and an integer k > 1, we say that D = fV1; : : : ; Vkg is a (�; k)-decomposition of V if the subgraphsGi = (Vi; Ei) of G induced by the Vi's are such that [ki=1Vi = V ,[ki=1Ei = E, and jVij � �djV j=ke, for all i 2 f1; : : : ; kg. Note that in such a decompositionG1; : : : ; Gk may be pair{wise overlapping.In this section, we denote by @(Gi) the set of vertices in Vi that are also nodes of some othersubgraph Gj, j 6= i. As in multi{way graph partitioning, we consider the following two costsassociated with a (�; k)-decomposition:� The number of multiple occurrences of vertices in di�erent subgraphs, i.e.total-boundaryV (D) = kXi=1 j@(Gi)j :Hence, we have kXi=1 jVkj = jV j+ total-boundaryV (D)� j k[i=1 @(Gi)j :� The maximum number of nodes in a subgraph that belong to some other subgraph, i.e.max-boundaryV (D) = maxi=1;:::;k j@(Gi)j :Given a graph G = (V;E), a subset C of V is called a vertex{bisector of G if it is a vertexseparator of G that partitions V into two disjoint subsets of size at most jV j=2. Again, let G denotea family of graphs (not necessarily of bounded{degree) that is closed under the subgraph operation.Let 0 < � < 1. We say that G has an n�-vertex{separator theorem or G is n�-vertex{separable ifthere is a constant c such that every n-node graph in G has a vertex{bisector of size cn�. Moreover,we refer to the latter type of bisectors as n�-vertex{separators. There are several families of graphsthat have n�-vertex{separators and are closed under the subgraph operation. For example, Liptonand Tarjan [12] proved that planar graphs are n1=2-vertex{separable. Gilbert, Hutchinson, andTarjan [10] showed that graphs with bounded genus are n1=2-vertex{separable. Alon, Seymour,12

and Thomas [1] proved that graphs that do not have an h-clique minor for a constant h are n1=2-vertex{separable. Miller, Teng, Thurston, and Vavasis [14, 15, 18] showed that �-overlap graphs inR are (n1�1=d)-vertex{separable.Below we state two vertex{separator results similar in spirit to those presented in Section 3.Their proofs follow from the same type of arguments as those developed in Section 3. Thus, weomit the proofs and only describe the divide{and{conquer procedure needed for the proof of thetheorem that is stated below.Lemma 5.1 Let 0 < � < 1=2. Let G be a family of n�-vertex{separable graphs closed underthe subgraph operation. Let G = (V;E) be a graph in G such that jGj is a power of two. LetS � V be a subset of V . Then, one can �nd an O(n�)-vertex{separator that divides G into twosubgraphs G1 = (V1; E1) and G2 = (V2; E2) such that jS \ V1j = bjSj=2c, jS \ V2j = djSj=2e, andjV1j; jV2j � (1 + �)jV j=2.Theorem 5.2 Let k be an integer such that k > 1 and � be a constant such that 0 < � <minf1=2; 1 � 21�1=�g. Let G be a family of n�-vertex{separable graphs closed under the sub-graph operation. Then, for every graph G = (V;E) in G a (2; k)-decomposition D such thatmax-boundaryV (D) = O((jV j=k)�) can be constructed.Below we describe the algorithm that �nds a decomposition with the properties stated inthe above theorem. The algorithm is a simple modi�cation of the Lipton-Rose-Tarjan's recursivescheme.Let G = (V;E) be a graph that we would like to partition into k subgraphs. Let � = djGj=keand � be a constant satisfying the conditions of Lemma 5.1. Assume jGj is a power of two and thatwe know a vertex{bisector of G of size O(jV j�). Consider the following recursive procedure:Algorithm: min--max--boundary--decomposition(G;�; �)1. If jGj � � then return G.2. Apply the procedure needed for the proof of Lemma 5.1 to divide G into G1 =(V1; E1) and G2 = (V2; E2) where S = @(G) (at the �rst level of the recursion letS be the nodes in the known vertex{bisector of G).3. Let @(G1) and @(G2) be the vertices inherited from @(G) and those produced bythe decomposition of the previous step.4. Recursively call min-max-boundary-decomposition(G1;�; �).5. Recursively call min-max-boundary-decomposition(G2;�; �).6. If more than k subgraphs were generated, repeatly merge the two smallest sub-graphs until k subgraphs remain.References[1] N. Alon, P. Seymour, and R. Thomas. A separator theorem for graphs with an excluded minor andits applications. In Proceedings of the 22th Annual ACM Symposium on Theory of Computing, pages293{299. ACM, 1990. 13

[2] J. Barnes and P. Hut. A hierarchical O(n logn) force calculation algorithm. Nature, (324):446{449,1986.[3] M. Benantar, R. Biswas, J. E. Flaherty, and M. S. Shephard. Parallel computation with adaptivemethods for elliptic and hyperbolic systems. Comp. Methods Applied Mech. and Eng., pages 73{93,1990.[4] M. Bern, D. Eppstein, and J. R. Gilbert. Provably good mesh generation. In 31-st Annual Symposiumon Foundations of Computer Science, pages 231{241. IEEE, 1990.[5] J. H. Bramble, J. E. Pasciak, and A. H. Schatz. An iterative method for elliptic problems on regionspartitioned into substructures. Math. Comp., 46:361{9, 1986.[6] J. Carrier, L. Greengard, and V. Rokhlin. A fast adaptive multipole algorithm for particle simulations.SIAM J. Sci. Statist. Comput. 9:669{686, 1988.[7] T. F. Chan and T. P. Mathew. Domain decomposition algorithms. Acta Numerica, pages 61{144, 1994.[8] J. R. Gilbert. Graph Separator Theorems and Sparse Gaussian Elimination. PhD thesis, ComputerScience Department, Stanford University, 1980.[9] J. R. Gilbert, G. L. Miller, and S.-H. Teng. Geometric mesh partitioning: Implementation and experi-ments. In SIAM J. Sci. Comput., to appear, 1996.[10] J.R. Gilbert, J.P. Hutchinson, and R.E. Tarjan. A separation theorem for graphs of bounded genus.Journal of Algorithms, 5:391{407, 1984.[11] R. W. Hackney and J. W. Eastwood. Computer Simulation Using Particles. McGraw Hill, 1981.[12] R. J. Lipton and R. E. Tarjan. A separator theorem for planar graphs. SIAM J. of Appl. Math.,36:177{189, April 1979.[13] R. J. Lipton, D. J. Rose, and R. E. Tarjan. Generalized nested dissection. SIAM J. on NumericalAnalysis, 16:346{358, 1979.[14] G. L. Miller, S.-H. Teng, W. Thurston, and S. A. Vavasis. Finite element meshes and geometricseparators. SIAM J. Sci. Comput., to appear, 1996.[15] G. L. Miller, S.-H. Teng, W. Thurston, and S. A. Vavasis. Separators for sphere-packings and nearestneighborhood graphs. J. ACM, Jan. 1997.[16] K. Nabors, F. T. Korsmeyer, F. T. Leighton, and J. White. Preconditioned, adaptive, multipole-accelerated iterative methods for three-dimensional �rst-�nd integral equations of potential theory.SIAM J. Sci. Comput., 15(3) pages 713{735, May 1994.[17] H. D. Simon and S.-H. Teng. How good is recursive bisection? SIAM J. Sci. Comput., to appear, 1996.[18] D. A. Spielman and S.-H. Teng. Spectral partitioning works: planar graphs and �nite element meshes. InProceedings of the 37-th Annual Symposium on Foundation of Computer Science, pages 96{107, IEEE,1996,[19] G. Strang and G. J. Fix. An Analysis of the Finite Element Method. Prentice-Hall, Englewood Cli�s,New Jersey, 1973.[20] S.-H. Teng. Provably good partitioning and load balancing algorithms for parallel adaptive n-bodysimulation. SIAM J. Scienti�c Computing, to appear, 1996.14