Home Circuit complexity of symmetric Boolean functions in antichain basis
Article Publicly Available

Circuit complexity of symmetric Boolean functions in antichain basis

  • Olga V. Podolskaya EMAIL logo
Published/Copyright: February 15, 2016

Abstract

We study the circuit complexity of Boolean functions in an infinite basis consisting of all characteristic functions of antichains over the Boolean cube. For an arbitrary symmetric function we obtain the exact value of its circuit complexity in this basis. In particular, we prove that the circuit complexities of the parity function and the majority function of n variables for all integers n ≥ 1 in this basis are n+12 and n2+1 respectively. For the maximum circuit complexity of n-variable Boolean functions in this basis, we show that its order of growth is equal to n.

The research is supported by the Russian Foundation for Basic Research, project 14–01–00598.

1 Introduction

A Boolean function is called symmetric if any permutation of its variables does not change the value of the function. Any n-variable symmetric function f is determined by a binary tuple (a0, a1, …, an), where ai = 1 iff the function f equals 1 on inputs with i ones. For a function f let us denote by k(f) the number of indices i such that ai is equal to 1. From now on by symmetric functions we mean symmetric Boolean functions.

The Boolean function pn(x1, …, xn) = x1 + … + xn (mod 2) is called the parity function. The Boolean function mn(x1, …, xn) such that it equals to 1 iff the number of ones in an input is at least n/2 is called the majority function.

Consider the Boolean cube {0,1}n as a partially ordered set of tuples with the natural order of the Cartesian product (0 ≤ 1). An antichain is a subset of the Boolean cube such that no two of its tuples are comparable. An antichain function is a function that takes value 1 only on a certain antichain over the Boolean cube. We denote by AC the set of all antichain functions [1]. This set is closed under two operations: substitution of constants and identification of variables, and any Boolean function may be expressed via functions from the set AC and the operation of superposition.

Let two real functions a(n) and b(n) of natural n take positive values for all sufficiently large n. We say that the order of growth of function a(n) is less than b(n) and denote this by a(n) = O(b(n)) if there exists a constant c > 0 such that a(n) ≤ cb(n) for all sufficiently large n. At the same time we say that the order of growth of function b(n) is at least a(n) and denote this by b(n) = Ω(a(n)). If simultaneously a(n) = Ω(b(n)) and a(n) = O(b(n)), then we say that the order of growth of a(n) equals b(n) and denote this by a(n) = Θ(b(n)).

For the infinite AC basis we study circuits computing symmetric functions. The definition of the circuit and other notations used in the paper may be found, e.g., in [4].

Let circuit complexity denote the number of gates in the circuit. Let complexity of a function denote the minimum number of gates in the circuit computing this function. Let L(S) denote the complexity of a circuit S and L(f) denote the complexity of a function f. Let the Shannon function denote the function L(n) = max L(f), where maximum is taken over all n-variable Boolean functions f.

Lower bounds on circuit complexity in the AC basis have been studied in [1], [2], [5]. In [1] O. M. Kasim-Zade had proved the bound Ω(n1/3) for the complexity of the n-variable parity function. This result leads to the lower bound for the Shannon function: L(n) = Ω(n1/3). Later in [2] O. M. Kasim-Zade proved the lower bound Ω((n/ln n)1/2) for the parity function and the Shannon function. By the extension of the method used in [1], the latter result was improved in [5] where the lower bound Ω(n) was obtained for the parity function, the majority function and almost all Boolean functions of n variables. That is, the lower bound L(n)=Ω(n) for the Shannon function was established in the AC basis.

In Section 3 for any symmetric function we obtain the exact value of the circuit complexity in the AC basis.

Theorem 1

For all natural n and for any symmetric function f(x1 …, xn)

L(f)=min(k(f),nk(f)+2).

By means of Theorem 1 it is easy to obtain the exact value of the circuit complexity in the AC basis for the n-variable parity function and majority function.

Theorem 2

For all natural n

L(pn)=n+12,L(mn)=n2+1.

This theorem is proved in Section 4.

