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 с.