Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Gene expression programming
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==The GEP-RNC algorithm== Numerical constants are essential elements of mathematical and statistical models and therefore it is important to allow their integration in the models designed by evolutionary algorithms. Gene expression programming solves this problem very elegantly through the use of an extra gene domain β the Dc β for handling random numerical constants (RNC). By combining this domain with a special terminal placeholder for the RNCs, a richly expressive system can be created. Structurally, the Dc comes after the tail, has a length equal to the size of the tail ''t'', and is composed of the symbols used to represent the RNCs. For example, below is shown a simple chromosome composed of only one gene a head size of 7 (the Dc stretches over positions 15β22): :<code><nowiki>01234567890123456789012</nowiki></code> : :<code><nowiki>+?*+?**aaa??aaa68083295</nowiki></code> where the terminal "?β represents the placeholder for the RNCs. This kind of chromosome is expressed exactly as shown [[gene expression programming#Expression trees: the phenotype|above]], giving: {| align="center" border="0" cellpadding="4" cellspacing="0" | [[File:GEP expression tree with placeholder for RNCs.png]] |} Then the ?'s in the expression tree are replaced from left to right and from top to bottom by the symbols (for simplicity represented by numerals) in the Dc, giving: {| align="center" border="0" cellpadding="4" cellspacing="0" | [[File:GEP expression tree with symbols (numerals) for RNCs.png]] |} The values corresponding to these symbols are kept in an array. (For simplicity, the number represented by the numeral indicates the order in the array.) For instance, for the following 10 element array of RNCs: :C = {0.611, 1.184, 2.449, 2.98, 0.496, 2.286, 0.93, 2.305, 2.737, 0.755} the expression tree above gives: {| align="center" border="0" cellpadding="4" cellspacing="0" | [[File:GEP expression tree with RNCs.png]] |} This elegant structure for handling random numerical constants is at the heart of different GEP systems, such as [[gene expression programming#Neural networks|GEP neural networks]] and [[gene expression programming#Decision trees|GEP decision trees]]. Like the [[gene expression programming#The basic gene expression algorithm|basic gene expression algorithm]], the GEP-RNC algorithm is also multigenic and its chromosomes are decoded as usual by expressing one gene after another and then linking them all together by the same kind of linking process. The genetic operators used in the GEP-RNC system are an extension to the genetic operators of the basic GEP algorithm (see [[gene expression programming#Reproduction with modification|above]]), and they all can be straightforwardly implemented in these new chromosomes. On the other hand, the basic operators of mutation, inversion, transposition, and recombination are also used in the GEP-RNC algorithm. Furthermore, special Dc-specific operators such as mutation, inversion, and transposition, are also used to aid in a more efficient circulation of the RNCs among individual programs. In addition, there is also a special mutation operator that allows the permanent introduction of variation in the set of RNCs. The initial set of RNCs is randomly created at the beginning of a run, which means that, for each gene in the initial population, a specified number of numerical constants, chosen from a certain range, are randomly generated. Then their circulation and mutation is enabled by the genetic operators.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)