Научная статья на тему 'Problems of Developing Web Systems for Evolutionary Computation'

Problems of Developing Web Systems for Evolutionary Computation Текст научной статьи по специальности «Математика»

CC BY
122
35
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
Computer aided analysis / Genetic algorithms / Open source software / Web services

Аннотация научной статьи по математике, автор научной работы — Rostyslav Kryvyy, Serhii Tkachenko, Volodymyr Karkuljovskyy

This article discusses the features of crossplatform technologies to develop systems of evolutionary computing. In this paper deals with popular frameworks that simplify the implementation of software products based on genetic algorithms

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Problems of Developing Web Systems for Evolutionary Computation»

Problems of Developing Web Systems for Evolutionary Computation

Rostyslav Kryvyy, Serhii Tkachenko, Volodymyr Karkuljovskyy

Abstract — This article discusses the features of crossplatform technologies to develop systems of evolutionary computing. In this paper deals with popular frameworks that simplify the implementation of software products based on genetic algorithms

Index Terms - Computer aided analysis, Genetic algorithms, Open source software, Web services.

I. Introduction

Today, the problems of searching of optimal solutions undoubtedly increase their urgency and significance. The need for decision making of different importance grows, rises responsibility for the solutions accepted, and their consequences become more significant.

In addition, there are many problems that can not be resolved with traditional methods, which makes an important development and analysis of algorithms evolutionary type [1,2].

II. What is genetic algorithms

The name of the algorithm, because it lies at the basis of simulation of processes occurring in nature, among individuals of any population. The individual is a solution, encoded in an arbitrary manner, such as a binary string. The set of solutions at a fixed time of a population. Individuals current population compete with each other for the transfer of its genetic information (the creation of offspring) in the next population. Selected individuals from the current population by selection, are the steps for creating new solutions to its children - recombination and mutation. The basic operators of genetic algorithm called crossover operators, selection and mutation. It is known that GA has a global convergence (Fig. 1).

Manuscript received October 9, 2011.

Rostyslav Kryvyy is with CAD Department, Lviv Polytechnic National University, UKRAINE, Lviv, S. Bandery street 12, (corresponding author to provide phone: +38 (032) 258 21 02; fax: +38 (032) 258 26 74; e-mail: kryvyj@polynet. lviv.ua)

Serhii Tkachenko is with CAD Department, Lviv Polytechnic National University, UKRAINE, Lviv, S. Bandery street 12, (corresponding author to provide phone: +38 (032) 258 21 02; fax: +38 (032) 258 26 74; e-mail: sptkach@gmail.com)

Volodymyr Karkuljovskyy is with CAD Department, Lviv Polytechnic National University, UKRAINE, Lviv, S. Bandery street 12, (corresponding author to provide phone: +38 (032) 258 21 02; fax: +38 (032) 258 26 74; e-mail: vak@polynet.lviv.ua)

In addition, genetic algorithms are probabilistic (stochastic) process. To analyze the effectiveness of their work should be carried out a statistical averaging over several launches. The quality of the GA will be judged on three criteria in order of importance: reliability, speed, range (range of generations in which the solution is found).

Fig. 1. A very simplified view of genetic algorithms

III. Pros and cons of genetic algorithms

Features of GA: GA are not only just random search. They effectively use information accumulated during the evolution process. The main advantage of evolutionary modeling is possibility of solving of tasks that have many local optimums at the expense of combining of elements of randomness and directivity in exactly the same way as it is in nature[2].

GA differ from other optimization and searching procedures in given below:

• They mostly work not with task’s parameters but with coded set of parameters.

• The search is performed not in way of improving of one solution but with the help of usage at once few alternatives on set of solutions.

• Usage of objective function but not its various gains for estimation of making decisions quality.

Features of genetic algorithm’s design: Genetic

algorithm’s design includes main components given below: design of structure, principle of coding and decoding of chromosomes, main genetic operator’s design, and design of common structure of genetic search.

on software support and Result of GA affects number of factors [3]:

• Design of almost each GA is ground on stages of solution’s coding and decoding in the form of genes and

chromosomes. For this process it is mainly used experience of previous realizations.

• Software support of each GA is made almost from the very beginning that is why all earnings from previous projects mainly are lost.

• Designers often use only the most widespread schemes of GA and genetic operators after what they design simplified variants of GA’s usage for certain task.

Similar to the rest algorithms genetic algorithm has its advantages and disadvantages. One of its greatest pluses is wide range of the application fields that enables to use it for different classes’ tasks solving. Genetic algorithms are adopted for diverse dimension tasks solving. Genetic algorithm can be realized with the help of problem-oriented programming that gives lots opportunities for ideas of problem-oriented design realization. Nevertheless there are reasons that complicate development and realization of genetic algorithms. In fact it is needed to realize new genetic algorithm for particular task, realize and decode decision again. Its heuristic character also can be taken as disadvantage and it does not guarantee globally optimal decision. And about high computing complexity - you can take it in with paralleling of computing process [4].

IV. The Current State of Software Development for Genetic Algorithms