As to the upper bounds, the estimate L(n) ≤ n + 1 for the Shannon function was proved in [1] for all natural n. In [6] the stronger upper bound L(n) ≤ n was stated and the main ideas of the proof were shown. The latter bound along with the lower bound following from Theorem 2 give the order of growth of the Shannon function in the AC basis.

Theorem 3

In the AC basis L(n) = Θ(n).

2 Preliminaries

Denote by [n] the set of natural numbers {1, 2, …, n}.

Denote by x the tuple of arbitrary values of variables (x1, …, xn).The maximal Boolean n-tuple 1 = (1, 1, …, 1) is called the top tuple of the Boolean cube, and the minimal Boolean n-tuple 0 = (0, 0, …, 0) is called the bottom one. Similarly, for any subcube of a lower dimension its maximal and minimal tuples are called the top and the bottom ones respectively.

For any P ⊆ [n], denote by xP a binary tuple x = (x1, …, xn) such that xp = 1 for p ∈ [n] iff pP.

The layer of the Boolean cube with the index t, where t = 0, 1, …, n, we define as the set of all n-tuples containing exactly t ones. Clearly, any such layer is the antichain in the Boolean cube. In these terms, the support of a symmetric function f that equals 1 only on inputs with i1, …, ik(f) ones is a union of the layers with the indices i1, …, ik(f) respectively.

We call a circuit reduced if the different inputs of any gate are connected with different gates of the circuit and each gate computes a function other than the constant (see [2]). Note that for any circuit in the AC basis of complexity s computing a function other than the constant there exists a reduced circuit of complexity at most s in the AC basis computing the same function.

We call a numeration on circuit gates regular if each input of each circuit gate is connected to an output of a gate with the smaller index or to a circuit input. It is known that a regular numeration may be introduced on any circuit (possibly, by several ways) [3].

From now on in the proofs of lower bounds we consider reduced circuits in the AC basis with fixed arbitrary regular numerations on their gates.

Denote by el the gate with the index l, by gl the antichain function corresponding to this gate and by hl the function computed on the output of the gate el. For a given input x denote by hk(x) the value of the function hk. By input variables of a circuit we call the symbols of variables x1, x2, …, xn assigned respectively to n inputs of the circuit.

3 Proof of Theorem 1

Let us prove two lemmas.

Lemma 1

For all natural n for any symmetric function f(x1 …, xn) the inequality L(f) ≥ min (k(f), nk(f) + 2) is true.

Lemma 2

For all natural n for any symmetric function f(x1 …, xn) the inequality L(f) ≤ min (k(f), nk(f) + 2) is true.

First, in Section 3.1 we shortly describe the idea of the proof of Lemma 1. Then in Sections 3.23.3 we give a detailed proof. Further, using the ideas from [6], we prove Lemma 2. The proofs of Lemmas 1 and 2 together lead to the proof of Theorem 1.

3.1 Lemma 1: the idea of proof

In this section we explain the idea of the proof of the lower bound from Lemma 1 of a special case. For any symmetric function f consider all circuits computing this function and having the following property: all circuit inputs are connected to inputs of all gates of the circuit. (In Section 3.4 we show that any symmetric function may be computed by a circuit of such type.) For any circuit Sf with the property described we prove that the lower bound on its complexity is L(Sf) ≥ k(f). This special case is a good example to demonstrate roughly the idea of the proof of Lemma 1. Proving the lemma in Sections 3.23.3 in general case, we do not suppose circuits to have the above property.

For the special case under study we determine the notion of a first non-zero gate on a given input. On a given tuple α ∈ {0,1}n let the gates ei1,,eik be all gates of the circuit Sf such that hij(α)=1 for all j ∈ [k]. Then the gate em is called a first non-zero gate on the tuple α if it has the minimal index among the gates ei1,,eik. Note that this definition is quite intuitive.

Take any chain C˜ consisting of n + 1 different tuples of the cube {0,1}n.The chain C˜ has the following property: no gate of the circuit Sf occurs to be twice a first non-zero gate on two different tuples of this chain. Indeed, suppose the opposite: there is a first non-zero gate et on tuples β and γ of the chain C˜. Without loss of generality suppose that the tuple β is less than the tuple γ. By the definition of a first non-zero gate, all gates with the indices less than t output 0 on the tuples β and γ. That is, the antichain function gt which corresponds to the gate et outputs 1 on a pair of two comparable tuples. This contradicts the fact that gt is an antichain function.

