SlideShare una empresa de Scribd logo
Dr. Hugo A. Banda Gamboa
CORDICYT
Octubre, 2015
CONTENIDO
I. Fundamentos de la Computación Evolutiva
II. Algoritmos Genéticos
III. Aplicaciones de Algoritmos Genéticos
IV. Programación Evolutiva
V. Estrategias de Evolución
VI. Programación Genética
VII. Conclusión
© Dr. Hugo A. Banda Gamboa - 2015 2
FUNDAMENTOS DE LA
COMPUTACIÓN EVOLUTIVA
© Dr. Hugo A. Banda Gamboa - 2015 3
Fundamentos de la Computación
Evolutiva
 La unidad fundamental de información
en los seres vivos es el gen.
 El gen es parte de una estructura
denominada cromosoma que determina
o afecta un carácter simple o fenotipo
(propiedad visible).
 Los organismos vivos pueden ser
visualizados como un dual de su
genotipo (la codificación genética) y de
su fenotipo.
© Dr. Hugo A. Banda Gamboa - 2015 4
Evolución de una Población
© Dr. Hugo A. Banda Gamboa - 2015 5
P
G
E
f4
f3
f2
f1
f’1
p1
p2
p’1
g1 g2
g’1
)(.GG:
)(G,P:
)(P,P:
)(P,GE:
4
3
2
1
iónRecombinacyMutaciónf
GenotípicaciaSupervivenf
Selecciónf
Epigénesisf




Espacio de
Estados
Fenotípicos
Espacio de
Estados
Genotípicos
Computación Evolutiva
 La computación evolutiva comprende
aplicaciones basadas en los mecanismos
de la evolución natural tales como la
genética biológica y la selección natural.
 El campo de la computación evolutiva,
en general incluye cuatro paradigmas:
 Algoritmos genéticos
 Programación evolutiva
 Estrategias de evolución
 Programación genética.
© Dr. Hugo A. Banda Gamboa - 2015 6
Computación Evolutiva
 Los paradigmas de la computación evolutiva difieren
de los métodos tradicionales, en cuatro aspectos
fundamentales:
 Trabajan con un código del conjunto de parámetros. Este
código es una cadena de caracteres de valores binarios o
variables de valor real.
 Realizan la búsqueda de la potencial solución en una población
de puntos, no en un sólo punto.
 Utilizan la información de una función objetivo, no derivadas u
otro conocimiento auxiliar.
 Usan reglas probabilísticas de transición, en lugar de reglas
determinísticas.
© Dr. Hugo A. Banda Gamboa - 2015 7
ALGORITMOS GENÉTICOS
© Dr. Hugo A. Banda Gamboa - 2015 8
Algoritmos Genéticos:
Fundamentos
 Los Algoritmos Genéticos son métodos
adaptativos que se derivan de la
simulación de los procesos genéticos,
que comprenden los mecanismos
naturales de cruce, mutación y la
supervivencia del más apto (selección)
 Los Algoritmos Genéticos se utilizan
para resolver problemas de búsqueda
y optimización.
© Dr. Hugo A. Banda Gamboa - 2015 9
Algoritmos Genéticos:
Características (1)
 Los Algoritmos Genéticos trabajan en el
espacio del genotipo del código de la
información:
 Se selecciona una población de
individuos, cada uno de los cuales
representa una solución factible a un
problema dado.
 Cada individuo es codificado como una
cadena de caracteres binarios (cromosomas),
y se le asigna un valor de aptitud
relacionado con la bondad de la solución
que representa.
© Dr. Hugo A. Banda Gamboa - 2015 10
Algoritmos Genéticos:
Características (2)
 Cuanto mayor sea la aptitud de un
individuo, mayor será la probabilidad de
que el mismo sea seleccionado para
reproducirse, intercambiando
aleatoriamente su material genético con
otro, seleccionado de igual forma.
 Este cruce producirá nuevos individuos,
descendientes de los anteriores, los cuales
pueden tener características mejores que
las de sus ancestros.
© Dr. Hugo A. Banda Gamboa - 2015 11
Algoritmos Genéticos:
Características (3)
 Cuanto menor sea la aptitud de un
individuo, menor será la probabilidad de
que sea seleccionado para la
reproducción, y por tanto de que su
material genético se propague en
sucesivas generaciones.
 Ocasionalmente, una variante nueva es
probada, cambiando aleatoriamente un
gen de algún cromosoma descendiente,
como una medida de posible mejora
(mutación).
© Dr. Hugo A. Banda Gamboa - 2015 12
Algoritmo Genético Simple en
Pseudocódigo
© Dr. Hugo A. Banda Gamboa - 2015 13
INICIO /* Algoritmo Genético Simple */
Generar una población inicial.
Computar la función de aptitud de cada individuo.
MIENTRAS NO Terminado HACER
INICIO /* Producir nueva generación */
PARA Tamaño Población/2 HACER
INICIO /* Ciclo Reproductivo */
Seleccionar 2 individuos de la generación anterior,
con probabilidad proporcional a la función de aptitud
de cada individuo.
Cruzar, con cierta probabilidad, los 2 individuos
obteniendo 2 descendientes.
Mutar los 2 descendientes, con cierta probabilidad.
Calcular la función de aptitud de los 2 descendientes.
Insertar los dos descendientes en la nueva generación.
FIN /* Ciclo Reproductivo */
SI La población ha convergido ENTONCES
Terminado = VERDADERO
FIN /* Producir nueva generación */
FIN /* Algoritmo Genético Simple */
Cromosoma
Código Genético de un Insecto
© Dr. Hugo A. Banda Gamboa - 2015 14
Antenas Cabeza Alas Cuerpo Patas Tamaño
Color
Cuerpo
Color
Cabeza
Fuente: K F Man, K S Tang & S Kwong. Genetic Algorithms, Springer-Verlag, London, 2001
Genes del Insecto
Códigos y Formas: Antenas, Cabeza y Alas
© Dr. Hugo A. Banda Gamboa - 2015 15
Genes del Insecto
Códigos, Formas y Colores: Cuerpo
© Dr. Hugo A. Banda Gamboa - 2015 16
Genes del Insecto
Códigos, Formas y Colores: Otras Partes
© Dr. Hugo A. Banda Gamboa - 2015 17
Algoritmos Genéticos: Selección
© Dr. Hugo A. Banda Gamboa - 2015 18
Algoritmos Genéticos: Cruce y Mutación
© Dr. Hugo A. Banda Gamboa - 2015 19
© Dr. Hugo A. Banda Gamboa - 2015 20
Ejemplo 1: Optimización de Utilidades
 Una empresa desarrolla y comercializa 2 tipos de sistemas de control.
Un sistema para regular la velocidad de máquinas de inducción (Ci) que
se vende a $1000,00 y un sistema para regular la velocidad de
máquinas DC (Cd) que se vende en $800.
 Para la instalación y afinamiento de los controladores, emplea 3
técnicos: el primero cobra $10/hora y utiliza 6 horas para instalar el
sistema de regulación de máquinas de DC y 10 horas para el sistema de
regulación de máquinas de inducción. El segundo, cobra $20/hora y
emplea 4 horas para el afinamiento del sistema de control de máquinas
DC y 8 horas para el afinamiento del sistema de control para máquinas
de inducción. El tercer técnico, cobra $15/hora y emplea 8 horas para
las pruebas del sistema de control para máquinas DC y 6 horas para las
pruebas del sistema de control para máquinas de inducción.
 Si se conoce que la disponibilidad de tiempo del técnico 1 (T1) en cada
mes es de 140 horas, 100 horas por mes dispone el técnico 2 (T2); y,
120 horas por mes dispone el técnico 3 (T3), determinar cuántos
sistemas de control de cada tipo debe la empresa comercializar
mensualmente para obtener la máxima utilidad.
© Dr. Hugo A. Banda Gamboa - 2015 21
Optimización de Utilidades: Solución Solver
© Dr. Hugo A. Banda Gamboa - 2015 22
Optimización de Utilidades: Script MATLAB
Optimization Toolbox/GUI/optimtool/Solver: ga - Genetic Algorithm)
1. % Función de aptitud para optimizar
2. % utilidades
3. function z=foptCiCd(k)
4. % Unidades Vendidas: Ci, Cd.
5. Ci=round(k(1)); Cd=round(k(2));
6. % Precio de venta de cada sistema
7. PVCd=800;
8. PVCi=1000;
9. % Horas mes disponibles
10. HmesT1=140;
11. HmesT2=100;
12. HmesT3=120;
13. % Valor por hora de trabajo
14. VhT1=10;
15. VhT2=20;
16. VhT3=15;
17. % Horas necesarias de cada recurso para
18. % los sistemas Ci y Cd
19. CiT1=10;
20. CiT2=8;
21. CiT3=6;
22. CdT1=6;
23. CdT2=4;
24. CdT3=8;
25. % Total horas por mes por cada recurso
26. ThT1=Ci*CiT1+Cd*CdT1;
27. ThT2=Ci*CiT2+Cd*CdT2;
28. ThT3=Ci*CiT3+Cd*CdT3;
29. % Restricción de disponibilidad de horas
30. % mensuales
31. if ThT1 <= HmesT1 && ThT2 <= HmesT2
&& ThT3 <= HmesT3
32. F = 0;
33. else
34. F=100000;
35. end
36. % Cálculo del negativo de la utilidad ya
37. % que GA siempre busca el valor mínimo
38. Ingresos=Ci*PVCi+Cd*PVCd;
39. Egresos=ThT1*VhT1+ThT2*VhT2+ThT3*
VhT3;
40. z=Egresos-Ingresos+F;
© Dr. Hugo A. Banda Gamboa - 2015 23
Optimización de Utilidades: Solución MATLAB
Optimization Toolbox/GUI/optimtool/Solver: ga - Genetic Algorithm)
© Dr. Hugo A. Banda Gamboa - 2015 24
Ejemplo 2: Controlador PID Óptimo
Diseñar un controlador PID que permita una
respuesta dinámica óptima de la planta dada:
© Dr. Hugo A. Banda Gamboa - 2015 25
Controlador PID Óptimo: Solución MATLAB
Optimization Toolbox/GUI/optimtool/Solver: ga - Genetic Algorithm)
1. % Función de aptitud para diseñar controlador PID
2. % para comportamiento óptimo para Planta:
3. % 6.28
4. % G(s)=------------------ ; H(s) = 1
5. % s^2 + 2s + 0.96
6. % Función de transferencia para el Controlador PID
7. % kd*s^2+kp*s+ki
8. % Gc(s)=---------------------
9. % s
10. function z=foptPID(k)
11. kd=k(1); kp=k(2); ki=k(3);
12. % Se crean las funciones de transferencia con la
13. % función tf()
14. G=tf(6.28,[1 2 0.96]); % Planta
15. Gc=tf([kd kp ki],[1 0]); % Controlador PID
16. Gtotal=G*Gc;
17. % Se crea el Modelo de lazo cerrado "sys"
18. % usando la función feedback()
19. sys=feedback(Gtotal,1);
20. % Respuesta temporal del Modelo "sys"
21. [y,t]=step(sys);
22. [y_tam,x]=size(y);
23. [t_tam,x]=size(t);
24. % Cálculo del Error de Posición
25. Valor_Estado_Estable=y(t_tam);
26. Ep=abs(1-Valor_Estado_Estable)*100;
27. %Cálculo de máximo sobreimpulso
28. max=y(1);
29. for i=2:t_tam
30. if y(i)>max
31. max=y(i);
32. else
33. end
34. end
35. Over=abs((max-Valor_Estado_Estable)*100/
Valor_Estado_Estable);
36. %Cálculo del tiempo de establecimiento entre
37. % +/- 2% del valor de estado estable
38. lim_sup=1.02*Valor_Estado_Estable;
39. lim_inf=0.98*Valor_Estado_Estable;
40. ts=0;
41. for i=1:t_tam
42. if abs(y(i)-lim_sup)<(0.002*lim_sup)
43. ts=t(i);
44. elseif abs(y(i)-lim_inf)<(0.002*lim_sup)
45. ts=t(i);
46. else
47. end
48. end
49. STime=100*ts/t(t_tam);
50. % Criterio de Estabilidad del Sistema de Lazo Cerrado
51. % Si existen polos en el semiplano derecho,
52. % el sistema es inestable
53. [Wn,Z,P]=damp(sys);
54. if real(P(1,1)) >= 0 || real(P(2,1)) >= 0 || real(P(3,1)) >=
0
55. P1=1000000;
56. else
57. P1=0;
58. end
59. % Asignación de coeficientes de ponderación para
60. % los parámetros normalizados: Ep, Over y STime
61. w1=1;
62. w2=2;
63. w3=3;
64. Sum=w1+w2+w3;
65. % Función final para la optimización
66. z=(w1*Ep+w2*Over+w3*STime)/Sum+P1;
© Dr. Hugo A. Banda Gamboa - 2015 26
Función para Comprobar Respuesta de la
Planta con Controlador PID
1. % Función para comprobar la Planta compensada por el
2. % Controlador PID
3. function [t,y1,y2]=pruebaPID(kd, kp, ki)
4. % Función de Transferencia de la Planta
5. G=tf(6.28,[1 2 0.96]);
6. % Se crea el Modelo de la Planta a Lazo Abierto
7. OpenSys=feedback(G,1);
8. % Período de simulación
9. t=0:0.05:10;
10. % Respuesta Transitoria de la Planta a Lazo Abierto
11. [y1,t]=step(OpenSys,t);
12. % Función de Transferencia del Controlador PID
13. Gc=tf([kd kp ki],[1 0]);
14. % Función de transferencia de Planta Compensada
15. Gtotal=G*Gc;
16. % Se crea el Modelo de la Planta a Lazo Cerrado
17. CloseSys=feedback(Gtotal,1);
18. % Respuesta transitoria del Modelo de Planta a Lazo Cerrado
19. [y2,t]=step(CloseSys,t);
20. % Plot de y1 y y2 (Respuesta dinámica de la Planta: Lazo Abierto y con
PID)
21. plotyy(t,y1,t,y2,'plot');© Dr. Hugo A. Banda Gamboa - 2015 27
Controlador PID Óptimo: Solución MATLAB
(Optimization Toolbox/GUI/optimtool/Solver: ga - Genetic Algorithm)
© Dr. Hugo A. Banda Gamboa - 2015 28
PROGRAMACIÓN EVOLUTIVA
© Dr. Hugo A. Banda Gamboa - 2015 29
Fundamentos
La programación evolutiva se deriva de la
simulación del comportamiento
adaptativo propio de un proceso
evolutivo.
Se caracteriza por su énfasis en el
desarrollo de modelos de
comportamiento.
Trabaja en el espacio del fenotipo del
comportamiento observable (evolución
fenotípica)
© Dr. Hugo A. Banda Gamboa - 2015 30
Procedimiento en Pseudocódigo
© Dr. Hugo A. Banda Gamboa - 2015 31
INICIO /* Programación Evolutiva: Procedimiento */
Generar una población inicial.
MIENTRAS NO Terminado HACER
INICIO /* Buscar Solución */
Exponer la población a su entorno.
Calcular la aptitud de cada individuo.
Aleatoriamente mutar cada miembro de la población
y generar descendientes.
Calcular la aptitud de los descendientes.
Seleccionar los miembros más aptos para la nueva generación.
SI el objetivo se ha logrado ENTONCES
Terminado = VERDADERO
FIN /* Buscar Solución */
FIN /* Programación Evolutiva: Procedimiento */
Aplicación
 La programación evolutiva se utiliza