Software products that use genetic algorithms can be divided into several major categories [1, 5]. The first category of software - packages that implement classical genetic algorithm with the possible configuration options, the basic operators of genetic algorithms. Model chromosomes in these packages is usually the standard binary structure, and selection is given a mathematical expression. The second category of programs are specialized programs designed to solve specific problems. These genetic algorithms are designed and optimized to address a narrow, clearly defined problems. The third category of development on genetic algorithms including research that is to investigate the properties and characteristics of different genetic algorithms and their convergence degeneracy.

V. Features of Web Systems

Analysis of the current state of the software showed that the program can be divided into three categories, namely:

- Client programs that are installed on each user's machine.

- Client programs that are installed on each user's machine, and data processing occurs on a separate server (using client-server technology).

- Client programs that use a web-browser, and the application server is a web-server.

Fig.2. A very simplified view of web technology

The most promising one appears to be a system that is created on the basis of technology that uses a web-browser. This popularity is due to the fact that the World Wide Web has become a global communication system for delivering information and services, including software and web applications, which have become one of the mostly growing areas. Such systems have a lot of advantages [3,6]:

a) convenience when upgrading - upgrading is conducted only on the servers, which requires less time and effort, and facilitates the maintenance system;

b) ease of scaling - there is no need to install any additional software when you want to run a program. Everything you need is a web-browser, which is present in any operating system (oS), and access to the server via LAN or the Internet;

c) cross-platform support - the system does not depend on the type of operating system installed on the user's machine.

Among the advanced technologies that are most suitable for solving such problems is most suitable technology for Adobe AIR [7]

This technology is a platform-independent operating environment. The program, written with AIR, can be run not only in the browser, but as a normal desktop application.

AIR enables to convert existing Web services by using Flash, ActionScript, HTML or JavaScript, to traditional PC program. Typically, web services store user data on their servers. on the other hand, the ability to save your information on your own PC is often very important for the user. AIR applications also have the opportunity to work without Internet connection.

Application written using AIR can be run on multiple platforms for which Adobe or its partners deliver runtime environment, namely: Microsoft Windows NT (XP, Vista, 7), Mac OS X (PowerPC and Intel), Linux, Android.

The advantages of this technology are the following:

a) with AIR you can easily transfer ready HTML or Adobe Flex application on the user’s computer;

b) additional access to the file system, clipboard, drag-and-drop technology.

Genetic algorithm is a search procedure based on the mechanism of natural selection and inheritance. They are used in various ways to solve many scientific and technical problems. Despite the enormous interest in the field of evolutionary computations, the number of actual working programs in this area is quite small. Work in this area can be divided into several major categories. [2] But all these programs are installed on each user's computer individually.

VI. DEVELOPMENT OF A WEB-SYSTEM

Having analyzed the most popular system for the implementation of evolutionary computation was selected key indicators on which to resist the development of modern systems [8].

The system should be simple in use of. This requires the design of user interface pay attention to the features and use the control system.

The system should be also include visualization of genetic algorithm that simplify work and give information about the optimization algorithm and work as well for advanced students. Also sells output estimates, each individual and generation.

The system should be flexible to adjust the various modifications of parameters of genetic operators.

Developers should provide extensibility of the system. In the case when users want to supplement the system with their algorithms.

Since the user wants to analyze the obtained data, the system must provide output data for further processing. Best suited for this XML-format files, which will consist of two parts. The first should describe the problem and the second to bring the characteristics of each generation (parameters operators, fitness evaluation of each generation, and special information about the best and worst individuals, including genotype, phenotype). This file will also be very useful when you get a good result in the optimization and can not remember every option instead of installing all options, the user can simply download the file playback and playback optimization.

Some of these features implemented in web-based graphical user interface for evolutionary algorithms which is called EA (Evolutionary Algorithm) Sandbox (Fig.3). [9]

Fig.3. Evolutionary Algorithm Sandbox- a Web-Based Graphical User Interface for Evolutionary Algorithms

VII. Framework for implementing genetic ALGORITHMS

Framework is ready to use complex software solutions, including design, logic and basic functionality of the system or subsystem. According software framework may include also support programs, some library code, scripts and generally anything that facilitates the creation and combination of various components of large software or rapid creation of finished and do not necessarily great software. Library - a collection of objects or routines for solving similar problems on the subject. The library contains the original code and data to support integration of new features in software solutions.

The powerful frameworks for develop genetic algorithms with large functional capabilities are given in T able 1.

This description does not deserve to be complete. As with every year of work in this area increases.

Every year the number increases frameworks, and their functionality improved. But the realization of software and systems using developed frameworks should remember that the efficiency of genetic algorithm in solving a specific problem depends on many factors, particularly of such as genetic operators and selection of appropriate parameters, and also a representation of the solution on the chromosome. Optimization of these factors leads to increased speed and stability of the search, which greatly affect the application of genetic algorithms [3, 5].

VIII. Conclusion

Relying on its advantages, the developed web-based systems will give the possibility to simplify the usage of genetic algorithms for optimization problems. They possess the following advantages: convenience when upgrading software, ease of scaling, cross-platform support, and access to the system from any computer with a global network.

