Abstract

We study the problem of computing the so called minimum and maximum witnesses for Boolean vector convolution. We also consider a generalization of the problem which is to determine for each positive value at a coordinate of the convolution vector, q smallest (largest) witnesses, where q is the minimum of a parameter k and the number of witnesses for this coordinate. We term this problem the smallest k-witness problem or the largest k-witness problem, respectively. We also study the corresponding smallest and largest k-witness problems for Boolean matrix product. First, we present an tilde{O}(n^{1.5}k^{0.5})-time algorithm for the smallest or largest k-witness problem for the Boolean convolution of two n-dimensional vectors, where the notation tilde{O}( ) suppresses polylogarithmic in n factors. In consequence, we obtain new upper time bounds on reporting positions of mismatches in potential string alignments and on computing restricted cases of the (min , +) vector convolution. Next, we present a fast (substantially subcubic in n and linear in k) algorithm for the smallest or largest k-witness problem for the Boolean matrix product of two ntimes n Boolean matrices. It yields fast algorithms for reporting k lightest (heaviest) triangles in a vertex-weighted graph.

Highlights

  • For a potential alignment of a pattern string with a text string over the same alphabet, a position in the alignment where the pattern symbol is different from the text symbol is a witness to the symbol mismatch while a position where the pattern and text symbol are equal is a witness to the symbol match

  • The problems of finding “witnesses” have been extensively studied for several decades, at the beginning independently within stringology and graph algorithms relying on matrix computations

  • We study the problem of computing minimum and maximum witnesses for Boolean vector convolution

Read more

Summary

Introduction

For a potential alignment of a pattern string with a text string over the same alphabet, a position in the alignment where the pattern symbol is different from the text symbol is a witness to the symbol mismatch while a position where the pattern and text symbol are equal is a witness to the symbol match. – an O (n1.5)-time algorithm for reporting minimum and maximum witnesses for the Boolean convolution of two n-dimensional vectors, and more generally, an O (n1.5k0.5)-time algorithm for the smallest or largest k-witness problem for the convolution; – as corollaries, O (n1.5k0.5) time bounds for the smallest or largest k-witness problems in string matching; – in part as corollaries, several upper time bounds on computing the (min, +) integer vector convolution in restricted cases, summarized in Table 1; – an O(n2+λk)-time algorithm for the smallest or largest k-witness problem for the Boolean matrix product of two n × n Boolean matrices, where λ is a solution to the equation ω(1, λ, 1) = 1 + 2 λ + logn k; – as a corollary, an O(n2+λk) time bound for the problem of reporting for each edge of a vertex-weighted graph k lightest (heaviest) triangles containing it, where λ satisfies the aforementioned equation; an O(min{nωk + n2+o(1)k, n2+λk}). Time bound for the problem of reporting k lightest (heaviest) triangles in the input vertex-weighted graph

Preliminaries
Extreme Witnesses for Boolean Convolution
String Matching
Extreme Witnesses for Boolean Matrix Product
Lightest Triangles
Final Remarks
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call