Search NASASearch

SEARCH · Search NASA

Results for “Genetic programming”

Search indexed NASA NTRS and DOE OSTI research on propulsion, heat transfer, battery materials and energy systems. Follow report and document links to the original sources.

Quote a phrase for an exact phrase match. Source license links do not imply unrestricted reuse.

At least 19 records

Constraints in Genetic Programming

Genetic programming refers to a class of genetic algorithms utilizing generic representation in the form of program trees. For a particular application, one needs to provide the set of functions, whose compositions determine the space of program structures being evolved, and the set of terminals, which determine the space of specific instances of those programs. The algorithm searches the space for the best program for a given problem, applying evolutionary mechanisms borrowed from nature. Genetic algorithms have shown great capabilities in approximately solving optimization problems which could not be approximated or solved with other methods. Genetic programming extends their capabilities to deal with a broader variety of problems. However, it also extends the size of the search space, which often becomes too large to be effectively searched even by evolutionary methods. Therefore, our objective is to utilize problem constraints, if such can be identified, to restrict this space. In this publication, we propose a generic constraint specification language, powerful enough for a broad class of problem constraints. This language has two elements -- one reduces only the number of program instances, the other reduces both the space of program structures as well as their instances. With this language, we define the minimal set of complete constraints, and a set of operators guaranteeing offspring validity from valid parents. We also show that these operators are not less efficient than the standard genetic programming operators if one preprocesses the constraints - the necessary mechanisms are identified.

Janikow, Cezary Z.

Stream Flow Prediction by Remote Sensing and Genetic Programming

A genetic programming (GP)-based, nonlinear modeling structure relates soil moisture with synthetic-aperture-radar (SAR) images to present representative soil moisture estimates at the watershed scale. Surface soil moisture measurement is difficult to obtain over a large area due to a variety of soil permeability values and soil textures. Point measurements can be used on a small-scale area, but it is impossible to acquire such information effectively in large-scale watersheds. This model exhibits the capacity to assimilate SAR images and relevant geoenvironmental parameters to measure soil moisture.

Chang, Ni-Bin

Genetic programming for the nuclear many-body problem: a guide

Genetic Programming (GP) is an evolutionary algorithm that generates computer programs, or mathematical expressions, to solve complex problems. In this Guide, we demonstrate how to use GP to develop surrogate models to mitigate the computational costs of modeling atomic nuclei with ever increasing complexity. The computational burden escalates when uncertainty quantification is pursued, or when observables must be globally computed for thousands of nuclei. By studying three models in which the mean field depends on the total particle density self-consistently, we show that by constructing reduced order models supported by GP one can speed up many-body computations by several orders of magnitude with a negligible loss in accuracy.

dimensionality reduction

Bingo: A Customizable Framework for Symbolic Regression with Genetic Programming

In this paper, we introduce Bingo, a flexible and customizable yet performant Python framework for symbolic regression with genetic programming. Bingo maintains a modular code structure for simple abstraction and easily swappable components. Fitness functions, selection methods, and constant optimization methods allow for easy problem-specific customization. Bingo also maintains several features for increased efficiency such as parallelism, equation simplification, and a C++ backend. We compare Bingo’s performance to other genetic programming for symbolic regression (GPSR) methods to show that it is both competitive and flexible.

machine learning

Bingo: A Customizable Framework for Symbolic Regression with Genetic Programming

In this paper, we introduce Bingo, a flexible and customizable yet performant Python framework for symbolic regression with genetic programming. Bingo maintains a modular code structure for simple abstraction and easily swappable components. Fitness functions, selection methods, and constant optimization methods allow for easy problem-specific customization. Bingo also maintains several features for increased efficiency such as parallelism, equation simplification, and a C++ backend. We compare Bingo’s performance to other genetic programming for symbolic regression (GPSR) methods to show that it is both competitive and flexible.

David Randall

Bayesian Model Selection for Reducing Bloat and Overfitting in Genetic Programming for Symbolic Regression