Further development of this system involves expanding types of the tasks that can be solved by genetic algorithms.

TABLE 1

Genetic Algorithms Frameworks

Name Date release Programming language

Open BEAGLE 3.0.3 29.11.2007 C++

[10]

JGAP (java genetic algorithms packege) 10.12.2007 Java

3.5 [11] Genetic Algorithms Framework 0.7.0 17.7.2009 Java

[12] Watchmaker 15.1.2010 Java

Framework 0.7.1 [13]

Pyevolve 06 [14] 12.5.2010 Python

PGAPack 0.1 [15] 1.7.2010 Python.

AForge.NET 2.1.5 11.1.2011 C#

[16]

Evolving Objects 5.2.2011 C++

(EO) 1.2.0 [17]

Features

Provides high-level software environment for performance of any evolutionary computation, with support for genetic programming, bit string, integer vectors in genetic algorithms, and evolutionary strategies.

Provides basic evolutionary principles that can be easily used for solving problems.

Allows to implement various complexity of genetic algorithms

Use of parallelism to improve performance on multicore and multiprocessor machines

Allows you to realize the evolutionary processes of different complexity, etc.

Uses basic operators of genetic algorithm;

gives new statistics, graphs and so on.

Allows to implement parallel genetic algorithms

Aimed at solving various problems of genetic algorithms and genetic programming;

different types of chromosomes (binary, arrays), and algorithms (elitism, selection, etc.)

Flexible design that allows you to easily create virtually any algorithm

different types of chromosomes (binary, arrays), and algorithms (elitism, selection, etc.)

References

[1] . Rostyslav Kryvyy. Analysis of Frameworks for Developing Genetic Algorithms / Rostyslav Kryvyy, Serhii Tkachenko, Volodymyr Karkuljovskyy. Proc.of the VIIth International Conference MEMSTECH’2011 - Lviv - Polyana. 2011. рр. 209-210. p32

[2] [Goldberg D.E. Genetic Algorithms in Search, Optimization and Machine Learning. - Addison-Wesley, MA. - 1989.

[3] Lobur M. System’s structure design for genetic search / M. Lobur, S. Tkatchenko, R. Kryvyy, I. Darnobyt // Proc. of the 5th International Conference of Young Scientists MEMSTECH. - Lviv-Polyana, 2009. -P. 60.

[4] Kryvyy R. Factors of influence on genetic algorithm’s work in MEMS design / R. Kryvyy, M. Lobur, S. Tkatchenko, I. Darnobyt // Proc. of the X-th International Conference CADSM. - Lviv-Polyana, 2009. - P. 327.

[5] Kryvyy R. Analysis of existent systems in researching genetic algorithms / R. Kryvyy, M. Lobur, S. Tkatchenko // Proc. of the XV Ukrainian-Polish CADMD. - Krasiczyn (Poland), 2009. - P. 24-25.

[6] Antonov YS Computer testing system based on technology three-database / Information Technology and Teaching Issue 2 (6), Kyiv, 2008.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

[7] http://www.adobe.com/products/air.html

[8] Krivoy R.Z. Design subsystem for the study of genetic algorithms using templates / R.Z. Krivoy, M. Lobur, S. Tkachenko // Bulletin of the National University "Lviv Polytechnic" Computer systems design. Theory and Practice." 2009. № 651. Р. 182-186.

[9] Gardner B.G., Simon D. Evolutionary algorithm sandbox: A web-based graphical user interface for evolutionary algorithms. Systems,

Man and Cybernetics, 2009. SMC 2009. IEEE International Conference on Issue Date: 11-14 Oct. 2009 On page(s): 577 - 582

[10] Open BEAGLE - http://beagle.gel.ulaval.ca/

[11] JGAP (java genetic algorithms packege) - http://jgap.sourceforge.net/

[12] Genetic Algorithms Framework - http://sourceforge.net/projects/ga-fwork/

Dr. Rostyslav Kryvyy is a Associate Professor of Computer-Aided Systems Department of Computer Science and Information Technology Institute of Lviv Polytechnic National University.

Date of his birth is 25.03.1985, Zbarazh (Ukraine).

Education and Degrees Received:

2001 - 2006 - Master Degree of computer science , Lviv Polytechnic National University, Lviv (Ukraine);

2006 - 2009 - Ph.D. student: in Computer-Aided Design, Lviv Polytechnic State University, Lviv (Ukraine);

2010 - Ph.D. in Computer-Aided Design, Lviv Polytechnic State University, Lviv (Ukraine).

Professional Activity:

2010 - present - Assistant Lecturer, Lviv Polytechnic National University, Lviv (Ukraine);

Research interests are Design and programming of genetic algorithms, More than 25 publications, scientific-research papers and conference proceedings.

[13] Watchmaker Framework - http://watchmaker.uncommons.org/

[14] Pyevolve - http://pyevolve.sourceforge.net/

[15] PGAPack - http://pgapy.sourceforge.net/

[16] AForge.NET - http://www.aforgenet.com/

[17] Evolving Objects (EO) - http://eodev.sourceforge.net/

i Надоели баннеры? Вы всегда можете отключить рекламу.