MATHEMATICS
Unknown
Submitted 1960-01-01 | RussiaRxiv: ru-196001.50143 | Translated from Russian

Abstract

Full Text

MATHEMATICS

Yu. I. ZHURAVLEV

ON ALGORITHMS FOR SIMPLIFYING DISJUNCTIVE NORMAL FORMS

(Presented by Academician S. L. Sobolev on 12 I 1960)

Unambiguous algorithms for simplifying a reduced disjunctive normal form (d.n.f.) are based on deleting from (\mathfrak N) conjunctions for which it has been established that they are not contained in the d.n.f. (\mathfrak N_{\Sigma M})* ((^{1-3})). There exist various criteria for the non-inclusion of a conjunction (\mathfrak A) from (\mathfrak N) in (\mathfrak N_{\Sigma M}); all of them are based on studying conjunctions close to (\mathfrak A). By close conjunctions one may understand, for example, conjunctions (\mathfrak A_i) from (\mathfrak N) such that (\mathfrak A_i \cdot \mathfrak A \ne 0). In the process of searching for conjunctions not belonging to (\mathfrak N_{\Sigma M}), it is sometimes possible to obtain additional information about some conjunctions from (\mathfrak N). Thus Quine’s method ((^{1,2})) makes it possible to distinguish certain conjunctions that enter into all minimal d.n.f.’s; subsequently this helps in the search for conjunctions not belonging to (\mathfrak N_{\Sigma M}). It is natural to regard unambiguous algorithms for simplifying a d.n.f. (\mathfrak N) as algorithms that place marks above the conjunctions from (\mathfrak N). Marks of the first type are placed above conjunctions not belonging to (\mathfrak N_{\Sigma M}), and marks of the second type above conjunctions belonging to (\mathfrak N_{\Sigma M}). After the completion of the algorithm that places marks, all conjunctions with marks of the first type are deleted from (\mathfrak N). At this point the simplification algorithm ends. We now pass to a formal description of algorithms for simplifying d.n.f.’s.

(1^\circ). Together with conjunctions (\mathfrak A) we shall consider conjunctions with marks (\mathfrak A^{(j)}) ((j=1,2,3,4)). Unmarked conjunctions (\mathfrak A) will be denoted by (\mathfrak A^{(0)}). Conjunctions (\mathfrak A_l^{(l)}) and (\mathfrak B_j^{(m)}) such that (\mathfrak A_i=\mathfrak B_j), (l \ne m), are, in essence, identical conjunctions for which, in the course of the algorithm, different information has been obtained. We shall call conjunctions (\mathfrak A^{(i)}) and (\mathfrak B^{(j)}) equal with respect to information if (\mathfrak A=\mathfrak B) and (i=j).

(2^\circ). We shall consider d.n.f.’s composed of conjunctions with marks ((0),(1),(2),(3),(4)), satisfying the following conditions:
1) if (\mathfrak A^{(i)} \subseteq \mathfrak N) and (i \ne j), then (\mathfrak A^{(j)} \not\subseteq \mathfrak N);
2) if (\mathfrak A^{(1)} \subseteq \mathfrak N), then (\mathfrak A \subseteq \mathfrak N_{\Sigma M});
3) if (\mathfrak A^{(2)} \subseteq \mathfrak N), then (\mathfrak A \nsubseteq \mathfrak N_{\Sigma M});
4) if (\mathfrak A^{(3)} \subseteq \mathfrak N), then (\mathfrak A \subseteq \mathfrak N_{\Sigma M}) and (\mathfrak A \nsubseteq \mathfrak N_{\cap M});
5) if (\mathfrak A^{(4)} \subseteq \mathfrak N), then (\mathfrak A \subseteq \mathfrak N_{\cap M}).
D.n.f.’s composed of conjunctions (\mathfrak A^{(i)}), ((i=0,1,2,3,4)), and satisfying conditions 1)—5), will be called
admissible
. In what follows we shall consider only admissible d.n.f.’s. With each d.n.f. (\mathfrak N) we associate the sets (M(\mathfrak N)), (M^{(j)}(\mathfrak N)) ((j=0,1,2,3,4)). (M(\mathfrak N)) is composed of all conjunctions contained in (\mathfrak N), with the marks above the conjunctions erased. (M^{(j)}(\mathfrak N)) is composed of all conjunctions contained in (\mathfrak N) with mark ((j)). D.n.f.’s (\mathfrak N_1) and (\mathfrak N_2) will be called equal with respect to information if
[
M^{(j)}(\mathfrak N_1)=M^{(j)}(\mathfrak N_2)\quad (j=0,1,2,3,4).
]

