Upload
ezequielmaurice
View
213
Download
1
Embed Size (px)
DESCRIPTION
Paper Algoritmos Geneticos
Citation preview
UNIVERSIDAD BICENTENARIA DE ARAGUA
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA DE SISTEMAS
PUERTO ORDAZ, VENEZUELA
Importancia de la programación bajo el paradigma de los algoritmos genéticos en el
desarrollo de aplicaciones.
Autor:
Ezequiel Vieira
Resumen
Los algoritmos genéticos son un logro más de la Inteligencia Artificial en su intento de
replicar comportamientos biológicos, con los avances científicos que ello implica,
mediante la computación. Se trata de algoritmos de búsqueda basados en la mecánica
de la selección natural y de la genética. Utilizan la información histórica para encontrar
nuevos puntos de búsqueda de una solución óptima del problema planteado, con
esperanzas de mejorar los resultados. En el presente trabajo se realizará un análisis
conceptual de los Algoritmos Genéticos: qué son, de dónde proceden, y en qué
difieren de otros métodos de búsqueda, comentándose, asimismo, sus aplicaciones
principales.
Palabras claves
Algoritmo, programación, aplicaciones, algoritmo genético
Agradecimientos.
Le agradezco a mis padres y a mis hermanas, por contar siempre con su cariño y apoyo. Gracias por todo lo que me han dado, no sería la persona en que me he
convertido hoy de no ser por ustedes
Introducción
La capacidad del ser humano para predecir el comportamiento de su entorno,
se ha ido incrementando con el paso del tiempo. De igual modo, ha comprendido que,
si bien era capaz de controlar muchos aspectos de su vida, y su interacción con lo que
le rodeaba, no lo era para otros tantos. La inteligencia artificial es responsable de
muchos de esos logros. Los pioneros de esta ciencia estaban tan interesados en la
electrónica, como en la biología, y por eso sus aplicaciones iban desde calcular
trayectorias de misiles, a tratar de modelizar el cerebro, de imitar el proceso de
aprendizaje humano, y de simular la evolución biológica. Los años ochenta (en el siglo
pasado) marcan el florecimiento del interés de la comunidad científica por estos temas
computacionales inspirados en la biología, que han visto como su desarrollo les
llevaba a cotas inimaginables, primero en el campo de las Redes Neuronales, luego en
el del Aprendizaje, y por último en lo que ahora se conoce como “computación
evolutiva”, de la que los algoritmos genéticos constituyen su máximo exponente.
A continuación se especifica la estructura del documento:
Análisis y/o argumentación: desarrollo de la importancia de la programación bajo el
paradigma de los algoritmos genéticos en el desarrollo de aplicaciones
Finalmente, se presentan las conclusiones y bibliografía, seguidas de las referencias utilizadas para el desarrollo de este documento
Importancia de la programación bajo el paradigma de los algoritmos genéticos en el
desarrollo de aplicaciones.
Antes de que un algoritmo genético pueda ponerse a trabajar en un problema, se
necesita un método para codificar las soluciones potenciales del problema de forma
que una computadora pueda procesarlas. Un enfoque común es codificar las
soluciones como cadenas binarias: secuencias de 1s y 0s, donde el dígito de cada
posición representa el valor de algún aspecto de la solución. Otro método similar
consiste en codificar las soluciones como cadenas de enteros o números decimales,
donde cada posición, de nuevo, representa algún aspecto particular de la solución.
Este método permite una mayor precisión y complejidad que el método
comparativamente restringido de utilizar sólo números binarios, y a menudo ``está
intuitivamente más cerca del espacio de problemas'' (Fleming y Purshouse 2002, p
1.228). Cabe destacar entre ellos:
Optimización: Se trata de un campo especialmente abonado para el uso de los
Algoritmos Genéticos, por las características intrínsecas de estos problemas.
No en vano fueron la fuente de inspiración para los creadores estos algoritmos.
Los Algoritmos Genéticos se han utilizado en numerosas tareas de
optimización, incluyendo la optimización numérica, y los problemas de
optimización combinatoria.
Programación automática: Los Algoritmos Genéticos se han empleado para
desarrollar programas para tareas específicas, y para diseñar otras estructuras
computacionales tales como el autómata celular, y las redes de clasificación.
Aprendizaje máquina: Los algoritmos genéticos se han utilizado también en
muchas de estas aplicaciones, tales como la predicción del tiempo o la
estructura de una proteína. Han servido asimismo para desarrollar
determinados aspectos de sistemas particulares de aprendizaje, como pueda
ser el de los pesos en una red neuronal, las reglas para sistemas de
clasificación de aprendizaje o sistemas de producción simbólica, y los sensores
para robots.
Economía: En este caso, se ha hecho uso de estos Algoritmos para modelizar
procesos de innovación, el desarrollo estrategias de puja, y la aparición de
mercados económicos.
Sistemas inmunes: A la hora de modelizar varios aspectos de los sistemas
inmunes naturales, incluyendo la mutación somática durante la vida de un
individuo y el descubrimiento de familias de genes múltiples en tiempo
evolutivo, ha resultado útil el empleo de esta técnica.
Ecología: En la modelización de fenómenos ecológicos tales como las carreras
de armamento biológico, la coevolución de parásito-huesped, la simbiosis, y el
flujo de recursos.
Genética de poblaciones: En el estudio de preguntas del tipo “¿Bajo qué
condiciones será viable evolutivamente un gene para la recombinación?”
Evolución y aprendizaje: Los Algoritmos Genéticos se han utilizado en el
estudio de las relaciones entre el aprendizaje individual y la evolución de la
especie.
Sistemas sociales: En el estudio de aspectos evolutivos de los sistemas
sociales, tales como la evolución del comportamiento social en colonias de
insectos, y la evolución de la cooperación y la comunicación en sistemas multi-
agentes.
Aunque esta lista no es, en modo alguno, exhaustiva, sí transmite la idea de la
variedad de aplicaciones que tienen los Algoritmos Genéticos. Gracias al éxito en
estas y otras áreas, los Algoritmos Genéticos han llegado a ser un campo puntero
en la investigación actual.
Aplicaciones específicas
Diseño automatizado de equipamiento industrial.
Diseño automatizado de sistemas de comercio en el sector financiero.
Construcción de árboles filogenéticos.
Optimización de carga de contenedores.
Diseño de sistemas de distribución de aguas.
Diseño de topologías de circuitos impresos.
Diseño de topologías de redes computacionales.
En Teoría de juegos, resolución de equilibrios.
Análisis de expresión de genes.
Aprendizaje de comportamiento de robots.
Aprendizaje de reglas de Lógica difusa.
Análisis lingüístico, incluyendo inducción gramática, y otros aspectos de
Procesamiento de lenguajes naturales, tales como eliminación de ambigüedad
de sentido.
Infraestructura de redes de comunicaciones móviles.
Optimización de estructuras moleculares.
Predicción.
Aplicación de Algoritmos Genéticos al Dilema del prisionero Iterado
Predicción de Plegamiento de proteínas.
En bioinformática, Alineamiento múltiple de secuencias.
Selección óptima de modelos matemáticos para la descripción de sistemas
biológicos.
Manejo de residuos sólidos.
Ingeniería de software.
Construcción de horarios en grandes universidades, evitando conflictos de
clases.
Problema del viajante.
Hallazgo de errores en programas.
Optimización de producción y distribución de energía eléctrica.
Diseño de redes geodésicas (Problemas de diseño).
Calibración y detección de daños en estructuras civiles.
Conclusión
Como se ha podido observar, una de las principales ventajas de los Algoritmos
Genéticos puede observarse en su sencillez; puesto que se necesita muy poca
información sobre el espacio de búsqueda ya que se trabaja sobre un conjunto de
soluciones o parámetros codificados (hipótesis o individuos). Al igual que sus campos
de aplicación, se puede afirmar que es un método muy completo de optimización,
puesto que sus áreas de estudio son muy amplias, y se puede ver generalizado en
muchos sucesos cotidianos.
Se ha observado de igual forma que los Algoritmos Genéticos están indicados
para resolver todo tipo de problemas que se puedan expresar como un problema de
optimización donde se define una representación adecuada para las soluciones y para
la función a optimizar. Se busca una solución por aproximación de la población, en
lugar de una aproximación punto a punto.
También es importante anotar que a pesar de que es una técnica muy buena,
en el caso de un problema especifico en donde se sepa que para su optimización se
puede utilizar otro método, pues en este caso lo más recomendable es hacerlo por el
otro método, ya que con seguridad se encontrara una solución más optima (sino la
más optima) de la que se hubiese podido encontrar con un Algoritmos Genéticos.
Bibliografía
La investigación fue sustentada bajo las siguientes referencias electrónicas y
bibliográficas:
Electrónicas:
http://www.monografias.com/trabajos-pdf/algoritmos-geneticos/algoritmos-
geneticos.pdf
http://www.uv.es/asepuma/X/J24C.pdf
http://www.revistas.unal.edu.co/index.php/%20arh/article/viewFile/9328/9972
http://www.webcontenido.com/computadores/aplicaciones-inteligencia-artificial/
http://www.imt.mx/archivos/Publicaciones/PublicacionTecnica/pt386.pdf
http://the-geek.org/docs/algen/