MATHEMATICS
E. I. NECHIPORUK
Submitted 1958-01-01 | RussiaRxiv: ru-195801.60750 | Translated from Russian

Abstract

Full Text

MATHEMATICS

E. I. NECHIPORUK

ON THE SYNTHESIS OF CIRCUITS BY MEANS OF LINEAR TRANSFORMATIONS OF VARIABLES

(Presented by Academician V. I. Smirnov, July 3, 1958)

1°. We consider the problem of synthesizing a circuit that realizes a Boolean function
(f(x_1, x_2, \ldots, x_n)). Denote (x={x_1,x_2,\ldots,x_n}), (y={y_1,y_2,\ldots,y_n}). Let (L={l_i}) be some set of nonsingular transformations of the variables (x=l_i y). The operators (l_i) are specified by functions (g_1^{(i)},\ldots,g_n^{(i)}), where (x_k=g_k^{(i)}(y)), (k=1,2,\ldots,n). A circuit realizing the function (f(x)) can be obtained from a circuit for (h(x)) if (f(x)=f(l_i y)=h(y)).

Definition. The functions (f(x)), (h(x)) are called equivalent with respect to the set (L), if there exists an (l_i\in L) such that (f(x)=h(l_i x)).

The problem of simplifying the circuit for (f(x)) can be posed as follows: find a transformation (l_i) that transforms (f(x)) into a function realized most simply.

In what follows, as (L) we take the collection of all nonsingular linear transformations, i.e., transformations for which the (g_k^{(i)}) are linear functions ((^8)). Such transformations can be represented in the form

[
x=Ay+\alpha,
\tag{1}
]

where (A={a_{ik}}) is a square matrix; (\alpha={\alpha_i}) is a vector; (a_{ik}) and (\alpha_i) are equal to 0 or 1; (\det A=1) (addition is performed mod 2). (L) forms a group. Transformations (1) will be denoted by ((A,\alpha)).

2°. All functions split into equivalence classes with respect to (L). We shall call the weight of (f(x)) the number of points (x) at which (f=1); we shall call the class (C_n^m) the set of all functions of (n) variables of weight (m). Obviously, if (f(x)\in C_n^m), then (f(lx)\in C_n^m). Denote by (N(n)) the number of all classes of functions of (n) variables with respect to (L); by (N^m(n)) the number of classes of all functions from (C_n^m) with respect to (L). Computations by Pólya’s method ((^{3-7})) give the values of (N^m(n)) and (N(n)) for (n=3,4,5), shown in Table 1.

Table 1

(n) (m=0) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 (N(n))
3 1 1 1 1 2 1 1 1 1 32
4 1 1 1 1 2 2 3 3 4 10
5 1 1 1 1 2 2 4 5 8 9 15 16 23 24 30 30 38 382

3°. We shall represent a Boolean function by a set of vertices of the (n)-dimensional unit cube, or by the set of vectors corresponding to these vertices:

[
f(x)\sim \bigcup_{i=1}^{m} p_i,
\tag{2}
]

(f(p_i)=1). Choose arbitrarily, among the (p_i), linearly independent vectors (p_1,p_2,\ldots,p_j) so that the remaining ones are expressed through them in the form

[
(p_{j+1},\ldots,p_m)=(p_1,\ldots,p_j)B,
]

where (B) is a matrix of type ([j\times(m-j)]), (j\le n). If the set of vectors (2) is written in the form of a matrix whose columns are the (p_i), then (f(x)\sim \varphi\cup\varphi B), where (\varphi) is the matrix whose columns are the vectors (p_1,\ldots,p_j), and (\cup) denotes the joining of matrices.

Theorem 1. Two functions (f(x)) and (h(x)) are equivalent with respect to the set of linear transformations of the form ((R,0)) if and only if they admit representations of the form (f(x)\sim \varphi\cup\varphi B), (h(x)\sim \psi\cup\psi B). In this case (R) can be determined from the equation (R\psi=\varphi).

Corollary 1. Two functions (f(x)) and (h(x)) are equivalent with respect to (L) if and only if, for some vector (\alpha), (f(x)\sim \varphi\cup\varphi B), (h(x+\alpha)\sim \psi\cup\psi B).

