SlideShare uma empresa Scribd logo
1 de 41
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

Algoritmos Genéticos
Algoritmos GenéticosAlgoritmos Genéticos
Algoritmos GenéticosESCOM
 
Taxonomia de las herramientas case
Taxonomia de las herramientas caseTaxonomia de las herramientas case
Taxonomia de las herramientas caseisidro luna beltran
 
Diferencias,ventajas y desventajas de un microprocesador
Diferencias,ventajas y desventajas de un microprocesadorDiferencias,ventajas y desventajas de un microprocesador
Diferencias,ventajas y desventajas de un microprocesadorJosefaYareni
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidosVictor Reyes
 
TAREAS DE LA ING. DE REQUISITOS
TAREAS DE LA ING. DE REQUISITOSTAREAS DE LA ING. DE REQUISITOS
TAREAS DE LA ING. DE REQUISITOSxinithazangels
 
Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoJosé Antonio Sandoval Acosta
 
Algoritmo de planificación srt
Algoritmo de planificación srtAlgoritmo de planificación srt
Algoritmo de planificación srtCarlos Solano
 
ELECTRÓNICA DIGITAL MODERNA. Capítulos 6 y 7
ELECTRÓNICA DIGITAL MODERNA. Capítulos 6 y 7ELECTRÓNICA DIGITAL MODERNA. Capítulos 6 y 7
ELECTRÓNICA DIGITAL MODERNA. Capítulos 6 y 7Gabriel Araceli
 
Analizador Sintáctico
Analizador SintácticoAnalizador Sintáctico
Analizador SintácticoPablo Guerra
 
Diagrama de interaccion(secuencia y colaboracion)
Diagrama de interaccion(secuencia y colaboracion)Diagrama de interaccion(secuencia y colaboracion)
Diagrama de interaccion(secuencia y colaboracion)marianela0393
 
Sotfware de Programacion Lógica - CLIPS, PROLOG, LISP
Sotfware de Programacion Lógica - CLIPS, PROLOG, LISPSotfware de Programacion Lógica - CLIPS, PROLOG, LISP
Sotfware de Programacion Lógica - CLIPS, PROLOG, LISPAyrton Adame
 
Modelo cocomo
Modelo cocomoModelo cocomo
Modelo cocomoRoci_mary
 
Aplicación e importancia de los circuitos del algebra de boole y compuertas l...
Aplicación e importancia de los circuitos del algebra de boole y compuertas l...Aplicación e importancia de los circuitos del algebra de boole y compuertas l...
Aplicación e importancia de los circuitos del algebra de boole y compuertas l...Robert Osmar Aguilar Iribarren
 

Mais procurados (20)

Algoritmos Genéticos
Algoritmos GenéticosAlgoritmos Genéticos
Algoritmos Genéticos
 
Taxonomia de las herramientas case
Taxonomia de las herramientas caseTaxonomia de las herramientas case
Taxonomia de las herramientas case
 
Diferencias,ventajas y desventajas de un microprocesador
Diferencias,ventajas y desventajas de un microprocesadorDiferencias,ventajas y desventajas de un microprocesador
Diferencias,ventajas y desventajas de un microprocesador
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Interbloqueo
InterbloqueoInterbloqueo
Interbloqueo
 
TAREAS DE LA ING. DE REQUISITOS
TAREAS DE LA ING. DE REQUISITOSTAREAS DE LA ING. DE REQUISITOS
TAREAS DE LA ING. DE REQUISITOS
 
Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamiento
 
Algoritmo de planificación srt
Algoritmo de planificación srtAlgoritmo de planificación srt
Algoritmo de planificación srt
 
ELECTRÓNICA DIGITAL MODERNA. Capítulos 6 y 7
ELECTRÓNICA DIGITAL MODERNA. Capítulos 6 y 7ELECTRÓNICA DIGITAL MODERNA. Capítulos 6 y 7
ELECTRÓNICA DIGITAL MODERNA. Capítulos 6 y 7
 
Taller7 sol
Taller7 solTaller7 sol
Taller7 sol
 
IA CAPITULO 4
IA  CAPITULO 4IA  CAPITULO 4
IA CAPITULO 4
 
Analizador Sintáctico
Analizador SintácticoAnalizador Sintáctico
Analizador Sintáctico
 
Diagrama de interaccion(secuencia y colaboracion)
Diagrama de interaccion(secuencia y colaboracion)Diagrama de interaccion(secuencia y colaboracion)
Diagrama de interaccion(secuencia y colaboracion)
 
Tabla De Simbolos
Tabla De SimbolosTabla De Simbolos
Tabla De Simbolos
 
Unidad 2 expresiones regulares
Unidad 2 expresiones regularesUnidad 2 expresiones regulares
Unidad 2 expresiones regulares
 
Sotfware de Programacion Lógica - CLIPS, PROLOG, LISP
Sotfware de Programacion Lógica - CLIPS, PROLOG, LISPSotfware de Programacion Lógica - CLIPS, PROLOG, LISP
Sotfware de Programacion Lógica - CLIPS, PROLOG, LISP
 
Jerarquia de chomsky
Jerarquia de chomskyJerarquia de chomsky
Jerarquia de chomsky
 
Modelo cocomo
Modelo cocomoModelo cocomo
Modelo cocomo
 
Aplicación e importancia de los circuitos del algebra de boole y compuertas l...
Aplicación e importancia de los circuitos del algebra de boole y compuertas l...Aplicación e importancia de los circuitos del algebra de boole y compuertas l...
Aplicación e importancia de los circuitos del algebra de boole y compuertas l...
 
