Computacion Evolutiva

26
INSTITUTO TECNOLOGICO DE TECOMATLAN “ING. AQUILES CORDOVA MORAN” ASIGNATURA: TALER DE INVESTIGACION TRABAJO: INVESTIGACION TEMA: COMPUTACION EVOLUTIVA CATEDRATICO: ING. VICTOR ANTONIO CHUC HUERTA ALUMNO: SAUL CRUZ JUAREZ SEXTO SEMESTRE GRUPO “C” CARRERA: INGENIERIA EN SINTEMAS COMPUTACIONALES

description

En este tema se verá la forma en que los científicos han tomado a la evolución a través de la Selección natural determinando que miembros de la población sobrevivirán hasta reproducirse y la reproducción sexual garantizando la mezcla y combinación de sus genes entre la descendencia

Transcript of Computacion Evolutiva

INSTITUTO TECNOLOGICO DE TECOMATLANING. AQUILES CORDOVA MORAN

ASIGNATURA: TALER DE INVESTIGACIONTRABAJO:INVESTIGACIONTEMA:COMPUTACION EVOLUTIVA CATEDRATICO: ING. VICTOR ANTONIO CHUC HUERTAALUMNO: SAUL CRUZ JUAREZSEXTO SEMESTRE GRUPO CCARRERA: INGENIERIA EN SINTEMAS COMPUTACIONALES

INDICE

INTRODUCCION1CAPITULO I21.PLANTEAMIENTO DEL PROBLEMA21.1. JUSTIFICACION21.1.1. MAGNITUD21.1.2. TRASCENDENCIA21.1.3. VULNERABILIDAD21.1.4. IMPACTO SOCIAL21.1.5. APORTACION31.1.6. FACTIBILIDAD3CAPITULO II42.MARCO CONCEPTUAL43.MARCO REFERENCIAL54.MARCO HISTORICO65.MARCO TEORICO75.1. NEO-DARWINISMO75.2. PARADIGMAS DE LA COMPUTACION EVOLUTIVA75.3. PROGRAMACION Y ESTRATEGIAS EVOLUTIVAS85.3.1. PROGRAMACION85.3.2. ALGORITMO.85.3.3. TERMINALES Y FUNCIONES95.3.4. INICIALIZACIN.95.3.5. OPERADORES GENTICOS105.3.6. ESTRATEGIAS EVOLUTIVAS105.4. ALGORITMOS EVOLUTIVOS115.4.1. ELEMENTOS DE UN ALGORITMO GENETICO125.4.2. OPERADORES GENETICOS135.5. APLICACIONES DE LA COMPUTACION EVOLUTIVA135.6. PORQUE ESTUDIAR COMPUTACION EVOLUTIVA?14CAPITULO III166.HIPOTESIS167.OBJETIVO GENERAL168.OBJETIVO ESPECIFICO16CONCLUSION16BIBLIOGRAFA16

INTRODUCCION

En este tema se ver la forma en que los cientficos han tomado a la evolucin a travs de la Seleccin natural determinando que miembros de la poblacin sobrevivirn hasta reproducirse y la reproduccin sexual garantizando la mezcla y combinacin de sus genes entre la descendencia.En la naturaleza, los individuos compiten entre s por recursos tales como comida, agua refugio. Adicionalmente, los animales de la misma especie normalmente antagonizan para obtener una pareja.Veremos conceptos bsicos de las tcnicas ms importantes de computacin evolutiva.Luego comenzaremos a hablar de la computacin evolutiva en particular. Iniciaremos con un recorrido histrico en el que se resumirn los logros ms importantes en torno a la simulacin de los procesos evolutivos como una herramienta para el aprendizaje y la optimizacin.Posteriormente se analizarn de manera general los 3 paradigmas principales que se utilizan hoy en da en la computacin evolutiva: las estrategias evolutivas, la programacin evolutiva y los algoritmos genticos. En cada caso se abordar su inspiracin biolgica, su motivacin, su funcionamiento y algunas de sus aplicaciones. Finalmente se estudiar el funcionamiento, fundamentos tericos, implementacin de los algoritmos genticos, que es actualmente el paradigma evolutivo ms utilizado por los investigadores que trabajan en esta disciplina.

CAPITULO I1. PLANTEAMIENTO DEL PROBLEMA

