Fast and efficient parallel coarsest refinement - Nopadon Juneam (2018)
The process of merging two arbitrary partitions of a given finite set U of n elements is known as coarsest refinement. In the COARSEST REFINEMENT PROBLEM we are given two arbitrary partitions X;Y of the set U such that X = fX1;X2; : : : ;Xxg and Y = fY1;Y2; : : : ;Yyg, and determine a new partition Z = fZ1;Z2; : : : ;Zzg such that each Zc 2 Z is a common non-empty subset of some Xa 2 X and some Yb 2 Y and jZj 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 maxf n log n; p(n)g 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.