Evolutionary algorithms (EAs), which are automated problem solving techniques inspired by biological evolution, have been used to address many challenging problems in a variety of fields. For example, EAs have been used to layout electronic circuits, design radio antennas, identify drug interactions, and to predict cancer malignancy. EAs have also been used to advance our understanding of evolutionary biology, including the evolutionary origins of complexity and altruism. This broad applicability of EAs has led to a variety of different incompatible approaches, which complicates the replication of experiments, promotes duplication of effort, and hinders collaboration among researchers. Moreover, while a powerful tool for solving complex problems, many EAs require that thousands of computationally-expensive simulations be performed before a solution is found. A framework that enables the use of advanced computational resources, while minimizing the incompatibilities between different evolutionary algorithms, is needed.

This research involves the development of "GENEVA," a framework to GENeralize EVolutionary Algorithms. GENEVA is designed to address the challenges facing users of EAs in three ways: First, it provides a C++ and Python-based software abstraction layer so that components from existing EA software packages can be used within a common environment. Second, it enables users to transparently make use of available high-performance computing resources. Finally, GENEVA provides an interactive graphical environment that can be used by students and researchers alike to explore and analyze evolutionary algorithms. To guide the development of GENEVA, two case studies will be investigated, one from each of engineering and evolutionary biology.

Project Report

This research project was for the development of software that leverages our understanding of biological evolution to solve problems in engineering. This software, called ``EALib,'' is a framework that generalizes evolutionary algorithms (EAs), which are software algorithms that implement evolution by natural selection in a computer. EALib addresses three challenges facing modern users of EAs. First, it provides a software abstraction layer for EAs so that components from existing software can be used within a common environment. Second, it enables users to transparently make use of high-performance computing (HPC) resources, when available. Finally, it provides an interactive graphical environment that can be used by students and researchers alike to explore and analyze evolutionary algorithms. EALib has been used for a number of different case studies -- Specifically, EALib has served as: A key enabling technology for the exploration of questions related to the origins of multicellular life; a software platform for preliminary work into using EAs for the discovery of probabilistic state automata; and a method for easily comparing entirely different EAs on the same or similar problems. EALib also takes advantage of a relatively new web technology to enable people to interact with evolutionary algorithms. Specifically, through a combination of Emcripten and Javascript, EALib is able to run evolutionary algorithms in freely available web browsers. This feature promises broad access to research results.

Agency
National Science Foundation (NSF)
Institute
Division of Advanced CyberInfrastructure (ACI)
Application #
1122617
Program Officer
Sushil Prasad
Project Start
Project End
Budget Start
2011-08-01
Budget End
2014-07-31
Support Year
Fiscal Year
2011
Total Cost
$240,000
Indirect Cost
Name
Knoester David B
Department
Type
DUNS #
City
East Lansing
State
MI
Country
United States
Zip Code
48823