Full Text
CYBERNETICS AND CONTROL THEORY
Yu. I. ZHURAVLEV
ALGORITHMS FOR SIMPLIFYING DISJUNCTIVE NORMAL FORMS OF FINITE INDEX
(Presented by Academician S. L. Sobolev on 4 IV 1961)
In the present note we use the concepts and notation introduced in \((^2,^3)\). Instead of the notation \(\varphi [S(\mathfrak A^{(i)}, \mathfrak N)]\) we introduce the more natural notation \(\varphi [\mathfrak A^{(i)}, S(\mathfrak A^{(i)}, \mathfrak N)]\).
It is known \((^3)\) that in the class of algorithms of finite index there is no algorithm which, for all functions \(f\) of the algebra of logic, from a reduced DNF \(\mathfrak N_f\) makes it possible to construct a DNF \((\mathfrak N_f)_{\Sigma M}\). At the same time, algorithms of finite index make it possible in a number of cases to carry out considerable simplifications of a reduced DNF. In the present note we study algorithms of finite index that make it possible to carry out the greatest possible simplifications of a DNF.
Application of such algorithms to a reduced DNF \(\mathfrak N_f\) makes it possible to construct DNFs
\[
(\mathfrak N_f)_1,\ldots,(\mathfrak N_f)_k,\ldots \supseteq
(\mathfrak N_f)_1 \supseteq \cdots \supseteq (\mathfrak N_f)_k \supseteq \cdots,
\]
possessing the principal properties of a reduced DNF:
1) to each function \(f\) of the algebra of logic there corresponds a unique DNF \((\mathfrak N_f)_i,\ i=1,2,\ldots,k,\ldots;\)
2) \((\mathfrak N_f)_{\Sigma M}\subseteq(\mathfrak N_f)_i,\ i=1,2,\ldots,k,\ldots;\)
3) it also turns out that, by applying algorithms of index \(k\) to the reduced DNF \(\mathfrak N_f\), one cannot obtain a DNF simpler than \((\mathfrak N_f)_k\).
Let \(\mathfrak N_f\) be a reduced DNF of the function \(f\), composed of unmarked conjunctions; \(\mathfrak N_f(A)\), \(\mathfrak N_f(B)\) are the images of \(\mathfrak N_f\) under algorithms \(A\) and \(B\), respectively. We shall say that the inequality \(A \geqslant B\) holds if, for all \(f\), the relation \(\mathfrak N_f(A)\supseteq\mathfrak N_f(B)\) is fulfilled.
An algorithm \(A\) of index \(k\) is called \(k\)-majorant if, for every algorithm \(B\) of index \(k\), the relation \(A\geqslant B\) holds.
If all algorithms generated by a function \(\varphi\) are \(k\)-majorant, then the function \(\varphi\) will also be called \(k\)-majorant.
We note that if an algorithm \(A\) is generated by a monotone function \(\varphi\) and is \(k\)-majorant, then the function \(\varphi\) is \(k\)-majorant.
We proceed to the construction of \(k\)-majorant functions
\(\varphi_k[\mathfrak A^{(i)}, S(\mathfrak A^{(i)}, \mathfrak N)]\)
\((k=1,2,\ldots,m,\ldots)\). In the constructions we use functions \(f(x_1\ldots x_n)\), defined on a nonempty subset of the set \(E_n\) of all vertices of the \(n\)-dimensional unit cube and taking the values 0 and 1 \((^1)\) (not everywhere defined functions of the algebra of logic).
Let a nonempty set \(\mathfrak M\) of functions of the algebra of logic and not everywhere defined functions of the algebra of logic be given. A conjunction \(\mathfrak A\) has property (0) relative to \(\mathfrak M\) if in \(\mathfrak M\) there exist functions \(f_1\) and \(f_2\) such that
\[
\mathfrak A\in(\mathfrak N_{f_1})_{\Sigma M},\qquad
\mathfrak A\notin(\mathfrak N_{f_2})_{\Sigma M}.
\]
A conjunction \(\mathfrak A\) has property (1) relative to \(\mathfrak M\) if: 1) for all \(f\) from \(\mathfrak M\) we have
\[
\mathfrak A\in(\mathfrak N_f)_{\Sigma M};
\]
2) in \(\mathfrak M\) there exist functions \(f_1\) and \(f_2\) such that
\[
\mathfrak A\in(\mathfrak N_{f_1})_{\cap M},\qquad
\mathfrak A\notin(\mathfrak N_{f_2})_{\cap M}.
\]
A conjunction \(\mathfrak A\) has property (2) relative to \(\mathfrak M\) if, for all \(f\) from \(\mathfrak M\), we have
\[
\mathfrak A\notin(\mathfrak N_f)_{\Sigma M}.
\]
A conjunction \(\mathfrak A\) has …
has property (3) with respect to \(\mathfrak N\), if for all \(f\) from \(\mathfrak N\) the relations \(\mathfrak A \in (\mathfrak N_f)_{\Sigma M}\), \(\mathfrak A \notin (\mathfrak N_f)_{\cap M}\) are satisfied. The conjunction \(\mathfrak A^{(i)}\) has property (4) with respect to \(\mathfrak N\), if for all \(f\) from \(\mathfrak N\) the relation \(\mathfrak A \in (\mathfrak N_f)_{\cap M}\) is satisfied.
Definition. We shall call a conjunction \(\mathfrak A^{(f)}\), \(j \in \{0,1,2,3,4\}\), and a function \(f\) consistent if one of the conditions 1)—5) is fulfilled: 1) \(j=0\); 2) \(j=1\), \(\mathfrak A \in (\mathfrak N_f)_{\Sigma M}\); 3) \(j=2\), \(\mathfrak A \notin (\mathfrak N_f)_{\Sigma M}\); 4) \(j=3\), \(\mathfrak A \in (\mathfrak N_f)_{\Sigma M}\), \(\mathfrak A \notin (\mathfrak N_f)_{\cap M}\); 5) \(j=4\), \(\mathfrak A \in (\mathfrak N_f)_{\cap M}\). A set of conjunctions \(\{\mathfrak A_1^{(j_1)}, \mathfrak A_2^{(j_2)}, \ldots, \mathfrak A_l^{(j_l)}\}\) and \(f\) are consistent if all \(\mathfrak A_i^{(j_i)}\) \((i=1,2,\ldots,l)\) are consistent.
Let \(\mathfrak N_f\) be a reduced d.n.f. of a Boolean-algebra function \(f(x_1,\ldots,\ldots,x_n)\), \(\mathfrak A^{(j)} \in \mathfrak N_f\), and
\[
S_k(\mathfrak A^{(j)},\mathfrak N_f)=\{\mathfrak A^{(j)},\mathfrak B_1^{(j)},\ldots,\mathfrak B_l^{(j)}\}
\]
be the principal neighborhood of order \(k\) of the conjunction \(\mathfrak A^{(j)}\) in the d.n.f. \(\mathfrak N_f\) \((S_0(\mathfrak A^{(j)},\mathfrak N_f)=\{\mathfrak A^{(j)}\})\).
Denote by \(K_n(\mathfrak A^{(j)},S_k,\mathfrak N_f)\) the set of Boolean-algebra functions \(\psi_i(x_1,\ldots,x_n)\) such that: 1) \(M[S_k(\mathfrak A^{(j)},\mathfrak N_{\psi_i})]=M[S_k(\mathfrak A^{(j)},\mathfrak N_f)]\); 2) \(\psi_i\) and \(S_k(\mathfrak A^{(j)},\mathfrak N_f)\) are consistent. The conjunction \(\mathfrak A^{(j)}\) has, with respect to \(K_n(\mathfrak A^{(j)},S_k,\mathfrak N_f)\), one of the properties (0), (1), (2), (3), (4).
We define the functions \(\varphi_k(\mathfrak A^{(j)},S_k(\mathfrak A^{(j)},\mathfrak N_f))\), \(k=1,2,\ldots,m,\ldots\), as follows:
\(\mathfrak A^{(j)}\) has, with respect to \(K_n(\mathfrak A^{(j)},S_k,\mathfrak N_f)\), property \((i)\), \(i\in\{0,1,2,3,4\}\);
\[ \varphi_k[\mathfrak A^{(j)},S_k(\mathfrak A^{(j)},\mathfrak N_f)]=(i). \tag{1} \]
Theorem 1. The functions \(\varphi_k[\mathfrak A^{(j)},S_k(\mathfrak A^{(j)},\mathfrak N_f)]\) are monotone \((k=1,2,\ldots,\ldots,m,\ldots)\).
It follows from Theorem 1 that all algorithms generated by the function \(\varphi_k\) are equivalent. We shall therefore speak of a single algorithm generated by the function \(\varphi_k\), and denote it by \(A_k\).
Theorem 2. The functions \(\varphi_k\) and, consequently, the algorithms \(A_k\) are \(k\)-majorant.
Applying to \(\mathfrak N_f\) the algorithms generated by the functions \(\varphi_1,\varphi_2,\ldots,\varphi_m,\ldots\), we obtain d.n.f.’s \((\mathfrak N_f)_1,\ldots,(\mathfrak N_f)_m,\ldots\), possessing properties (1), (2), (3).
Let us also note that, for any \(m>0\), there is a function \(f(x_1,\ldots,\ldots,x_{n(m)})\) such that \(M[(\mathfrak N_f)_m \setminus (\mathfrak A_f)_{m-1}]\) is nonempty.
The computation of \(\varphi_k\), based on definition (1), is connected with great difficulties. Below we shall construct functions \(\Phi_k\), \(k=1,2,\ldots,m,\ldots\), which generate algorithms weaker than \(\varphi_k\), but more simply computable.
Let \(\mathfrak A^{(j)}\in\mathfrak N_f\) and
\[
S_k(\mathfrak A^{(j)},\mathfrak N_f)=\{\mathfrak A^{(j)},\mathfrak B_2^{(i_1)},\ldots,\mathfrak B_l^{(i_l)}\},\qquad
S_{k-1}(\mathfrak A^{(j)},\mathfrak N_f)=\{\mathfrak A^{(j)},\mathfrak A_1^{(i_1)},\ldots,\mathfrak A_p^{(i_p)}\}.
\]
We denote:
\[
M_k(\mathfrak A^{(j)},\mathfrak N_f)=\bigcup_{i=1}^{l} N_{\mathfrak B_i}\cup N_{\mathfrak A},
\]
\[
M_{k-1}(\mathfrak A^{(j)},\mathfrak N_f)=\bigcup_{i=1}^{p} N_{\mathfrak A_i}\cup N_{\mathfrak A},\qquad
M_{k-1,k}=M_k\setminus M_{k-1}.
\]
We shall denote the set of all subsets of \(M_{k-1,k}\) by \(\overline M_{k-1,k}\); the set of all vertices of the \(n\)-dimensional unit cube by \(\overline E_n\). To each element \(\overline m_\alpha\) of \(\overline M_{k-1,k}\) we assign a not everywhere defined Boolean-algebra function-
vertices of logic:
\[ f(x_1 \ldots x_n)= \begin{cases} 1, & \text{if } (x_1 \ldots x_n)\in [M_k(\mathfrak A^{(j)},\mathfrak A_l)\setminus \overline{\mathfrak M}_a],\\ 0, & \text{if } (x_1 \ldots x_n)\in [E_n\setminus M_k(\mathfrak A^{(j)},\mathfrak A_l)],\\ \text{undefined}, & \text{if } (x_1 \ldots x_n)\in \overline{\mathfrak M}_a . \end{cases} \]
We shall denote the set of functions thus obtained by \(\{F_{M_k}\}\). From \(\{F_{M_k}\}\) we single out all functions with which the conjunctions \(\mathfrak A^{(j)}, \mathfrak B^{(i_1)}_1,\ldots,\mathfrak B^{(i_l)}_l\) are compatible. We shall denote the set of such functions by \(\{F_{S M_k}\}\).
Define the function \(\widetilde\varphi_k\) as follows:
\(\mathfrak A^{(j)}\) has, relative to \(\{F_{S M_k}\}\), property \((i)\) \((i\in\{0,1,2,3,4\})\).
\[ \widetilde\varphi_k[\mathfrak A^{(j)}, S_k(\mathfrak A^{(j)},\mathfrak A_l)]=(i). \tag{11} \]
Theorem 3. The functions \(\widetilde\varphi_k,\ k=1,2,\ldots,m,\ldots,\) are monotone.
Using definition (11), it is not difficult to construct an algorithm for computing \(\widetilde\varphi_k\).
In the set \(M_k\) select all points at distance not greater than \(1\)* from \(M_{k-1,k}\). Denote the resulting set by \(M^0_{k-1,k}\cup M^1_{k-1,k}\).
Theorem 4. If the neighborhood \(S_k(\mathfrak A^{(j)},\mathfrak A(x_1\ldots x_n))\) is such that the set \(M^0_{k-1,k}\cup M^1_{k-1,k}\) is contained in the set of vertices of a face of dimension \(m\), and \(m\le n-2\), then
\[ \varphi_k[\mathfrak A^{(j)}, S_k(\mathfrak A^{(j)},\mathfrak A(x_1\ldots x_n))] = \widetilde\varphi_k[\mathfrak A^{(j)}, S_k(\mathfrak A^{(j)},\mathfrak A(x_1\ldots x_n))]. \]
We shall call the neighborhood \(S_k(\mathfrak A^{(j)},\mathfrak A(x_1\ldots x_n))\) nondegenerate for \((\mathfrak A^{(j)},\mathfrak A)\) if in \(S_k(\mathfrak A^{(j)},\mathfrak A)\) there is no conjunction \(\mathfrak B^{(i)}\) such that \(N_{\mathfrak B}\subseteq M_{k-1,k}\).
Theorem 5. If \(S_k(\mathfrak A^{(j)},\mathfrak A)\) is nondegenerate for \((\mathfrak A^{(j)},\mathfrak A(x_1\ldots x_n))\), and the set \(M^0_{k-1,k}\cup M^1_{k-1,k}\) is contained in the set of vertices of a face of dimension not greater than \(n-1\), then
\[ \varphi_k[\mathfrak A^{(j)}, S_k(\mathfrak A^{(j)},\mathfrak A)] = \widetilde\varphi_k[\mathfrak A^{(j)}, S_k(\mathfrak A^{(j)},\mathfrak A)]. \]
Theorems 4 and 5 indicate conditions under which \(\varphi_k\) and \(\widetilde\varphi_k\) coincide on the given neighborhood \(S_k(\mathfrak A^{(j)},\mathfrak A)\). Under these conditions, the computation of \(\varphi_k\) may be carried out on the basis of definition (11).
Institute of Mathematics with Computing Center
Siberian Branch of the Academy of Sciences of the USSR
Received
3 III 1961
REFERENCES
- Yu. I. Zhuravlev, Tr. Matem. inst. im. V. A. Steklova AN SSSR, 51, 143 (1958).
- Yu. I. Zhuravlev, DAN, 132, No. 2 (1960).
- Yu. I. Zhuravlev, DAN, 132, No. 3 (1960).
\[ {}^*\ \rho(\alpha,\beta)=\sum_{i=1}^{n}|\alpha_i-\beta_i| \quad (\alpha=\alpha_1\ldots\alpha_n),\ \beta=(\beta_1\ldots\beta_n). \]