Vous êtes sur la page 1sur 12

Repblica Bolivariana de Venezuela. Ministerio de Educacin Superior. Instituto Universitario Jess Obrero. Ctedra: Investigacin de Operaciones.

ALGORITMOS GENTICOS

Integrantes: Gil P., Jess A. C. I.: V 19.066.515. Manrique G., Gabriela E. C. I.: V 17.983.167.

Caracas, 27 de Enero de 2011.

INTRODUCCIN

En materia de investigacin de operaciones, la optimizacin, maximizacin y minimizacin de un problema matemtico o estadstico, es lo que principalmente se busca mediante diferentes tcnicas como lo es la programacin lineal, la cual mediante de diversos modelos, mtodos y teoras, busca obtener el resultado optimo de la operacin matemtica adecuada para la resolucin de un problema. De igual manera, los algoritmos genticos buscan la misma resolucin efectiva de algn problema planteado, siendo ste un mtodo ms operacional o computacional que matemtico, pero contiene ambos ingredientes. Como su nombre lo indica, se basa en las teoras de Mendel quien descubri las leyes de la herencia de los caracteres, Walter Flemming quien descubri los cromosomas, y de Watson y Crick quienes descubrieron que los genes se encuentran dentro de los cromosomas.

Computacin Evolutiva El trmino se refiere al estudio de los fundamentos y aplicaciones de ciertas tcnicas heursticas de bsqueda basadas en los principios naturales de la evolucin. Una gran variedad de algoritmos evolutivos han sido propuestos pero principalmente pueden clasificarse en: Programacin Evolutiva: en este caso el estudio se centra en conseguir operadores genticos que imiten lo mejor posible a la naturaleza, en cada caso, ms que en la relacin de los padres con su descendencia. En este caso no se utiliza el operador de cruce, tomando la mxima importancia el operador de mutacin. Estrategias Evolutivas: se centran en el estudio de problemas de optimizacin e incluyen una visin del aprendizaje en dos niveles: a nivel de genotipo, y a nivel de fenotipo. Sistemas Clasificadores: engloban el estudio de problemas en los que la solucin buscada se corresponde con toda una poblacin. Programacin Gentica: funciona igual que la tcnica anterior pero se centra en el estudio de problemas cuya solucin es un programa. De manera que los individuos de la poblacin son programas que se acercan ms o menos a realizar una tarea que es la solucin. Algoritmos Genticos: resuelven los problemas generando poblaciones sucesivas a las que se aplican los operadores de mutacin y cruce. Cada individuo representa una solucin al problema, y se trata de encontrar al individuo que represente a la mejor solucin. Las diferencias entre ellos se centran en los operadores que se usan en cada caso y en general en la forma de implementar la seleccin, reproduccin y sustitucin de individuos en una poblacin.

Algoritmos Genticos Son mtodos adaptativos que pueden usarse para resolver problemas de bsqueda y optimizacin. Estn basados en el proceso gentico de los organismos vivos, es decir, del proceso gentico de la reproduccin de especies,

tomando ms en cuenta la reproduccin humana obteniendo los datos del conteo cromosomtico y la propagacin de los genes contenidos en los mismos de una generacin a otra. Un algoritmo gentico consiste en una funcin matemtica o una rutina de software que toma como entradas a los ejemplares y retorna como salidas cules de ellos deben generar descendencia para la nueva generacin. Si el Algoritmo Gentico ha sido bien diseado, la poblacin converger hacia una solucin ptima del problema.

Algoritmo Gentico Simple El Algoritmo Gentico Simple, tambin denominado Cannico, se representa en la siguiente ilustracin:

Como se puede observar en la figura anterior, se necesita una codificacin (se utiliz pseudocdigo en Pascal), que resulte adecuada al mismo y al tipo de sistema o aplicacin en la cual se est llevando a cabo la operacin. Adems se requiere una funcin de ajuste adaptacin al problema (las funciones son los nombres subrayados dentro del ciclo FOR), la cual asigna un nmero real a cada posible solucin codificada.

