Abstract Generated abstract
The paper studies simplification of reduced disjunctive normal forms of Boolean functions by algorithms of finite index, in a setting where no such algorithm can always construct a minimal form. It defines a partial order on algorithms by the amount of simplification they achieve and introduces k-majorant algorithms, which are maximal among algorithms of a fixed index. Using neighborhoods of conjunctions and consistency conditions for Boolean and partially defined Boolean functions, the paper constructs monotone functions generating k-majorant algorithms and hence a nested sequence of canonical simplified DNFs. It also proposes more computable weaker functions and gives geometric conditions on neighborhoods of cube vertices under which these functions coincide with the majorant constructions.
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). \]