UDC 519.95
G. M. ADEL’SON-VEL’SKII, A. A. LEMAN
Submitted 1966-01-01 | RussiaRxiv: ru-196601.80935 | Translated from Russian

Full Text

UDC 519.95

CYBERNETICS AND CONTROL THEORY

G. M. ADEL’SON-VEL’SKII, A. A. LEMAN

ON AN ALGORITHM FOR THE RAPID FINDING OF PSEUDOMAXIMA OF A FUNCTION DEFINED ON AN INTEGER LATTICE, WITH LIMITED MEMORY

(Presented by Academician P. S. Novikov on July 1, 1965)

1. Consider the set \(M\) of nodes \(X=(x_1,x_2,\ldots,x_k)\) of a \(k\)-dimensional integer lattice whose coordinates satisfy the relations
\[ 1 \le x_k \le \cdots \le x_2 \le x_1 \le n. \]
Let a function \(f(X)\) be given on the set \(M\), such that \(f(Y)\ne f(X)\) if \(Y\ne X\). One of the recognition algorithms proposed by L. E. Koonin leads to the problem of partitioning the set \(M\), defined as follows. Let
\[ X^{\mathrm I}=(x_1^{\mathrm I},x_2^{\mathrm I},\ldots,x_k^{\mathrm I}) \]
be the point of the set \(M\) at which the function \(f(X)\) attains its maximum. Exclude from consideration all points of the planes
\[ x_i=x_j^{\mathrm I},\quad i,j=1,2,\ldots,k. \]
On the remaining set, again find the point of maximum of the function \(f(X)\) and, denoting it by
\[ X^{\mathrm {II}}=(x_1^{\mathrm {II}},x_2^{\mathrm {II}},\ldots,x_k^{\mathrm {II}}), \]
exclude from consideration all points of the planes
\[ x_i=x_j^{\mathrm {II}},\quad i,j=1,2,\ldots,k. \]
Continuing this process, we obtain a certain partition \(R_f\) of the set \(M\). It is clear that the partition \(R_f\) is completely determined by the sequence
\[ \Xi=\{X^{\mathrm I},X^{\mathrm {II}},\ldots\}; \]
it is also clear that the sequence \(\Xi\) consists of no more than \(n\) points.

It is understandable that, in order to determine the partition \(R_f\), it is necessary to resort to computation of the function \(f(X)\) at least \(C n^k\) times, since, for example, all points of the set \(M\) must be examined. It is also clear that the required amount of memory cannot be less than \(C n\), since the sequence \(\Xi\) itself may already contain \(n\) points.

Theorem 1. There exists an algorithm for finding the partition \(R_f\) and the sequence \(\Xi\) that uses \(C_1 n^k\) calls to the computation of the function \(f(X)\) and requires memory of size \(C_2 n\).

2. By \(M(a)\) we shall denote the set of points \(X\in M\) at least one of whose coordinates is equal to \(a\).

Definition. Let \(N\) be some subset of the set \(M\). A point \(\bar X\in N\) is called a \(k\)-maximum on the set \(N\) if
\[ f(\bar X)>f(Y)\quad \text{for all } Y\in N\cap \bigcup_{i=1}^{k} M(\bar x_i). \]