Durante la ejecucin del algoritmo, los padres deben ser seleccionados para la reproduccin, la seleccin de cromosomas puede realizarse utilizando mtodos diferentes, como la Ruleta que consiste en crear una ruleta en la que cada cromosoma tiene asignada una fraccin proporcional a su aptitud y el Torneo, el cual baraja la poblacin y despus se hace competir a los cromosomas que la integran en grupos de tamao predefinido (normalmente compiten en parejas) en un torneo del que resultarn ganadores aqullos que tengan valores de aptitud ms altos. A continuacin dichos padres seleccionados se cruzarn generando dos hijos. En problemas reales en los que se aplican los algoritmos genticos, existe la tendencia a la homogenizacin de la poblacin, es decir a que todos los individuos de la misma sean idnticos. Esto impide que el algoritmo siga explorando nuevas soluciones, con lo que podemos quedar estancados en un mnimo local no muy bueno. La tcnica para contrarrestar esta "deriva gentica" ms elemental, aunque no siempre suficientemente eficaz, es introducir una mutacin tras la seleccin y el cruce, el cual realiza un cambio a uno de los genes de un cromosoma elegido aleatoriamente. El resultado de la combinacin de las anteriores funciones ser un conjunto de individuos, posibles soluciones al problema (computar), los cuales en la evolucin del Algoritmo Gentico formarn parte de la siguiente poblacin (insertar). Por el diseo del pseudocdigo el proceso de bsqueda de una nueva generacin mejorada, dicha bsqueda se realizar las veces que sean necesarias hasta conseguir un resultado o solucin lo ms optima posible, porque los algoritmos genticos no siempre arrojan la solucin ptima del problema, por ende las soluciones arrojadas se convierten en padres, para pasar por todo el proceso, y as poder conseguir la mejor generacin, que se sera, en este caso, la solucin ptima del problema.

Algoritmos Genticos Paralelos En este apartado se introducirn tres maneras diferentes de explotar el paralelismo de los Algoritmos Genticos, por medio de los denominados modelos de islas. La idea bsica de estos modelos, consiste en dividir la poblacin total en varias subpoblaciones en cada una de las cuales se lleva a cabo un Algoritmo Gentico. Cada cierto nmero de generaciones, se efecta un intercambio de informacin entre las subpoblaciones, proceso que se denomina migracin. Algunas comunicaciones tpicas son las siguientes: Comunicacin en estrella, en la cual existe una subpoblacin que es seleccionada como maestra (aquella que tiene mejores genes), siendo las dems consideradas como esclavas.

Comunicacin en red, en la cual no existe una jerarqua entre las subpoblaciones, mandando todas y cada una de ellas sus mejores individuos (genes) al resto de las subpoblaciones.

Comunicacin en anillo, en la cual cada subpoblacin enva sus mejores individuos (genes) a una poblacin vecina, efectundose la migracin en un nico sentido de flujo.

Lgica borrosa (fuzzy logic) y algoritmos genticos La lgica borrosa trata de poder incorporar mtodos para que conceptos vagos puedan ser utilizados como funciones matemticas. No es un mecanismo de optimizacin en s mismo, pero vuelve ms flexibles a los sistemas de control de los dispositivos electrnicos, por lo que podramos decir que se trata de un mtodo optimizado de control. El Algoritmo Gentico estara entonces programado para la supervivencia ante entornos borrosos. Esto acarreara por un lado la ventaja de la programacin de las mismas, aunque tendra un efecto en la supervivencia indistinta de ciertos especmenes con similar valor de la funcin borrosa aunque diferente valor absoluto. Dado que el efecto de utilizar o no esta lgica, cambia la arquitectura del Algoritmo Gentico, su implementacin no es en s misma ni buena ni mala. Las diferencias entre un Algoritmo Gentico con y sin lgica borrosa pueden ser apreciadas en el siguiente cuadro:

Diferencias entre un Algoritmo Gentico con y sin lgica borrosa

Ventajas y Desventajas

Operan de forma simultnea con varias soluciones, en vez de trabajar de forma secuencial como las tcnicas tradicionales. Cuando se usan para problemas de optimizacin, maximizar una funcin objetivo resulta menos afectados por los mximos locales (falsas soluciones) que las tcnicas tradicionales.

No necesitan conocimientos especficos sobre el problema que intentan resolver

Pueden converger prematuramente debido a una serie de problemas de diversa ndole.

Limitaciones Si bien no se garantiza que el Algoritmo Gentico encuentre la solucin ptima, del problema, existe evidencia emprica de que se encuentran soluciones

de un nivel aceptable, en un tiempo competitivo con el resto de algoritmos de optimizacin combinatoria. En el caso de que existan tcnicas especializadas para resolver un determinado problema, lo ms probable es que superen al Algoritmo Gentico, tanto en rapidez como en eficacia. El gran campo de aplicacin de los Algoritmos Genticos se relaciona con aquellos problemas para los cuales no existen tcnicas especializadas. Incluso en el caso en que dichas tcnicas existan, y funcionen bien, pueden efectuarse mejoras de las mismas mezclndolas con los Algoritmos Genticos.