TEMA: COMPUTACION EVOLUTIVA

1.1. JUSTIFICACION

A lo largo de la historia, muchas especies han crecido y han evolucionado para adaptarse a diferentes entornos, usando la misma maquinaria biolgica. De la misma manera, si le proporcionamos un entorno a un algoritmo evolutivo, esperamos que la poblacin inicial se adapte de la mejor manera a dicho entorno. Generalmente, este entorno adquiere la forma de un problema a resolver, donde el ajuste de los individuos indica lo bien que resuelven el problema las soluciones que representan. Sin embargo, la bsqueda de soluciones ptimas a un problema no es el nico uso de los algoritmos evolutivos.

1.1.1. MAGNITUD

La Computacin Evolutiva (Eiben, 2003) es un rea de investigacin en ciencias de la computacin. Tal como sugiere su nombre, se trata de computacin inspirada en el proceso de evolucin natural. La inspiracin de los cientficos en la evolucin natural no sorprende si se tiene en cuenta el poder de la evolucin sobre las diferentes especies que componen nuestro mundo, que sobreviven y se adaptan a sus propios entornos naturales. La metfora fundamental de la computacin evolutiva relaciona este poder de evolucin natural con una forma particular de resolucin de problemas, la de ensayo y error.1.1.2. TRASCENDENCIA

La falta de informacin sobre este tema en el ITT (INSTITUTO TECNOLOGICO DE TECOMATLAN) ha llevado a los alumnos al presentar proyectos de sistemas de informacin un tanto sencillos, la computacin evolutiva ofreces diversos temas y proyectos muy interesantes para el estudio de esta gran ciencia y la creacin de nuevas tecnologas.1.1.3. VULNERABILIDAD

Este problema puede ser resuelto dando a conocer el concepto de la computacin evolutiva, su importancia en el mundo actual as como su historia, sus conceptos bsicos y sus diferentes aplicaciones.1.1.4. IMPACTO SOCIAL

En este caso el impacto social ser muy benfico, ya que proporcionara un amplio panorama sobre mas y nuevas tecnologas, despertando as el inters de los alumnos, por el desarrollar nuevos sistemas.1.1.5. APORTACION

El aporte que podramos brindar con esta investigacin seria: proporcionar la mayor informacin en cuanto a este tema, y as estimular al alumno a encontrar un proyecto de inters de su gusto propio y pueda poner todo el empeo en dicho proyecto.

1.1.6. FACTIBILIDAD

Es totalmente posible llevara a cabo esta investigacin, ya que se cuenta con las herramientas necesarias de investigacin, contamos con asesora del profesor de taller de investigacin que nos puede auxiliar en el planteamiento y elaboracin del proyecto de investigacin, adems de que el tema es de gusto particular por parte del investigador.

CAPITULO II

2. MARCO CONCEPTUAL

ESTOCSTICA: Se denominaestocsticoal sistema cuyo comportamiento es difcilmente no determinista. Un proceso estocsticoes aquel cuyo comportamiento es nodeterminista, en la medida que el subsiguiente estado del sistema est determinado tanto por las acciones predecibles del proceso como por elementos aleatorios. PARAMTRICA: una funcin definida sobre valores numricos que caracteriza una poblacin o un modelo METODOLOGAS: hace referencia al conjunto de procedimientos racionales utilizados para alcanzar una gama de objetivos que rigen una investigacin cientfica, una exposicin doctrinal o tareas que requieran habilidades, conocimientos o cuidados especficos. TIENDE: Tener una caracterstica difcil de precisar, pero aproximada a otra. OPTIMIZAR: es el proceso de modificacin de un proceso para hacer que algn aspecto del mismo funcione de manera ms eficiente y/o utilizar menos recursos METFORA: consiste en la identificacin entre dos trminos, de tal manera que para referirse a uno de ellos se nombra al otro. ITERACIN: significa el acto de repetir un proceso con el objetivo de alcanzar una meta deseada, objetivo o resultado. GENOTIPO: se refiere a la informacin gentica que posee un organismo en particular, en forma de ADN, normalmente el genoma de una especie incluye numerosas variaciones o polimorfismos en muchos de sus genes. ADECUACIN: es la propiedad de los textos basada en el cumplimiento de ciertas normas y principios relacionados con el emisor, receptor, el tema y la situacin, y que afecta a la estructura, pertinencia y comprensibilidad de un texto. INTRNSECAS: trmino utilizado frecuentemente para designar lo que corresponde a un objeto por razn de su naturaleza y no por su relacin con otro.