* The d.n.f. (\mathfrak N_{\Sigma M}) is composed of all conjunctions from (\mathfrak N) that enter into some minimal d.n.f.

** (\mathfrak N_{\cap M}) is composed of all conjunctions that enter into all d.n.f.’s minimal with respect to (\mathfrak N).

An algorithm for simplifying a D.N.F. is completely determined by specifying an algorithm that assigns marks, and an algorithm that determines the order in which marks are assigned. The algorithm that assigns marks reduces to the computation of a function (\varphi), to the description of which we now turn.

(1^\circ). Domain of definition. To each pair ((\mathfrak{A}^{(j)}, \mathfrak{N})), where (\mathfrak{A}^{(j)} \subseteq \mathfrak{N}), we assign a set (S(\mathfrak{A}^{(j)}, \mathfrak{N})), consisting of conjunctions occurring in (\mathfrak{N}), with (\mathfrak{A}^{(j)} \in S(\mathfrak{A}^{(j)}, \mathfrak{N})). The set (S(\mathfrak{A}^{(j)}, \mathfrak{N})) will be called the neighborhood of (\mathfrak{A}^{(j)}) in (\mathfrak{N}), and (\mathfrak{A}^{(j)}) will be called the center of the neighborhood. To each neighborhood (S(\mathfrak{A}^{(j)}, \mathfrak{N})) we assign the sets (M[S(\mathfrak{A}^{(j)}, \mathfrak{N})]), (M^{(i)}[S(\mathfrak{A}^{(j)}, \mathfrak{N})]) ((i=0,1,2,3,4)). The set (M[S(\mathfrak{A}^{(j)}, \mathfrak{N})]) is composed of all conjunctions occurring in (S), with the marks over the conjunctions erased. (M^{(i)}[S(\mathfrak{A}^{(j)}, \mathfrak{N})]) is composed of all conjunctions with mark ((i)) occurring in (S(\mathfrak{A}^{(j)}, \mathfrak{N})). We shall consider systems of neighborhoods for which the following condition is satisfied: if (\mathfrak{N}_1) and (\mathfrak{N}_2) are such that (M[S(\mathfrak{A}, \mathfrak{N}_1)] \subseteq M(\mathfrak{N}_2)) and (M(\mathfrak{N}_2) \subseteq M(\mathfrak{N}_1)), then (M[S(\mathfrak{A}, \mathfrak{N}_1)] = M[S(\mathfrak{A}, \mathfrak{N}_2)]). The neighborhoods (S(\mathfrak{A}^{(j)}, \mathfrak{N}_1)) and (S(\mathfrak{B}^{(i)}, \mathfrak{N}_2)) will be called equal in information if their centers are equal in information and (M^{(k)}[S(\mathfrak{A}^{(j)}, \mathfrak{N}_1)] = M^{(k)}[S(\mathfrak{B}^{(i)}, \mathfrak{N}_2)]) ((k=0,1,2,3,4)). The domain of definition of the function (\varphi) is the system of all neighborhoods.

(2^\circ). The range of values of (\varphi) consists of the marks ((0)), ((1)), ((2)), ((3)), ((4)). On neighborhoods that are not equal in information, the values of (\varphi), generally speaking, are different.

