Rogov
Yu. I.
National
Mining University, Dnepropetrovsk, Ukraine
An analysis of problems of development of programs based on genetic
search
Traditionally,
computer programs were designed to address well-defined tasks. In order to
adapt an existing program to solve new problems, sometimes it is necessary to
revise or completely rewrite it. Such work is timely and does not exclude
errors. Methods of artificial intelligence (AI) simplify integration of programs
and make possible to embed features of self-learning and accumulation of new
information that can be used further into AI systems.
Due to the
complexity and uniqueness of modern optimization problems development of
methods and models for effective decision-making moved into the notion of
"artificial intelligence". Simulating human thinking, as well as
modeling of development and perfection of nature allow us to find new ways of
building AI systems. Evolutionary methods and genetic algorithms (GA) are one
of the most promising and rapidly developing areas of mathematical modeling.
GAs are quite
powerful and versatile tool for solving many optimization problems. Importance
of development of programs supporting the procedures of genetic search and
optimization is obvious [1, 2]. However, development and programming of this
algorithm, as well as implementation and improvement face numerous problems
[3].
The key feature of
GA is encoding and decoding of solutions at the level of genes and chromosomes,
so there is usually a tight linkage to the specific problem. Individual
software implementation of the GA for a particular problem leads to a loss of previous
developments of programmers such as optimization of data structures, code of
the program, as well as means to enhance the computation effectiveness. Only the
experience of general organization of the genetic search procedures is being
used.
Another important
problem is the lack of comparative analysis with similar GAs, as well as with
other optimization methods. Usually a single algorithm with minor variations is
implemented in a program, which does not allow determining the actual
effectiveness of the algorithm in general.
In essence random
direction of search in GA is in some way a disadvantage, because the next time
you run the algorithm the search will be different. Developed programs do not
allow repeating the path to the previously found optimal solutions; therefore,
the key information about the features of solving similar problems is being
lost. It is virtually impossible to indicate a connection between the
parameters of the GA and problem-solving effectiveness.
Programmers often
use the classical schemes of GAs, as well as common types of genetic operators,
which lead to insufficiently proven conclusions about the applicability or
inapplicability of the GA for a specific problem. However, it is known that the
range of modifications of the genetic operators as well as the diversity of
existing schemes of GAs and flexibility of their modifications allows to find
an approach to almost any problem.
The analysis of
problems allow to conclude that such program can be developed if:
·
there shall be no linkage to the specific problem;
·
several options for encoding / decoding parameter vectors shall be
provided depending on the class of problems;
·
possibility of storing "successful" algorithms in the
knowledge base shall be provided;
·
a tool set shall be developed for modification of genetic operators and
the genetic algorithm in general.
Application of
artificial intelligence methods can significantly simplify and improve the
development of programs.
Program structure needs
to be modular [4]. It is necessary to divide the program into modules, which
are clearly marked with inputs and outputs. This will make programming easier as
well as further and program modification.
The descending programming
is more effective [5]. Taking this approach, the program components are checked
before moving to a lower level, thus avoiding the problems arising in the
ascending development. Focus on the partially completed program allows to
investigate its performance at the earlier stages and to conduct preliminary
debugging.
Thus, taking into
account the abovementioned problems, the development and implementation of a
universal program supporting the genetic search procedures which would allow to
solve a wide range of optimization problems is relevant. In particular, problems
in the areas of economy, technology, medicine, and innovation may be solved
more effectively.
References:
1.
Смирнов В. В.
Обоснование выбора и оценка эффективности генетического алгоритма для решения
задач управления технологическими процессами обогащения [Текст] / В. В.
Смирнов, Ю. И. Рогов // Науковий вісник НГУ. — 2008. — №2. — С.77-80.
2.
Рогов Ю. І. Використання процедури генетичного пошуку для моделювання в
управлінні [Текст] / Ю. І. Рогов // Матеріали міжнар. наук.-практ. конф.
"Проблеми і перспективи інноваційного розвитку економіки України". –
Дніпропетровськ : Національний гірничий університет, 2008. - Т.2 - С.214-216.
3.
Курейчик В. В. Подходы к организации интегрированной инструментальной
среды поддержки процедур генетического поиска и оптимизации решений
[Электронный ресурс] / В. М. Курейчик, Е. В. Нужнов // Перспективные
информационные технологии и интеллектуальные системы. — 2003. — № 4(16). — С.
7-19.— Способ доступа : http://pitis.tsure.ru
4.
Хьюз Ч. Методы программирования: Курс на основе ФОРТРАНа [Текст] / Ч.
Хьюз, Ч. Пфлигер, Л. Роуз. — М : Мир, 1981. — 336 с.
5.
Хьюз Дж. Структурный подход к программированию [Текст] / Дж. Хьюз, Дж.
Мичтом. — М : Мир, 1980. — 278 с.