When performing symbolic regression using genetic programming, overfitting and bloat can negatively impact generalizability and interpretability of the resulting equations as well as increase computation times. A Bayesian fitness metric is introduced and its impact on bloat and overfitting during population evolution is studied and compared to common alternatives in the literature. The proposed approach was found to be more robust to noise and data sparsity in numerical experiments, guiding evolution to a level of complexity appropriate to the dataset. Further evolution of the population resulted not in overfitting or bloat, but rather in slight simplifications in model form. The ability to identify an equation of complexity appropriate to the scale of noise in the training data was also demonstrated. In general, the Bayesian model selection algorithm was shown to be an effective means of regularization which resulted in less bloat and overfitting when any amount of noise was present in the training data.

G F Bomarito

Bayesian Model Selection for Reducing Bloat and Overfitting in Genetic Programming for Symbolic Regression

When performing symbolic regression using genetic programming, overfitting and bloat can negatively impact generalizability and interpretability of the resulting equations as well as increase computation times. A Bayesian fitness metric is introduced and its impact on bloat and overfitting during population evolution is studied and compared to common alternatives in the literature. The proposed approach was found to be more robust to noise and data sparsity in numerical experiments, guiding evolution to a level of complexity appropriate to the dataset. Further evolution of the population resulted not in overfitting or bloat, but rather in slight simplifications in model form. The ability to identify an equation of complexity appropriate to the scale of noise in the training data was also demonstrated. In general, the Bayesian model selection algorithm was shown to be an effective means of regularization which resulted in less bloat and overfitting when any amount of noise was present in the training data.

Uncertainty quantification

Adaptable Constrained Genetic Programming: Extensions and Applications

An evolutionary algorithm applies evolution-based principles to problem solving. To solve a problem, the user defines the space of potential solutions, the representation space. Sample solutions are encoded in a chromosome-like structure. The algorithm maintains a population of such samples, which undergo simulated evolution by means of mutation, crossover, and survival of the fittest principles. Genetic Programming (GP) uses tree-like chromosomes, providing very rich representation suitable for many problems of interest. GP has been successfully applied to a number of practical problems such as learning Boolean functions and designing hardware circuits. To apply GP to a problem, the user needs to define the actual representation space, by defining the atomic functions and terminals labeling the actual trees. The sufficiency principle requires that the label set be sufficient to build the desired solution trees. The closure principle allows the labels to mix in any arity-consistent manner. To satisfy both principles, the user is often forced to provide a large label set, with ad hoc interpretations or penalties to deal with undesired local contexts. This unfortunately enlarges the actual representation space, and thus usually slows down the search. In the past few years, three different methodologies have been proposed to allow the user to alleviate the closure principle by providing means to define, and to process, constraints on mixing the labels in the trees. Last summer we proposed a new methodology to further alleviate the problem by discovering local heuristics for building quality solution trees. A pilot system was implemented last summer and tested throughout the year. This summer we have implemented a new revision, and produced a User's Manual so that the pilot system can be made available to other practitioners and researchers. We have also designed, and partly implemented, a larger system capable of dealing with much more powerful heuristics.

Janikow, Cezary Z.

Improving Search Properties in Genetic Programming

With the advancing computer processing capabilities, practical computer applications are mostly limited by the amount of human programming required to accomplish a specific task. This necessary human participation creates many problems, such as dramatically increased cost. To alleviate the problem, computers must become more autonomous. In other words, computers must be capable to program/reprogram themselves to adapt to changing environments/tasks/demands/domains. Evolutionary computation offers potential means, but it must be advanced beyond its current practical limitations. Evolutionary algorithms model nature. They maintain a population of structures representing potential solutions to the problem at hand. These structures undergo a simulated evolution by means of mutation, crossover, and a Darwinian selective pressure. Genetic programming (GP) is the most promising example of an evolutionary algorithm. In GP, the structures that evolve are trees, which is a dramatic departure from previously used representations such as strings in genetic algorithms. The space of potential trees is defined by means of their elements: functions, which label internal nodes, and terminals, which label leaves. By attaching semantic interpretation to those elements, trees can be interpreted as computer programs (given an interpreter), evolved architectures, etc. JSC has begun exploring GP as a potential tool for its long-term project on evolving dextrous robotic capabilities. Last year we identified representation redundancies as the primary source of inefficiency in GP. Subsequently, we proposed a method to use problem constraints to reduce those redundancies, effectively reducing GP complexity. This method was implemented afterwards at the University of Missouri. This summer, we have evaluated the payoff from using problem constraints to reduce search complexity on two classes of problems: learning boolean functions and solving the forward kinematics problem. We have also developed and implemented methods to use additional problem heuristics to fine-tune the searchable space, and to use typing information to further reduce the search space. Additional improvements have been proposed, but they are yet to be explored and implemented.