Let us introduce a partial ordering: 1) in the set of marks: ((j)=(j)), ((0)<(j)) ((j=1,2,3,4)); ((1)<(j)) ((j=3,4)); 2) in the set of marked conjunctions: (\mathfrak{A}^{(i)} \preccurlyeq \mathfrak{B}^{(j)}), if (\mathfrak{A}=\mathfrak{B}), ((i)\leq j); 3) in the set of neighborhoods: (S(\mathfrak{A}^{(i)}, \mathfrak{N}_1) \preccurlyeq S(\mathfrak{B}^{(j)}, \mathfrak{N}_2)), if: a) (\mathfrak{A}^{(i)} \preccurlyeq \mathfrak{B}^{(j)}), b) (M[S(\mathfrak{A}^{(i)}, \mathfrak{N}_1)] = M[S(\mathfrak{B}^{(j)}, \mathfrak{N}_2)]), c) for every pair of identical conjunctions (\mathfrak{A}^{(k)}) and (\mathfrak{A}^{(l)}) such that (\mathfrak{A}^{(k)} \in S(\mathfrak{A}^{(i)}, \mathfrak{N}_1)), (\mathfrak{A}^{(l)} \in S(\mathfrak{B}^{(j)}, \mathfrak{N}_2)), the relation (\mathfrak{A}^{(k)} \preccurlyeq \mathfrak{A}^{(l)}) holds; 4) in the set of D.N.F.s: (\mathfrak{N}_1 \preccurlyeq \mathfrak{N}_2), if: a) (M(\mathfrak{N}_1)=M(\mathfrak{N}_2)), b) for every pair of identical conjunctions such that (\mathfrak{A}^{(j)} \subseteq M(\mathfrak{N}_1)), (\mathfrak{A}^{(i)} \subseteq M(\mathfrak{N}_2)), the relation (\mathfrak{A}^{(j)} \preccurlyeq \mathfrak{A}^{(i)}) holds. It is obvious that if (\mathfrak{N}_1 \preccurlyeq \mathfrak{N}_2) and (\mathfrak{N}_2 \preccurlyeq \mathfrak{N}_1), then (\mathfrak{N}_1) and (\mathfrak{N}_2) are equal in information.

Definition. The function (\varphi) is called monotone if, for any pair of neighborhoods (S_1=S_1(\mathfrak{A}^{(i)}, \mathfrak{N}_1)), (S_2=S_2(\mathfrak{A}^{(j)}, \mathfrak{N}_2)) such that (S_1 \preccurlyeq S_2), the inequality (\varphi(S_1)\leq \varphi(S_2)) holds.

We shall study algorithms with monotone (\varphi). Algorithms with nonmonotone (\varphi) will be considered later. We shall decompose D.N.F.-simplification algorithms into elementary algorithms and logical conditions ((^{4,5})), describe their functioning, and write down a logical scheme ((^{4,5})), common to all simplification algorithms with monotone function (\varphi). Elementary algorithms: 1) (A_\pi) selects in (\mathfrak{N}) all conjunctions belonging to the set (M^{0}(\mathfrak{N}) \cup M^{(1)}(\mathfrak{N})), and orders this set, with the order being established identically for D.N.F.s (\mathfrak{N}1) and (\mathfrak{N}_2) such that (M^{(i)}(\mathfrak{N}_1)=M^{(i)}(\mathfrak{N}_2)) ((i=0,1)); 2) (A(i)) selects in (M^{0}(\mathfrak{N}) \cup M^{(1)}(\mathfrak{N})) the element (\mathfrak{A}^{(j)}_i) with number (i) and the neighborhood (S(\mathfrak{A}^{(j)}_i,\mathfrak{N})); 3) (A\varphi(i)) computes (\varphi[S(\mathfrak{A}^{(j)}i,\mathfrak{N})]=\tilde{\varphi}); 4) (B\varphi(i)) transforms the conjunction (\mathfrak{A}^{(j)}_i) into the conjunction (\mathfrak{A}^{\tilde{\varphi}}); 5) (F(i+1)) adds one to (i); 6) (F(i\to 1)) transforms (i) into one; 7) (C) deletes from (\mathfrak{N}) all conjunctions with mark ((2)); 8) the symbol (\omega) indicates the end of the algorithm. Logical conditions (p_1), (p_2(i)), (p_3): (p_1=0), if (M^{(0)}(\mathfrak{N}) \cup M^{(1)}(\mathfrak{N})) is empty; (p_1=1), if (M^{(0)}(\mathfrak{N}) \cup M^{(1)}(\mathfrak{N})) is nonempty; (p_2(i)=1), if (\varphi[S(\mathfrak{A}^{(j)}_i,\mathfrak{N})]=\tilde{\varphi}=(j)); (p_2(i)=0), if (\tilde{\varphi}\ne(j)). Let (k) be the number of the last element in (M^{(0)}(\mathfrak{N}) \cup M^{(1)}(\mathfrak{N})). (p_3(i)=0), if (i-1<k); (p_3(i)=1), if (i-1=k).

