Professional Documents
Culture Documents
Nacional
Trujillo
FACULTAD DE INGENIERIA
ESCUELA DE INGENIERIA DE SISTEMAS
INTELIGENCIA ARTIFICIAL
COMPUTACIN EVOLUTIVA
DOCENTE:
Mg. Luis Tenorio Cabrera
ALUMNOS:
TRUJILLO PER
2016
de
Ingeniera de Software
INTRODUCCIN
Desde los aos 1930s, algunos investigadores comenzaron a ver el proceso
de evolucin de las especies como un proceso de aprendizaje, mediante el
cual la naturaleza dota a las especies de diferentes mecanismos, buscando
hacerlas ms aptas para sobrevivir.
Partiendo de estos preceptos no resulta entonces difcil percatarse de que
pueden desarrollarse algoritmos que traten de resolver problemas de
bsqueda y optimizacin guiados por el principio de la supervivencia del
ms apto que postulara Charles Darwin en su famosa (y controversial)
teora de la evolucin de las especies. Dichos algoritmos son denominados,
hoy en da, algoritmos evolutivos y su estudio conforma la computacin
evolutiva, que es el tema del que el siguiente informe.
Los algoritmos evolutivos, en sus diferentes variantes, han resultado muy
exitosos en la solucin de una amplia gama de problemas del mundo real.
Ingeniera de Software
NDICE
COMPUTACIN EVOLUTIVA
INTRODUCCIN............................................................................................ ii
I.
HISTORIA................................................................................................ 2
II. DEFINICIN............................................................................................ 3
III.
Ingeniera de Software
COMPUTACIN EVOLUTIVA
I.
Ingeniera de Software
HISTORIA
-
II.
Ingeniera de Software
DEFINICIN
La computacin evolutiva (en adelante CE) es una de las ramas de
la Inteligencia Artificial que se aplica para la resolucin de
problemas de optimizacin combinatoria. La CE est inspirada en
los mecanismos de evolucin biolgica propuestos por Darwin,
Medel y Lamark. Sin entrar mucho en detalle sobre los estudios
que hicieron estos cientficos, solo vamos a mencionar
brevemente lo que propusieron.
Darwin propuso la Seleccin natural de los ms adaptados ,
Medel propuso la Teora corpuscular de la herencia.
Lamark propuso la Herencia de caracteres adquiridos .
Son una abstraccin de los procesos y principios establecidos por
el Darwinismo y Neo-darwinismo y el principio goal-driven
(conducido a los objetivos). El pensamiento evolutivo actual se
basa en el Neo-Darwinismo.
Paradigma Neo darwiniano:
Establece que la historia de la vida puede ser explicada por los
siguientes procesos estadsticos:
Herencia
Reproduccin
Mutacin y recombinacin
Competencia
Seleccin Natural.
El Neodarwinismo es la combinacin de:
La Teora evolutiva original de Charles Darwin
El Seleccionismo de August Weismann
La Gentica de Gregor Mendel
Ingeniera de Software
III.
PRINCIPALES PARADIGMAS DE LA COMPUTACIN
EVOLUTIVA
El trmino computacin evolutiva o algoritmos evolutivos
engloba una serie de tcnicas inspiradas 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:
Codificar las estructuras que se replicarn (o sea, una
estructura de datos que se utilice para almacenar a un
individuo).
Operaciones que afecten a los individuos (tpicamente, se
usa cruce y mutacin).
Una funcin de aptitud que nos indique qu tan buena es
una solucin con respecto a las dems.
Un mecanismo de seleccin que implemente el principio de
supervivencia del ms apto de la teora de Darwin.
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, suele hablarse de cuatro
paradigmas principales:
Programacin Evolutiva
Estrategias Evolutivas
Programacin gentica.
Algoritmos Genticos
Ingeniera de Software
Figura
1:
Ingeniera de Software
Ingeniera de Software
Ingeniera de Software
Ingeniera de Software
Ingeniera de Software
10
Ingeniera de Software
Representacin en rbol:
11
Ingeniera de Software
3.4.4. Esquema de la PG
A. Genera una poblacin inicial
El primer paso en programacin gen tica consiste en formar la
poblacin inicial de individuos. Uno de los parmetros
principales para un algoritmo gen tico es el tamao mximo
de un programa. Este lmite puede estar impuesto sobre el
nmero de nodos o sobre la profundidad del rbol.
Usualmente, se utilizan dos mtodos para generar esta
poblacin, el mtodo de grow y el full.
Mtodo grow
Consiste en: Sea T el conjunto de terminales y F el conjunto
de funciones. Se elige aleatoriamente un elemento de F
para que conforme la raz del rbol.
El contenido de los nodos hijos de la raz se elige desde F
T. Si el valor elegido es una funcin, se repite este
procedimiento con los hijos. (si el valor elegido es una
constante, se termina esa rama del rbol.)
Mtodo Full
El mtodo full hace crecer el rbol en forma similar al
mtodo grow, pero siempre se eligen elementos del
conjunto de funciones, a menos que el nodo este a
profundidad mxima, en cuyo caso solo se eligen
elementos de T.
Los resultados de este mtodo son siempre arboles
balanceados de profundidad mxima.
En este mtodo si se usa el nmero de nodos como lmite
de tamao, el crecimiento se termina cuando el tamao
rbol ha alcanzado el lmite.
B. Mientras no se cumple el criterio de programacin:
Seleccionar individuos (para reproduccin y eliminacin).
La seleccin es el proceso por el cual se transmiten
individuos de una generacin a otro considerando su calidad.
Hay distintos tipos de seleccin:
12
Ingeniera de Software
13
Ingeniera de Software
b. Mutacin
Acta sobre un solo individuo, generalmente, uno resultante de
un crossover.
La mutacin acta con una probabilidad, en general, muy baja
y que es un parmetro del algoritmo de programacin gen
tica.
Un tipo de mutacin consiste en escoger en forma aleatoria un
nodo del rbol y generar bajo este otro subrbol (por ejemplo,
usando el mtodo grow).
En la siguiente tabla se muestran otros tipos de mutacin:
14
Ingeniera de Software
c. Reproduccin
Es el operador ms simple de todos. Consiste en seleccionar un
individuo y duplicarlo, quedando dos copias dentro de la
poblacin.
Agregar y eliminar individuos
3.4.5. Funcin de calidad
La calidad es la medida usada por el algoritmo de programacin
gen tica durante la evolucin simulada para medir que tan buena
es una solucin.
Caractersticas:
Una funcin de calidad se dice estandarizada positiva si es
que siempre asigna el valor 0 al individuo que es mejor
solucin para el problema.
Una funcin de calidad se dice normalizada si es que
siempre asigna el valor entre 0 y 1.
Si f es una funcin estandarizada, entonces g = 1 /(1+f) es
una funcin normalizada que asigna valor 1 al individuo de
mayor calidad.
IV.
V.
tradicionales
en
muchos
15
Ingeniera de Software
16
Ingeniera de Software
CONLUSIONES
La computacin evolutiva, como disciplina de estudio, ha atrado la
atencin de un nmero cada vez mayor de investigadores de todo el
mundo. Esta popularidad se debe, en gran medida, al enorme xito
que han tenido los algoritmos evolutivos en la solucin de problemas
del mundo real de gran complejidad. De tal forma, es de esperarse
que en los aos siguientes el uso de este tipo de tcnicas prolifere
an ms. Ntese, sin embargo, que es importante tener en mente
que los algoritmos evolutivos son tcnicas heursticas. Por tanto, no
garantizan que convergern al ptimo de un problema dado, aunque
en la prctica suelen aproximar razonablemente bien el ptimo de un
problema en un tiempo promedio considerablemente menor que los
algoritmos deterministas. Esta distincin es importante, pues el papel
de las tcnicas heursticas es el de servir normalmente como ltimo
recurso para resolver un problema en el que los algoritmos
convencionales (tpicamente deterministas) no funcionan o tienen un
costo computacional prohibitivo. Esto implica que antes de decidir
recurrir a los algoritmos evolutivos, debe analizarse la factibilidad de
utilizar otro tipo de tcnicas. Este paso, que pudiese parecer obvio
para muchos, en la prctica suele omitirse en muchos casos y de ah
que exista bastante escepticismo por parte de aquellos que
acostumbran a trabajar nicamente con algoritmos deterministas. El
uso apropiado y pertinente de los algoritmos evolutivos ser sin duda
la base de su futuro como alternativa para la solucin de problemas
complejos y de ah que se enfatice su importancia.
Ingeniera de Software
BIBLIOGRAFA
LIBRO:
VI.
DIRECCIONES ELECTRNICAS:
VII.
VIII.
IX.
http://algoritmosgenetics.blogspot.pe/2014/07/ventajas
-y-desventajas.html
http://es.slideshare.net/jairoUNT/computacin-evolutiva
Computacin Evolutiva. Universidad de Granada:
DECSAI
Disponible
en:
https://www.google.com.pe/search?
q=google&oq=G&aqs=chrome.1.69i60j69i59j69i60l2j0
j69i57.2105j0j4&sourceid=chrome&ie=UTF8#q=COMPUTACION+EVOLUTIVA+decsai