Janikow, Cezary Z.

Developing a robust strength model using physically-informed genetic programming

The strength of materials is influenced by a range of external conditions, such as temperature and deformation rate. Consequently, materials that demonstrate substantial variations in their mechanical behavior due to fluctuations in temperature and strain rate require complex strength models to accurately predict material performance in real-world applications. To predict such complex behavior, a robust and flexible strength model is necessary. In this work, we utilize genetic programming-based symbolic regression (GPSR) to develop data-driven strength models that accurately represent the measured stress–strain responses of tin across a wide range of strain, strain rate and temperature regimes. The GPSR models are constrained by physically-informed conditions, which leads to significant improvement in extrapolation. The best model is integrated into a multi-physics code to perform Taylor impact simulations, validating the model’s accuracy and robustness. In conclusion, the model predictions showed excellent agreement with experimental results, particularly when compared to predictions using traditional strength models.

Genetic programming

A modular GUI-based program for genetic algorithm-based feedback-assisted wavefront shaping

Abstract We have developed a modular graphical user interface (GUI)-based program for use in genetic algorithm-based feedback-assisted wavefront shaping. The program uses a class-based structure to separate out the universal modules (e.g. GUI, multithreading, optimization algorithms) and hardware-specific modules (e.g. code for different SLMs and cameras). This modular design makes the program easily adaptable to a wide range of lab equipment, while providing easy access to a GUI, multithreading, and three optimization algorithms (phase-stepping, simple genetic, and microgenetic).

97 MATHEMATICS AND COMPUTING

Applying Space Technology to Enhance Control of an Artificial Arm

At the present time, myoelectric prostheses perform only one function of the hand: open and close with the thumb, index and middle finger coming together to grasp various shaped objects. To better understand the limitations of the current single-function prostheses and the needs of the individuals who use them, The Institute for Rehabilitation and Research (TIRR), sponsored by the National Institutes of Health (August 1992 - November 1994), surveyed approximately 2500 individuals with upper limb loss. When asked to identify specific features of their current electric prosthesis that needed improvement, the survey respondents overwhelmingly identified the lack of wrist and finger movement as well as poor control capability. Simply building a mechanism with individual finger and wrist motion is not enough. Individuals with upper limb loss tend to reject prostheses that require continuous visual monitoring and concentration to control. Robotics researchers at NASA's Johnson Space Center (JSC) and Rice University have made substantial progress in myoelectric teleoperation. A myoelectric teleoperation system translates signals generated by an able-bodied robot operator's muscles during hand motions into commands that drive a robot's hand through identical motions. Farry's early work in myoelectric teleoperation used variations over time in the myoelectric spectrum as inputs to neural networks to discriminate grasp types and thumb motions. The resulting schemes yielded up to 93% correct classification on thumb motions. More recently, Fernandez achieved 100% correct non-realtime classification of thumb abduction, extension, and flexion on the same myoelectric data. Fernandez used genetic programming to develop functions that discriminate between thumb motions using myoelectric signal parameters. Genetic programming (GP) is an evolutionary programming method where the computer can modify the discriminating functions' form to improve its performance, not just adjust numerical coefficients or weights. Although the function development may require much computational time and many training cases, the resulting discrimination functions can run in realtime on modest computers. These results suggest that myoelectric signals might be a feasible teleoperation medium, allowing an operator to use his or her own hand and arm as a master to intuitively control an anthropomorphic robot in a remote location such as outer space.

Atkins, Diane