Simplification algorithms process the reduced DNF (\mathfrak N), composed of unmarked conjunctions, into a DNF composed of conjunctions with marks, and then delete from (\mathfrak N) the conjunctions with mark (2). The logical scheme of the simplification algorithm has the form (here (\varphi) is a monotone function)

[
\underset{2}{\perp} F(i \to 1) A_\pi p_1
\underset{1}{\perp}
\underset{3}{\perp} A(i) A_\varphi(i) F(i+1)
\underset{2}{\perp} p_3
\underset{3}{\perp}
\underset{1}{\perp} C\omega .
\tag{1}
]

There exist DNF simplification algorithms that do not fit into the scheme described. These algorithms do not guarantee obtaining minimal DNFs under further simplifications. On the other hand, the simplification algorithms known to us, in whose execution no loss of minimal DNFs occurs, fit into the scheme described by us.

To each simplification algorithm with a logical scheme of the form (1) one may put into one-to-one correspondence a pair ((A_\pi,\varphi)). We shall say that algorithms (A) and (B) belong to the same class (K(\varphi)) if the pairs (((A_\pi)',\varphi_1)) and (((A_\pi)'',\varphi_2)) assigned to them are such that (\varphi_1=\varphi_2). We shall call the elements of the class (K(\varphi)) algorithms generated by the function (\varphi). We shall call simplification algorithms (A) and (B) equivalent if the DNFs (A(\mathfrak N)) and (B(\mathfrak N)), obtained after applying (A) and (B) to an arbitrary reduced DNF (\mathfrak N) composed of unmarked conjunctions, are equal in information. To every algorithm (A) and DNF (\mathfrak N) one may assign a sequence (\mathfrak N_1,\ldots,\mathfrak N_\alpha) (denoted (C(\mathfrak N,A))) possessing the following properties: 1) the algorithm (A) successively transforms (\mathfrak N) into (\mathfrak N_1,\ldots,\mathfrak N_{\alpha-1}), into (\mathfrak N_\alpha); 2) neighboring elements of the sequence differ by marks over exactly one conjunction; 3) (A(\mathfrak N)) coincides with the DNF obtained from (\mathfrak N_\alpha) by deleting all conjunctions with mark (2); 4) (\mathfrak N_1 \leq \mathfrak N_2 \leq \cdots \leq \mathfrak N_\alpha) (by virtue of the monotonicity of (\varphi)). We shall call (\mathfrak N_\alpha) the image of (\mathfrak N) in the algorithm (A). It is obvious that, for equivalence of the algorithms (A) and (B), it is necessary and sufficient that the images of an arbitrary DNF (\mathfrak N), composed of unmarked conjunctions, in the algorithms (A) and (B) coincide.

Algorithms with a monotone function (\varphi) possess an interesting uniqueness property: the final result of applying the algorithm does not depend on (A_\pi).

Theorem. If the elements of the class (K(\varphi)) are generated by a monotone function, then all algorithms from (K(\varphi)) are equivalent.

Proof. Let

[
\mathfrak N=\bigvee_{i=1}^{m}\mathfrak A_i^{(0)}.
]

1) Assign to the DNF (\mathfrak N) a sequence of DNFs (\mathfrak N,\mathfrak N^{(1)},\ldots,\mathfrak N^{(\alpha)}). Let

[
\varphi[S(\mathfrak A_i^{(0)},\mathfrak N)]=\varphi_{1i}\quad (i=1,2,\ldots,m).
]

Put

[
\mathfrak N^{(1)}=\bigvee_{i=1}^{m}\mathfrak A_i^{\varphi_{1i}}.
]

If (\mathfrak N) and (\mathfrak N^{(1)}) are equal in information, then assign to (\mathfrak N) the sequence consisting of one element (\mathfrak N).

2) Suppose the elements of the sequence (\mathfrak N,\mathfrak N^{(1)},\ldots,\mathfrak N^{(k-1)}) have been formed and all of them are distinct in information. Let

