{"id":7668,"date":"2020-03-09T11:23:17","date_gmt":"2020-03-09T10:23:17","guid":{"rendered":"https:\/\/complex-systems-ai.com\/?page_id=7668"},"modified":"2022-12-03T23:03:45","modified_gmt":"2022-12-03T22:03:45","slug":"programmation-dexpressions-genetiques","status":"publish","type":"page","link":"https:\/\/complex-systems-ai.com\/en\/algorithms-devolution-2\/gene-expression-programming\/","title":{"rendered":"Programming of genetic expressions"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"7668\" class=\"elementor elementor-7668\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-79478ea elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"79478ea\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-4cd059a\" data-id=\"4cd059a\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-7f94f61 elementor-align-justify elementor-widget elementor-widget-button\" data-id=\"7f94f61\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/complex-systems-ai.com\/en\/algorithms-devolution-2\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Evolution algorithms<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-0c98d67\" data-id=\"0c98d67\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-c010376 elementor-align-justify elementor-widget elementor-widget-button\" data-id=\"c010376\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/complex-systems-ai.com\/en\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Home page<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-7819f29\" data-id=\"7819f29\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-d0613ed elementor-align-justify elementor-widget elementor-widget-button\" data-id=\"d0613ed\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/en.wikipedia.org\/wiki\/Gene_expression_programming\" target=\"_blank\" rel=\"noopener\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Wiki<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-99b2255 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"99b2255\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-44034d67\" data-id=\"44034d67\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-41c2faae elementor-widget elementor-widget-text-editor\" data-id=\"41c2faae\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewbox=\"0 0 24 24\" version=\"1.2\" baseprofile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/complex-systems-ai.com\/en\/algorithms-devolution-2\/gene-expression-programming\/#Programmation-dexpressions-genetiques\" >Programming of genetic expressions<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Programmation-dexpressions-genetiques\"><\/span>Programming of genetic expressions<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The programming of genetic expressions is inspired by the replication and expression of the DNA molecule, especially at the gene level. Expression of a gene involves the transcription of its DNA into RNA which in turn forms amino acids which constitute proteins in the phenotype of an organism. The building blocks of DNA are subject to mechanisms of variation (mutations such as adaptation errors) as well as to recombination during sexual reproduction.<\/p>\n<p><\/p>\n<p>Gene expression programming uses a linear genome as the basis for gene operators such as mutation, recombination, inversion, and transposition. The genome is made up of chromosomes and each chromosome is made up of genes that are translated into a <a href=\"https:\/\/complex-systems-ai.com\/en\/graph-theory-2\/trees-and-trees\/\">tree<\/a> of expression to solve a given problem. Robust gene definition means that genetic operators can be applied to the subsymbol representation without regard to the structure of the resulting gene expression, ensuring the separation of genotype and phenotype.<\/p>\n<p><\/p>\n<p>The goal of the gene expression programming algorithm is to improve the adaptive fit of an expressed program in the context of a problem-specific cost function. This is achieved through the use of an evolutionary process that operates on a sub-symbolic representation of candidate solutions using surrogates for processes (descent with modification) and mechanisms (genetic recombination, mutation, inversion, transposition and expression. genes) of evolution.<\/p>\n<p><\/p>\n<p>A candidate solution is represented by a linear chain of symbols called Karva notation or K expression, where each symbol corresponds to a function or terminal node. The linear representation is mapped to an expression tree in an extended fashion. A K expression has a fixed length and includes one or more sub-expressions (genes), which are also defined with a fixed length.\u00a0<\/p>\n<p>A gene is made up of two sections, a head which can contain any function or terminal symbols, and a tail section which can only contain terminal symbols. Each gene will always result in a syntactically correct expression tree, where the tail portion of the gene provides a genetic buffer that ensures expression closure.<\/p>\n<p><\/p>\n<p><span style=\"font-family: var( --e-global-typography-text-font-family ); font-weight: var( --e-global-typography-text-font-weight ); font-size: 1rem;\">The length of a chromosome from the p<\/span><span style=\"font-family: var( --e-global-typography-text-font-family ); font-weight: var( --e-global-typography-text-font-weight ); font-size: 1rem;\">rogramming of genetic expressions\u00a0<\/span><span style=\"font-family: var( --e-global-typography-text-font-family ); font-size: 1rem; font-weight: var( --e-global-typography-text-font-weight );\">is defined by the number of genes, where a gene length is defined by h + t. The h is a user-defined parameter (such as 10), and t is defined as t = h (n-1) +1, where the n represents the maximum arity of the functional nodes in the expression (such as 2 if the arithmetic functions *; \/; -; + are used).<\/span><\/p>\n<p><\/p>\n<p>The mutation operator of the p<span style=\"font-family: var( --e-global-typography-text-font-family ); font-weight: var( --e-global-typography-text-font-weight ); font-size: 1rem;\">rogramming of genetic expressions<\/span><span style=\"font-family: var( --e-global-typography-text-font-family ); font-weight: var( --e-global-typography-text-font-weight ); font-size: 1rem;\">\u00a0substitutes expressions along the genome, although it must follow genetic rules such as function and terminal nodes are mutated in the head of genes, while only terminal nodes are substituted in the tail of genes.<\/span><\/p>\n<p><\/p>\n<p>Crossbreeding occurs between two parents selected from the population and can occur on the basis of a one-point cross, two-point cross, or a gene-based approach where genes are selected from among the parents. with uniform probability.<\/p>\n<p><\/p>\n<p>An inversion operator can be used with a low probability that inverts a small sequence of symbols (1-3) in a section of a gene (tail or head). A transposition operator can be used in a number of different modes, including: duplicating a small sequence (1-3) from somewhere on a gene at the head, small sequences on a gene at the root of the gene, and move a gene in the chromosome. In the case of intragenic transpositions, the sequence in the head of the gene is shifted downward to accommodate the copied sequence and the length of the head is truncated to maintain consistent gene sizes.<\/p>\n<p><\/p>\n<p>At the p<span style=\"font-family: var( --e-global-typography-text-font-family ); font-weight: var( --e-global-typography-text-font-weight ); font-size: 1rem;\">rogramming of genetic expressions, u<\/span><span style=\"font-family: var( --e-global-typography-text-font-family ); font-weight: var( --e-global-typography-text-font-weight ); font-size: 1rem;\">not ? can be included in the terminal set and it represents a numerical constant from a vector that has evolved at the end of the genome. The constants are read from the end of the genome and replace the? when the expression tree is created (in the first order of width).<\/span><\/p>\n<p><\/p>\n<p>Several related sub-expressions can be used on difficult problems when a single gene is not sufficient to solve the problem. Subexpressions are linked using link expressions which are nodes of function that are either statically defined (as a conjunction) or evolved on the genome with genes.<\/p>\n<p>Here is the gene expression programming algorithm:<\/p>\n<p><\/p>\n<figure><img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/complex-systems-ai.com\/wp-content\/uploads\/2020\/03\/gep-294x300.png\" alt=\"programming of genetic expressions\" width=\"294\" height=\"300\" title=\"\"><\/figure>\n<p><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>Evolution Algorithms Wiki Home Page Gene Expression Programming Gene expression programming is inspired by the replication and expression of the DNA molecule, in particular \u2026 <\/p>","protected":false},"author":1,"featured_media":0,"parent":7110,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-7668","page","type-page","status-publish","hentry"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/complex-systems-ai.com\/en\/wp-json\/wp\/v2\/pages\/7668","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/complex-systems-ai.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/complex-systems-ai.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/complex-systems-ai.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/complex-systems-ai.com\/en\/wp-json\/wp\/v2\/comments?post=7668"}],"version-history":[{"count":5,"href":"https:\/\/complex-systems-ai.com\/en\/wp-json\/wp\/v2\/pages\/7668\/revisions"}],"predecessor-version":[{"id":18874,"href":"https:\/\/complex-systems-ai.com\/en\/wp-json\/wp\/v2\/pages\/7668\/revisions\/18874"}],"up":[{"embeddable":true,"href":"https:\/\/complex-systems-ai.com\/en\/wp-json\/wp\/v2\/pages\/7110"}],"wp:attachment":[{"href":"https:\/\/complex-systems-ai.com\/en\/wp-json\/wp\/v2\/media?parent=7668"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}