R. N. Tonoyan
Unknown
Submitted 1963-01-01 | RussiaRxiv: ru-196301.76824 | Translated from Russian

Full Text

R. N. Tonoyan

SOME EQUIVALENT TRANSFORMATIONS OF ALGORITHM SCHEMES

(Presented by Academician S. L. Sobolev on 22 X 1962)

In the present paper the concept of an algorithm scheme is defined and some equivalent transformations of schemes are considered. It is assumed that, in the process of executing a scheme, the operators and logical conditions (see (1)) may change according to certain laws. With the aid of these transformations one can pass from an algorithm scheme to computation schemes. Further, an algorithm is given for constructing the scheme of a program (see (2)) realizing the given computation scheme.

Let \(L(\alpha)\) be an arbitrary finite ordered set with order relation \(\prec_\alpha\); \(\Lambda=\{\alpha\}\) the set of all possible order relations on \(L\). On \(\Lambda\) we define an order \(\leqslant\), putting \(\alpha\leqslant\beta\) \((\alpha,\beta\in\Lambda)\) if and only if from \(l_1\prec_\alpha l_2\) it follows that \(l_1\prec_\beta l_2\) for all \(l_1,l_2\in L\) comparable under the order \(\prec_\alpha\). The set \(L(\alpha)\times N(\alpha')\) with the order \(\prec_\nu\): \((l_1,n_1)\prec_\nu(l_2,n_2)\) if and only if \(l_1\prec_\alpha l_2\) and \(n_1\prec_{\alpha'}n_2\), will be called the order product of \(L\) and \(N\) and denoted by \(p\{L\times N\}\), and with \(\prec_{\nu'}\): \((l_1,n_1)\prec_{\nu'}(l_2,n_2)\), if \(l_1\prec_\alpha l_2\) or \(l_1=l_2\) and \(n_1\prec_{\alpha'}n_2\), will be called the alphabetic product \(w\{L\times N\}\). Analogously are defined: the order product of the sets \(L_t\),

\[ p\prod_{t=1}^{n} L_t, \]

and the alphabetic product

\[ w\prod_{t=1}^{n} L_t. \]

We shall say that on the set \(L(\alpha)\) a parametrized system \((A)=\{\gamma,\Gamma,A,L\}\) is given if the following are given: a completely ordered set \(\gamma=\{\xi\}\) of parameters, sets \(\Gamma_\xi(\alpha^\xi)\) of values of the parameters, and \(A(\xi_1,\xi_2,\ldots,\xi_n)\) — a one-to-one correspondence between

\[ \Gamma(\nu)=p\prod_{\xi\in\gamma}\Gamma_\xi \]

and \(L\) such that if \(l_1\prec_\alpha l_2\) and \(A(s_1)=l_1\), \(A(s_2)=l_2\) \((s_1,s_2\in\Gamma)\), then \(s_1\prec_\nu s_2\).

Let there be given sets of parametrized systems \(\mathfrak{M}_0=\{(A)\}\) — operators of rank 0, \(P=\{(p\uparrow)\}\) — logical conditions, \(I=\{(\downarrow)\}\) of lower arrows, and \(\widetilde{\mathfrak{M}}_0=\mathfrak{M}_0\cup P\cup I\). We shall call any symbol \(\mathfrak{A}\) obtained from \(h(\xi_1,\xi_2,\ldots,\xi_n)\), where \((h)\in\widetilde{\mathfrak{M}}_0\), by substituting, in place of some parameters, values from the corresponding sets of variation, an elementary expression. We shall consider that it depends only on the remaining parameters.

Define an expression of rank 0 on \(\mathfrak{M}_0\): every elementary expression is an expression of rank 0; if \(\mathfrak{A}_1\) and \(\mathfrak{A}_2\) are expressions of rank 0, then \(\mathfrak{A}=\mathfrak{A}_1\mathfrak{A}_2\) is an expression of rank 0, with

\[ \gamma(\mathfrak{A}_1)\cup\gamma(\mathfrak{A}_2)=\gamma(\mathfrak{A}), \]

where \(\gamma(\mathfrak{A})\) is the set of parameters on which \(\mathfrak{A}\) depends.

Let sets of symbols \(\Gamma_{\gamma[,\Gamma[,\gamma],\Gamma]}\) be specified, where \(\gamma[\) and \(\gamma]\) are completely ordered sets of parameters, and \(\Gamma[\) and \(\Gamma]\) are sets of their values. By induction we define expressions of rank \(k\):

  1. Every expression of rank \((k-1)\) is an expression of rank \(k\).
  2. Any symbols \(\Gamma_{\gamma[,\Gamma[,\gamma],\Gamma]}\) are expressions of rank \(k\).
  3. If \(\mathfrak{A}_1\) and \(\mathfrak{A}_2\) are expressions of rank \(k\), then \(\mathfrak{A}=\mathfrak{A}_1\mathfrak{A}_2\) is an expression of rank \(k\), with \(\gamma(\mathfrak{A})=\gamma(\mathfrak{A}_1)\cup\gamma(\mathfrak{A}_2)\).

An operator of the \(k\)-th rank shall mean an expression of the \(k\)-th rank satisfying the conditions:

a) for every \(p\uparrow\) there exists a finite system of lower arrows
\[ C=\{\downarrow,\downarrow,\ldots,\downarrow\} \]
and for all \(\downarrow\in C\):
\[ \gamma_{p\uparrow}=\gamma_{\downarrow},\quad \Gamma_{\downarrow}\subseteq\Gamma_{p\uparrow},\quad \Gamma_{p\uparrow}=\bigcap_{\downarrow\in C}\Gamma_{\downarrow}, \]
and the \(\Gamma_{\downarrow}\) are pairwise disjoint.

b) every \(\downarrow\) belongs to one and only one system \(C\).