From the property proved it follows that the complexity of the circuit Sf is less then or equal to the number of tuples of the chain C˜ such that first non-zero gates occur on these tuples. Note that if the function f equals 1 on a given tuple, then there exists a first non-zero gate in the circuit Sf on this tuple. This leads to the lower bound L(Sf) ≥ k(f) on the circuit complexity.

When we prove the above property we use the fact that the circuit Sf is of a special type: all circuit inputs are connected with the inputs of the gate et corresponding to the function gt. In the general case a circuit does not have such a property and the statement similar to above cannot be proved for an arbitrary chain. Furthermore, in general case the notion of a first non-zero gate has to be defined in a more sophisticated manner. These technical peculiarities allow to prove Lemma 1 in the general case basing on the main ideas introduced above.

3.2 General construction

Proof of Lemma 1. Consider an arbitrary symmetric function f(x1, …, xn) such that it equals 1 on the tuples from k(f) different layers of the cube {0, 1}n. Consider an arbitrary circuit S in the AC basis computing the function f. Let L(S) = s and let e1, …, es be all the circuit gates. Antichain functions g1, …, gs are assigned correspondingly to these gates. Let us prove the bound s ≥ min k(f), nk(f) + 2.

To prove the lemma, we construct a chain C consisting of n + 1 different tuples of the cube {0,1}n. We take the top and the bottom tuples of the cube as boundary tuples of the chain C, i.e. the tuples 1, 0 ∈ {0, 1}n. In what follows we construct internal tuples of the chain.

Informally, we obtain internal tuples by moving in the cube in two directions: descending from the top tuple or ascending from the bottom one. We descend as follows. In a current tuple of the chain, by a certain algorithm, we choose its component equal to 1 and flip its value. The tuple obtained we add to the chain. From now on the value of an input variable that corresponds to the chosen component we put be equal to 0 and further it will not be changed. Similarly, we ascend from the bottom tuple: we choose a certain component equal to 0 in a current tuple and flip its value. Thus, we obtain a new tuple of the chain C. We put be the corresponding input variable equal to 1. Each time when we fix an input variable by some value we proceed to a subcube of a smaller dimension and further we consider the top and the bottom tuples of this subcube.

Let us continue to describe the construction process in detail. To construct the chain, we consider the gates of the circuit S in the order of a given regular numeration starting from the gate e1. The following parameters characterize the construction process.

  1. The number of the step i ∈ [s]; it is determined by a circuit gate which initiates the step.

  2. Constructing the chain, we simultaneously obtain two sets: Fi, Ti ⊆ [n]. These are the sets of the indices of the inputs variables whose values after the i-th step we have put equal to 0 (Fi) and 1 (Ti) respectively. We call an input variable of the circuit free with respect to a set A, where A ⊆ [n], if its index belongs to the set [n] \ A. During the chain construction we will consider free variables with respect to sets FiTi. Informally, these are variables such that up to a certain moment we have not yet define their values to by 0 or 1. We call circuit inputs free with respect to a set A, where A ⊆ [n], if the variables assigned to these inputs are free with respect to the set A.

    On the i-th step we consider a subcube with the top tuple x[n]\Fi1 and the bottom one xTi1 and we construct a new subcube with the top and bottom tuples x[n]\Fi and xTi respectively.

  3. Ei is a set of gates from the set {e1, …, ei} whose inputs may be connected only to outputs of gates with smaller indices and to circuit inputs corresponding to input variables with the indices from the set FiTi. For any i we have Ei ⊆ {e1, …, ei}. On the i-th step we add a circuit gate to the set Ei if none of its inputs are connected to circuit inputs free with respect to the set FiTi.

Note that the sets Fi, Ti and Ei are not decreasing in i. At the beginning of the construction we put i = 0, F0 = T0 = ∅, E0 = ∅ and C = {0, 1} as mentioned above.

Now we define the key notion of the proof.

Definition 1

