2

Suppose we have two sets A,B of size n,k respectively, being sets of nonnegative integers each encoded with N bits, and we'd like to form a set of bitstrings of length 3N and [maximum] size n*k such that they represent all possible multiplication of integers, one taken from A and one taken from B. So if one set is {1,2} and the other is {3,4} (written bitwise), the resulted set should be {1*3, 1*4, 2*3, 2*4}.

Suppose A,B are given as binary decision diagrams (BDDs) and we'd like to calculate the multiplication set also in a form of a binary decision diagram, representing the bitstrings of all multiplication results.

Now it is well known that BDDs that represent multiplication, even if A,B were of size 1 each, is of exponential size. Otherwise we could factor integers in polynomial time.

My question is whether the multiplication set can be calculated in polynomial time indeed, but by iterating BDD operations until a fixed point is achieved. This way we won't be able to factor integers (at least not easily). For example it is well known that we can calculate addition of binary numbers by iterating AND and XOR until a fixed point is reach (each step yields intermediate addition and carry, to be added again until the carry is zero).

I need that for practical implementation of mine, where indeed I have two sets of fixed-bitwidth integers represented in BDDs, and I'd like to calculate their multiplication set, without having to "decompress" the BDDs into actual numbers, as each BDD may encode many numbers.

Troy McClure
  • 644
  • 4
  • 10

0 Answers0