states. Since (Kameda and Weiner, 1970), there are a
few changes in description of the exact algorithms
for this problem: all the algorithms are exponential
relative to the number of states of considered NFA.
The last argument is true because all the algorithms
need to construct equivalent automaton of canonical
form (or, maybe, some similar graphs or other
objects). Let us remark, that from the point of view
of the theory of complexity of algorithms, all the
published algorithms (Kameda and Weiner, 1970;
Jiang and Ravikumar, 1993; Melnikov, 2000; etc.)
are equivalent. However we hope, that the approach
of authors of this paper (Melnikov, 2000) allows
formulating some heuristics for anytime algorithms.
Second, it is the problem of minimization of
disjunctive normal forms (DNF). The exact
algorithms for this minimization are obtained for
ages (and are considered in the classical textbooks,
for example, in the Russian textbook for first-year
students (Yablonskiy, 1979), which is used more
than 25 years), however the computer programs
making on basis of such solutions cannot work in
real time even for the number of variables, which is
equal to 20, except, certainly, for a lot of trivial
cases. The author does not know books, where any
anytime algorithms for this problem are obtained,
however, if such papers do exist, the approach of
this paper, certainly, can be used in some alternative
versions of computer programs.
In this paper, we shall consider local heuristics
for two the described problems. However, let us
briefly describe the two other problems, for which
we are going to publish local heuristics in the next
papers.
Thus, the third problem is the classical travelling
salesman problem (TSP; see (Hromkovič, 2003),
etc.); certainly, universal methods for solving TSP
simply cannot exist. Some last years, authors of
papers for heuristic methods of TSP-solution
consider most often so called metric TSP. For their
solving, some methods of linear programming and
multi-agent optimization are used; (Hromkovič,
2003; Dorigo and Gambardella, 1997; Johnson and
McGeoch, 1997; etc). However, some variants of the
classical B&B can also be used not only for the
exact (optimal) solution of considered TSP, but also
for quasi-optimal heuristic solutions. At first, such
approach can be used for the quasi-metric TSP
(Melnikov and Romanov, 2001).
And the fourth problem is the special problem
for graph transformation algorithms. Considering
weighted oriented graphs, we formulate some
special rules for combining their vertices. And the
goal is to obtain graph having minimum possible
number of edges. For details, see (Belozyorova and
Melnikov, 2005) and the references from that paper.
3 SOME LOCAL HEURISTICS
FOR THE NFA-MINIMIZATION
PROBLEM
In this Section, we consider a heuristic algorithm for
forming quasi-optimum covering; let it be Q defined
in (Melnikov, 2000). For this thing, we shall select a
subset of blocks (grids) of a matrix, which cells are
corresponding to elements of special binary relation
#, and this relation can be construct on the base of
the given NFA. (See details also in (Melnikov,
2000).)
The considered algorithm is based on a special
modification of truncated B&B. It differs from the
classical truncated B&B that we do not divide the
considered problem (and, therefore, the searching
space) into the left and right ones. The whole
searching space corresponds to the whole set of
blocks, but for the first step, it is only the considered
matrix of binary relation #.
But the practical programming for the classical
truncated B&B gave the poor results. The main
obstacle is that we hardly can fixed the fact that the
considered block does not belong to the anytime
solution. Besides, we can estimate only the cells, not
the blocks (see such heuristics in (Melnikov, 2005)).
And procedure of constructing blocks is the
particular heuristic sub-problem; we are going to
describe corresponding algorithms in the next paper.
Therefore, we have to use the following
modification of the truncated B&B.
1. Considering the next problem of the
searching space, we select a cell using the
heuristics A (see below).
2. Using the heuristics B (see below), we
construct the set of blocks M. Each of
these blocks contains the selected cell. Let
the number of blocks given by algorithm
B be N.
3. The considered problem is divided into N
ones. In each of obtained problem, we
suppose that the next considered block
belongs to Q, and other N-1 blocks do not
belong to Q.
4. Returning to the step 1. (Or exiting, if the
searching space is empty.) ■
This heuristic algorithm is based on the
following example. Let us have the considered
problem T, and after the heuristics A and B (see
below), we obtain a set of blocks (let they be b1, b2
and b3) for the next branching. Then we divide the
problem T for 3 ones (T1, T2 and T3, branching by
b1, b2 and b3 correspondingly). And we use the fact
that b1 could hardly be included in the set of blocks
solving the problems T2 and T3, etc.
SOME SPECIAL HEURISTICS FOR DISCRETE OPTIMIZATION PROBLEMS
361