Cmo Saber si es Posible usar un Algoritmo Gentico? La aplicacin ms comn de los algoritmos genticos ha sido la solucin de problemas de optimizacin, en donde han mostrado ser muy eficientes y confiables. Sin embargo, no todos los problemas pudieran ser apropiados para la tcnica, y se recomienda en general tomar en cuenta las siguientes caractersticas del mismo antes de intentar usarla:

Su espacio de bsqueda debe estar delimitado dentro de un cierto rango. Debe poderse definir una funcin de aptitud (funcin objetivo) que nos indique qu tan buena o mala es una cierta respuesta.

Las soluciones deben codificarse de una forma que resulte relativamente fcil de implementar en la computadora. El algoritmo gentico nicamente maximiza, pero la minimizacin puede

realizarse fcilmente utilizando el recproco de la funcin maximizante. La codificacin ms comn de las soluciones es a travs de cadenas binarias, aunque se han utilizado tambin nmeros reales y letras (pseudocdigo).

Ambientes de Programacin En la actualidad existe un gran nmero de ambientes de programacin disponibles en el mercado para experimentar con los algoritmos genticos. Segn una de tantas clasificaciones, pueden distinguirse 3 clases de ambientes de programacin:

1. Sistemas Orientados a las aplicaciones: Son esencialmente "cajas negras" para el usuario, pues ocultan todos los detalles de implementacin. 2. Sistemas Orientados a los algoritmos: Soportan algoritmos genticos especficos, y suelen subdividirse en: o Sistemas de uso especfico: Contienen un solo algoritmo gentico, y se dirigen a una aplicacin en particular. o Bibliotecas: Agrupan varios tipos de algoritmos genticos, y diversos operadores. En estos sistemas se proporciona el cdigo fuente para que el usuario pueda incluir el algoritmo gentico en sus propias aplicaciones. 3. Cajas de Herramientas: Proporcionan muchas herramientas de

programacin, algoritmos y operadores genticos que pueden aplicarse en una enorme gama de problemas. Normalmente se subdividen en: o Sistemas Educativos: Ayudan a los usuarios novatos a introducirse de forma amigable a los conceptos de los algoritmos genticos. o Sistemas de Propsito General: Proporcionan un conjunto de herramientas para programar cualquier algoritmo gentico y desarrollar cualquier aplicacin.

CONCLUSIN

Los algoritmos genticos se enfocan en la obtencin de hijos o generacin con genes o caractersticas ms fuertes que la de sus padres, lo cual sera la solucin ptima de un problema. No siempre se obtiene la misma en primera instancia por lo que es un proceso repetitivo buscando de generacin en generacin hasta conseguir el mejor individuo. Este sistema tiene varios mtodos de resolucin, los cuales se utilizan dependiendo de la complejidad del problema y la mayora estn destinados a usos de software en computadoras para facilitar el clculo matemtico porque (dependiendo del rango de la poblacin) suelen ser muy extensos y son de propiedades cclicas o repetitivas, y que de igual manera, las soluciones puedan implementarse relativamente fcil en la computadora. Se podra afirmar que el uso de esta herramienta facilita en buen grado la resolucin de los problemas matemticos en los cuales se deba tomar una decisin, la mejor solucin y un amplio rango de opciones, porque debido a su naturaleza el mismo realiza la bsqueda las veces que sean necesarias para encontrar la solucin ms ptima. En mbitos de la vida real, destacndose en el campo de la informtica, se puede observar este algoritmo gentico como conocimiento previo para la realizacin de un software, proyecto, planificacin de estrategias, construcciones, decisiones que efectuamos a diario desde el momento en que despertamos hasta que volvemos a dormir.

BIBLIOGRAFA

http://www.arquimedex.com/index.php?accion=1&id=11

http://eddyalfaro.galeon.com/geneticos.html Coello Coello, Carlos A. Introduccin a los Algoritmos Genticos, Soluciones Avanzadas. Tecnologas de Informacin y Estrategias de Negocios, Ao 3, No. 17, Enero de 1995. Kaufmann, A., y Faure, R., "Invitacin a la Investigacin de Operaciones", Segunda Edicin, CECSA, Mxico, 1977.

Vous aimerez peut-être aussi