usualmente para resolver problemas de
predicción. Por ejemplo, en máquinas de
estados finitos:
 El entorno es descrito como una secuencia de
símbolos tomados de un alfabeto finito.
 Un algoritmo evolutivo opera sobre la secuencia de
símbolos observados, de tal forma que produce
un símbolo de salida que maximiza el resultado
del algoritmo, tomando en cuenta el siguiente
símbolo que aparecerá y una función de costo
bien definida.
© Dr. Hugo A. Banda Gamboa - 2015 32
ESTRATEGIAS DE EVOLUCIÓN
© Dr. Hugo A. Banda Gamboa - 2015 33
Fundamentos (1)
 Las estrategias de evolución están basadas en el
concepto de meta evolución y, al igual que la
programación evolutiva, enfatizan el aspecto
fenotípico del proceso evolutivo.
 A pesar de utilizar las operaciones de mutación y cruce
(recombinación), la perspectivas de ellas son
diferentes a las utilizadas por los algoritmos genéticos o
la programación evolutiva:
 Operaciones de mutación o recombinación que caen fuera de
una ventana de evolución predefinida por la función de
optimización, no son de utilidad.
 El ajuste dinámico del tamaño de la mutación a una ventana
de evolución también dinámica, favorece la meta evolución.
© Dr. Hugo A. Banda Gamboa - 2015 34
Fundamentos (2)
 A diferencia de los algoritmos genéticos, las estrategias de