c) for every \([\gamma_{\lceil},\Gamma_{\lceil}\) there exists a unique \(]_{\gamma_{\rceil},\Gamma_{\rceil}}\), located to its right and such that \(\gamma_{\lceil}=\gamma_{\rceil}\), \(\Gamma_{\lceil}=\Gamma_{\rceil}\), and conversely.

We shall call the scope of \([\gamma_{\lceil},\Gamma_{\lceil}\) the expression lying between the corresponding brackets. We denote it by \(\mathfrak b([\,,\gamma_{\lceil})\).

A parameter \(\xi\) shall be called bound in an expression \(\mathfrak A\) of the \(k\)-th rank if all \(h\in\mathfrak A\) containing the parameter \(\xi\) enter the scope \(\mathfrak b([\,,\gamma_{\lceil})\), where \(\xi\in\gamma_{\lceil}\).

\(\xi\) shall be called a free parameter if in \(\mathfrak A\) there does not exist \([\gamma_{\lceil},\Gamma_{\lceil}\) such that \(\xi\in\gamma_{\lceil}\).

d) Every parameter is either bound or free.

e) there does not exist \([\gamma_{\lceil},\Gamma_{\lceil}\subset \mathfrak b([\,,\gamma_{\lceil})\) such that \(\gamma_{\lceil}\cap\gamma_{\lceil'}\ne0\).

Let \(z(h)\) be the set of all \([\gamma_{\lceil},\Gamma_{\lceil}\) in whose scope the expression \(h\) enters.

f)
\[ z([)=z(]) \]
for corresponding brackets, and
\[ z(\downarrow)\subset z(p\uparrow) \]
for all \(\downarrow\in C\).

By \(\sigma(\mathfrak A)\) we denote the set of all bound parameters of \(\mathfrak A\), by \(\Sigma_{\mathfrak A}\) the set of values of these parameters, by \(\sigma'(\mathfrak A)\) the set of free parameters, and by \(\Sigma'_{\mathfrak A}\) the values of these parameters.

A scheme of an algorithm shall mean an operator of arbitrary rank, and an expression of the same rank shall be called an expression in the scheme of the algorithm. Let an algorithm scheme \(\mathfrak A\{\sigma(\mathfrak A),\Sigma_{\mathfrak A};\sigma'(\mathfrak A),\Sigma'_{\mathfrak A}\}\) be given, and let \(\prec_{\alpha}\) be an order relation on the set \(\Sigma_{\mathfrak A}\). By \(K_{\mathfrak A}\) we denote the set of all algorithm schemes obtained from \(\mathfrak A\) by replacing the sets \(\Sigma_{\mathfrak A}(\alpha)\) by the sets \(\Sigma_{\mathfrak A}(\nu)\), where \(\prec_{\nu}\) is a complete order generated by \(\prec_{\alpha}\). Algorithm schemes \(\mathfrak A'\) and \(\mathfrak A''\in K_{\mathfrak A}\) shall be called \(\alpha\)-equivalent, and we shall write
\[ \mathfrak A'\equiv\mathfrak A''(\alpha). \]

For every \(\mathfrak A'\in K_{\mathfrak A}\) we define by induction the process of execution for values \(\lambda\in\Sigma'_{\mathfrak A}\). We assign to all free parameters the corresponding values from \(\lambda\) and mark the leftmost symbol of the scheme. Suppose that \(l\) steps have been carried out, as a result of which a string of symbols has been written out
\[ \beta\ldots\tau \tag{1} \]
(possibly empty). Then at the \((l+1)\)-st step the symbol marked at the \(l\)-th step is considered. 1) If this is an operator of the \(k\)-th rank \((0\le k<N)\), then we append its value on the right to string (1) and mark the symbol immediately following it. 2) If \(p\uparrow\), then for \(p=1\) we mark the symbol following it, and for \(p=0\) we mark the symbol standing immediately after \(\downarrow\in C\), where the value of the parameter \(p\uparrow\) enters \(\Gamma_{\downarrow}\). 3) If \([\gamma_{\lceil},\Gamma_{\lceil}\), then in all \(h\in\mathfrak A'\) we replace the parameters belonging to \(\gamma_{\lceil}\) by the minimal elements of \(\Gamma_{\lceil}\), and mark the symbol following \([\gamma_{\lceil},\Gamma_{\lceil}\). 4) If \(\downarrow\), then we mark the symbol following it. 5) If \(]_{\gamma_{\rceil},\Gamma_{\rceil}}\), then we replace the values of the parameters by the next values from the corresponding sets of change and, if they enter \(\Gamma_{\lceil}\), then we mark the symbol following the corresponding bracket; if they do not enter, we mark the symbol following \(]_{\gamma_{\rceil},\Gamma_{\rceil}}\). If there are no marked symbols, then the process terminates. The string written out as a result of this process shall be called the value of the algorithm scheme \(\mathfrak A'\) for the element \(\lambda\in\Sigma'_{\mathfrak A}\), and we denote it by \(\mathfrak A'(\lambda)\). If an order \(\prec_{\alpha}\) is specified on \(\Sigma_{\mathfrak A}\), then the value of the scheme \(\mathfrak A\) for \(\lambda\in\Sigma'_{\mathfrak A}\) is set equal to the set \(\widetilde K_{\mathfrak A}(\lambda)\): this is the set of all \(\mathfrak A'(\lambda)\), \(\mathfrak A'\in K_{\mathfrak A}\). We shall say that a scheme

\(\mathfrak A_1\) is less than \(\mathfrak A_2\) (denote \(\mathfrak A_1 \prec \mathfrak A_2\)) if there exists a one-to-one correspondence \(\varphi\) between \(\Sigma_{\mathfrak A_1}=\{\lambda_1\}\) and \(\Sigma_{\mathfrak A_2}=\{\lambda_2\}\): \(\varphi(\lambda_1)=\lambda_2\) such that \(\widetilde K_{\mathfrak A_1}(\lambda_1)\subseteq \widetilde K_{\mathfrak A_2}(\varphi(\lambda_1))\). If \(\mathfrak A_1\prec \mathfrak A_2\) and \(\mathfrak A_2\prec \mathfrak A_1\), then we shall call \(\mathfrak A_1\) and \(\mathfrak A_2\) equivalent and denote \(\mathfrak A_1\equiv\mathfrak A_2\). We shall say that the expression \(\mathfrak B_1\) is less than the expression \(\mathfrak B_2\) if, for all schemes \(\mathfrak A(\mathfrak B_2)\) containing \(\mathfrak B_2\), \(\mathfrak A(\mathfrak B_1)\)—the expression obtained from \(\mathfrak A(\mathfrak B_2)\) by replacing \(\mathfrak B_2\) by \(\mathfrak B_1\)—is an algorithm scheme and \(\mathfrak A(\mathfrak B_1)\prec\mathfrak A(\mathfrak B_2)\). We shall call the expressions \(\mathfrak B_1\) and \(\mathfrak B_2\) equivalent and denote \(\mathfrak B_1\equiv\mathfrak B_2\), if \(\mathfrak B_1\prec\mathfrak B_2\) and \(\mathfrak B_2\prec\mathfrak B_1\). Let \(\mathfrak B\) be an arbitrary expression; then:

A. If \(\gamma_{[}^{1}+\gamma_{[}^{2}=\gamma_{[}\) and \(\Gamma_{[}=\Gamma_{[}^{1}\times\Gamma_{[}^{2}\), then

\[ [_{\gamma_{[},w\{\Gamma_{[}^{1}\times\Gamma_{[}^{2}\}}\mathfrak B]_{\gamma_{[},w\{\Gamma_{[}^{1}\times\Gamma_{[}^{2}\}} \equiv [_{\gamma_{[}^{1},\Gamma_{[}^{1}}[_{\gamma_{[}^{2},\Gamma_{[}^{2}}\mathfrak B]_{\gamma_{[}^{2},\Gamma_{[}^{2}}]_{\gamma_{[}^{1},\Gamma_{[}^{1}} \prec \]

\[ \prec [_{\gamma_{[},p\{\Gamma_{[}^{1}\times\Gamma_{[}^{2}\}}\mathfrak B]_{\gamma_{[},p\{\Gamma_{[}^{1}\times\Gamma_{[}^{2}\}} . \]

B. If \(T=\{t\}\) is a completely ordered set and \(\Sigma_{[}=\prod_{t\in T}\Sigma_{[}^{t}\), where

\[ \sum_{t\in T}\gamma_{[}^{t}=\gamma_{[}, \]

then

\[ [_{\gamma_{[},w\prod_{t\in T}\Sigma_{[}^{t}}\mathfrak B]_{\gamma_{[},w\prod_{t\in T}\Sigma_{[}^{t}} \equiv [_{t,T}[_{\gamma_{[}^{t},\Sigma_{[}^{t}}^{t}]_{t,T}\mathfrak B[_{t,\overline T}]_{\gamma_{[}^{t},\Sigma_{[}^{t}}^{t}]_{t,\overline T} \prec \]

\[ \prec [_{\gamma_{[},p\prod_{t\in T}\Sigma_{[}^{t}}\mathfrak B]_{\gamma_{[},p\prod_{t\in T}\Sigma_{[}^{t}} \]

(\(\overline T\) is the set dual to the set \(T\)).

C. If \(\Gamma_{[}\subset \Gamma'_{[}\) and the characteristic function \(p(\gamma_{[})\) of the set \(\Gamma_{[}\) is given, then

\[ [_{\gamma_{[},\Gamma_{[}}\mathfrak B]_{\gamma_{[},\Gamma_{[}} \equiv [_{\gamma_{[},\Gamma'_{[}}p(\gamma_{[})\uparrow^{\gamma_{[}}\mathfrak B\downarrow^{\gamma_{[}}]_{\gamma_{[},\Gamma'_{[}} . \]

Every expression \(\mathfrak B\subseteq\mathfrak A\) may be regarded as a finite completely ordered set. Suppose that on this set a parameterized system \((B)=\{\gamma_B,\Gamma_B,B,\mathfrak B\}\) is given, with \(\gamma_B\cap\gamma(\mathfrak A)=0\). Let \(\mathfrak N\) be a finite set of pairwise nonintersecting expressions, on each of which a parameterized system is given. Denote by \(\mathfrak A'\) the expression obtained from the algorithm scheme \(\mathfrak A\) by replacing every \(\mathfrak B\in\mathfrak N\) by the expression \([_{\gamma_B,\Gamma_B}B(\gamma_B)]_{\gamma_B,\Gamma_B}\).

If, for all brackets and logical conditions entering into \(\mathfrak A'\), \(z([)=z(])\) and \(z(\downarrow)\subseteq z(p\uparrow)\), then \(\mathfrak A'\) is an algorithm scheme and \(\mathfrak A\equiv\mathfrak A'\).

An operator of the first rank in which: a) for every \([\), the set \(\gamma_{[}\) consists of only one element; b) \(\Gamma_{[}\) is some interval of the natural number sequence, will be called a counting scheme.

Theorem 1. For every algorithm scheme \(\mathfrak A\) one can construct a counting scheme \(\mathfrak A^*\) such that \(\mathfrak A^*\prec\mathfrak A\).

Let \(\mathfrak A^*\) be an arbitrary counting scheme. To each expression \(\mathfrak A'\subseteq\mathfrak A^*\) we assign an expression \(\overline{\mathfrak A'}\) according to the following rules: c1) if \((h)\in\mathfrak M_0\), then \(\overline h=h\); c2) \(\overline{[_{\xi,\Gamma_\xi}}=(\xi\to\xi_0)\downarrow^\xi\), where \(\xi_0\) is the first element of the set \(\Gamma_\xi\); c3) \(\overline{]_{\xi,\Gamma_\xi}}=F(\xi,\Gamma_\xi)p(\xi\in\Gamma_\xi)\uparrow^\xi\); c4) if \(\mathfrak A'=\mathfrak A_1\mathfrak A_2\), then \(\overline{\mathfrak A'}=\overline{\mathfrak A_1}\,\overline{\mathfrak A_2}\), where \((\xi\to\xi_0)\) passes \(\xi_0\) in place of \(\xi\), and \(F(\xi,\Gamma_\xi)\) passes to the next value of \(\xi\) in \(\mathfrak A\).

Theorem 2. From any counting scheme \(\mathfrak A^*\), by means of c1)–c4), one can obtain a program scheme \(\overline{\mathfrak A}\) such that \(\overline{\mathfrak A}\equiv\mathfrak A^*\).

Received
12 X 1962

REFERENCES

  1. A. A. Lyapunov, Problems of Cybernetics, issue 8, 1962.
  2. A. A. Lyapunov, Problems of Cybernetics, issue 1, 1958.

Submission history

R. N. Tonoyan