Los algoritmos genéticos se aplican en tareas de optimización. Por
ejemplo en el aprendizaje neuronet, esto es, para seleccionar los
valores de peso que permiten obtener el mínimo error. El algoritmo
genético se basa en el método de búsqueda aleatoria. El principal
problema de la búsqueda aleatoria es que no podemos saber cuánto tiempo
se tarda en resolver el problema. Para evitar perder un tiempo
importante se aplican métodos desarrollados en biología, en concreto
métodos relacionados con el origen de las especies y la evolución. Los
animales que mejor se adaptan son los que sobreviven. Como resultado, la
adecuación de la población aumenta, lo que permite adaptar el entorno
dinámico.
John H. Holland, de la Universidad de Michigan, en Estados Unidos,
propuso este algoritmo por primera vez en 1975. Este algoritmo se llama plan reproductivo de Holland
y es la base de la inmensa mayoría de algoritmos genéticos. Sin
embargo, antes de echar un vistazo detallado a este plan, vamos a
discutir cómo puede codificarse la realidad y encapsularse en los
algoritmos genéticos.
Operadores genéticos básicos
Como es sabido en la teoría de la evolución, es muy importante la
forma en que los individuos transmiten sus características a sus
descendientes. En los algoritmos genéticos, el cruce (crossover,
en inglés) es un operador genético que permite variar la programación de
un cromosoma o cromosomas de una generación a la siguiente. Este
operador funciona de la siguiente manera:
se seleccionan dos unidades padre/madre de una población;
se determina el punto de ruptura (como norma, de forma aleatoria);
la descendencia queda determinada por la concatenación de las partes del padre y de la madre.
Veamos cómo funciona este operador:
Cromosoma_1:
0000000000
Cromosoma_2:
1111111111
Suponemos que el punto de ruptura ocurre después del 3er bit del cromosoma, por lo que:
Para iniciar sesión y usar el sitio web MQL5.com es necesario permitir el uso de Сookies.
Por favor, active este ajuste en su navegador, de lo contrario, no podrá iniciar sesión.
Ha iniciado sesión. La autenticación de dos factores se ha desactivado. Vuelva a configurarla y escanee un nuevo código QR, o continúe con la autenticación de dos factores desactivada.
Artículo publicado Las matemáticas de los algoritmos genéticos:
Los algoritmos genéticos se aplican en tareas de optimización. Por ejemplo en el aprendizaje neuronet, esto es, para seleccionar los valores de peso que permiten obtener el mínimo error. El algoritmo genético se basa en el método de búsqueda aleatoria. El principal problema de la búsqueda aleatoria es que no podemos saber cuánto tiempo se tarda en resolver el problema. Para evitar perder un tiempo importante se aplican métodos desarrollados en biología, en concreto métodos relacionados con el origen de las especies y la evolución. Los animales que mejor se adaptan son los que sobreviven. Como resultado, la adecuación de la población aumenta, lo que permite adaptar el entorno dinámico.
John H. Holland, de la Universidad de Michigan, en Estados Unidos, propuso este algoritmo por primera vez en 1975. Este algoritmo se llama plan reproductivo de Holland y es la base de la inmensa mayoría de algoritmos genéticos. Sin embargo, antes de echar un vistazo detallado a este plan, vamos a discutir cómo puede codificarse la realidad y encapsularse en los algoritmos genéticos.
Operadores genéticos básicos
Como es sabido en la teoría de la evolución, es muy importante la forma en que los individuos transmiten sus características a sus descendientes. En los algoritmos genéticos, el cruce (crossover, en inglés) es un operador genético que permite variar la programación de un cromosoma o cromosomas de una generación a la siguiente. Este operador funciona de la siguiente manera:
Veamos cómo funciona este operador:
Suponemos que el punto de ruptura ocurre después del 3er bit del cromosoma, por lo que:
Autor: MetaQuotes Software Corp.