evolución manipulan los valores de las variables,
durante la recombinación (cruce):
 Forma un descendiente utilizando los datos de dos padres
seleccionados aleatoriamente.
 El valor de la variable del descendiente, es igual al valor
intermedio de los valores de sus padres.
 La estrategias de evolución operan con una mayor
cantidad de descendientes que los otros paradigmas
de computación evolutiva:
 El número de descendientes (N) es mayor que el número de
padres (M), en una relación típica N/M igual a 7.
© Dr. Hugo A. Banda Gamboa - 2015 35
Procedimiento
© Dr. Hugo A. Banda Gamboa - 2015 36
INICIO /* Estrategias de Evolución: Procedimiento */
Generar una población inicial.
MIENTRAS NO Terminado HACER
INICIO /* Buscar Solución */
Realizar la recombinación de pares de los M padres
para generar N descendientes (N/M = 7).
Mutar a todos los descendientes.
Calcular la aptitud de los N descendientes.
De entre los N descendientes, seleccionar los M
miembros más aptos para la nueva generación.
SI el objetivo se ha logrado ENTONCES
Terminado = VERDADERO
FIN /* Buscar Solución */
FIN /* Estrategias de Evolución : Procedimiento */
PROGRAMACIÓN GENÉTICA
© Dr. Hugo A. Banda Gamboa - 2015 37
Fundamentos (1)
 La programación genética está diseñada para
evolucionar programas de computadora,
genéticamente.
 A diferencia de las tres implementaciones anteriores,
que generalmente emplean cromosomas en forma de
cadena de caracteres como miembros individuales de
la población, la programación genética utiliza árboles
para representar a los programas sujetos a
evolución:
 Las funciones definidas para el problema aparecen en los
nodos (conjunto interno).
 Las variables de estado y las constantes están localizadas en
las hojas del árbol (conjunto terminal).
© Dr. Hugo A. Banda Gamboa - 2015 38
Fundamentos (2)
 Previo a la ejecución de un proceso de
programación genética, se deben
cumplir los siguientes pasos:
 Especificar el conjunto de variables de
estado y constantes (conjunto terminal).
 Especificar el conjunto de funciones.
 Especificar la medida de aptitud.
 Seleccionar los parámetros del sistema de
control.
 Especificar las condiciones de finalización
del procedimiento.
© Dr. Hugo A. Banda Gamboa - 2015 39
Procedimiento en Pseudocódigo
© Dr. Hugo A. Banda Gamboa - 2015 40
INICIO /* Programación Genética: Procedimiento */
Inicializar la población de programas de computadora.
MIENTRAS NO Terminado HACER
INICIO /* Buscar Solución */
Determinar la aptitud de cada programa individual.
Aplicar la reproducción de acuerdo con la aptitud y la
probabilidad de reproducción.
Realizar el cruce de las subexpresiones.
SI el objetivo se ha logrado ENTONCES
Terminado = VERDADERO
FIN /* Buscar Solución */
FIN /* Programación Genética : Procedimiento */
Conclusión
Lo único
constante en el
universo es el
cambio.
© Dr. Hugo A. Banda Gamboa - 2015 41

Más contenido relacionado

La actualidad más candente

