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

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

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.