A Linear-Time Heuristic Algorithm for k-Way Network Partitioning
Tae‐Young Choi · Journal of Korea Multimedia Society · 2004
Network partitioning problem is to partition a network into multiple blocks such that the size of cutset is minimized while keeping the block sizes balanced. Among these, iterative algorithms are regarded as simple and efficient which are based on cell move of Fiduccia and Mattheyses algorithm, Sanchis algorithm, or Kernighan and Lin algorithm. All these algorithms stipulate balanced block size as a constraint that should be satisfied, which makes a cell movement be inefficient. Park and Park introduced a balancing coefficient R by which the block size balance is considered as a part of partitioning cost, not as a constraint. However, Park and Park's algorithm has a square time complexity with respect to the number of cells. In this paper, we proposed Bucket algorithm that has a linear time complexity with respect to the number of cells, while taking advantage of the balancing coefficient. Reducing time complexity is made possible by a simple observation that balancing cost does not vary so much when a cell moves. Bucket data structure is used to maintain partitioning cost efficiently. Experimental results for MCNC test sets show that cutset size of proposed algorithm is 63.33% 92.38% of that of Sanchis algorithm while our algorithm satisfies predefined balancing constraints and acceptable execution time.