DeepAI AI Chat
Log In Sign Up

A Work-Efficient Parallel Algorithm for Longest Increasing Subsequence

08/21/2022
by   Yan Gu, et al.
University of California, Riverside
0

This paper studies parallel algorithms for the longest increasing subsequence (LIS) problem. Let n be the input size and k be the LIS length of the input. Sequentially, LIS is a simple textbook problem that can be solved using dynamic programming (DP) in O(nlog n) work. However, parallelizing LIS is a long-standing challenge. We are unaware of any parallel LIS algorithm that has optimal O(nlog n) work and non-trivial parallelism (i.e., Õ(k) or o(n) span). Here, the work of a parallel algorithm is the total number of operations, and the span is the longest dependent instructions. This paper proposes a parallel LIS algorithm that costs O(nlog k) work, Õ(k) span, and O(n) space, and is much simpler than the previous parallel LIS algorithms. We also generalize the algorithm to a weighted version of LIS, which maximizes the weighted sum for all objects in an increasing subsequence. Our weighted LIS algorithm has O(nlog^2 n) work and Õ(k) span. We also implemented our parallel LIS algorithms. Due to simplicity, our implementation is light-weighted, efficient, and scalable. On input size 10^9, our LIS algorithm outperforms a highly-optimized sequential algorithm (with O(nlog k) cost) on inputs with k≤ 3× 10^5. Our algorithm is also much faster than the best existing parallel implementation by Shen et al. on all input instances.

READ FULL TEXT

page 1

page 2

page 3

page 4

01/03/2023

Provably Fast and Space-Efficient Parallel Biconnectivity

Biconnectivity is one of the most fundamental graph problems. The canoni...
05/08/2019

Finding Optimal Longest Paths by Dynamic Programming in Parallel

We propose an exact algorithm for solving the longest simple path proble...
05/25/2022

Many Sequential Iterative Algorithms Can Be Parallel and (Nearly) Work-efficient

To design efficient parallel algorithms, some recent papers showed that ...
08/07/2019

Parallel Finger Search Structures

In this paper we present two versions of a parallel finger structure FS ...
11/06/2017

Nearly Work-Efficient Parallel Algorithm for Digraph Reachability

One of the simplest problems on directed graphs is that of identifying t...
03/11/2019

Optimal Parallel Algorithms in the Binary-Forking Model

In this paper we develop optimal algorithms in the binary-forking model ...
03/29/2019

Fooling the Parallel Or Tester with Probability 8/27

It is well-known that the higher-order language PCF is not fully abstrac...