3. MARCO REFERENCIAL

Esta investigacin pretende, proporcionar principalmente un panorama general de la computacin evolutiva, sus orgenes y aportaciones de las principales personas que dedicaron sus investigaciones al progreso de esta ciencia. El punto referencial se encuentra posicionado de forma descendente, primero con las principales aportaciones en todo el mundo, seguido de un panorama general del progreso de esta ciencia en la repblica Mexicana y las diferentes instituciones que han enfocado sus investigaciones en pro de este tema, por ultimo situaremos el problema sobre falta de informacin para el rea de proyectos del Instituto Tecnolgico de Tecomatln.El Instituto Tecnolgico de Tecomatln (ITT) se encuentra ubicado al sur del estado de Puebla, en la zona denominada mixteca baja, municipio de Tecomatln el cual cuenta con los siguientes datos generales:Clave: 21155, poblacin: 5,420 habitantes, superficie: 145,714 kilmetros cuadrados, densidad de poblacin: 37.2 habitantes por kilmetro cuadrado, ubicacin en la entidad: Sur, Tipo de urbanizacin: no urbano, colindancias: Al este Acatln y Piaxtla, al noroeste Ayutla, al oeste Chila de la sal, al suroeste Tulcingo y al sur San Juan Cieneguilla en el estado de Oaxaca, tipo de municipio: localidades con muy alta marginacin.La direccin del ITT es la siguiente: Carretera Palomas-Tlapa kilmetro 19.5.Dentro del ITT esta investigacin se enfoca en apoyar, dentro de la Ingeniera en Sistemas Computacionales, el desarrollo de proyectos en los ltimos aos.

4. MARCO HISTORICO

La idea de aplicar principios Darwinianos (Darwin 1859) a la resolucin de problemas se remonta a 1948, ao en el que el clebre matemtico Alan Mathison Turing habla de bsqueda gentica o evolutiva en su artculo Maquinas Inteligentes aunque sin explicar cmo realizar esta bsqueda para resolver problemas. Sin embargo en el tiempo anterior a Mathison, Cannon (1932), visualizo la evolucin natural como un proceso de aprendizaje, Turing reconoci en 1950 que debe haber una conexin entre el aprendizaje de mquina y la evolucin, y sealo que se podran desarrollar programas para jugar ajedrez usando esta tcnica. Campbell conjeturo en 1960 que en todos los procesos que llevan a la expansin del conocimiento, se involucra un proceso ciego de variacin y supervivencia selectiva.Los primeros intentos de aplicar de manera formal la teora de la evolucin, apareci en las reas de control de procesos estadsticos, aprendizaje de mquina y optimizacin de funciones. Tal vez el primer intento serio de este tipo se dio en el trabajo que realizaron Box y sus colegas en 1957, en el desarrollo de una tcnica que denominaron operacin evolutiva, la cual se aplic en una planta de manufactura. Friedberg intento, en 1958, hacer que un programa en lenguaje maquina se mejorara as mismo, seleccionando instrucciones que se asociaran ms frecuentemente con un resultado exitoso.Barricelli ofreci en 1954, una de las primeras simulaciones que usaban principios

5. MARCO TEORICO

5.1. NEO-DARWINISMO

La teora evolutiva propuesta originalmente por Charles Darwin en combinacin con el seleccionismo de August Weismann y la gentica de Gregor Mendel, se conoce hoy en da como el paradigma Neo-Darwiniano. El Neo-Darwinismo establece que la historia de la vasta mayora de la vida en nuestro planeta puede ser explicada a travs de una serie de procesos estadsticos que actan sobre y dentro de las poblaciones y especies, la reproduccin, la mutacin, la competencia y la seleccin.[footnoteRef:1] [1: Revista de mtodos cuantitativos para la economa y la empresa, Una introduccin a la computacin evolutiva y algunas de sus aplicaciones en economa y finanzas Santana Quintero, Luis Vicente, Coello Coello, Carlos A. Departamento de computacin. CINVESTAV-IPN (Grupo de Computacin Evolutiva).]