Consider the set of gates E ⊆ {e1, …, es}. Consider an arbitrary input α ∈ {0, 1}n of the circuit S. Let er1,,erl be all circuit gates such that for any j ∈ [l]

  1. hrj(α)=1;

  2. erj{e1,,es}\E.

We call the gate emfirst non-zero gate on the tupleαwith respect to the set E if it has the minimal index among the gates er1,erl.

Sometimes when we discuss a first non-zero gate on a given input we will not specify with respect to what set it is considered as far as it will be clear from the context.

We construct the chain in such a way that for any i after the i-th step the following properties are fulfilled.

  1. For all t, pi: FtTp = ∅ (i.e. we can not put a variable to be equal to 1 and later change it to 0; it was mentioned earlier informally).

  2. For any gate ej ∈ {e1, …, ei}\Ei and for a function hj computed on the output of the gate ej the following equality takes place:

    hj(x[n]\Fi)=hj(xTi)=0.

Property 2 plays a crucial role in the construction process. Informally, this property means that if we input the top and the bottom tuples of a current subcube after the i-th step to the circuit inputs then all circuit gates except the gates from the set Ei output 0 on these two tuples.

There are two stages in the construction of the chain.

Stage 1. The stage consists of s steps, by the number of circuit gates. Suppose i steps are done, we describe the (i + 1)-th step.

At the end of the i-th step the first i circuit gates e1, e2, …, ei are considered. We have constructed a certain set Fi which includes the indices of the input variables that we have put be equal to 0. Similarly, we have constructed a set Ti consisting of the indices of the input variables that we have put be equal to 1. The chain C contains the tuples 0, 1 ∈ {0, 1}n as well as the tuples that we have obtained simultaneously with constructing Fi and Ti. We have also constructed a set Ei. Now we consider the (n − |Fi| − |Ti|)-dimensional subcube with the top and the bottom tuples x[n]\Fi and xiT respectively.