Corollary 2. If in some representations of (f(x)) and (h(x)) the matrices (\varphi) and (\psi) contain different numbers of columns, then (f(x)) and (h(x)) are not equivalent.

We shall call the function realized most simply by the given method the minimal representative of a class. Let all functions of the form (I\cup IC) be partitioned into classes ((I={a_{ik}},\ a_{ik}=0) for (i\ne k,\ a_{ii}=1)). Choose arbitrarily, for (f(x)) and (h(x)), representations (f(x)\sim \varphi\cup\varphi P), (h(x)\sim \psi\cup\psi Q). The equivalence of (f(x)) and (h(x)) is equivalent to the equivalence of (I\cup IP), (I\cup IQ). In this way, with the aid of tables in (2), all equivalence classes for (n=4) have been determined, and minimal representatives have been found for the synthesis method given in (2). In the case under consideration, the complexity of a circuit is determined by the number of grids. Denote by (\mu(n)) the average circuit complexity for the minimal representatives over all Boolean functions of (n) variables.

Theorem 2. In electron-tube circuits, (\mu(4)\le 5.81).

Fig. 1

4°. In the simultaneous realization of (q) functions the efficiency of the method increases if all linear functions are realized. There are (3n) inputs; static voltages (\tilde x_1,\ldots,\tilde x_n) are applied to the first (2n) inputs. To the remaining (n) inputs the voltage (x_i) is applied by a pulse at time (i). With the aid of rectifiers, from the dynamic (x_1,\ldots,x_n) we form (x_i+x_j), (x_i+x_j+x_k), and so on (Fig. 1). Each sum is fed to a recalculating cell (flip-flop). From the flip-flop both the function itself and its negation are taken. The entire circuit (S), realizing all linear functions, requires (2(2^n-n-1)) rectifiers and the same number of flip-flops. (g_1,g_2,\ldots,g_q) are circuits of the minimal representatives for the functions (f_1,f_2,\ldots,f_q). The circuit operates in (n) cycles (Fig. 2).

Fig. 2

5°. We shall describe a method for finding transformations that simplify a circuit in the case of arbitrary (n).

Represent the function in the form (2). To each row assign a characteristic—a pair of numbers: the first is the number of zeros in the row, the second the number

units. We say that the characteristic ([m_1, k_1]) is better than the characteristic ([m_2, k_2]) if (|m_1-k_1|>|m_2-k_2|).

Multiply the table on the left by a matrix (T_1={a_{ik}}) of the form ([n\times n]), where (a_{ik}=0) for (i>k), and (a_{ii}=1). We select the rows of the matrix from top to bottom so that the characteristics of each row improve. When each row is selected, only one row changes in the table for (f(x)), namely the row corresponding to the selected row in the matrix. We then continue the transformation with the aid of a lower triangular matrix (T_2) and replace some (x_i) by (\overline{x}_i) so that zeros dominate in each row. We obtain (f(T_2T_1x+\alpha)=\varphi(x)). In the table of (\varphi(x)) there are more zeros; therefore the described process, on average, shifts the vectors (f(x)) toward the zero vector, and (f(x)) approaches a monotone symmetric function. The circuit is simplified due to the appearance of invariants in (\varphi'(x)) such that (\varphi'(x)\to\varphi(x)).

Received
24 VI 1958

REFERENCES CITED

  1. G. N. Povarov, DAN, 94, No. 6 (1954).
  2. Synthesis of electronic computing and control circuits, Moscow, 1954.
  3. G. Pólya, Acta Math., 68, 145 (1937).
  4. G. Pólya, J. Symbolic Logic, 5, 3, 98 (1940).
  5. D. Slepian, Canad. J. Math., 5, 2, 185 (1953).
  6. T. Singer, Proc. Ass. Comput. Machinery, Pittsburgh, 1952, p. 287.
  7. R. L. Ashenhurst, ibid., p. 293.
  8. S. V. Yablonskii, DAN, 94, No. 5 (1954).

Submission history

MATHEMATICS