Full Text
Cybernetics and Control Theory
E. I. Nechiporuk
On the Synthesis of \(\mathfrak{R}\)-Circuits
(Presented by Academician M. V. Keldysh on 31 VII 1960)
The analogy between Boolean structures, on the one hand, and Boolean rings, on the other, makes it possible to define circuits similar to contact-gate circuits, in which the conductivity of a chain is computed in the same way as in contact-gate circuits, while the conductivity of a circuit is computed using addition modulo 2 instead of Boolean addition. For the definition to be correct, it is also necessary that all edges of the circuit be oriented and that the circuit contain no loops having nonzero conductivity. We shall call such objects \(\mathfrak{R}\)-circuits.
Fig. 1
In the present work a method is considered for synthesizing \(\mathfrak{R}\)-circuits that yields circuits with an asymptotically smallest number of contacts.
Let \(H\) be an unoriented graph without loops \((^{1})\), every pair of whose edges is incident to more than two vertices. Let it have vertices \(P_\alpha\), \(\alpha=1,\ldots,m\), and \(N\) edges, and let \((\alpha_1,\alpha_2)\) be the incidence relation of the vertices in \(H\). Further, let \(\{h_\beta\}\), \(\beta=1,\ldots,N\), be a system of pairwise orthogonal Boolean functions. Put into one-to-one correspondence with the edges \((P_{\alpha_1},P_{\alpha_2})\) the functions
\[
h_{\beta_{\alpha_1,\alpha_2}}\quad (1 \le \beta_{\alpha_1,\alpha_2} \le N)
\]
and set
\[
g_\alpha=\bigvee_{\substack{\alpha'\\(\alpha,\alpha')=1}} h_{\beta_{\alpha,\alpha'}}.
\]
We shall call the function \(g_\alpha\) associated with the vertex \(P_\alpha\).
Lemma 1.
\[
g_{\alpha_1}g_{\alpha_2}=
\begin{cases}
0, & \text{if } (\alpha_1,\alpha_2)=0,\\
h_{\beta_{\alpha_1,\alpha_2}}, & \text{if } (\alpha_1,\alpha_2)=1.
\end{cases}
\]
Let \(\widetilde L_{\mathfrak R}(n)\) denote the minimal number such that, by \(\mathfrak{R}\)-circuits having no more than \(\widetilde L_{\mathfrak R}(n)\) contacts, one can realize any function of the algebra of logic in \(n\) arguments; let \(\widetilde L(n)\) be the corresponding number for contact-gate circuits.
Lemma 2.
\[
2^{n/2}\lesssim \widetilde L(n)\lesssim 2\cdot 2^{n/2}.
\tag{1}
\]
Proof. Lower bound. In place of each contact \(x\) of the circuit, the circuit shown in Fig. 1 is substituted. The resulting circuit is equivalent to the original one, but in it all chains pass through contacts in one direction; one end of a contact is an input, the other an output. The conductivity of a circuit of \(L\) contacts (one of which is a “source”) is uniquely determined by the names of the contacts and by the square matrix
\[
B\{b_{i,j}\}_1^L,\quad b_{i,j}=1,
\]
if and only if there is a chain, passing through gates, from the output of the \(i\)-th contact to the input of the \(j\)-th contact.
Upper bound. For even \(n\) the upper bound follows from \((^{2,3})\). Let \(n=2k+1\). The arguments are divided into groups:
\[
\tilde x=(\tilde x_1,\tilde x_2,\tilde x_3);
\]
\(\tilde x_1,\tilde x_2\) contain \(k-t\) letters each, \(\tilde x_3\) contains \(2t+1\) letters. As the set
\(\{h_\rho\}\) (Lemma 1) is taken to be the set of all conjunctions \(K_{\tilde{\sigma}_3}(\tilde{x}_3)\)*. Let the graph \(H\) have \(2T\) vertices, \(T=[2^{(2t+1)/2}]+1\), divided into two groups of \(T\) vertices each. Edges occur only between vertices from different groups; in all there are \(2^{2t+1}\) edges. Let \(\{g_{\gamma,\delta}\}\) be the set of functions associated with the vertices of the \(\delta\)-th group of the graph \(H\) \((\delta=1,2;\ 1\le \gamma \le T)\), and let \(\tilde{\sigma}_3(\gamma_1,\gamma_2)\) be such a vector that
\(K_{\tilde{\sigma}_3(\gamma_1,\gamma_2)}=g_{\gamma_1,1}g_{\gamma_2,2}\). Then
\[ f(\tilde{x})= \bigvee_{\gamma_1,\gamma_2,\tilde{\sigma}_1,\tilde{\sigma}_2} g_{\gamma_1,1}(\tilde{x}_3) K_{\tilde{\sigma}_1}(\tilde{x}_1) g_{\gamma_2,2}(\tilde{x}_3) K_{\tilde{\sigma}_2}(\tilde{x}_2) f(\tilde{\sigma}_1,\tilde{\sigma}_2,\tilde{\sigma}_3(\gamma_1,\gamma_2)). \tag{2} \]
The circuit (see Fig. 2) is constructed from two contact circuits \(S^1\) and \(S^2\) and a valve circuit connecting, in accordance with (2), the outputs of circuit \(S^1\) with the inputs of circuit \(S^2\). The circuit \(S^\delta\) \((\delta=1,2)\) realizes the functions \(g_{\gamma,\delta}(\tilde{x}_3)\) and \(K_{\tilde{\sigma}_\delta}(\tilde{x}_\delta)\), and consists of a circuit \(G^\delta\) over \(\tilde{x}_3\), realizing the functions \(g_{\gamma,\delta}\) (obtained from the contact tree), and \(T\) circuits \(K^\delta\), each realizing all conjunctions \(K_{\tilde{\sigma}_\delta}(\tilde{x}_\delta)\) (asymptotically with \(2^{k-t}\) contacts \((^3)\)). Put \(t,k-t\to\infty\).
[In Fig. 2: \(G^1\), \(K^1\), “vertical multipole,” \(K^2\), \(G^2\); brackets \(S^1\), \(S^2\).]
Fig. 2
Remark. If in the circuit there are no loops passing through more than one contact, then the lower bound in (1) increases to \(\sqrt{2}\cdot 2^{n/2}\) (in this case, with a suitable numbering of the contacts, the matrix \(B\) will be triangular).
Theorem.
\[ \tilde{L}_{\mathfrak R}(n)\sim \sqrt{2}\cdot 2^{n/2}. \]
Proof. The lower bound follows from the remark.
Upper bound (and method of synthesis). Let \(n\) be even, \(n=2kr+2s\). We describe one special representation of the function.
1) The arguments are divided into groups:
\[
\tilde{x}=(\tilde{x}_1,\ldots,\tilde{x}_{2k},\tilde{y}^{+},\tilde{y}^{-});
\]
\[
\tilde{x}_i=(x_i^1,\ldots,x_i^r),\quad i=1,\ldots,2k;
\]
\(\tilde{y}^{+},\tilde{y}^{-}\) contain \(s\) letters each. In the set of nonzero vectors of values of the arguments \(\tilde{x}_i\), a system \(\{S_{i,j}\}\), \(j=1,\ldots,m=\left[\dfrac{2^r-1}{r}\right]\), of nonintersecting groups of \(r\) vectors in each group is singled out so that all vectors of one group are linearly independent \((^4)\). We shall denote the characteristic functions of the sets \(S_{i,j}\) by \(S_{i,j}\). The remaining vectors, including the zero vector, we denote by \(\tau_t\), \(t=1,\ldots,d;\ d\le r\). We denote by \(T_i\) the characteristic function of the set \(\{\tau_t\}\) of value vectors of the arguments \(\tilde{x}_i\).
2) Let
\[
V_{\tilde{\pi}}=\&_{i=1}^{2k} S_{i,j_i},\quad
\pi=(j_1,\ldots,j_{2k}),\quad j_i=1,\ldots,m.
\]
It follows from Lemma 2 in \((^4)\) that for every function \(\varphi(\tilde{x}_1,\ldots,\tilde{x}_{2k})\) satisfying the condition
\[
\varphi(\tilde{x}_1,\ldots,\tilde{x}_{2k})V_{\tilde{\pi}}
=
\varphi(\tilde{x}_1,\ldots,\tilde{x}_{2k}),
\]
there is a Zhegalkin polynomial \((^5)\)**
\[ G[\varphi]= \bigoplus_{\tilde{\rho}} u[\varphi;\tilde{\rho}]\, x_1^{r_1}\cdots x_{2k}^{r_{2k}}, \quad \tilde{\rho}=(r_1,\ldots,r_{2k}),\quad 1\le r_i\le r,\quad u[\varphi;\tilde{\rho}]=0,1, \tag{3} \]
\(*\) \(K_{\tilde{\sigma}}(\tilde{y})\) denotes \((y^1)^{\sigma^1}\cdots (y^n)^{\sigma^n}\), where \(\tilde{y}=(y^1,\ldots,y^n)\), \(\tilde{\sigma}=(\sigma^1,\ldots,\sigma^n)\), and \((y)^\sigma\) is \(y\) for \(\sigma=1\) and \(\bar y\) for \(\sigma=0\).
\(**\) \(\sum,\ \oplus\) denote addition mod 2.
such that
\[ \varphi(\tilde{x}_1,\ldots,\tilde{x}_{2k})=V_{\tilde{\pi}}G[\varphi]. \tag{4} \]
3) Let us take as the set of functions \(\{h_\beta\}\) (Lemma 1) the set of all \(m^{2k}\) functions \(V_{\tilde{\pi}}\). Let the graph \(H\) have \(2k\) groups of nodes with
\[ T=\left[\,\sqrt{2}\,m^k/\sqrt{2k(2k-1)}\,\right]+1 \]
nodes in each group; edges occur only between nodes from different groups; in all there are \(m^{2k}\) edges. Denote by \(W_{p,q}\) the function associated with the \(q\)-th node of the \(p\)-th group, and let
\[ V_{p,q,p',q'}=W_{p,q}W_{p',q'} \]
(\(V_{p,q,p',q'}\) is either \(V_{\tilde{\pi}}\) for some \(\tilde{\pi}\), or \(0\));
\[ V^+_{p,p',q}=\sum_{q'} V_{p,q,p',q'},\qquad p'>p; \]
\[ V^-_{p,p',q}=\sum_{q'} V_{p,q,p',q'},\qquad p'<p. \]
It is obvious that
\[ V^+_{p,p',q}V^-_{p',p,q'}=V_{p,q,p',q'}. \]
Fig. 3
4) Remove from the collection \((\tilde{x}_1,\ldots,\tilde{x}_{2k})\) the groups of arguments \(\tilde{x}_p,\tilde{x}_{p'}\), \(p'>p\); distribute the remaining groups arbitrarily into two subcollections of \(k-1\) groups; denote them by \(\mathfrak{M}^+_{p,p'}\), \(\mathfrak{M}^-_{p',p}\). Then for any \(\tilde{\rho}=(r_1,\ldots,r_{2k})\)
\[ x_1^{r_1}\cdots x_{2k}^{r_{2k}} = E^+_{p,p',\tilde{\rho}}E^-_{p',p,\tilde{\rho}}x_p^{r_p}x_{p'}^{r_{p'}}, \]
where \(E^+_{p,p',\tilde{\rho}}\bigl(E^-_{p',p,\tilde{\rho}}\bigr)\) are conjunctions of arguments from \(\{x_1^{r_1},\ldots,x_{2k}^{r_{2k}}\}\) that belong to \(\mathfrak{M}^+_{p,p'}\bigl(\mathfrak{M}^-_{p',p}\bigr)\). Put
\[ U^+_{p,q,\tilde{\rho}}=\sum_{p''>p} V^+_{p,p'',q}E^+_{p,p'',\tilde{\rho}}, \]
\[ U^-_{p,q,\tilde{\rho}}=\sum_{p''<p} V^-_{p,p'',q}E^-_{p,p'',\tilde{\rho}}. \]
Then, for \(p'>p\),
\[ U^+_{p,q,\tilde{\rho}}U^-_{p',q',\tilde{\rho}}x_p^{r_p}x_{p'}^{r_{p'}} = V_{p,q,p',q'}x_1^{r_1}\cdots x_{2k}^{r_{2k}}. \tag{5} \]
5) By virtue of (3)—(5), the function \(f(\tilde{x})\) can be represented in the form
\[ f(\tilde{x})=f^{(1)}(\tilde{x})\oplus f^{(2)}(\tilde{x}); \]
\[ f^{(1)}(\tilde{x})K_{\tilde{\tau}_t}(\tilde{x})f(\tilde{x}_1,\ldots,\tilde{x}_{t-1},\tilde{\tau}_t,\tilde{x}_{t+1},\ldots,\tilde{x}_{2k},\tilde{y}^+,\tilde{y}^-)\ \&\ \prod_{u=1}^{l-1}\bar T_u(\tilde{x}_u), \]
\[ f^{(2)}(\tilde{x}) = \sum_{\substack{p,p',q,q'\\ p'>p\\ \tilde{\sigma}^+,\tilde{\sigma}^-,\tilde{\rho}}} \left(U^+_{p,q,\tilde{\rho}}K_{\tilde{\sigma}^+}(\tilde{y}^+)x_p^{r_p}\right) \left(U^-_{p',q',\tilde{\rho}}K_{\tilde{\sigma}^-}(\tilde{y}^-)x_{p'}^{r_{p'}}\right) \times \]
\[ \times u\left[f(\tilde{x})V_{p,q,p',q'}K_{\tilde{\sigma}^+}K_{\tilde{\sigma}^-};\tilde{\rho}\right]. \tag{6} \]
The circuit for the function \(f\) is obtained by parallel connection of circuits for \(f^{(1)}\) and for \(f^{(2)}\). The latter is built from blocks \(A_{p,q}\), which are connected in parallel and, in addition, are linked with one another by valves. The block \(A_{p,q}\) (see Fig. 3) consists of separate subblocks. The subblocks \(V^+_{p,p',q}\), \(p'>p\), and \(V^-_{p,p',q}\), \(p'<p\), realize the functions \(V^+_{p,p',q}\), \(V^-_{p,p',q}\). All subblocks \(V^+_{p,p',q}\), \(V^-_{p,p',q}\) (of the block \(A_{p,q}\)) together contain not more than \(2kr^2(2k-1)T\)
contacts. The input (output) of the subblock \(D^{+}(D^{-})\)—a dichotomous tree over \(\widetilde y^{+}(\widetilde y^{-})\)—is connected with the output (input) of each subblock \(V^{+}_{p,p',q}\bigl(V^{-}_{p,p',q}\bigr)\). The outputs (inputs) of the subblocks \(D^{+}(D^{-})\) will be called like-named if the conductivities between them and the inputs (outputs) of the subblocks \(D^{+}(D^{-})\) are equal. With the outputs (inputs) of the subblocks \(D^{+}(D^{-})\) connected with the subblocks \(V^{+}_{p,p',q}\bigl(V^{-}_{p,p',q}\bigr)\), the inputs (outputs) of the subblocks \(E^{+}_{p,p'}\bigl(E^{-}_{p,p'}\bigr)\) are connected. The subblock \(E^{+}_{p,p'}\bigl(E^{-}_{p,p'}\bigr)\) is a \((k-1)\)-level \(r\)-chotomic tree in which the contacts of the \(i'\)-th level issuing from one node (entering a node) are named by all the distinct variables of the \(i'\)-th group of the subcollection \(\mathfrak M^{+}_{p,p'}\bigl(\mathfrak M^{-}_{p,p'}\bigr)\). The subblock \(E^{+}_{p,p'}\bigl(E^{-}_{p,p'}\bigr)\) realizes the functions \(E^{+}_{p,p',\widetilde\rho}\bigl(E^{-}_{p,p',\widetilde\rho}\bigr)\), has \(r^{k-1}\) outputs (inputs), and contains
\[ \frac{r^{k}-r}{r-1} \]
contacts. The outputs (inputs) of all subblocks \(E^{+}_{p,p'}\bigl(E^{-}_{p,p'}\bigr)\), connected with like-named outputs (inputs) of the subblocks \(D^{+}(D^{-})\), corresponding to one selection \(\widetilde\rho\) (one output (input) from each subblock), are joined in \(r^{k-1}\) nodes. The nodes obtained from the subblocks \(E^{+}_{p,p'}\bigl(E^{-}_{p,p'}\bigr)\) will be called output (input) nodes. In all there are \(2^{s}r^{k-1}\) input and output nodes. Between the corresponding output and input nodes a subblock \(X_p\) is inserted (Fig. 4); in all there are \(2^{s}r^{k-1}\) subblocks \(X_p\). The input (output) end of each contact from \(X_p\) will be called the input (output) working pole of the block \(A_{p,q}\). The part of the block \(A_{p,q}\) formed by the subblocks \(V^{+}_{p,p',q}, D^{+}, E^{+}_{p,p'}\bigl(V^{-}_{p,p',q}, D^{-}, E^{-}_{p,p'}\bigr)\) will be called the input (output) part, and the part formed by the subblocks \(X_p\)—the working part. The conductivity of the block \(A_{p,q}\) is equal to 0. The block \(A_{p,q}\) has in all \(2^{s}r_k\) input and the same number of output working poles and contains no more than
\[ R=2kr^{2}(2k-1)T+(2k-1)(2^{s+1}-2)+\frac{r^{k}-r}{r-1}\,2^{s}(2k-1)+2^{s}r^{k} \]
contacts.
When constructing the circuit for \(f^{(2)}\), some pairs \((a,b)\) of working poles will be connected by valves from \(a\) to \(b\) (\(a\) is an output working pole from \(A_{p,q}\), \(b\) is an input working pole from \(A_{p',q'}\), \(p'>p\)).
The successive process of adding valves between the blocks \(A_{p,q}\) and \(A_{p',q'}\) with \(p'-p=1,2,\ldots,2k-1\) leads to a circuit for \(f^{(2)}\).
The total number of contacts in the circuit for \(f\) does not exceed
\[ L=2kTR+2Ckr2^{(n-r)/2}+2kr^{2}. \]
Put \(k=[\lg_2 n]\), \(r=[\,{\tfrac18} n/\lg_2 n\,]\), \(s=n/2-kr\). Then \(L\le \sqrt{2}\cdot 2^{n/2}\).
For \(n=2kr+2s+1\), the subblocks \(D^{+},D^{-}\) are constructed in the same way as the parts of the circuit in Fig. 2 situated above and below the valve circuit (see Lemma 2). The number of outputs (inputs) of the circuits \(D^{+}(D^{-})\) is asymptotically equal to \(2^{(2s+1)/2}\); the circuits \(D^{+},D^{-}\) contain asymptotically \(2^{(2s+1)/2}\) contacts.
The theorem is proved.
Received
26 VIII 1960
REFERENCES
- A. V. Kuznetsov, Tr. Matem. inst. im. V. A. Steklova AN SSSR, 51, 186 (1958).
- O. B. Lupanov, DAN, 111, No. 6, 1171 (1956).
- O. B. Lupanov, DAN, 119, No. 1, 23 (1958).
- É. I. Nechiporuk, DAN, 136, No. 3 (1961).
- I. I. Zhegalkin, Matem. sborn., 35, No. 3–4, 311 (1928).