Lemma 1. Suppose that some points of the set \(\Xi\) have been found by some method and the points of the corresponding planes have been excluded from consideration. Then every \(k\)-maximum on the remaining set \(M'\) belongs to \(\Xi\).

Indeed, a \(k\)-maximum
\[ X^0=(x_1^0,\ldots,x_k^0) \]
can be excluded from the set \(M'\) only in the case where there exists such a set \(M(x_s^0)\) and such a point
\[ Y\in M'\cap M(x_s^0) \]
that
\[ f(Y)>f(X^0). \]
The latter inequality, however, is impossible by the definition of a \(k\)-maximum.

The proposed algorithm is based on the successive finding of \(k\)-maxima.

Definition. Let \(N\) be some subset of the set \(M\). A sequence of points
\[ U^1,U^2,\ldots,U^s \]
of the set \(N\) will be called regular if the following conditions are satisfied:

  1. \(f(U^1) < f(U^2) < \cdots < f(U^s)\).

  2. \(U^a \in \displaystyle\bigcup_{i=1}^k M(u_i^b);\ a,b=1,2,\ldots,k;\ a<b-1.\)

A regular sequence is called complete if \(U^s\) is a \(k\)-maximum on the set \(N\).

We indicate a method for constructing complete regular sequences. Let \(U^1\) be any point of the set \(N\). If a regular sequence \(U^1, U^2, \ldots, U^i\) has already been constructed and the point \(U^i\) is a \(k\)-maximum, then a complete regular sequence has been constructed. Otherwise, as \(U^{i+1}\) we choose a point at which the maximum of the function \(f(X)\) is attained on the set

\[ N \cap \bigcup_{j=1}^k M(u_j^i). \]

It is obvious that any regular sequence is extended to a complete one in no more than \(n\) steps.

Construct on the set \(M\) a complete sequence, starting from an arbitrary point \(U^1\): \(U^1, U^2, \ldots, U^s\). By definition, \(U^s\) is a \(k\)-maximum and, by Lemma 1, \(U^s \in \Xi\). Having excluded from the set \(M\) all points

\[ X \in \bigcup_{i=1}^k M(u_i^s), \]

we obtain a certain set \(M^1\) with the regular sequence \(U^1, U^2, \ldots, U^{s-2}\) already constructed in it (it is easy to see that all these points were not among the excluded ones). If the sequence \(U^1, U^2, \ldots, U^{s-2}\) is already complete, then \(U^{s-2} \in \Xi\); having excluded from the set \(M^1\) all points

\[ X \in \bigcup_{i=1}^k M(u_i^{s-2}), \]

we obtain the set \(M^2\) and the regular sequence \(U^1, U^2, \ldots, U^{s-4}\) in it, and so on.

Suppose that in this way we have obtained some set \(M^l\) with a regular but incomplete sequence \(U^1, U^2, \ldots, U^{s-2l}\) in it. Extending this sequence to a complete one, we obtain a new \(k\)-maximum, and so on. We shall call the union of all complete regular sequences constructed in this way with initial point \(U^1\) the tree \(U\).

Let the tree \(U\) contain \(m_u\) complete regular sequences and, consequently, \(m_u\) \(k\)-maxima.

Lemma 2. The total number of vertices of the tree \(U\) does not exceed \(2m_u\).

Indeed, let \(U^\alpha\) be an arbitrary vertex of the tree \(U\) that is not a \(k\)-maximum. Then the point \(U^\alpha\) at some moment was excluded from consideration together with some \(k\)-maximum \(U^\beta\). However, at each moment the tree contains (and as yet has not been excluded) only vertices belonging to one regular sequence. From the definition of a regular sequence it is clear that the vertex \(U^\alpha\) can only immediately precede the \(k\)-maximum \(U^\beta\). Thus all vertices of the tree (except, perhaps, the vertex \(U^1\)) are partitioned into disjoint pairs consisting of \(k\)-maxima and the points preceding them, which proves the lemma.

Corollary. The construction of a tree \(U\) containing \(m_u\) \(k\)-maxima requires no more than \(C m_u n^{k-1}\) calls to the computation of the function \(f(X)\).

Indeed, each step in constructing the tree is connected with finding the maximum of the function \(f(X)\) on some subset of one of the sets \(M(a)\). At each vertex \(U^i\) of the tree \(U\) one has to bring into consideration \(k\) such sets, and moreover as many times as there exist \(k\)-maxima of the form \(U^{i+2}\). Since in this case the number of vertices of the tree does not exceed \(2m_u\), and the number of lattice points contained in the set \(M(a)\) is equal to \(C_{n+k-2}^{k-1}\), we have

\[ C=\frac{3k}{(k-1)!}\left(1+\frac{1}{n}\right)\left(1+\frac{2}{n}\right)\cdots\left(1+\frac{k-2}{n}\right) \le \frac{3k}{(k-1)!}e^{2/3\, k^2/n}. \]

Suppose that the tree \(U\) turns out to be completely constructed before all points of the set \(M\) have been excluded (and, consequently, before all points—

the aggregate \(\Xi\) will have been obtained). Denote by \(M_u\) the set of excluded points. On the set \(M \setminus M_u\), by means of the process described above, one can construct a new tree, starting from any point \(V^1\), the tree \(V\). If \(M_v\) is the set of points excluded in constructing the tree \(V\), and \(M \ne M_u \cup M_v\), then our process can be continued, starting from an arbitrary point \(W^1\) of the set \(M \setminus (M_u \cup M_v)\).

Since in all no more than \(n\) trees can be constructed, with the construction of some tree \(T\) all points of the set \(M\) will be exhausted:
\(M = M_u \cup M_v \cup \cdots \cup M_t\); moreover, obviously, the inequality
\(m_u + m_v + \cdots + m_t \le n\) holds. Combining this inequality with the consequence of Lemma 2, we obtain the proof of the first assertion of the theorem:

\[ \frac{3k}{(k-1)!}\, e^{2/3\, k^2/n}(m_u + m_v + \cdots + m_t) \le \frac{3k}{(k-1)!}\, e^{2/3\, k^2/n} n, \]

so that

\[ C_1 \le \frac{3k}{(k-1)!}\, e^{2/3\, k^2/n}. \]

To prove the second assertion of the theorem it is enough to observe that the total number of points in all the trees \(U, V, \ldots, T\) does not exceed
\(2(m_u + m_v + \cdots + m_t)\), which, as shown above, is not more than \(2n\). Since the sequence \(\Xi\) also consists of no more than \(n\) points, the required amount of memory does not exceed \(3n\); \(C_2 \le 3\).

Remark 1. The constant \(C_2\) can in fact be lowered to the value \(C_2 = 2\), since it is enough for us to remember only the points of the aggregate \(\Xi\) and that ordered sequence which we extend to a complete one; moreover, if \(l\) points of the aggregate \(\Xi\) have already been found, then the length of the sequence is not more than \(2n - l\).

Remark 2. The requirement \(f(X) \ne f(Y)\) for \(X \ne Y\) may be dropped. In this case the partition \(R_f\) is not determined uniquely, and the problem is posed as follows: find some partition \(R_f\) of the set \(M\), the sequence \(\Xi = \{X^{\mathrm I}, X^{\mathrm{II}}, \ldots\}\) of which satisfies the conditions
\(f(X^{\mathrm I}) \ge f(X^{\mathrm{II}}) \ge \cdots\). Theorem 1 is evidently also valid for this case.

Remark 3. The problem formulated in § 1 can be generalized in the following way. Let a function \(f(X)\) be given, defined on the set \(K\) of vertices \(X(x_1, \ldots, x_k)\) of a \(k\)-dimensional integer lattice lying in the cube \(1 \le x_i \le n\). Let \(G\) be some subgroup of the group \(P_k\) of permutations of \(k\) elements. Suppose further that it is known that \(f(Y) = f(X)\) for all and only those points \(Y\) whose coordinates are obtained from the coordinates of the point \(X\) by permutations belonging to the subgroup \(G\).

Denote by \(M\) the set obtained from the set \(K\) after its factorization by the subgroup \(G\). Then the partition \(R_f\) of the set \(M\) and the sequence \(\Xi\) are defined in complete analogy with how this was done in § 1. Theorem 1 carries over entirely to this case. We note only that, instead of the sets \(M(a)\), one must consider the sets obtained after factorization by the subgroup \(G\) from the sets of points of the planes \(x_i = a\).

We also note that the value of the constant \(C_1\) depends, generally speaking, on the group \(G\); the value of \(C_2\), however, does not exceed 2.

Received
9 VI 1965

Submission history

UDC 519.95