[
\mathfrak N^{(k-1)}=\bigvee_{i=1}^{m}\mathfrak A^{\varphi_{k-1,i}}.
]

Denote

[
\varphi[S(\mathfrak A^{\varphi_{k-1,i}},\mathfrak N^{(k-1)})]
]

by (\varphi_{ki}). Put

[
\mathfrak N^{(k)}=\bigvee_{i=1}^{m}\mathfrak A^{\varphi_{ki}}.
]

If (\mathfrak N^{(k-1)}) and (\mathfrak N^{(k)}) are equal in information, then assign to (\mathfrak N) the sequence

[
\mathfrak N,\mathfrak N^{(1)},\ldots,\mathfrak N^{(k-1)}.
]

By virtue of the monotonicity of (\varphi), in the construction described there will be found an index (S) such that

[
\mathfrak N^{(S)}=\mathfrak N^{(S+1)}.
]

The sequence will have the form

[
\mathfrak N,\mathfrak N_1,\ldots,\mathfrak N^{(S)}.
]

Here

[
\mathfrak N^{(S)}=\bigvee_{i=1}^{m}\mathfrak A^{\varphi_{Si}}
]

and

[
\mathfrak N \leq \mathfrak N^{(1)} \leq \cdots \leq \mathfrak N^{(S)}.
]

We shall show that the image (\mathfrak N_A) of the DNF (\mathfrak N) in an arbitrary algorithm (A), generated by the function (\varphi), is equal in information to (\mathfrak N^{(S)}).

I. We indicated that to the algorithm (A) one can associate the sequence
(C(\mathfrak N,A)={\mathfrak N,\mathfrak N_1,\ldots,\mathfrak N_\alpha}) (here (\mathfrak N_\alpha=\mathfrak N_A)). Let us show that (\mathfrak N_\alpha \preceq \mathfrak N^{(s)}). We carry out induction on (C(\mathfrak N,A)). The induction scheme is: 1) (\mathfrak N^{(1)}\preceq \mathfrak N^{(s)}); 2) from the fact that (\mathfrak N^{(k-1)}\preceq \mathfrak N^{(s)}), it follows that (\mathfrak N^{(k)}\preceq \mathfrak N^{(s)}).

II. (\mathfrak N_\alpha \succeq \mathfrak N^{(s)}). The induction scheme is: 1) in the sequence (C(\mathfrak N,A)) there is found an element (\mathfrak N_{k_1}) such that (\mathfrak N_{k_1}\succeq \mathfrak N^{(1)}); 2) suppose that in (C(\mathfrak N,A)) there are found DNFs (\mathfrak N_{k_i}) and (\mathfrak N_{k_j}\succeq \mathfrak N^{(i)}). Then in (C(\mathfrak N,A)) there is found a DNF (\mathfrak N_{k_{j+1}}), and
(\mathfrak N_{k_{j+1}}\succeq \mathfrak N^{(j+1)}).