1.3 lenguajes de simulacion y simuladores
1.3 lenguajes de simulacion y simuladores1.3 lenguajes de simulacion y simuladores
1.3 lenguajes de simulacion y simuladores
JoOsee Kette
 
Arboles de derivacion
Arboles de derivacionArboles de derivacion
Arboles de derivacion
Luis Couoh
 
Reglas de producción
Reglas de producciónReglas de producción
Reglas de producción
solesito1237
 

La actualidad más candente (20)

ETAPAS DEL PROCESO DE SIMULACION
ETAPAS DEL PROCESO DE SIMULACIONETAPAS DEL PROCESO DE SIMULACION
ETAPAS DEL PROCESO DE SIMULACION
 
1.3 lenguajes de simulacion y simuladores
1.3 lenguajes de simulacion y simuladores1.3 lenguajes de simulacion y simuladores
1.3 lenguajes de simulacion y simuladores
 
Arboles de derivacion
Arboles de derivacionArboles de derivacion
Arboles de derivacion
 
1.5 El Modelo de Adquisición del Conocimiento según la Filosofía.pptx
1.5 El Modelo de Adquisición del Conocimiento según la Filosofía.pptx1.5 El Modelo de Adquisición del Conocimiento según la Filosofía.pptx
1.5 El Modelo de Adquisición del Conocimiento según la Filosofía.pptx
 
Aplicaciones desarrolladas con PROLOG
Aplicaciones desarrolladas con PROLOGAplicaciones desarrolladas con PROLOG
Aplicaciones desarrolladas con PROLOG
 
Presentación diseño sistemas sm
Presentación diseño sistemas smPresentación diseño sistemas sm
Presentación diseño sistemas sm
 
Simulación - Unidad 4 Lenguajes de Simulación (Promodel)
Simulación - Unidad 4 Lenguajes de Simulación (Promodel)Simulación - Unidad 4 Lenguajes de Simulación (Promodel)
Simulación - Unidad 4 Lenguajes de Simulación (Promodel)
 
Modelos uml compras v4
Modelos uml compras v4Modelos uml compras v4
Modelos uml compras v4
 
Reglas de producción
Reglas de producciónReglas de producción
Reglas de producción
 
Simulacion para ISC - Unidad 1 Introducción a la Simulación
Simulacion para ISC - Unidad 1 Introducción a la SimulaciónSimulacion para ISC - Unidad 1 Introducción a la Simulación
Simulacion para ISC - Unidad 1 Introducción a la Simulación
 
Arquitectura Computacional.pdf
Arquitectura Computacional.pdfArquitectura Computacional.pdf
Arquitectura Computacional.pdf
 
Modelos de simulación de sistemas
Modelos de simulación de sistemasModelos de simulación de sistemas
Modelos de simulación de sistemas
 
Patron observador
Patron observadorPatron observador
Patron observador
 
Unidad III generacion de variables aleatorias
Unidad III generacion de variables aleatoriasUnidad III generacion de variables aleatorias
Unidad III generacion de variables aleatorias
 
Algoritmo genético presentacion
Algoritmo genético presentacionAlgoritmo genético presentacion
Algoritmo genético presentacion
 
Variables aleatorias
Variables aleatoriasVariables aleatorias
Variables aleatorias
 
Introduccion a la ingenieria de sistemas
Introduccion a la ingenieria de sistemasIntroduccion a la ingenieria de sistemas
Introduccion a la ingenieria de sistemas
 
Modelling and simulation
Modelling and simulationModelling and simulation
Modelling and simulation
 
Interrupciones
InterrupcionesInterrupciones
Interrupciones
 
Unidad II. aleatoriedad
Unidad II. aleatoriedadUnidad II. aleatoriedad
Unidad II. aleatoriedad
 

Destacado

computacion Evolutiva
computacion Evolutivacomputacion Evolutiva
computacion Evolutiva
guest590a846
 
3. sistemas de información, gobernanza y gestión
3. sistemas de información, gobernanza y gestión3. sistemas de información, gobernanza y gestión
3. sistemas de información, gobernanza y gestión
Hugo Banda
 

Destacado (17)

Tecnicas de busqueda
Tecnicas de busquedaTecnicas de busqueda
Tecnicas de busqueda
 
computacion Evolutiva
computacion Evolutivacomputacion Evolutiva
computacion Evolutiva
 
Gestión de tecnología
Gestión de tecnologíaGestión de tecnología
Gestión de tecnología
 
Ciclo de vida del SW empresarial
Ciclo de vida del SW empresarialCiclo de vida del SW empresarial
Ciclo de vida del SW empresarial
 
Convergencia científico tecnológica
Convergencia científico   tecnológicaConvergencia científico   tecnológica
Convergencia científico tecnológica
 
Análisis de la decisión
Análisis de la decisiónAnálisis de la decisión
Análisis de la decisión
 
Inteligencia corporativa 2.0
Inteligencia corporativa 2.0Inteligencia corporativa 2.0
Inteligencia corporativa 2.0
 
Inteligencia corporativa
Inteligencia corporativaInteligencia corporativa
Inteligencia corporativa
 
1. Sistemas de Informacón Empresarial: Marco de Trabajo
1. Sistemas de Informacón Empresarial: Marco de Trabajo1. Sistemas de Informacón Empresarial: Marco de Trabajo
1. Sistemas de Informacón Empresarial: Marco de Trabajo
 
Reconocimiento de rostros utilizando una red neuronal
Reconocimiento de rostros utilizando una red neuronalReconocimiento de rostros utilizando una red neuronal
Reconocimiento de rostros utilizando una red neuronal
 
Sistemas difusos
Sistemas difusosSistemas difusos
Sistemas difusos
 
Computación neuronal
Computación neuronalComputación neuronal
Computación neuronal
 
La Transformación Digital
La Transformación DigitalLa Transformación Digital
La Transformación Digital
 
El cerebro y la inteligencia
El cerebro y la inteligenciaEl cerebro y la inteligencia
El cerebro y la inteligencia
 
3. sistemas de información, gobernanza y gestión
3. sistemas de información, gobernanza y gestión3. sistemas de información, gobernanza y gestión
3. sistemas de información, gobernanza y gestión
 
2. Sistemas de Información Empresarial: Organizaciones y TI
2. Sistemas de Información Empresarial: Organizaciones y TI2. Sistemas de Información Empresarial: Organizaciones y TI
2. Sistemas de Información Empresarial: Organizaciones y TI
 
Elementos de la investigación científica
Elementos de la investigación científicaElementos de la investigación científica
Elementos de la investigación científica
 

Similar a Computación evolutiva

Inteligencia Artificial Clase 5
Inteligencia Artificial Clase 5Inteligencia Artificial Clase 5
Inteligencia Artificial Clase 5
UNEFA
 
