In this thesis, we study an approach using a zero-suppressed binary decision diagram (ZDD), which is a data structure representing a family of sets in a compressed way. Especially, we focus on two types of graph partitioning problems and propose algorithms to construct ZDDs representing sets of such graph partitions. First, we deal with the evacuation planning problem, which asks us to partition a target area, represented by a graph, into several regions so that each region contains exactly one shelter. The problem has many complex constraints on the distances between evacuees and the assigned shelters, the capacities of shelters, and the convexity of components such that the intersections of evacuation routes less occur. There is an existing method to construct a ZDD representing a set of graph partitions satisfying the constraints. However, the algorithm is limited to a grid graph because the definition of convexity of components is specialized for grid graphs. To deal with general graphs, we reformulated the definition of convexity of components as spanning shortest path forests (SSPFs), and propose an algorithm to construct a ZDD representing a set of SSPFs in a given graph. Experimental results using real-world map data show that our algorithm can construct a ZDD for graphs with hundreds of edges in a few minutes.
Second, we deal with balanced graph partitions. When we are given a vertex-weighted graph, it is important to find a graph partition such that each weight of its connected component is in a given range for applications such as political redistricting, VLSI design, parallel processing, and so on. There is an existing algorithm to construct a ZDD representing the set of balanced graph partitions. However, the computation is tractable only for graphs with less than a hundred of vertices because the algorithm tries to construct the ZDD in one step, which leads to the increase of the memory consumption exponentially. To construct a ZDD more efficiently, we propose a new algorithm for the problem. The proposed algorithm divides the construction of the ZDD into several steps and suppresses the memory consumption. Experimental results show that our algorithm runs up to tens of times faster than the existing algorithm.
In the presentation, we will talk mainly about the second study, which is on balanced graph partitions.