Reports of the Academy of Sciences of the USSR
R. I. PODLOVCHENKO
Submitted 1960-01-01 | RussiaRxiv: ru-196001.55643 | Translated from Russian

Abstract

Full Text

Reports of the Academy of Sciences of the USSR

  1. Volume 132, No. 6

CYBERNETICS AND CONTROL THEORY

R. I. PODLOVCHENKO

ON A SYSTEM OF PROGRAMMING CONCEPTS

(Presented by Academician A. I. Berg on February 26, 1960)

The task of analyzing logical schemes that arise in the construction of programs has led to the introduction of the concepts: operator, logical condition, operator sequence ((^{1-8})).

In the present article one of the possible ways of defining these concepts is considered, and some relations between operator sequences are established on the basis of their functioning.

  1. Let us call a certain finite set (H) a memory; let the number of memory elements, hereafter called cells, be equal to (N). Number the memory elements in some order: (H={h_t}), (t=1,2,\ldots,N).

  2. Let (G={x}) be another finite set. An (N)-dimensional vector (X=(x_1,x_2,\ldots,x_N)), all of whose components belong to the set (G), will be called a state of the memory (H). The component (x_t) of the vector (X) will be called the state of the cell (h_t) in the memory state (X). The set of all possible states of the memory will be denoted by (Y).

  3. A mapping

[
\widetilde{X}=A(X)
]

of a set (Y_A\subseteq Y) onto a set (\widetilde{Y}A\subseteq Y) will be called an operator, and the sets (Y_A) and (\widetilde{Y}_A) respectively the domain of definition and the range of values of the operator (A). Consider operators (A_1) and (A_2), for which the intersection (\widetilde{Y}) is nonempty; let a subset (Y^*}\cap Y_{A_2{A_1}\subseteq Y) be mapped by the operator (A_1) into this intersection. Then the operator

[
A_1\cdot A_2 = A_2(A_1(X)),\quad X\in Y^*_{A_1},
]

will be called the product of the operator (A_1) by the operator (A_2). It is easy to see that, in the general case, the operators (A_1) and (A_2) are not commutative.

  1. Let (p(X)) be a certain two-valued predicate defined on the whole set (Y). The pair ((p(X),l)), where (l) is in the general case arbitrary, but for the given pair a fixed natural number, will be called a logical condition. Logical conditions ((p_1(X),l_1)) and ((p_2(X),l_2)) will be called equal if (p_1(X)\equiv p_2(X)), (l_1=l_2).

  2. Denote by (V) a certain set consisting of operators and logical conditions. An element of the set (V) will be called a term. Two terms are considered equal if both are equal operators or equal logical conditions. A function (B(X)) that maps the set of memory states (Y) into some subset (V_B\subseteq V) will be called selecting.

  3. We shall call operator such a sequence

[
M=B^{k+1},\ B^{k+2},\ldots,\ B^{k+n},
]

the (i)-th element (B^{k+i}), which is some selecting function (B^{k+i}(X)), (i=1,2,\ldots,n). Consider the pair ((X_0, k+i)), where (X_0) is an arbitrary element of (Y), and (1 \leqslant i \leqslant n). We shall call the pair ((X_0, k+i)) (M)-consistent if the memory state (X_0) belongs to the domain of the term (B^{k+i}(X_0)).

We shall call an (M)-consistent pair ((X_0, k+i)) terminal if one of the following conditions is satisfied:

a) (i=n,\ B^{k+n}(X_0)) is an operator;

b) (i=n,\ B^{k+n}(X_0)=\bigl(p^n_{x_0}(X),\,l^n_{x_0}\bigr),\ p^n_{x_0}(X_0)=1);

c) (1 \leqslant i \leqslant n,\ B^{k+i}(X_0)=\bigl(p^i_{x_0}(X),\,l^i_{x_0}\bigr),\ p^i_{x_0}(X_0)=0,\ l^i_{x_0}\ne k+1,\ldots,k+n);