Tambin llamado teora sinttica de la evolucin, trata de explicar estadsticamente y de forma un tanto contraria a la teora de la evolucin que expuso Darwin, esta teora fue formulada en el siglo XX, siendo ms precisos en la dcada de los 30s y los 40s, por cientficos tales como: G. G. Simpson, Mayr, Huxley, Dobehansky, Fisher, Sewall Wright, entre otros.

Segn esta teora los fenmenos evolutivos se explican bsicamente por medio de las mutaciones (variaciones accidentales de las que hablo Darwin) sumadas a la accin de la seleccin natural.

De esta forma la evolucin se debera a la acumulacin de pequeas mutaciones favorables, preservadas por la seleccin natural y por consiguiente, la produccin de nuevas especies.

En fin y en relacin con el tema principal, la computacin evolutiva, trata de ver aplicada la teora sinttica (Neo-Darwinismo) en diferentes reas de aplicacin como la programacin principalmente, a fin de lograr que el mejoramiento de los diferentes sistemas se logre por s mismos, de forma automtica cumpliendo de esa forma con el concepto de computacin evolutiva, adems de lograr eficiencia, automatizacin y sobre todo calidad en las diferentes reas de aplicacin.

5.2. PARADIGMAS DE LA COMPUTACION EVOLUTIVA

El termino computacin evolutiva o algoritmos evolutivos, realmente engloba una serie de tcnicas inspiradas biolgicamente en los principios de la teora Neo-Darwiniana de la evolucin natural. En trminos generales, para simular el proceso evolutivo en una computadora se requiere: Codicar las estructuras que se replicaran. Operaciones que afecten a los individuos. Una funcin de aptitud. Un mecanismo de seleccin.Aunque hoy en da es cada vez ms difcil distinguir las diferencias entre los distintos tipos de algoritmos evolutivos existentes, por razones sobre todo histricas, regularmente se habla de tres paradigmas principales: Programacin Evolutiva. Estrategias Evolutivas. Algoritmos Genticos Cada uno de estos paradigmas se origin de manera independiente y con motivaciones muy distintas. En esta investigacin exponemos rpidamente, y de manera muy general, estos tres paradigmas de la computacin evolutiva

5.3. PROGRAMACION Y ESTRATEGIAS EVOLUTIVAS

5.3.1. PROGRAMACION

Tambin llamada programacin gentica, se puede decir que consiste en lograr la evolucin automtica de programas usando ideas basadas en la seleccin natural (Darwin), principalmente esta forma de programacin se ha utilizado para generar programas, sin embargo tambin se aplica para cualquier otro tipo de soluciones cuya estructura sea similar a ala de un programa. Por ejemplo: Frmulas matemticas y circuitos electrnicos.

Antes de adentrarse de lleno al tema de programacin es necesario tener conocimiento, sobre la forma en que ocurre la evolucin en la naturaleza, o gracias a que, ocurre la evolucin, ya que estos factores son los que se vern aplicados con la programacin evolutiva en los sistemas, ms especficamente en el software de sistemas.

La evolucin se produce en la naturaleza gracias a que:

Existe reproduccin entre individuos de una poblacin. Las caractersticas de los individuos afectan su probabilidad de supervivencia. Existe herencia. Existen recursos finitos que ocasionan competencia.

La programacin gentica o evolutiva toma a los programas como una poblacin o poblaciones de programas, las cuales deben evolucionar trasmitiendo su herencia de manera que se adapten mejor al medio, como en toda poblacin los mejores individuos tienen mayores probabilidades de reproduccin. La medida de calidad del individuo depende del tipo de problema, es decir, un problema de acuerdo a las capacidades de cada individuo, en este caso de cada programa.

5.3.2. ALGORITMO.

El algoritmo o un algoritmo de programacin gentica siguen el siguiente esquema:

1. Generacin de una poblacin inicial.2. Mientras se cumple el criterio de terminacina) Seleccionar individuos (para reproduccin y eliminacin), considerando su calidad.b) Combinar y/o variar individuos nuevos.c) Agregar y eliminar individuos.

Representacin.

En programacin gentica los programas o individuos se representan como rboles.

As el segmento de cdigo:

While (a < 10) { Print (a); a++}

Puede representarse por el rbol:

a10aPrint