Starting the (i + 1)-th step, we proceed to the gate ei+1. All possible cases are considered below. Note they can not occur simultaneously.

  1. The inputs of the gate ei+1 are connected directly to none of the free circuit inputs with respect to the set FiTi. Let Ei+1 = Ei ∪ {ei+1}, Fi+1 = Fi, Ti+1 = Ti. The (i + 1)-th step is finished.

  2. An input of the gate ei+1 is connected directly to a free circuit input with respect to the set FiTi. Let a variable xm, where m ∈ [n] \ (FiTi), be assigned to this circuit input. Let us verify whether Property 2 is true for the gate ei+1, i.e. the equation hi+1(x[n]\Fi)=hi+1(xTi)=0 takes place.

    1. If Property 2 is true, then we put Ei+1 = Ei, Fi+1 = Fi, Ti+1 = Ti. The (i + 1)-th step is finished.

    2. Assume Property 2 for the gate ei+1 is not true for the top tuple of the current subcube (the bottom tuple case will be described later). That is, hi+1(x[n]\Fi)=1. For convenience let us divide this case into two substeps.

      1. At first we start with the gate ei+1. By the condition of the case 2.2, the gate ei+1 is a first non-zero one on the tuple x[n]\Fi with respect to the set Ei. Let the above-mentioned variable xm be equal to 0.

        We will use some auxiliary notations: Fi+1r,Ei+1r and later Ti+1r, where r is a natural parameter.

        For r = 1 let Fi+11=Fi{m}. Let also Ti+1 = Ti. That is, we proceed to a subcube of a smaller dimension n|Fi+11||Ti+1|. We add the top tuple x[n]\Fi+11 of this subcube to the chain C. Then we put Ei+11 be equal to the union of the set Ei and the set of gates ej, where ji + 1, such that when we put the value of the variable xm to be equal to some value, their inputs will be no longer connected to any free circuit inputs with respect to the set Fi+11Ti+1.

      2. Further, we proceed to the gates ej, where ji + 1. At first, we still consider the value of r to be equal to 1.

        Consider the gates ej, where ji + 1 and ejEi+1r. Let us verify whether Property 2 is true for them on the tuple x[n]\Fi+1r. Suppose we found gates such that Property 2 does not take place on them. Let el be a gate with the minimal index among these gates.

        Lemma 3

        At least one input of the above-mentioned gate elis connected directly to a free circuit input with respect to the setFi+1rTi+1.

        Proof. For the function hl computed on the output of the gate el we have hl(x[n]\Fi+1r)=1, hl(xTi+1)=0. The value of the antichain function gl corresponding to the gate el is determined by values on some circuit inputs as well as by values on the gates of two types:

        1. gates eu such that euEi+1r, where u < l,

        2. gates eu such that euEi+1r, where u < l.

          Values on the outputs of the 2-type gates are determined by values on the outputs of the 1-type gates. Since l is minimal, all 1-type gates ej output 0 on the top and the bottom tuples of the subcube. Therefore, 2-type gates output the same values on these two tuples. That is, the function gl outputs two different values on a pair of tuples with the following property: in these tuples the components corresponding to the values of gates with indices smaller than l are equal. Therefore, the values of some other components in these tuples should be different. That is, there exists a free circuit input with respect to the set Fi+1rTi+1 and it is connected directly to an input of the gate el. Lemma 3 is proved. □

          Let us proceed with an argument. By Lemma 3, the gate el is a first non-zero one on the tuple x[n]\Fi+1r with respect to the set Ei+1r. Consider any free circuit input with respect to the set Fi+1rTi+1 such that it is connected directly with some input of the gate el. Put a variable assigned to this input to be equal to 0. That is, we add the index of this variable to the set Fi+1r. The set obtained we denote by Fi+1r+1. That is, we proceed to the subcube of a smaller dimension. We add to the chain C the top tuple of this subcube x[n]\Fi+1r+1.

          Let Ei+1r+1 be equal to the union of the set Ei+1r and the set of all gates ej, where ji + 1, such that their inputs are no longer connected directly to any circuit inputs free with respect to the set Fi+1r+1Ti+1.

        Further, we start a cycle: we perform the process described in 2.2.2 for all r = 2, …, q, where q is a value of the parameter r such that Property 2 is true for all gates ej, where j ∈ [i + 1] and ejEi+1q. Note an important property that will be used further.

        Lemma 4

        Any gate ep, where p ∈ [i + 1], such that during the process described in 2.2 it was added to the set Ei+1r, where rq, outputs 0 on all tuples of the (n|Fi+1r||Ti+1|)-dimensional subcube on which gates ea, where a < p, eaEi+1r, output 0.

        Proof. No inputs of the gate ep are connected to circuit inputs free with respect to the set Fi+1rTi+1. That is, this gate outputs the same value on all above-mentioned tuples. Since Ti+1 = Ti, it outputs 0 on the bottom tuple of the subcube. Hence, this gate also outputs 0 on all tuples described. Lemma 4 is proved. □

        After all above actions are performed we put Fi+1=Fi+1q,Ei+1=Ei+1q. The (i + 1)-th step is finished. Now we consider the last possible case.

    3. Let Property 2 for the gate ei+1 be not true on the bottom tuple of the subcube: hi+1(xTi)=1.

      Lemma 5

      Cases 2.2 and 2.3 cannot occur simultaneously.

      Proof. Suppose the opposite. For all gates ejEi, where j < i + 1, functions hj output 0 on the tuples x[n]\Fi and xTi. For all gates ejEi with j < i + 1 functions hj output the same on both tuples. The tuples x[n]\Fi and xTiare comparable. By the conditions of the case 2, there is an input of the gate ei+1 which is connected to a circuit input such that it has different values in these two tuples. Hence, the function gi+1 outputs 1 on a pair of comparable tuples that differ at least in one component. This contradicts the fact that gi+1 is an antichain function. Lemma 5 is proved. □

      Now we return to the Case 2.3. It is symmetrical to the Case 2.2. So, we proceed similarly with the only difference that we let free variables be equal to ones instead of zeros. First, put a variable xk be equal to 1 and Ti+11=Ti{k} (using the notation introduced in the Case 2.2). Put Fi+1 = Fi. That is, we proceed to a subcube of a dimension n − |Fi+1| − |Ti+1|. We add the tuple xTi+1 to the chain C. Then, similarly to the Case 2.2, we perform the cycle described in 2.2.2 to construct respectively the sets Ti+12,Ti+13 and so on, until for some v we obtain that Property 2 is true for all gates ej, with ji + 1 such that ejEi+1v. Then we put Ti+1=Ti+1v,Ei+1=Ei+1v. The (i + 1)-th step is finished.