From (\mathfrak N_A\preceq \mathfrak N^{(s)}) and (\mathfrak N_A\succeq \mathfrak N^{(s)}) we conclude that (\mathfrak N_A) and (\mathfrak N^{(s)}) are equal in information. The theorem is proved.

To describe the logical scheme of simplification algorithms with a nonmonotone function (\varphi), we modify the definition of the elementary algorithm (A_\pi). The algorithm (A_\pi) orders the set (M(\mathfrak N)), and, if the DNFs (\mathfrak N_1) and (\mathfrak N_2) are equal in information, then (M(\mathfrak N_1)) and (M(\mathfrak N_2)) are ordered identically. In the description of the other elementary algorithms and logical conditions, instead of the set (M^{(0)}(\mathfrak N)\cup M^{(1)}(\mathfrak N)) one should consider the set (M(\mathfrak N)). To an algorithm (A) generated by a nonmonotone function (\varphi) with a logical scheme of the form (1) one can associate an infinite, generally speaking, sequence (\mathfrak N,\mathfrak N_1,\ldots,\mathfrak N_\alpha,\ldots) such that: 1) (A) transforms successively (\mathfrak N) into (\mathfrak N_1,\ldots,\mathfrak N_{\alpha-1}) into (\mathfrak N_\alpha,\ldots); 2) neighboring elements differ by marks exactly over one conjunction; 3) beginning with some (\mathfrak N_\gamma) ((\gamma=\gamma(A,\mathfrak N))), the sequence becomes periodic (in the sense of equality in information). After obtaining (\mathfrak N_\gamma), it is natural to terminate the algorithm. Introduce the elementary algorithms: 1) (P) forms the sequence (\mathfrak N,\mathfrak N_1,\ldots,\mathfrak N_\alpha,\ldots) as it is obtained by the algorithm (A). At the first step (P) forms the element (\mathfrak N); 2) (C') selects, in the elements of the sequence formed by the algorithm (P), the conjunctions with mark (2) and deletes them from the corresponding DNFs. The logical condition (p_4(\mathfrak N,\mathfrak N_1,\ldots,\mathfrak N_\alpha)=1) if none of the DNFs (\mathfrak N,\mathfrak N_1,\ldots,\mathfrak N_{\alpha-1}) is equal to (\mathfrak N_\alpha) in information. Otherwise (p_4(\mathfrak N,\mathfrak N_1,\ldots,\mathfrak N_\alpha)=0); (p_4(\mathfrak N)=1). The logical scheme of an algorithm generated by the nonmonotone function (\varphi) has the form:

[
{}^{1}{2}!\mid F(i\to 1)\,Pp_4\,{}}!\mid A_\pi\,{{3}!\mid A(i)\,A\varphi(i)\,B_\varphi(i)\,F(i+1)\,p_2\,{}{2}!\mid p_3\,{}!\mid C'\omega .}!\mid\,{}_{4
]

We shall call the DNFs (\mathfrak N_1,\ldots,\mathfrak N_\gamma) images of the DNF (\mathfrak N) in the algorithm (A).

Moscow State University
named after M. V. Lomonosov

Received
7 I 1960

References

  1. W. V. Quine, Am. Math. Monthly, 59, No. 8, 521 (1952).
  2. W. V. Quine, Am. Math. Monthly, 62, No. 2, 627 (1955).
  3. Yu. I. Zhuravlev, Dokl. Akad. Nauk SSSR, 126, No. 2 (1959).
  4. A. A. Lyapunov, Problems of Cybernetics, vol. 1, 47 (1958).
  5. Yu. I. Yanov, Problems of Cybernetics, vol. 1, 75 (1958).

Submission history

MATHEMATICS