Fast practical algorithms for the Boolean-product-witness-matrix problem

  • Authors:
  • Anshul Gupta;Pankaj Rohatgi;Ramesh Agarwal

  • Affiliations:
  • IBM Thomas J. Watson Research Center, P.O. Box 218, Yorktown Heights, NY;IBM Thomas J. Watson Research Center, P.O. Box 218, Yorktown Heights, NY;IBM Thomas J. Watson Research Center, P.O. Box 218, Yorktown Heights, NY

  • Venue:
  • ISSAC '00 Proceedings of the 2000 international symposium on Symbolic and algebraic computation
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

Given two n × n Boolean matrices A and B, their Boolean Product Witness Matrix (BPWM) is an n × n integer matrix W with wij = some k such that aik = bkj = 1, (1 ≤ i, j, k ≤ n) and wij = 0 if no such k exists. The best known algorithms to date for solving the BPWM problem have a worst-case complexity of O(n&ohgr; log n), where O(n&ohgr;) is the time required to multiply two n × n integer matrices. The theoretically best known value of &ohgr; is 2.376, but is higher for algorithms that are practical to implement for reasonable problem sizes. In this paper, we present a relatively simple and practical randomized algorithm for solving the BPWM problem. The expected completion time of our algorithms is O(n2 log n) for a large class of Boolean matrices, including but not limited to all mutually-independent matrices. We show that the probability of the algorithm requiring more than O(n2 log n) is vanishingly small for most input Boolean matrices, irrespective of the density of 1's or 0's in them.