Clasificacion de Interpretes
Clasificacion de InterpretesClasificacion de Interpretes
Clasificacion de Interpretes
 

Destaque

Tecnicas de busqueda
Tecnicas de busquedaTecnicas de busqueda
Tecnicas de busquedaluisaalmanza
 
computacion Evolutiva
computacion Evolutivacomputacion Evolutiva
computacion Evolutivaguest590a846
 
Gestión de tecnología
Gestión de tecnologíaGestión de tecnología
Gestión de tecnologíaHugo Banda
 
Ciclo de vida del SW empresarial
Ciclo de vida del SW empresarialCiclo de vida del SW empresarial
Ciclo de vida del SW empresarialHugo Banda
 
Convergencia científico tecnológica
Convergencia científico   tecnológicaConvergencia científico   tecnológica
Convergencia científico tecnológicaHugo Banda
 
Análisis de la decisión
Análisis de la decisiónAnálisis de la decisión
Análisis de la decisiónHugo Banda
 
Inteligencia corporativa 2.0
Inteligencia corporativa 2.0Inteligencia corporativa 2.0
Inteligencia corporativa 2.0Hugo Banda
 
Inteligencia corporativa
Inteligencia corporativaInteligencia corporativa
Inteligencia corporativaHugo Banda
 
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 TrabajoHugo Banda
 
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 neuronalHugo Banda
 
Sistemas difusos
Sistemas difusosSistemas difusos
Sistemas difusosHugo Banda
 
Computación neuronal
Computación neuronalComputación neuronal
Computación neuronalHugo Banda
 
La Transformación Digital
La Transformación DigitalLa Transformación Digital
La Transformación DigitalHugo Banda
 
El cerebro y la inteligencia
El cerebro y la inteligenciaEl cerebro y la inteligencia
El cerebro y la inteligenciaHugo Banda
 
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ónHugo Banda
 
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 TIHugo Banda
 
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íficaHugo Banda
 

Destaque (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
 

Semelhante a Optimización de controlador PID para planta usando algoritmos genéticos

Inteligencia Artificial Clase 5
Inteligencia Artificial Clase 5Inteligencia Artificial Clase 5
Inteligencia Artificial Clase 5UNEFA
 
Algoritmos geneticos
Algoritmos geneticosAlgoritmos geneticos
Algoritmos geneticosKevin Medina
 
Xpin algoritmos genéticos
Xpin   algoritmos genéticosXpin   algoritmos genéticos
Xpin algoritmos genéticosprofesorgavit0
 
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
 
Algotitmos geneticos mundial
Algotitmos geneticos mundialAlgotitmos geneticos mundial
Algotitmos geneticos mundialjhymermartinez
 
Programacion genetica
Programacion geneticaProgramacion genetica
Programacion geneticaj3nnn1
 
Algoritmos Genticos Optimizacin Presentacin
Algoritmos Genticos Optimizacin PresentacinAlgoritmos Genticos Optimizacin Presentacin
Algoritmos Genticos Optimizacin PresentacinHamilton
 
Algoritmos Genticos Optimizacin Presentacin
Algoritmos Genticos Optimizacin PresentacinAlgoritmos Genticos Optimizacin Presentacin
Algoritmos Genticos Optimizacin Presentacinguest2f5cf8
 
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 GeneralesJohn Diaz
 

Semelhante a Optimización de controlador PID para planta usando algoritmos genéticos (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_
 
Algoritmo genético presentacion
Algoritmo genético presentacionAlgoritmo genético presentacion
Algoritmo genético presentacion
 
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
 
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Ú
 

Mais de Hugo Banda

Aprendizaje de máquina
Aprendizaje de máquinaAprendizaje de máquina
Aprendizaje de máquinaHugo Banda
 
Sistemas basados en conocimiento
Sistemas basados en conocimientoSistemas basados en conocimiento
Sistemas basados en conocimientoHugo Banda
 
Modelos de Inteligencia Artificial
Modelos de Inteligencia ArtificialModelos de Inteligencia Artificial
Modelos de Inteligencia ArtificialHugo Banda
 
Problemas y soluciones
Problemas y solucionesProblemas y soluciones
Problemas y solucionesHugo Banda
 
Entornos de aprendizaje
Entornos de aprendizajeEntornos de aprendizaje
Entornos de aprendizajeHugo Banda
 
5 estrategiasclavepym es
5 estrategiasclavepym es5 estrategiasclavepym es
5 estrategiasclavepym esHugo Banda
 
Inteligencia artificial-Marco Referencial
Inteligencia artificial-Marco ReferencialInteligencia artificial-Marco Referencial
Inteligencia artificial-Marco ReferencialHugo Banda
 
El podcast en actividades docentes
El podcast en actividades docentesEl podcast en actividades docentes
El podcast en actividades docentesHugo Banda
 
Educación 2.0
Educación 2.0Educación 2.0
Educación 2.0Hugo Banda
 
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 metadatosHugo Banda
 
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-2007Hugo Banda
 
Sociedad del conocimiento
Sociedad del conocimientoSociedad del conocimiento
Sociedad del conocimientoHugo Banda
 
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 xxiHugo Banda
 
Investigación y universidad
Investigación y universidadInvestigación y universidad
Investigación y universidadHugo Banda
 

Mais 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

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 

Último (13)

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 

Optimización de controlador PID para planta usando algoritmos genéticos

  • 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