Fast and Efficient Parallel Coarsest Refinement
Nopadon Juneam, Sanpawat Kantabutra ยท Fundamenta Informaticae ยท 2017
The process of merging two arbitrary partitions of a given finite set ๐ฐ of n elements is known as coarsest refinement. In the COARSEST REFINEMENT PROBLEM we are given two arbitrary partitions ๐ณ, ๐ด of the set ๐ฐ such that ๐ณ = {๐ณ 1 , ๐ณ 2 , ..., ๐ณ x } and ๐ด = {๐ด 1 , ๐ด 2 , ..., ๐ด y }, and determine a new partition ๐ต = {๐ต 1 , ๐ต 2 , ..., ๐ต z } such that each is a common non-empty subset of some ๐ณ a โ ๐ณ and some ๐ด b โ ๐ด and |๐ต| is as small as possible. This article describes a resource-efficient parallel algorithm to solve this problem. More specifically, we show that a coarsest refinement can be computed in O( t( n) + log n) parallel time using max { n log n , p ( n ) } processors, where t( n) denotes the running time of a parallel stable sorting algorithm that uses p( n) processors on an EREW PRAM. This result depends on t( n) and p( n). We give a table that shows the best known time and processor complexities for a parallel stable sorting algorithm. If the parallel stable sorting algorithms by Ajtai et al., Cole, and Leighton are used, the coarsest refinement can be computed in O(log n) parallel time using n processors on an EREW PRAM. On the other hand, if the parallel stable sorting algorithm by Bahig et al. is used, the coarsest refinement can be computed in O ( log n log ( n log n ) ) parallel time using n log n processors on an EREW PRAM. In addition, we show that on, a RAM machine, our parallel algorithm runs as asymptotically efficient as the fastest known sequential algorithm.