d) (1 \leqslant i \leqslant n,\ B^{k+i}(X_0)=\bigl(p^i_{x_0}(X),\,l^i_{x_0}\bigr),\ p^i_{x_0}(X)\equiv 0,\ l^i_{x_0}=k+i).

  1. To the sequence (M) we assign the function (\theta_M), which to an arbitrary (M)-consistent pair ((X_0,k+i)) associates the pair ((\widetilde X_0,\widetilde l)), defined by the conditions:

a) if (B^{k+i}(X_0)+A^i_{x_0}(X)), then (\widetilde X_0=A^i_{x_0}(X_0),\ \widetilde l=k+i+1);

b) if (B^{k+i}(X_0)=\bigl(p^i_{x_0}(X),\,l^i_{x_0}\bigr)), then (\widetilde X_0=X_0),

[
\widetilde l=
\begin{cases}
k+i+1, & \text{if } p^i_{x_0}(X_0)=1;\
l^i_{x_0}, & \text{if } p^i_{x_0}(X_0)=0.
\end{cases}
]

Consider the pair ((X,k+1)), containing the number (k+1). Construct the sequence (L_M(X)), whose first element is the pair ((X,k+1)), and then, beginning with the second, each subsequent element is obtained from the preceding one by applying to it the function (\theta_M), and so on until we arrive at a pair that is not (M)-consistent. A memory state (X\in Y) will be called admissible for the sequence (M) if (L_M(X)) contains at least one terminal pair. Let the set (Y_M\subseteq Y) consist of all memory states admissible for (M).

Denote by (T_M) the rule according to which to each memory state (X_1\in Y_M) there are put in correspondence: the sequence of (M)-consistent pairs (\mathscr L_M(X_1)), the memory state (R_M(X_1)), and the number (l_M(X_1)), defined as follows. The sequence (\mathscr L_M(X_1)) is that segment of the sequence (L_M(X)) which begins with the initial pair ((X_1,k+1)) and ends with the first, in order, terminal pair belonging to (L_M(X)). Let

[
\mathscr L_M(X_1)= (X_1,k+1),\ (X_2,l_2),\ldots,(X_m,l_m);
]

then the state (R_M(X_1)) and the number (l_M(X_1)) satisfy the equality

[
\bigl(R_M(X_1),\,l_M(X_1)\bigr)=\theta_M(X_m,l_m).
]

The operator (R_M(X)) with domain (Y_M) will be called the product of the operators and logical conditions of the sequence (M).

  1. An (M)-consistent pair ((X_0,l)) will be called operatorial if the term (B^l(X_0)) is an operator. For an arbitrary memory state (X\in Y_M), we agree to denote by (\mathscr L^*_M(X)) that sequence (\mathscr L_M(X)) which consists of all operatorial pairs of the latter.

Consider the operator sequences

[
M_1=B^{k'+1}_1,\ B^{k'+2}_1,\ldots,\ B^{k'+n'}_1;
]

[
M_2=B^{k''+1}_2,\ B^{k''+2}_2,\ldots,\ B^{k''+n''}_2,
]

for which the sets of admissible states are (X_{M_1}) and (Y_{M_2}), respectively. Fix some vector of cells (\widetilde H).

For memory states (X' \in Y_{M_1}) and (X'' \in Y_{M_2}), construct the sequences

[
\mathcal{L}^{*}{M_1}(X')=(X'_1,l'_1),(X'_2,l'_2),\ldots,(X');},l'_{m'
]

[
\mathcal{L}^{*}{M_2}(X'')=(Y''_1,l''_1),(X''_2,l''_2),\ldots,(X'').},l''_{m''
]

We shall use the notation

