Searcharxiv⌕ Search

arXiv · cs/0311020

An Optimal Algorithm for the Maximum-Density Segment Problem

Abstract

We address a fundamental problem arising from analysis of biomolecular sequences. The input consists of two numbers $w_{\min}$ and $w_{\max}$ and a sequence $S$ of $n$ number pairs $(a_i,w_i)$ with $w_i>0$. Let {\em segment} $S(i,j)$ of $S$ be the consecutive subsequence of $S$ between indices $i$ and $j$. The {\em density} of $S(i,j)$ is $d(i,j)=(a_i+a_{i+1}+...+a_j)/(w_i+w_{i+1}+...+w_j)$. The {\em maximum-density segment problem} is to find a maximum-density segment over all segments $S(i,j)$ with $w_{\min}\leq w_i+w_{i+1}+...+w_j \leq w_{\max}$. The best previously known algorithm for the problem, due to Goldwasser, Kao, and Lu, runs in $O(n\log(w_{\max}-w_{\min}+1))$ time. In the present paper, we solve the problem in O(n) time. Our approach bypasses the complicated {\em right-skew decomposition}, introduced by Lin, Jiang, and Chao. As a result, our algorithm has the capability to process the input sequence in an online manner, which is an important feature for dealing with genome-scale sequences. Moreover, for a type of input sequences $S$ representable in $O(m)$ space, we show how to exploit the sparsity of $S$ and solve the maximum-density segment problem for $S$ in $O(m)$ time.

Explore related subjects

Keep this discovery

Explore connections, maps & timelines

BibTeXRIS

Kai-min Chung, Hsueh-I Lu. 2003-11-17. An Optimal Algorithm for the Maximum-Density Segment Problem. https://doi.org/10.1137/s0097539704440430

Cite the original work for its findings. Save a collection to share your selection of sources.

KEEP EXPLORING

Related papers

Approximate Total Weighted Completion Time with Convex Controllable Processing Times

We study the single-machine scheduling problem with controllable processing times to minimize the total weighted completion time, focusing on the setting where a job's processing time is a convex function of its allocated continuous resource. The computational complexity of this problem represents a long-standing open question, as it is currently neither known to be polynomial-time solvable nor NP-hard. While we do not fully resolve this complexity question, we provide several insights into the problem's approximability. On the positive side, we present a polynomial-time $e \le 2.719$-approximation algorithm, alongside a quasi-polynomial approximation scheme for instances where the largest parameter value is polynomially bounded by the instance size. On the negative side, we demonstrate that simple sorting rules, which are optimal for certain special cases in the literature, cannot guarantee a constant-factor approximation for the general case.

cs.DS↗

The Greedy Superstring Conjecture Is False

In the Shortest Common Superstring problem (SCS), one is given a finite set of strings and is asked to find a shortest string containing every input string as a substring. Since the problem is NP-hard, various approximation algorithms have been proposed for it. The currently best known approximation ratio is $2.466$ due to Englert, Matsakis, and Veselý; a better approximation ratio $2$ has been announced by OpenAI just recently. In 1988, Tarhio and Ukkonen introduced a simple greedy algorithm that iteratively takes two strings with the longest overlap and merges them together. They showed that the greedy algorithm may produce a superstring that is about two times longer than the optimal one and conjectured that this bound is tight. This has become known as the Greedy Superstring Conjecture and has remained open for almost four decades. The best known upper bound on the approximation ratio of the greedy algorithm is $3.396$ due to Englert, Matsakis, and Veselý. In this paper, we present a series of results tightening the bounds of the greedy algorithm, with the main contributions being as follows: 1. We refute the Greedy Conjecture by constructing a family of instances for which a lower bound on the approximation ratio tends to $2.4$. 2. We prove that the greedy algorithm is $3$-approximate. 3. For input strings of fixed length $k$, we prove that the approximation guarantee is exactly $9/5$ for $k=3$ and at least $2$ for all $k \ge 6$.

cs.DS↗

Tight Bounds for Paging with Delay and Joint Replenishment with Varying Opening Costs

We study weighted paging with delay, a generalization of classical paging in which requests may be served after their arrival, incurring delay costs while awaiting service. This model allows the algorithm to delay service and batch service requests over time, but also introduces significant challenges due to overlapping requests. While the problem is well understood in the unweighted setting, where optimal $O(\log k)$-competitive algorithms are known, the weighted case remains more elusive. The best previously known randomized algorithm, due to Gupta, Kumar, and Panigrahi, achieves an $O(\log k \log n)$-competitive ratio, leaving a gap between weighted and unweighted settings. We obtain a randomized $O(\log k)$-competitive algorithm, matching the lower bound inherited from classical paging. The core of our approach is a structural decomposition that separates the evolution of the cache over time from scheduling additional page loads, so as to make the solution feasible. We develop this approach first for paging with time windows, the special case in which each request must be served within a specified time interval. Given a sequence of cache configurations, we reduce the problem of augmenting this sequence to a feasible solution to a variant of the Joint Replenishment Problem with deadlines (JRP-D) with time-dependent opening costs. We design a constant-competitive online algorithm for this variant under a prediction model whose required information is available online in our paging reduction. Combining this algorithm with an existing online construction of cache configurations yields an $O(\log k)$-competitive algorithm for paging with time windows. We then extend the framework to obtain the same guarantee for weighted paging with a general delay function.

cs.DS↗