Full Text
MATHEMATICS
Yu. I. ZHURAVLEV
ON A CLASS OF ALGORITHMS OVER FINITE SETS
(Presented by Academician S. L. Sobolev on 28 II 1963)
In the paper \((^1)\) algorithms for simplifying disjunctive normal forms (d.n.f.) were described. The algorithm was considered in \((^1)\) as a process of successive accumulation of information about the conjunctions entering into the d.n.f. A substantial shortcoming of \((^1)\) is the circumstance that, for each conjunction, only the fact of the conjunction’s membership or nonmembership in \(\mathfrak{A}_{\Sigma M}\) or \(\mathfrak{A}_{\cap M}\) was remembered. Only this information, if it could be obtained in the course of the algorithm’s operation, was used at later stages of the algorithm. It is natural to describe and study algorithms with a richer memory. At the same time it turns out that the schemes considered in \((^1)\) fit the description of a broad class of algorithms computing information about elements of finite sets.
I. Let a family \(\{\mathfrak{M}\}\) of finite sets be given. For each pair \((\mathfrak{A}, \mathfrak{M})\) (here \(\mathfrak{M} \in \{\mathfrak{M}\}\), \(\mathfrak{A} \in \mathfrak{M}\)) a system of two-place predicates
\(P_1(\mathfrak{A}, \mathfrak{M}), \ldots, P_k(\mathfrak{A}, \mathfrak{M})\) is given. For example, if: 1) \(\{\mathfrak{M}\}\) is the set of all shortened normal forms \(\mathfrak{R}\) of functions of Boolean algebra in variables entering into the set \(x_1, \ldots, x_n, \ldots\); 2) \(\mathfrak{R}\) is considered as the set of elementary conjunctions \(\mathfrak{A}_i\) entering into \(\mathfrak{R}\), then examples of predicates are: \(P_1(\mathfrak{A}, \mathfrak{R})\)—the conjunction \(\mathfrak{A}\) is contained in at least one of the minimal d.n.f.’s of the function realized by \(\mathfrak{R}\); \(P_2(\mathfrak{A}, \mathfrak{R})\)—the conjunction \(\mathfrak{A}\) is contained in all irredundant d.n.f.’s of the function realized by \(\mathfrak{R}\).
II. We shall assign to elements of sets from the system \(\{\mathfrak{M}\}\) tuples of marks \((\alpha_1 \ldots \alpha_n)\) and consider elements with marks (notation: \(\mathfrak{A}^{\alpha_1\ldots\alpha_k}\)). The tuple \((\alpha_1 \ldots \alpha_k)\) will be called the mark vector of the element \(\mathfrak{A}\) in the set \(\mathfrak{M}\), and \(\alpha_i\) the \(i\)-th coordinate of the vector. Each of the coordinates of the vector \((\alpha_1 \ldots \alpha_k)\) may take values from the set \(\{\Delta, 0, 1\}\). A mark vector is called admissible for the pair \((\mathfrak{A}, \mathfrak{M})\), \(\mathfrak{A} \in \mathfrak{M}\), if the following condition is fulfilled: for all coordinates \(\alpha_j\) of the vector \((\alpha_1 \ldots \alpha_k)\) taking the values \(0\) or \(1\), the relation \(\alpha_j = P_j(\mathfrak{A}, \mathfrak{M})\) holds. We shall consider sets from \(\{\mathfrak{M}\}\) composed of elements with admissible marks. Sets consisting of identical elements with different marks will be regarded as different.
III. To each pair \((\mathfrak{A}^{\alpha_1\ldots\alpha_k}, \mathfrak{M})\), \(\mathfrak{A}^{\alpha_1\ldots\alpha_k} \in \mathfrak{M}\), we associate a set \(S(\mathfrak{A}^{\alpha_1\ldots\alpha_k}, \mathfrak{M})\) of elements of \(\mathfrak{M}\), which we shall call the neighborhood of \(\mathfrak{A}^{\alpha_1\ldots\alpha_k}\) in \(\mathfrak{M}\) with center \(\mathfrak{A}^{\alpha_1\ldots\alpha_k}\), if the following conditions are fulfilled:
\(1^\circ.\) \(\mathfrak{A}^{\alpha_1\ldots\alpha_k} \in S(\mathfrak{A}^{\alpha_1\ldots\alpha_k}, \mathfrak{M})\).
\(2^\circ.\) Denote by \(M[S(\mathfrak{A}^{\alpha_1\ldots\alpha_k}, \mathfrak{M})]\) the set of elements without marks entering into \(S(\mathfrak{A}^{\alpha_1\ldots\alpha_k}, \mathfrak{M})\), and by \(M(\mathfrak{M})\) the set of elements without marks entering into \(\mathfrak{M}\). Let
\(\mathfrak{A}^{\alpha_1\ldots\alpha_k} \in \mathfrak{M}_1\), \(\mathfrak{A}^{\beta_1\ldots\beta_k} \in \mathfrak{M}_2\),
\(M[S(\mathfrak{A}^{\alpha_1\ldots\alpha_k}, \mathfrak{M}_1)] \subseteq M(\mathfrak{M}_2) \subseteq M(\mathfrak{M}_1)\). Then
\[
M[S(\mathfrak{A}^{\alpha_1\ldots\alpha_k}, \mathfrak{M}_1)]
=
M[S(\mathfrak{A}^{\alpha_1\ldots\alpha_k}, \mathfrak{M}_2)].
\]
From \(2^\circ\) it easily follows that if \(\mathfrak{M}_1\) and \(\mathfrak{M}_2\) are composed of identical elements with different marks, \(\mathfrak{A}^{\alpha_1\ldots\alpha_k} \in \mathfrak{M}_1\) and \(\mathfrak{A}^{\beta_1\ldots\beta_k} \in \mathfrak{M}_2\), then
\[
M[S(\mathfrak{A}^{\alpha_1\ldots\alpha_k}, \mathfrak{M}_1)]
=
M[S(\mathfrak{A}^{\beta_1\ldots\beta_k}, \mathfrak{M}_2)].
\]
IV. The system of functions \(\varphi_1,\ldots,\varphi_k\)
\[ \varphi_i=\varphi_i\bigl[\mathfrak A^{\alpha_1\ldots\alpha_k}, S(\mathfrak A^{\alpha_1\ldots\alpha_k},\mathfrak M)\bigr] =(\beta_1\ldots\beta_k), \qquad \mathfrak A^{\alpha_1\ldots\alpha_k}\in\mathfrak M, \]
is defined on all pairs \(\bigl(\mathfrak A^{\alpha_1\ldots\alpha_k},
S(\mathfrak A^{\alpha_1\ldots\alpha_k},\mathfrak M)\bigr)\) such that
\(\mathfrak A^{\alpha_1\ldots\alpha_k}\in\mathfrak M\)
\((i=1,2,\ldots,k)\). The values \(\varphi_i\) satisfy the relation
\[ \varphi_i\bigl[\mathfrak A^{\alpha_1\ldots\alpha_{i-1}\alpha_i\alpha_{i+1}\ldots\alpha_k}, S(\mathfrak A^{\alpha_1\ldots\alpha_k},\mathfrak M)\bigr] =(\alpha_1\ldots\alpha_{i-1}\beta_i\alpha_{i+1}\ldots\alpha_k). \]
Let \(\mathfrak M\) be a set composed of elements with admissible labels,
\(\mathfrak A^{\alpha_1\ldots\alpha_k}\in\mathfrak M\), and
\[ \varphi_j\bigl[\mathfrak A^{\alpha_1\ldots\alpha_k}, S(\mathfrak A^{\alpha_1\ldots\alpha_k},\mathfrak M)\bigr] =(\beta_1\ldots\beta_k). \]
The function \(\varphi_j\) is called admissible if the set obtained by replacing in
\(\mathfrak M\) the element \(\mathfrak A^{\alpha_1\ldots\alpha_k}\) by
\(\mathfrak A^{\beta_1\ldots\beta_k}\) is composed of elements with admissible labels.
V. Let us introduce a partial ordering in certain sets.
\(1^\circ.\) \(M_1=\{\Delta,0,1\},\quad \Delta<0,\quad \Delta<1.\)
\(2^\circ.\) \(M_2\) is the set of vectors of dimension \(k\) whose coordinates take values in \(M_1\):
\[ (\alpha_1\ldots\alpha_k)\leq(\beta_1\ldots\beta_k), \qquad \text{if } \alpha_i\leq\beta_i,\ i=1,2,\ldots,k. \]
\(3^\circ.\) \(M_3\) is the set of elements with labels:
\(\mathfrak A^{\alpha_1\ldots\alpha_k}\leq
\mathfrak A^{\beta_1\ldots\beta_k}\), if
\((\alpha_1\ldots\alpha_k)\leq(\beta_1\ldots\beta_k)\). If
\(\mathfrak A^{\alpha_1\ldots\alpha_k}\leq
\mathfrak A^{\beta_1\ldots\beta_k}\) and
\(\mathfrak A^{\beta_1\ldots\beta_k}\leq
\mathfrak A^{\alpha_1\ldots\alpha_k}\), then the elements
\(\mathfrak A^{\alpha_1\ldots\alpha_k}\) and
\(\mathfrak A^{\beta_1\ldots\beta_k}\) will be called equal with respect to information.
Notation: \(\mathfrak A^{\alpha_1\ldots\alpha_k}\widehat{=}
\mathfrak A^{\beta_1\ldots\beta_k}\).
\(4^\circ.\) \(M_4\) is the set of sets of elements with labels.
\(\mathfrak M_1\leq\mathfrak M_2\), if \(M(\mathfrak M_1)=M(\mathfrak M_2)\) and from the conditions
\(\mathfrak A^{\alpha_1\ldots\alpha_k}\in\mathfrak M_1\),
\(\mathfrak A^{\beta_1\ldots\beta_k}\in\mathfrak M_2\) it follows that
\((\alpha_1\ldots\alpha_k)\leq(\beta_1\ldots\beta_k)\). If
\(\mathfrak M_1\leq\mathfrak M_2\) and \(\mathfrak M_2\leq\mathfrak M_1\), then
\(\mathfrak M_1\) and \(\mathfrak M_2\) will be called equal with respect to information.
Notation: \(\mathfrak M_1\widehat{=}\mathfrak M_2\).
\(5^\circ.\) \(M_5\) is the set of neighborhoods
\(\bigl(S(\mathfrak A^{\alpha_1\ldots\alpha_k},\mathfrak M)\bigr)\).
\(S=S^1(\mathfrak A^{\alpha_1\ldots\alpha_k},\mathfrak M_1)\leq
S(\widetilde{\mathfrak A}^{\beta_1\ldots\beta_k},\mathfrak M_2)=S^2\), if
\(\mathfrak A^{\alpha_1\ldots\alpha_k}\leq
\widetilde{\mathfrak A}^{\beta_1\ldots\beta_k}\),
\(M[S^1]=M[S^2]\), and for any elements
\(\mathfrak A_i^{\gamma_1\ldots\gamma_k}\in S^1\),
\(\mathfrak A_i^{\delta_1\ldots\delta_k}\in S^2\) the relation
\((\gamma_1\ldots\gamma_k)\leq(\delta_1\ldots\delta_k)\) holds. If
\(S^1\leq S^2\) and \(S^2\leq S^1\), then the neighborhoods \(S^1\) and \(S^2\) will be called equal with respect to information.
Notation: \(S^1\widehat{=}S^2\).
VI. The function
\(\varphi_j\bigl[\mathfrak A^{\alpha_1\ldots\alpha_k},
S(\mathfrak A^{\alpha_1\ldots\alpha_k},\mathfrak M)\bigr]\)
is called monotone if from the relation
\[ S_1=S(\mathfrak A^{\alpha_1\ldots\alpha_k},\mathfrak M_1) \leq S(\widetilde{\mathfrak A}^{\beta_1\ldots\beta_k},\mathfrak M_2)=S_2 \]
it follows that
\[
\varphi_j\bigl[\mathfrak A^{\alpha_1\ldots\alpha_k},S_1\bigr]
\leq
\varphi_j\bigl[\widetilde{\mathfrak A}^{\beta_1\ldots\beta_k},S_2\bigr].
\]
In what follows we shall consider only monotone functions \(\varphi_j\).
VII. Algorithms \(A_\pi\). Let \(M\) be an arbitrary finite set composed of elements with labels; \(N=\{1,2,\ldots,k\}\). Consider the set
\(M\widetilde{\times}N\) of all pairs
\(\{\mathfrak A^{\alpha_1\ldots\alpha_k},j\}\), where
\(\mathfrak A^{\alpha_1\ldots\alpha_k}\in M,\ j\in N\), such that
\(\alpha_j=\Delta\). The algorithm \(A_\pi\) completely orders the set
\(M\widetilde{\times}N\). The algorithms \(A_\pi^1\) and \(A_\pi^2\) are called distinct if they order at least one set \(M\widetilde{\times}N\) differently.
VIII. \(\Delta\) is the operator with respect to the system \(i_1\ldots i_l\) on the set \(\mathfrak M\). We replace in the label vectors of all elements of \(\mathfrak M\) the values of all coordinates with numbers different from
\(i_1,\ldots,i_l\) by \(\Delta\). Notation:
\(\Delta_{i_1\ldots i_l}(\mathfrak M)\).
IX. A partition of the system of predicates \(P_1,\ldots,P_k\) into two sets is given. The elements \(P_{i_1},\ldots,P_{i_l}\) of the first set will be called basic predicates.
X. Definition of an algorithm \(A\) over a finite set \(\mathfrak M\). The algorithm is completely determined by the system of predicates \(P_1,\ldots,P_k\), by the selection of the basic predicates \(P_{i_1},\ldots,P_{i_l}\), by the system of functions \(\varphi_1,\ldots,\varphi_k\), and by the algorithm \(A_\pi\).
Let \(\mathfrak M=\{\mathfrak A_i^{\alpha_{i_1}\ldots\alpha_{i_k}}\}\), \(i=1,2,\ldots,m\).
First stage of the algorithm. The algorithm \(A_\pi\) is applied to the set \(M\times N\). Here \(M=M(\mathfrak M)\), \(N=\{1,2,\ldots,k\}\). The first pair in order \([\mathfrak A^{\alpha_1\ldots\alpha_k},j]\) is selected. The function is computed
\[ \varphi_j[\mathfrak A^{\alpha_1\ldots\alpha_k},\ S(\mathfrak A^{\alpha_1\ldots\alpha_k},\mathfrak M)] =(\beta_1\ldots\beta_k). \]
The element \(\mathfrak A^{\alpha_1\ldots\alpha_k}\) is replaced by \(\mathfrak A^{\beta_1\ldots\beta_k}\). If \((\alpha_1\ldots\alpha_k)=(\beta_1\ldots\beta_k)\), the second pair in order is taken from \(M\times N\), and so on. If for all elements \((\mathfrak A^{\gamma_1\ldots\gamma_k},j)\in M\times N\) the relation
\(\varphi_j[\mathfrak A^{\gamma_1\ldots\gamma_k},S(\mathfrak A^{\gamma_1\ldots\gamma_k},\mathfrak M)]=(\gamma_1,\ldots,\gamma_k)\) holds, the algorithm \(A\) terminates after all elements of \(M\times N\) have been examined. Otherwise, the first pair \((\mathfrak A^{\alpha_1\ldots\alpha_k},j)\) is found for which
\[
\varphi_j[\mathfrak A^{\alpha_1\ldots\alpha_k},S(\mathfrak A^{\alpha_1\ldots\alpha_k},\mathfrak M)]
=(\beta_1\ldots\beta_k)\ne(\alpha_1\ldots\alpha_k).
\]
The element \(\mathfrak A^{\alpha_1\ldots\alpha_k}\) is replaced by \(\mathfrak A^{\beta_1\ldots\beta_k}\). The set \(\mathfrak M\) passes into \(\mathfrak M_1\). It is checked whether in \(\mathfrak M_1\) there remain elements in whose label vector at least one coordinate with number from the set \(i_1,\ldots,i_l\) is equal to \(\Delta\). If there are no such elements, the algorithm terminates. Otherwise only the first stage of the algorithm terminates. Suppose \(n\) stages of the algorithm \(A\) have been performed and the set \(\mathfrak M\) has passed into \(\mathfrak M_n\). The description of the \((n+1)\)-st stage exactly repeats the description of the first stage, if instead of the set \(\mathfrak M\subseteq\mathfrak M_0\) one considers the set \(\mathfrak M_n\). Obviously, by the monotonicity and admissibility of \(\varphi_j,\ j=1,2,\ldots,k\), the algorithm terminates after a finite number of stages.
To each algorithm \(A\) and set \(\mathfrak M\subseteq\mathfrak M_0\) one can associate a sequence \(\mathfrak M_0,\mathfrak M_1,\ldots,\mathfrak M_\alpha\) (notation: \(\pi(\mathfrak M,A)\)) possessing the following properties:
\(1^0.\) The algorithm \(A\) successively transforms \(\mathfrak M_0\) into \(\mathfrak M_1,\ldots,\mathfrak M_{i-1}\) into \(\mathfrak M_i,\ldots,\mathfrak M_{\alpha-1}\) into \(\mathfrak M_\alpha\).
\(2^0.\) Adjacent elements of the sequence differ only by the label vectors of a single element, and these vectors have only one differing coordinate. The set \(\mathfrak M_\alpha\) will be called the image of \(\mathfrak M\) in the algorithm \(A\). To each algorithm \(A\) one can put into one-to-one correspondence the collection
\[
(P_1,\ldots,P_k,\ P_{i_1},\ldots,P_{i_l},\ \varphi_1,\ldots,\varphi_k,\ A_\pi).
\]
We shall say that the set of algorithms \(\{A\}\) belongs to the class
\[
K(P_1\ldots P_k,\ P_{i_1}\ldots P_{i_l},\ \varphi_1\ldots\varphi_k),
\]
if there are associated with them collections differing only in the last elements (the algorithms \(A_\pi\)). Let \(A\) and \(B\) be algorithms from the class
\[
K(P_1\ldots P_k,\ P_{i_1}\ldots P_{i_l},\ \varphi_1\ldots\varphi_k).
\]
Definition. Algorithms \(A\) and \(B\) will be called equivalent with respect to the system \(P_{i_1},\ldots,P_{i_l}\), if for any set \(\mathfrak M\), consisting of elements with admissible labels, such that \(M(\mathfrak M)\in\{\mathfrak M\}\), we have
\[ \Delta_{i_1\ldots i_l}(A(\mathfrak M)) \subseteq \Delta_{i_1\ldots i_l}(B(\mathfrak M)). \]
Theorem. If \(\varphi_1,\ldots,\varphi_k\) are monotone functions, then all algorithms from the class
\[
K(P_1\ldots P_k,\ P_{i_1}\ldots P_{i_l},\ \varphi_1\ldots\varphi_k)
\]
are equivalent with respect to the system
\[
P_{i_1},\ldots,P_{i_l}.
\]
Let
\[ \Delta_{i_1\ldots i_l}(A(\mathfrak M))=\bigcup_{i=1}^{m}\mathfrak A_i^{\alpha_{i_1}\ldots\alpha_{i_l}}. \]
Definition. The set
\[ J=\bigcup_{i=1}^{m}(\alpha_{i_1},\ldots,\alpha^i_k) \]
will be called the local information over \(\mathfrak M\) in the class \(K(P_1\ldots P_k, P_{i_1}\ldots P_{i_l}, \varphi_1\ldots\varphi_k)\).
By virtue of the theorem formulated above, the set \(J\) is determined uniquely.
Institute of Mathematics with Computing Center
Siberian Branch of the Academy of Sciences of the USSR
Received
9 IX 1962
REFERENCES
- Yu. I. Zhuravlev, Collection Problems of Cybernetics, No. 8, 1962, p. 5.