Efficient computation of approximate isomorphisms between Boolean functions

https://doi.org/10.1016/j.ipl.2015.11.009Get rights and content

Highlights

  • A new algorithm for the construction of approximate ismorphisms between Boolean functions.

  • Improvement on an existing algorithm in several respects.

  • Efficiency: it works in polynomial time.

  • Performance: better performance guarantees as before.

Abstract

Arvind and Vasudev [2] have introduced the notion of an approximate isomorphism between two Boolean functions f and g. They furthermore designed two algorithms that construct an approximate isomorphism when given oracle access to f and g. The first of these algorithms is specialized to Boolean functions which are computable by constant-depth circuits. The second one applies to any pair of Boolean functions. It runs in exponential time and achieves optimality up to a factor of order n. In this paper, we present an improved analysis and come up with a variant of the second algorithm that runs in polynomial time and achieves optimality up to a factor of (approximately) 2.

Introduction

Two Boolean functions are said to be isomorphic if they are equal up to a permutation of the variables. The problem of deciding whether two functions f,g:{0,1}n{0,1} are isomorphic is known to be coNP-hard even when f and g are given as DNF formulas. The problem is in Σ2p but it is not known to be in coNP. Agrawal and Thierauf [1] have shown that the problem is not Σ2p-hard unless the polynomial hierarchy collapses to Σ3p.

Arvind and Vasudev [2] have introduced the notion of approximate isomorphisms where the Boolean functions f,g are said to be (1ρ)-approximately isomorphic if g, after applying an appropriate permutation to its variables, assigns the same binary labels as f on a fraction ρ[0,1] of the Boolean domain. Clearly ρ=1 means that f and g are (fully) isomorphic. The notion of an approximate isomorphism naturally leads to the following maximization problem: given oracle access to f and g, find a permutation of the variables of g which makes the agreement rate ρ with the function f as large as possible.

Arvind and Vasudev have designed two approximation algorithms. The first one is specialized to Boolean functions f,g which are computable by constant-depth circuits, say by circuits of depth d. It achieves the following: if f,g are (fully) isomorphic, then it runs in time 2logO(d)(n/ε)n and, with a probability of at least 12Ω(n), it returns a permutation of the variables of g that leads to an agreement rate of 1ε with the function f. The second algorithm in [2] applies to any pair of Boolean functions. It runs in exponential time and returns a permutation σ of the variables of g so that the resulting agreement rate with f differs from the optimal one at most by a factor of order n. In this paper, we present an improved analysis and come up with an algorithm that runs in polynomial time and achieves optimality up to a factor of (approximately) 2. See Theorem 3.4 for the precise result.

The remainder of the paper is organized as follows. In Section 2, we specify the main problem more formally and fix some notations. In Section 3, we present our main results. In Section 4, we briefly discuss how small the agreement rate between f and gσ can possibly become when the worst permutation σ is chosen for two (fully) isomorphic functions f and g.

Section snippets

The problem MAX-BFI

The constants 0 and 1 are called binary labels or simply labels in this paper. For any Boolean function g:{0,1}n{0,1}, any vector x=(x[1],,x[n]) and any permutation σ of 1,,n, we introduce the notationsxσ=(x[σ(1)],,x[σ(n)]) and gσ(x)=g(xσ). Two Boolean functions f,g:{0,1}n{0,1} are said to be isomorphic if there exists a permutation σ such that f=gσ. Boolean Function Isomorphism (BFI) is the problem of deciding whether two Boolean functions, given by oracle access,1

The main results

The key result in this section, Theorem 3.2 below, states that random permutations achieve, on the average, an agreement rate that differs from the optimal one by factor 1/2 only. But before we state and prove this formally, we discuss a very simple optimization problem in two real variables that will play a prominent role in the proof of the key result:

Lemma 3.1

Let α,β be constants such that 0α1β1. Let the function h be given by h(a,b)=ab+(1a)(1b). Then,{mina,bh(a,b)s.t.αa,b1β}α+β2.

Proof

For each

Existence of bad permutations

If the permutation σ is chosen by “nature” (at random), then, as we have seen in the previous section, the random variable ρ(f,gσ) has a significant chance of being close to ρ(f,g)/2. What can we say if σ and f,g are chosen by the “devil”? In other words, do there exist triples (f,g,σ) such that σ is a terribly bad choice in its role of an approximate isomorphism between f and g? In this section, we briefly show that such triples exist, indeed. The key observations are as follows:

Lemma 4.1

Let σ be a

Acknowledgements

We thank two anonymous referees of this journal for many valuable suggestions and for detecting a flaw in one of the proofs in a preliminary version of this paper.

References (4)

  • Manindra Agrawal et al.

    The formula isomorphism problem

    SIAM J. Comput.

    (2000)
  • Arvind Vikraman et al.

    Isomorphism testing of Boolean functions computable by constant-depth circuits

    Inf. Comput.

    (2014)
There are more references available in the full text version of this article.

Cited by (0)

View full text