If as a result of Stage 1 the values of all input variables became fixed, then the chain C consisting of n + 1 tuples will be constructed and we finish the process.

Suppose we have performed s steps described in the Cases 1 and 2 of Stage 1. That is, we have considered all s gates of the circuit S but the chain is still not constructed. After the s-th step we has obtained the sets Fs, Ts and Es. For simplicity, from now on we omit indices and write F, T and E respectively. Now we proceed to Stage 2.

Stage 2. The original n-dimensional cube is restricted to a subcube of a dimension n − |F| − |T| such that all the circuit gates e1, …, es, except those from the set E, output 0 on the top tuple x[n]\F and on the bottom one xT of this subcube. Let T0 = T. Then we add to T0 the indices of variables from the set [n] \ (FT). That is, we obtain the sets T1, T2 and so on as follows:

  1. if i ⩾ 0 and there is no first non-zero gate on the tuple xTi with respect to the set E, then we add to the set Ti the index of any variable from the set [n] \ (FTi). We obtain a set Ti+1 and a tuple xTi+1 which we add to the chain;

  2. if i ⩾ 0 and there exists a first non-zero gate on the tuple xTi with respect to the set E, then, similarly to the proof of Lemma 3, it is easy to show that there exists an input of this gate connected to a circuit input free with respect to the set [n] \ (FTi). We put the free input variable corresponding to that circuit input to be equal to 1. Thus we obtain a set Ti+1 and a new tuple xTi+1 which we add to the chain.

If during the above process when we add a variable to the set Ti and obtain a gate ed such that its inputs are no longer connected to circuit inputs free with respect to the set FTi, then we put E = E ∪ {ed}. Clearly, all such gates have a property similar to one from Lemma 4. Note that each time we consider a first non-zero gate with respect to a current set E.

We repeat the above process until all free input variables became fixed to some values, i.e. until we construct the chain required. Note that in Stage 2 we choose the set T to fix the idea, we could also choose the set F and put variables to be equal to zeros respectively.

When constructing the chain C we feed to the circuit inputs only tuples of types xT and x[n]\F (for brevity, indices are omitted). These tuples are comparable, since on each step T ⊆ [n] \ F. Thus, the set C is indeed a chain.

3.3 Lemma 1: completion of the proof

The chain C has the following property.

Lemma 6

None of the gates of the circuit S occur to be first non-zero (with respect to the corresponding sets) twice on the tuples of the chain C.

Proof. The proof is by contradiction. Without loss of generality that assume that the tuple xp is added to the chain on the step b and the tuple xp is added on the step c, where b < c. On these steps the sets Eb and Ec are constructed. Moreover, EbEc. Assume there is an index t ∈ [s] such that the gate et is a first non-zero gate on the tuples xp and xp with respect to the corresponding sets. In particular, ht(xp) = ht(xp′) = 1. For any gate ejEc, where j < t, by the definition of first non-zero gate (with respect to the set Ec and hence, the set Eb) the following equality takes place: hj(xp) = hj(xp′) = 0. Also for any gate ejEc \ Eb, where j < t, by the property from Lemma 4, we obtain: hj(xp) = hj(xp) = 0. Values of gates ejEb, where j < t, are determined by values of other gates with smaller indices. Therefore, values of any gates with the indices less than t are equal on the tuples xp′ and xp. By the construction, the tuple xp′ differs from the tuple xp by the value of at least one component corresponding to an input variable such that it is connected directly with an input of the gate et.

That is, the antichain function gt corresponding to the gate et outputs 1 on a pair of comparable tuples. This contradicts the fact that gt is an antichain function. Lemma 6 is proved. □