Utp i_ay_se_s10_algoritmo genéticos_
 Utp i_ay_se_s10_algoritmo genéticos_ Utp i_ay_se_s10_algoritmo genéticos_
Utp i_ay_se_s10_algoritmo genéticos_
jcbenitezp
 
Algoritmos Genticos Optimizacin Presentacin
Algoritmos Genticos Optimizacin PresentacinAlgoritmos Genticos Optimizacin Presentacin
Algoritmos Genticos Optimizacin Presentacin
Hamilton
 
Algoritmos Genticos Optimizacin Presentacin
Algoritmos Genticos Optimizacin PresentacinAlgoritmos Genticos Optimizacin Presentacin
Algoritmos Genticos Optimizacin Presentacin
guest2f5cf8
 
Algoritmos Genéticos
Algoritmos GenéticosAlgoritmos Genéticos
Algoritmos Genéticos
ESCOM
 

Similar a Computación evolutiva (20)

Inteligencia Artificial Clase 5
Inteligencia Artificial Clase 5Inteligencia Artificial Clase 5
Inteligencia Artificial Clase 5
 
Algoritmos geneticos
Algoritmos geneticosAlgoritmos geneticos
Algoritmos geneticos
 
Xpin algoritmos genéticos
Xpin   algoritmos genéticosXpin   algoritmos genéticos
Xpin algoritmos genéticos
 
ALGORITMO GENETICO - II.pptx
ALGORITMO GENETICO - II.pptxALGORITMO GENETICO - II.pptx
ALGORITMO GENETICO - II.pptx
 
Jgap algritmos geneticosss
Jgap  algritmos geneticosssJgap  algritmos geneticosss
Jgap algritmos geneticosss
 
A G's
A G'sA G's
A G's
 
Algoritmos genéticos 2 s lun 30 sep-13
Algoritmos genéticos 2 s lun 30 sep-13Algoritmos genéticos 2 s lun 30 sep-13
Algoritmos genéticos 2 s lun 30 sep-13
 
Utp i_ay_se_s10_algoritmo genéticos_
 Utp i_ay_se_s10_algoritmo genéticos_ Utp i_ay_se_s10_algoritmo genéticos_
Utp i_ay_se_s10_algoritmo genéticos_
 
Algotitmos geneticos mundial
Algotitmos geneticos mundialAlgotitmos geneticos mundial
Algotitmos geneticos mundial
 
Inteligencia artificial
Inteligencia artificialInteligencia artificial
Inteligencia artificial
 
Programacion genetica
Programacion geneticaProgramacion genetica
Programacion genetica
 
Algoritmos Genticos Optimizacin Presentacin
Algoritmos Genticos Optimizacin PresentacinAlgoritmos Genticos Optimizacin Presentacin
Algoritmos Genticos Optimizacin Presentacin
 
Algoritmos Genticos Optimizacin Presentacin
Algoritmos Genticos Optimizacin PresentacinAlgoritmos Genticos Optimizacin Presentacin
Algoritmos Genticos Optimizacin Presentacin
 
Ag (2005 verano)
Ag (2005 verano)Ag (2005 verano)
Ag (2005 verano)
 
A Geneticos
A GeneticosA Geneticos
A Geneticos
 
Algoritmos Genéticos
Algoritmos GenéticosAlgoritmos Genéticos
Algoritmos Genéticos
 
Programación Genética: Introducción y Aspectos Generales
Programación Genética: Introducción y Aspectos GeneralesProgramación Genética: Introducción y Aspectos Generales
Programación Genética: Introducción y Aspectos Generales
 
Algoritmos genéticos
Algoritmos genéticosAlgoritmos genéticos
Algoritmos genéticos
 
ALGORITMOS GENÉTICOS.pdf
ALGORITMOS GENÉTICOS.pdfALGORITMOS GENÉTICOS.pdf
ALGORITMOS GENÉTICOS.pdf
 
ALGORITMOS GENETICOS - BUSQUEDA TABÚ
ALGORITMOS GENETICOS - BUSQUEDA TABÚALGORITMOS GENETICOS - BUSQUEDA TABÚ
ALGORITMOS GENETICOS - BUSQUEDA TABÚ
 

Más de Hugo Banda

Investigación y universidad
Investigación y universidadInvestigación y universidad
Investigación y universidad
Hugo Banda
 

Más de Hugo Banda (14)

Aprendizaje de máquina
Aprendizaje de máquinaAprendizaje de máquina
Aprendizaje de máquina
 
Sistemas basados en conocimiento
Sistemas basados en conocimientoSistemas basados en conocimiento
Sistemas basados en conocimiento
 
Modelos de Inteligencia Artificial
Modelos de Inteligencia ArtificialModelos de Inteligencia Artificial
Modelos de Inteligencia Artificial
 
Problemas y soluciones
Problemas y solucionesProblemas y soluciones
Problemas y soluciones
 
Entornos de aprendizaje
Entornos de aprendizajeEntornos de aprendizaje
Entornos de aprendizaje
 
5 estrategiasclavepym es
5 estrategiasclavepym es5 estrategiasclavepym es
5 estrategiasclavepym es
 
Inteligencia artificial-Marco Referencial
Inteligencia artificial-Marco ReferencialInteligencia artificial-Marco Referencial
Inteligencia artificial-Marco Referencial
 
El podcast en actividades docentes
El podcast en actividades docentesEl podcast en actividades docentes
El podcast en actividades docentes
 
Educación 2.0
Educación 2.0Educación 2.0
Educación 2.0
 
Desarrollo de un agente buscador inteligente de metadatos
Desarrollo de un agente buscador inteligente  de metadatosDesarrollo de un agente buscador inteligente  de metadatos
Desarrollo de un agente buscador inteligente de metadatos
 
Visión e inteligencia artificial 11-oct-2007
Visión e inteligencia artificial 11-oct-2007Visión e inteligencia artificial 11-oct-2007
Visión e inteligencia artificial 11-oct-2007
 
Sociedad del conocimiento
Sociedad del conocimientoSociedad del conocimiento
Sociedad del conocimiento
 
El horizonte de la investigación en el siglo xxi
El horizonte de la investigación en el siglo xxiEl horizonte de la investigación en el siglo xxi
El horizonte de la investigación en el siglo xxi
 
Investigación y universidad
Investigación y universidadInvestigación y universidad
Investigación y universidad
 

Último

PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docxPRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
encinasm992
 

Último (20)

Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
 
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
 
Estudio de la geometría analitica. Pptx.
Estudio de la geometría analitica. Pptx.Estudio de la geometría analitica. Pptx.
Estudio de la geometría analitica. Pptx.
 
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
 
herramientas informaticas mas utilizadas
herramientas informaticas mas utilizadasherramientas informaticas mas utilizadas
herramientas informaticas mas utilizadas
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
 