[
\mathcal{L}^{}_{M_2}(X'') \supseteq \mathcal{L}^{}_{M_1}(X')[\widetilde H],
]

if the sequence (\mathcal{L}^{*}_{M_2}(X'')) contains such a subsequence

[
(X''{s_1},l''),\ (X''{s_2},l''),\ldots,(X''{sm'},l''),
]

which satisfies the conditions:

a) [
B^{\,l''{s_i}}(X''{s_i})=B^{\,l'_i}(X'_i),\quad i=1,2,\ldots,m';
]

b) [
X''_{s_i}[\widetilde H]=X'_i[\widetilde H],\quad i=1,2,\ldots,m'.
]

Here, assuming that (\widetilde H=(h^{(1)},h^{(2)},\ldots,h^{(\rho)})), and that (X) is an arbitrary memory state, by (X[\widetilde H]) we denote the (\rho)-dimensional vector whose (i)-th component is the state of the cell (h^{(i)}) under the memory state (X) ((i=1,2,\ldots,\rho)).

A memory state (X'' \in Y_{M_2}) will be called an (M)-conjugate state to (X') on the set of cells (\widetilde H), if the following assertions are valid:

a) [
\mathcal{L}^{}_{M_2}(X'') \supseteq \mathcal{L}^{}_{M_1}(X')[\widetilde H];
]

b) [
R_{M_2}(X'')[\widetilde H]=R_{M_1}(X')[\widetilde H];
]

c) the numbers (l_{M_2}(X'')) and (l_{M_1}(X')) either both belong or both do not belong to the segments ([k''+1,k''+n'']) and ([k'+1,k'+n']), respectively.

If for every memory state (X' \in Y^{}{M_1}\subseteq Y) there is at least one state (X'') that is an (M_1)-conjugate state to (X) on (\widetilde H), then, by definition, on the sets (\widetilde H) and (Y^{}) in the set (Y_{M_2}_{M_1}) the operator sequence (M_2) includes the sequence (M_1). We shall write this in the form:

[
M_2 \xRightarrow{\widetilde H} M_1[Y^{*}_{M_1}].
]

If the sequence (M_1) with the set (Y^{*}_{M_1}) of admissible memory states serves as a computation scheme for solving some problem (Q), then, under a special choice of the set (\widetilde H), an operator sequence (M_2) satisfying the condition

[
M_2 \xRightarrow{\widetilde H} M_1[Y^{*}_{M_1}],
]

is a program scheme for the problem (Q). Therefore, such transformations of the sequence (M_2) are of interest with respect to which the property of inclusion of the operator sequence (M_1) on the sets (Y^{*}_{M_1}) and (\widetilde H) is invariant.

A certain system of such transformations has been constructed; among them are transformations of program schemes associated with replacing one system of parameters by another system of parameters, as well as transformations based on mapping some subset of memory onto another. An illustration of the effectiveness of the latter is the case of transforming a program scheme constructed for multiplying matrices of arbitrary form into a program scheme for multiplying symmetric matrices; in this case the specification

a symmetric matrix is limited to information about its elements located, for example, on the main diagonal and above it. This and other examples of transformations of program schemes are considered in works (4, 9).

Received
13 II 1960

CITED LITERATURE

  1. A. A. Lyapunov, Collected volume: Problems of Cybernetics, vol. 1, 1958, p. 46.
  2. Yu. I. Yanov, Collected volume: Problems of Cybernetics, vol. 1, 1958, p. 75.
  3. R. I. Podlovchenko, Collected volume: Problems of Cybernetics, vol. 1, 1958, p. 129.
  4. R. I. Podlovchenko, Collected volume: Problems of Cybernetics, vol. 3, 1960, p. 123.
  5. A. A. Lyapunov, Radiofizika, 1, issue 1, 106 (1958).
  6. Yu. I. Yanov, Radiofizika, 1, issue 1 (1958).
  7. A. A. Lyapunov, Collected volume: Mathematics in the USSR over 40 Years, 1, 1959, p. 857.
  8. A. P. Ershov, Collected volume: Problems of Cybernetics, vol. 3, 1960, p. 5.
  9. N. G. Arsent’eva, Collected volume: Problems of Cybernetics, vol. 4, 1960, p. 59.

Submission history

Reports of the Academy of Sciences of the USSR