Let us finish the proof of Lemma 1. Recall that the constructed chain C contains n + 1 tuplessssssssss of the cube {0, 1}n. The circuit outputs the same value on all tuples of C such that there are no first non-zero gates on them with respect to a corresponding set. Denote this value by a ∈ {0, 1}. There exists a first non-zero gate on any tuple of the chain on which the circuit outputs 1 − a. The function f(x1, …, xn) takes value 1 on k(f) tuples of this chain and value 0 on n + 1 − k(f) tuples. There are two possible cases.

  1. If a = 0, then for any tuple on which the circuit outputs 1 there exists a first non-zero gate in the circuit. That is, there are first non-zero gates on k(f) tuples of the chain C. By Lemma 6, all these gates are different. Therefore, L(S) ⩾ k(f).

  2. If a = 1, then for any tuple on which the circuit outputs 0 there exists a first non-zero gate in the circuit. That is, there are first non-zero gates on n + 1 − k(f) tuples of the chain C. Similarly, by Lemma 6, we obtain: L(S) ⩾ n + 1 − k(f). Moreover, the last circuit gate es is not the first non-zero one, i.e. if there is a first non-zero gate on a tuple, then the circuit outputs 0 on it, and the gate es as well. Therefore, L(S) ⩾ n + 2 − k (f).

We have shown that L(S) ⩾ min k(f), nk(f) + 2. Since the circuit S is arbitrary, we obtain the similar inequality for L(f). Lemma 1 is completely proved.

3.4 Proof of Lemma 2

Consider an arbitrary symmetric Boolean function f(x1, …, xn). We split the proof into two parts. In the first one we will prove the bound L(f) ⩽ k(f) and then we will show the bound L(f) ⩽ nk(f) + 2. These two bounds together will give us the statement required.

Proof.

  1. Let the function f be equal to 1 on layers with indices i1, …, ik(f), where i1 < … < ik(f).

    Recall that by x we denote a set of values of variables (x1, …, xn). For a function f, for any t ∈ {i1, …, ik(f)} we define a function ht(x) as follows: ht(x)=1iffp=1nxp=it. Clearly, all the functions ht are antichains since they are characteristic functions of layers of the cube.

    Denote by y a set of values of variables (y1, …, yk(f)−1).

    Let M1 be a set of tuples (y, x) such that three properties take place simultaneously: 1) there exists j ∈ [k(f) − 1] such that yj = 1; 2) yq = 0 for all qj; 3) p=1nxp=ij. Let M2 be a set of tuples (y, x) such that the following properties take place: yq = 0 for all q ∈ [k(f) − 1] and p=1nxp=ik(f).

    Define a function g of k(f) − 1 + n variables y1 …, yk(f)−1, x1 …, xn as follows: g(y, x) = 1 iff the tuples (y, x) belong to the set M1M2.

    It is easy to see that the function g is antichain. Indeed, consider two tuples from the support of g : (y1, x1) ≠ (y2, x2). If (y1, x1),(y2, x2) ∈ M1 and y1y2, then the tuples are incomparable. If (y1, x1), (y2, x2) ∈ M1 and y1 = y2, then the indices of the components where ij ones appear in the tuple x1 differ from those in the tuple x2. That is, the tuples (y1, x1) and (y2, x2) are incomparable. If (y1, x1), (y2, x2) ∈ M2, then, similarly to the previous case, it is easy to see that the tuples are incomparable. If without loss of generality (y1, x1) ∈ M1, (y2, x2) ∈ M2, then y1 > y2 and there are more ones in x2 than in x1. Therefore, the tuples (y1, x1), (y2, x2) are incomparable.

    Let us compute the function f(x) as follows:

    (1)f(x)=g(h1(x),,hk(f)1(x),x).

    That is, if we feed to the function g the characteristic functions of the layers whose union forms the support of f, except the function hk(f), then we obtain a realization of the function f.

    Let us verify the equality (1). Consider an arbitrary tuple α = (α1, …, αn). There are two possibilities.

    1. f(α) = 1, then p=1nαp{i1,,ik(f)}. If p=1nαpik(f)1, then there exists an index j ∈ [k(f) − 1] such that hj(α) = 1 and hq(α) = 0, and p=1nαp=ij for all qj. Thus, the tuple (y, α), where (y1,,yk(f)1,α)=(h1(α),,hk(f)1(α),α), belongs to the set M1. Hence, g(y, α) = 1. If p=1nαp=ik(f), then yq = hq(α) = 0 for all q ∈ [k(f) − 1]. That is, the tuple (y, α) belongs to the set M2 and therefore g(y, α) = 1.

    2. f(α) = 0, then hj(α) = 0 for all j ∈ [k(f)]. In particular, hk(f)(α) = 0. Thus, p=1nαpik(f). It follows that the tuple (y,α)=(h1(α),,hk(f)1(α),α) belongs neither to M1, nor to M2. Therefore, g(y, α) = 0.

    From the equality (1) it follows that the function f may be computed in the AC basis by a circuit of the complexity at most k(f).

    That is, for any symmetric function f there exists a circuit S of the complexity L(Sf) ⩽ k(f) such that it computes f and has the following property: for any gate of the circuit its inputs are connected to all the circuit inputs.

  2. From the proof of the Case 1 it follows that for the function f¯ the inequality L(f¯)k(f¯), where k(f¯)=n+1k(f), takes place. That is, the function f may be computed by a circuit of the complexity at most n + 1 − k(f). By a gate computing negation, from any circuit computing f¯ we can easily obtain a circuit computing f. That is, L(f) ⩽ nk(f) + 2.