Herramientas informáticas. Sara Torres R.
Herramientas informáticas. Sara Torres R.Herramientas informáticas. Sara Torres R.
Herramientas informáticas. Sara Torres R.
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
 
Gestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL ServerGestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL Server
 
lenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometrialenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometria
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
 
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docxPRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Licencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de SoftwareLicencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de Software
 
Presentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptxPresentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptx
 

Computación evolutiva

  • 1. Dr. Hugo A. Banda Gamboa CORDICYT Octubre, 2015
  • 2. CONTENIDO I. Fundamentos de la Computación Evolutiva II. Algoritmos Genéticos III. Aplicaciones de Algoritmos Genéticos IV. Programación Evolutiva V. Estrategias de Evolución VI. Programación Genética VII. Conclusión © Dr. Hugo A. Banda Gamboa - 2015 2
  • 3. FUNDAMENTOS DE LA COMPUTACIÓN EVOLUTIVA © Dr. Hugo A. Banda Gamboa - 2015 3
  • 4. Fundamentos de la Computación Evolutiva  La unidad fundamental de información en los seres vivos es el gen.  El gen es parte de una estructura denominada cromosoma que determina o afecta un carácter simple o fenotipo (propiedad visible).  Los organismos vivos pueden ser visualizados como un dual de su genotipo (la codificación genética) y de su fenotipo. © Dr. Hugo A. Banda Gamboa - 2015 4
  • 5. Evolución de una Población © Dr. Hugo A. Banda Gamboa - 2015 5 P G E f4 f3 f2 f1 f’1 p1 p2 p’1 g1 g2 g’1 )(.GG: )(G,P: )(P,P: )(P,GE: 4 3 2 1 iónRecombinacyMutaciónf GenotípicaciaSupervivenf Selecciónf Epigénesisf     Espacio de Estados Fenotípicos Espacio de Estados Genotípicos
  • 6. Computación Evolutiva  La computación evolutiva comprende aplicaciones basadas en los mecanismos de la evolución natural tales como la genética biológica y la selección natural.  El campo de la computación evolutiva, en general incluye cuatro paradigmas:  Algoritmos genéticos  Programación evolutiva  Estrategias de evolución  Programación genética. © Dr. Hugo A. Banda Gamboa - 2015 6
  • 7. Computación Evolutiva  Los paradigmas de la computación evolutiva difieren de los métodos tradicionales, en cuatro aspectos fundamentales:  Trabajan con un código del conjunto de parámetros. Este código es una cadena de caracteres de valores binarios o variables de valor real.  Realizan la búsqueda de la potencial solución en una población de puntos, no en un sólo punto.  Utilizan la información de una función objetivo, no derivadas u otro conocimiento auxiliar.  Usan reglas probabilísticas de transición, en lugar de reglas determinísticas. © Dr. Hugo A. Banda Gamboa - 2015 7
  • 8. ALGORITMOS GENÉTICOS © Dr. Hugo A. Banda Gamboa - 2015 8
  • 9. Algoritmos Genéticos: Fundamentos  Los Algoritmos Genéticos son métodos adaptativos que se derivan de la simulación de los procesos genéticos, que comprenden los mecanismos naturales de cruce, mutación y la supervivencia del más apto (selección)  Los Algoritmos Genéticos se utilizan para resolver problemas de búsqueda y optimización. © Dr. Hugo A. Banda Gamboa - 2015 9
  • 10. Algoritmos Genéticos: Características (1)  Los Algoritmos Genéticos trabajan en el espacio del genotipo del código de la información:  Se selecciona una población de individuos, cada uno de los cuales representa una solución factible a un problema dado.  Cada individuo es codificado como una cadena de caracteres binarios (cromosomas), y se le asigna un valor de aptitud relacionado con la bondad de la solución que representa. © Dr. Hugo A. Banda Gamboa - 2015 10
  • 11. Algoritmos Genéticos: Características (2)  Cuanto mayor sea la aptitud de un individuo, mayor será la probabilidad de que el mismo sea seleccionado para reproducirse, intercambiando aleatoriamente su material genético con otro, seleccionado de igual forma.  Este cruce producirá nuevos individuos, descendientes de los anteriores, los cuales pueden tener características mejores que las de sus ancestros. © Dr. Hugo A. Banda Gamboa - 2015 11
  • 12. Algoritmos Genéticos: Características (3)  Cuanto menor sea la aptitud de un individuo, menor será la probabilidad de que sea seleccionado para la reproducción, y por tanto de que su material genético se propague en sucesivas generaciones.  Ocasionalmente, una variante nueva es probada, cambiando aleatoriamente un gen de algún cromosoma descendiente, como una medida de posible mejora (mutación). © Dr. Hugo A. Banda Gamboa - 2015 12
  • 13. Algoritmo Genético Simple en Pseudocódigo © Dr. Hugo A. Banda Gamboa - 2015 13 INICIO /* Algoritmo Genético Simple */ Generar una población inicial. Computar la función de aptitud de cada individuo. MIENTRAS NO Terminado HACER INICIO /* Producir nueva generación */ PARA Tamaño Población/2 HACER INICIO /* Ciclo Reproductivo */ Seleccionar 2 individuos de la generación anterior, con probabilidad proporcional a la función de aptitud de cada individuo. Cruzar, con cierta probabilidad, los 2 individuos obteniendo 2 descendientes. Mutar los 2 descendientes, con cierta probabilidad. Calcular la función de aptitud de los 2 descendientes. Insertar los dos descendientes en la nueva generación. FIN /* Ciclo Reproductivo */ SI La población ha convergido ENTONCES Terminado = VERDADERO FIN /* Producir nueva generación */ FIN /* Algoritmo Genético Simple */
  • 14. Cromosoma Código Genético de un Insecto © Dr. Hugo A. Banda Gamboa - 2015 14 Antenas Cabeza Alas Cuerpo Patas Tamaño Color Cuerpo Color Cabeza Fuente: K F Man, K S Tang & S Kwong. Genetic Algorithms, Springer-Verlag, London, 2001
  • 15. Genes del Insecto Códigos y Formas: Antenas, Cabeza y Alas © Dr. Hugo A. Banda Gamboa - 2015 15
  • 16. Genes del Insecto Códigos, Formas y Colores: Cuerpo © Dr. Hugo A. Banda Gamboa - 2015 16
  • 17. Genes del Insecto Códigos, Formas y Colores: Otras Partes © Dr. Hugo A. Banda Gamboa - 2015 17
  • 18. Algoritmos Genéticos: Selección © Dr. Hugo A. Banda Gamboa - 2015 18
  • 19. Algoritmos Genéticos: Cruce y Mutación © Dr. Hugo A. Banda Gamboa - 2015 19
  • 20. © Dr. Hugo A. Banda Gamboa - 2015 20
  • 21. Ejemplo 1: Optimización de Utilidades  Una empresa desarrolla y comercializa 2 tipos de sistemas de control. Un sistema para regular la velocidad de máquinas de inducción (Ci) que se vende a $1000,00 y un sistema para regular la velocidad de máquinas DC (Cd) que se vende en $800.  Para la instalación y afinamiento de los controladores, emplea 3 técnicos: el primero cobra $10/hora y utiliza 6 horas para instalar el sistema de regulación de máquinas de DC y 10 horas para el sistema de regulación de máquinas de inducción. El segundo, cobra $20/hora y emplea 4 horas para el afinamiento del sistema de control de máquinas DC y 8 horas para el afinamiento del sistema de control para máquinas de inducción. El tercer técnico, cobra $15/hora y emplea 8 horas para las pruebas del sistema de control para máquinas DC y 6 horas para las pruebas del sistema de control para máquinas de inducción.  Si se conoce que la disponibilidad de tiempo del técnico 1 (T1) en cada mes es de 140 horas, 100 horas por mes dispone el técnico 2 (T2); y, 120 horas por mes dispone el técnico 3 (T3), determinar cuántos sistemas de control de cada tipo debe la empresa comercializar mensualmente para obtener la máxima utilidad. © Dr. Hugo A. Banda Gamboa - 2015 21
  • 22. Optimización de Utilidades: Solución Solver © Dr. Hugo A. Banda Gamboa - 2015 22
  • 23. Optimización de Utilidades: Script MATLAB Optimization Toolbox/GUI/optimtool/Solver: ga - Genetic Algorithm) 1. % Función de aptitud para optimizar 2. % utilidades 3. function z=foptCiCd(k) 4. % Unidades Vendidas: Ci, Cd. 5. Ci=round(k(1)); Cd=round(k(2)); 6. % Precio de venta de cada sistema 7. PVCd=800; 8. PVCi=1000; 9. % Horas mes disponibles 10. HmesT1=140; 11. HmesT2=100; 12. HmesT3=120; 13. % Valor por hora de trabajo 14. VhT1=10; 15. VhT2=20; 16. VhT3=15; 17. % Horas necesarias de cada recurso para 18. % los sistemas Ci y Cd 19. CiT1=10; 20. CiT2=8; 21. CiT3=6; 22. CdT1=6; 23. CdT2=4; 24. CdT3=8; 25. % Total horas por mes por cada recurso 26. ThT1=Ci*CiT1+Cd*CdT1; 27. ThT2=Ci*CiT2+Cd*CdT2; 28. ThT3=Ci*CiT3+Cd*CdT3; 29. % Restricción de disponibilidad de horas 30. % mensuales 31. if ThT1 <= HmesT1 && ThT2 <= HmesT2 && ThT3 <= HmesT3 32. F = 0; 33. else 34. F=100000; 35. end 36. % Cálculo del negativo de la utilidad ya 37. % que GA siempre busca el valor mínimo 38. Ingresos=Ci*PVCi+Cd*PVCd; 39. Egresos=ThT1*VhT1+ThT2*VhT2+ThT3* VhT3; 40. z=Egresos-Ingresos+F; © Dr. Hugo A. Banda Gamboa - 2015 23
  • 24. Optimización de Utilidades: Solución MATLAB Optimization Toolbox/GUI/optimtool/Solver: ga - Genetic Algorithm) © Dr. Hugo A. Banda Gamboa - 2015 24
  • 25. Ejemplo 2: Controlador PID Óptimo Diseñar un controlador PID que permita una respuesta dinámica óptima de la planta dada: © Dr. Hugo A. Banda Gamboa - 2015 25
  • 26. Controlador PID Óptimo: Solución MATLAB Optimization Toolbox/GUI/optimtool/Solver: ga - Genetic Algorithm) 1. % Función de aptitud para diseñar controlador PID 2. % para comportamiento óptimo para Planta: 3. % 6.28 4. % G(s)=------------------ ; H(s) = 1 5. % s^2 + 2s + 0.96 6. % Función de transferencia para el Controlador PID 7. % kd*s^2+kp*s+ki 8. % Gc(s)=--------------------- 9. % s 10. function z=foptPID(k) 11. kd=k(1); kp=k(2); ki=k(3); 12. % Se crean las funciones de transferencia con la 13. % función tf() 14. G=tf(6.28,[1 2 0.96]); % Planta 15. Gc=tf([kd kp ki],[1 0]); % Controlador PID 16. Gtotal=G*Gc; 17. % Se crea el Modelo de lazo cerrado "sys" 18. % usando la función feedback() 19. sys=feedback(Gtotal,1); 20. % Respuesta temporal del Modelo "sys" 21. [y,t]=step(sys); 22. [y_tam,x]=size(y); 23. [t_tam,x]=size(t); 24. % Cálculo del Error de Posición 25. Valor_Estado_Estable=y(t_tam); 26. Ep=abs(1-Valor_Estado_Estable)*100; 27. %Cálculo de máximo sobreimpulso 28. max=y(1); 29. for i=2:t_tam 30. if y(i)>max 31. max=y(i); 32. else 33. end 34. end 35. Over=abs((max-Valor_Estado_Estable)*100/ Valor_Estado_Estable); 36. %Cálculo del tiempo de establecimiento entre 37. % +/- 2% del valor de estado estable 38. lim_sup=1.02*Valor_Estado_Estable; 39. lim_inf=0.98*Valor_Estado_Estable; 40. ts=0; 41. for i=1:t_tam 42. if abs(y(i)-lim_sup)<(0.002*lim_sup) 43. ts=t(i); 44. elseif abs(y(i)-lim_inf)<(0.002*lim_sup) 45. ts=t(i); 46. else 47. end 48. end 49. STime=100*ts/t(t_tam); 50. % Criterio de Estabilidad del Sistema de Lazo Cerrado 51. % Si existen polos en el semiplano derecho, 52. % el sistema es inestable 53. [Wn,Z,P]=damp(sys); 54. if real(P(1,1)) >= 0 || real(P(2,1)) >= 0 || real(P(3,1)) >= 0 55. P1=1000000; 56. else 57. P1=0; 58. end 59. % Asignación de coeficientes de ponderación para 60. % los parámetros normalizados: Ep, Over y STime 61. w1=1; 62. w2=2; 63. w3=3; 64. Sum=w1+w2+w3; 65. % Función final para la optimización 66. z=(w1*Ep+w2*Over+w3*STime)/Sum+P1; © Dr. Hugo A. Banda Gamboa - 2015 26
  • 27. Función para Comprobar Respuesta de la Planta con Controlador PID 1. % Función para comprobar la Planta compensada por el 2. % Controlador PID 3. function [t,y1,y2]=pruebaPID(kd, kp, ki) 4. % Función de Transferencia de la Planta 5. G=tf(6.28,[1 2 0.96]); 6. % Se crea el Modelo de la Planta a Lazo Abierto 7. OpenSys=feedback(G,1); 8. % Período de simulación 9. t=0:0.05:10; 10. % Respuesta Transitoria de la Planta a Lazo Abierto 11. [y1,t]=step(OpenSys,t); 12. % Función de Transferencia del Controlador PID 13. Gc=tf([kd kp ki],[1 0]); 14. % Función de transferencia de Planta Compensada 15. Gtotal=G*Gc; 16. % Se crea el Modelo de la Planta a Lazo Cerrado 17. CloseSys=feedback(Gtotal,1); 18. % Respuesta transitoria del Modelo de Planta a Lazo Cerrado 19. [y2,t]=step(CloseSys,t); 20. % Plot de y1 y y2 (Respuesta dinámica de la Planta: Lazo Abierto y con PID) 21. plotyy(t,y1,t,y2,'plot');© Dr. Hugo A. Banda Gamboa - 2015 27
  • 28. Controlador PID Óptimo: Solución MATLAB (Optimization Toolbox/GUI/optimtool/Solver: ga - Genetic Algorithm) © Dr. Hugo A. Banda Gamboa - 2015 28
  • 29. PROGRAMACIÓN EVOLUTIVA © Dr. Hugo A. Banda Gamboa - 2015 29
  • 30. Fundamentos La programación evolutiva se deriva de la simulación del comportamiento adaptativo propio de un proceso evolutivo. Se caracteriza por su énfasis en el desarrollo de modelos de comportamiento. Trabaja en el espacio del fenotipo del comportamiento observable (evolución fenotípica) © Dr. Hugo A. Banda Gamboa - 2015 30
  • 31. Procedimiento en Pseudocódigo © Dr. Hugo A. Banda Gamboa - 2015 31 INICIO /* Programación Evolutiva: Procedimiento */ Generar una población inicial. MIENTRAS NO Terminado HACER INICIO /* Buscar Solución */ Exponer la población a su entorno. Calcular la aptitud de cada individuo. Aleatoriamente mutar cada miembro de la población y generar descendientes. Calcular la aptitud de los descendientes. Seleccionar los miembros más aptos para la nueva generación. SI el objetivo se ha logrado ENTONCES Terminado = VERDADERO FIN /* Buscar Solución */ FIN /* Programación Evolutiva: Procedimiento */
  • 32. Aplicación  La programación evolutiva se utiliza usualmente para resolver problemas de predicción. Por ejemplo, en máquinas de estados finitos:  El entorno es descrito como una secuencia de símbolos tomados de un alfabeto finito.  Un algoritmo evolutivo opera sobre la secuencia de símbolos observados, de tal forma que produce un símbolo de salida que maximiza el resultado del algoritmo, tomando en cuenta el siguiente símbolo que aparecerá y una función de costo bien definida. © Dr. Hugo A. Banda Gamboa - 2015 32
  • 33. ESTRATEGIAS DE EVOLUCIÓN © Dr. Hugo A. Banda Gamboa - 2015 33
  • 34. Fundamentos (1)  Las estrategias de evolución están basadas en el concepto de meta evolución y, al igual que la programación evolutiva, enfatizan el aspecto fenotípico del proceso evolutivo.  A pesar de utilizar las operaciones de mutación y cruce (recombinación), la perspectivas de ellas son diferentes a las utilizadas por los algoritmos genéticos o la programación evolutiva:  Operaciones de mutación o recombinación que caen fuera de una ventana de evolución predefinida por la función de optimización, no son de utilidad.  El ajuste dinámico del tamaño de la mutación a una ventana de evolución también dinámica, favorece la meta evolución. © Dr. Hugo A. Banda Gamboa - 2015 34
  • 35. Fundamentos (2)  A diferencia de los algoritmos genéticos, las estrategias de evolución manipulan los valores de las variables, durante la recombinación (cruce):  Forma un descendiente utilizando los datos de dos padres seleccionados aleatoriamente.  El valor de la variable del descendiente, es igual al valor intermedio de los valores de sus padres.  La estrategias de evolución operan con una mayor cantidad de descendientes que los otros paradigmas de computación evolutiva:  El número de descendientes (N) es mayor que el número de padres (M), en una relación típica N/M igual a 7. © Dr. Hugo A. Banda Gamboa - 2015 35
  • 36. Procedimiento © Dr. Hugo A. Banda Gamboa - 2015 36 INICIO /* Estrategias de Evolución: Procedimiento */ Generar una población inicial. MIENTRAS NO Terminado HACER INICIO /* Buscar Solución */ Realizar la recombinación de pares de los M padres para generar N descendientes (N/M = 7). Mutar a todos los descendientes. Calcular la aptitud de los N descendientes. De entre los N descendientes, seleccionar los M miembros más aptos para la nueva generación. SI el objetivo se ha logrado ENTONCES Terminado = VERDADERO FIN /* Buscar Solución */ FIN /* Estrategias de Evolución : Procedimiento */
  • 37. PROGRAMACIÓN GENÉTICA © Dr. Hugo A. Banda Gamboa - 2015 37
  • 38. Fundamentos (1)  La programación genética está diseñada para evolucionar programas de computadora, genéticamente.  A diferencia de las tres implementaciones anteriores, que generalmente emplean cromosomas en forma de cadena de caracteres como miembros individuales de la población, la programación genética utiliza árboles para representar a los programas sujetos a evolución:  Las funciones definidas para el problema aparecen en los nodos (conjunto interno).  Las variables de estado y las constantes están localizadas en las hojas del árbol (conjunto terminal). © Dr. Hugo A. Banda Gamboa - 2015 38
  • 39. Fundamentos (2)  Previo a la ejecución de un proceso de programación genética, se deben cumplir los siguientes pasos:  Especificar el conjunto de variables de estado y constantes (conjunto terminal).  Especificar el conjunto de funciones.  Especificar la medida de aptitud.  Seleccionar los parámetros del sistema de control.  Especificar las condiciones de finalización del procedimiento. © Dr. Hugo A. Banda Gamboa - 2015 39
  • 40. Procedimiento en Pseudocódigo © Dr. Hugo A. Banda Gamboa - 2015 40 INICIO /* Programación Genética: Procedimiento */ Inicializar la población de programas de computadora. MIENTRAS NO Terminado HACER INICIO /* Buscar Solución */ Determinar la aptitud de cada programa individual. Aplicar la reproducción de acuerdo con la aptitud y la probabilidad de reproducción. Realizar el cruce de las subexpresiones. SI el objetivo se ha logrado ENTONCES Terminado = VERDADERO FIN /* Buscar Solución */ FIN /* Programación Genética : Procedimiento */
  • 41. Conclusión Lo único constante en el universo es el cambio. © Dr. Hugo A. Banda Gamboa - 2015 41