Hence, for an arbitrary symmetric function f, we have shown that L(f) ⩽ min (k(f), nk(f) + 2). So, Lemma 2 is proved. □

The proofs of Lemmas 1 and 2 together give the proof of Theorem 1.

4 Proof of Theorem 2

For the majority function k(mn)=n2+1. By Theorem 1, we obtain: L(mn)=n2+1. For the parity function k(pn)=n+12. Correspondingly, by Theorem 1, we obtain: L(pn)=n+12. This proves Theorem 2.

Note that the maximum of the upper bound from Lemma 2 is achievable: for odd n it is equal to the complexities of the functions mn, pn and p¯n, and for even n, it is equal to the complexities of the functions mn and p¯n.


Note: Originally published in Diskretnaya Matematika (2015) 27, No3, 95–107 (in Russian).


Acknowledgment

The author is grateful to professor O. M. Kasim-Zade for stating the problem and constant attention. The author is also grateful to A. V. Kochergin for helpful comments.

References

[1] Kasim-Zade O. M., “On the complexity of circuits in an infinite basis”, Vestnik Moskovskogo Un-ta. Ser. 1. Matem. Mekh., 6 (1994), 40-44 (in Russian).Search in Google Scholar

[2] Kasim-Zade O. M., “On the complexity of the realization of Boolean functions by circuits in an infinite basis”, Diskret. Anal. Issled. Oper., 2:1 (1995), 7-20 (in Russian).10.1007/978-94-011-5678-3_7Search in Google Scholar

[3] Lupanov O. B., “A method of circuit synthesis”, Izvestiya Vysshikh Uchebnykh Zavedenii. Radiofizika, 1:1 (1958), 120-140 (in Russian).Search in Google Scholar

[4] Lupanov O. B., Asymptotic Estimates of Complexity of Control Systems, Izd-vo Moskovskogo Un-ta, 1984 (in Russian).Search in Google Scholar

[5] Podolskaya O. V., “On the circuit complexity lower bounds in antichain basis.”, Vestnik Moskovskogo Universiteta. Seriya 1. Matematika. Mekhanika, 68:2 (2013), 17-23 (in Russian).Search in Google Scholar

[6] Podolskaya O. V., “On the complexity of circuits in a certain infinite basis.”, Proc. 9th Young Scientists School on Discrete Math. and Appl. (Moscow, 2013), 2013, 97-100 (in Russian).Search in Google Scholar

Received: 2015-2-16
Published Online: 2016-2-15
Published in Print: 2016-1-1

© 2016 Walter de Gruyter GmbH, Berlin/Boston

Downloaded on 30.11.2025 from https://www.degruyterbrill.com/document/doi/10.1515/dma-2016-0003/html
Scroll to top button