SlideShare una empresa de Scribd logo
1 de 42
Programación Genética
John Jaime Sprockel Díaz
MISyC
Departamento de Ingeniería de Sistemas
Facultad de Ingeniería
Pontificia Universidad Javeriana
AGENDA
1. Aspectos Históricos
2. Definición
3. Lenguajes
4. Representación de Programas
a. Propiedad de Clausura
5. Pasos
a. Inicialización de los Árboles
b. Selección de la Población Inicial: Fitness
6. Mecanísmos Evolutivos
a. Recombinación
b. Mutación
7. Implementación
8. Presentación de un Artículo
Programación Genética:
Historia
Turing (1950-
1953)
“búsqueda
genética o
evolucionaria”
Smith (1980)
sistema de
clasificación
para encontrar
estrategias en
póker
Cramer (1985)
representación
de programas
con arboles en
un genotipo
Hicklin (1986) y
Fujiki y
Dickinson
(1987)
consideraron
métodos para
evolucionar
programas en
LIPS. Y
Dickmanns,
Schmidhuber y
Winkklohofer
(1987) en
PROLOG.
Koza (1989,
1992)
importancia
de la
programación
genética para
inducción de
programas en
un amplio
rango de
campos.
Interrogante:
¿Cómo generar
programas
automáticos?
Programación Genética
Lenguaje de Generación de Programas
Características:
Restringidos,
Definidos por el usuario,
Con operadores, variables y constantes adecuados
definidos para el problema
Programación
Funcional
Lenguaje de Generación de Programas
Estructuras de los Programas
Árboles LinealGrafos
Órden Prefix
ó postfix
Memoria
Local
Asas y
recursión
Memoria
local y global
Cadena de
instrucciones
de ejecución
secuencial
Memoria no-
local
Representación de Programas:
Árboles
- Terminales:
Proveen valor al sistema de PG.
- Funciones:
Procesan los valores existentes
en el sistema.
Lenguaje de Generación de Programas
• Conjuntos Terminales y de Funciones
– De Terminales: entradas, constantes y funciones sin
argumentos.
• Retorna un valor numérico
• Las constantes pueden integrarse en nuevas constantes.
– De Funciones: funciones, operadores y declaraciones.
• Pueden ser específicas de la aplicación
• Debe ser suficientemente poderoso para suplir una
representación para la solución del problema.
• No debe ser muy largo
Representan los nodos de un árbol.
Otras son grafos, estructuras lineales o incluso
autómatas celulares.
Representación de Programas:
Lineal
Lenguaje de Generación de Programas
• Propiedad de Clausura (Cierre)
– Es un requerimiento importante
– “Cada función en el conjunto de funciones debe ser
capaz de aceptar como argumento cualquier otra
salida de una función y algún terminal en el conjunto
terminal”.
– Todo el conjunto de estructuras posibles debe ser
formado recursivamente de los conjuntos de función y
de terminales.
Inicialización de los Árboles
Método de
Crecimiento
(“Grow”)
• Formas
Irregulares
• Se especifica la
profundidad
máxima (Dmáx )
Método
Completo
(“full”)
• Árboles
Regulares
• Se especifíca la
misma Dmáx
Ramped
Half and
Half
• Introduce diversidad
en la pobl inicial
• Usando ambas
tecnicas
Cálculo del Fitness
• Si se logra disponer de una función
objetiva para ser optimizada, se puede
obtener una función de fitness por una
trasformación de escala de la función
objetivo.
• No es fácil -> se usa un conjunto de
entrenamiento y se define como una
función basada en error.
Cálculo del Fitness
• A partir de los k ejemplos de
entrenamiento tenemos:
(xi, yi), i = 1,…, k
xi es la entrada
yi es la salida
ei = (yi –oi)^2
f(P) = ∑ei = ∑(yi –oi)^2 Función de
error cuadrática
Operadores de Recombinación
Árboles:
Intercambio de sub-árboles entre
padres, pasos:
Escoger los padres
Seleccionar un sub-árbol
Intercambiar los sub-árboles
Operadores de Recombinación
Representación lineal:
Operadores de Recombinación
INTRONES:
Secuencia de ADN que no carga
información genética (no codificada).
Son usados para mejorar el chance de
entrecruzar los bloques a recombinar,
reduce su efecto disruptivo.
X1 Intrón X2 Intrón … Intrón Xs
Operadores de Recombinación
INTRONES:
En GP puede ser un operador que no
produce un cambio en el estado del
sistema.
Emergencias en el proceso de
búsqueda, no afecta el fitness
Espontáneos o insertados
Artificialmente
Mutación
Árboles:
1. Macromutación:
Selecciona aleatoriamente un punto
interno – conj de funciones
externo – símbolo terminal
Mutación
Árboles:
2. Micromutación:
Altera un simple nodo
Mutación
Representación Lineal:
Se selecciona una instrucción
Es perturbada aleatoriamente cambiando
alguna de sus partes
O se selecciona una secuencia de
instrucciones que luego son reemplazadas
X1 X2 X4 X5 X6
X1 X2 X4 X5* X6
X1 X2 X4 X5* X6*
Mutación
IMPLEMENTACIÓN:
Se aplica con una probabilidad específica.
Otra, aplicación separada del entrecruzamiento y
mutación
Selección
En la GP no es específica. El problema puede imponer
una elección particular.
_Selección Por Recombinación
Todas las variantes pueden ser usadas, problema:
encontrar el adecuado.
Torneo: en problemas grandes
_Selección Por Reemplazo
Todos los tipos:
Generacional o de Estado Estable
CONJUNTO DE PROCEDIMIENTOS EN GP
Definir el
conjunto de
Funciones
Definir el
conjunto de
Terminales
Definir el
procedimiento
de evaluación
Definir los
parámetros de
procedimiento
GP
Tamaño de la población,
Profundidad máxima del nodo
Tamaño máximo del individuo
Probabilidades de entre cruzamiento
y mutación
Algoritmo de Programación Genética
Generacional
S1. Set t = 0
Initiate población P(t)
S2. while (⌐ Condición de terminación) do begin
S2.1. Evaluate individuos en P(t)
S2.2. Select individuos en P(t) usando el
algoritmo de selección
S2.3. Apply operadores de variación para los
individuos seleccionados
S2.4. Insert la descendencia obtenida dentro
de la nueva población
S2.5. Set t= t+1
end
Algoritmo de Programación Genética
Estado Estable
S1. Initiate población
S2. while (⌐ Condición de terminación) do begin
S2.1. Chose un grupo para torneo
S2.2. Play el torneo con los competidores
seleccionados
S2.3. Select los ganadores del torneo
S2.4. Modify los ganadores usando
operadores de variación
S2.5. Replace algunos de los perdedores del
torneo con la descendencia
end
Variaciones
Recombinación de Crías (Tackett, 1994)
-Genera más descendencia (crías)
-Solo se selecciona las dos mejores
crías, el resto se descarta.
-Se considera un parámetro de tamaño
de la cría: K .
Variaciones
Selección punto de entrecruzamiento
Iba y Garis (1996) método para detectar
regularidades en el árbol del programa
Asigna un valor de desempeño a un sub-
árbol
El operador de recombinación aprende
a seleccionar el punto de corte
Presented at the 12th IEEE Symposium on Computer-Based Medical Systems,
1999. Proceedings., IEEE Comput. Soc. (pp. 202–207).
Predicción de Diagnósticos Médicos
Usando Programación Genética
Introducción:
-Posicionamiento DSS en Md.
-Posible papel de Árboles de Decisiones
-Limitaciones en su construcción: Selección del mejor
Objetivo:
Construir con la ayuda de la programación genética
una herramienta que ayude a predecir un
diagnóstico correcto aplicado al prolapso de la
válvula mitral (MVP). Reducir los pasos en Dx.
Predicción de Diagnósticos Médicos
Usando Programación Genética
Descripción de:
1. MVP
2. Árboles de decisiones
3. Programación genética
Predicción de Diagnósticos Médicos
Usando Programación Genética
Predicción de Diagnósticos Médicos
Usando Programación Genética
Predicción de Diagnósticos Médicos
Usando Programación Genética
x<2
y y
y<1.8 Y<2 y >1.8
x<1.8 x>1.8 Naranja
…y>2 y >2.3 y>2.3
x>1 …
RojoNaranja
Rojo
…
SI NO
Predicción de Diagnósticos Médicos
Usando Programación Genética
F1
F2
F3
<F1
<F2 >F3
Rojo
SI NO
Naranja
…
Predicción de Diagnósticos Médicos
Usando Programación Genética
Resultados:
Ptes: 900 ptes <18 años (representativa)
Todos raza Blanca
Área de Maribor (Slovenia)
631 voluntarios para ecocardiograma
103 parámetros que podrían indicar la
presencia de MVP
Entrenamiento 500 ptes, 131 prueba
Predicción de Diagnósticos Médicos
Usando Programación Genética
Falsos
positivos
Falsos
negativos
Predicción de Diagnósticos Médicos
Usando Programación Genética
Predicción de Diagnósticos Médicos
Usando Programación Genética
Conclusión:
La introducción de técnicas de
programación automática en la toma
de decisiones médicas ha mostrado
algunos buenos resultados, al menos
en MVP.
Gracias
• John Jaime Sprockel Díaz.
– Pontificia Universidad Javeriana
– Maestría de Ingeniería de Sistemas y
Computación
– email: jsprockel@javeriana.edu.co

Más contenido relacionado

La actualidad más candente

Lista de exercicios algoritmos com pseudocodigo
Lista de exercicios   algoritmos com pseudocodigoLista de exercicios   algoritmos com pseudocodigo
Lista de exercicios algoritmos com pseudocodigo
Mauro Pereira
 
diagrama de componentes
diagrama de componentesdiagrama de componentes
diagrama de componentes
elliando dias
 
Metodología xp
Metodología xpMetodología xp
Metodología xp
Piskamen
 
Estrutura de dados em Java - Ponteiros e Alocação de Memória
Estrutura de dados em Java - Ponteiros e Alocação de Memória Estrutura de dados em Java - Ponteiros e Alocação de Memória
Estrutura de dados em Java - Ponteiros e Alocação de Memória
Adriano Teixeira de Souza
 

La actualidad más candente (20)

Metodologia XP
Metodologia XPMetodologia XP
Metodologia XP
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Especificação de Requisitos de Software
Especificação de Requisitos de SoftwareEspecificação de Requisitos de Software
Especificação de Requisitos de Software
 
Modelo Espiral
Modelo EspiralModelo Espiral
Modelo Espiral
 
Minicurso de Arduino Básico
Minicurso de Arduino BásicoMinicurso de Arduino Básico
Minicurso de Arduino Básico
 
Lista de exercicios algoritmos com pseudocodigo
Lista de exercicios   algoritmos com pseudocodigoLista de exercicios   algoritmos com pseudocodigo
Lista de exercicios algoritmos com pseudocodigo
 
Ihc Aula8 M I Avaliacao Heuristica
Ihc Aula8 M I Avaliacao HeuristicaIhc Aula8 M I Avaliacao Heuristica
Ihc Aula8 M I Avaliacao Heuristica
 
Reinforcement Learning | Um pequeno panorama do Aprendizado por Reforço
Reinforcement Learning | Um pequeno panorama do Aprendizado por ReforçoReinforcement Learning | Um pequeno panorama do Aprendizado por Reforço
Reinforcement Learning | Um pequeno panorama do Aprendizado por Reforço
 
diagrama de componentes
diagrama de componentesdiagrama de componentes
diagrama de componentes
 
Procesos de software Unidad 2 - Software Enginnering - Ian sommerville
Procesos de software  Unidad 2 - Software Enginnering - Ian sommervilleProcesos de software  Unidad 2 - Software Enginnering - Ian sommerville
Procesos de software Unidad 2 - Software Enginnering - Ian sommerville
 
Lógica de Programação - Estrutura de repetição
Lógica de Programação - Estrutura de repetiçãoLógica de Programação - Estrutura de repetição
Lógica de Programação - Estrutura de repetição
 
GCS - Aula 01 - Introdução
GCS - Aula 01 - IntroduçãoGCS - Aula 01 - Introdução
GCS - Aula 01 - Introdução
 
Metodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de SoftwareMetodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de Software
 
Metodología xp
Metodología xpMetodología xp
Metodología xp
 
Aula 2 - Processos de Software
Aula 2 - Processos de SoftwareAula 2 - Processos de Software
Aula 2 - Processos de Software
 
Aula 04 dicionario de dados
Aula 04   dicionario de dadosAula 04   dicionario de dados
Aula 04 dicionario de dados
 
Introdução a Banco de Dados (Parte 2)
Introdução a Banco de Dados (Parte 2)Introdução a Banco de Dados (Parte 2)
Introdução a Banco de Dados (Parte 2)
 
Apresentação fdd
Apresentação fddApresentação fdd
Apresentação fdd
 
Estrutura de dados em Java - Ponteiros e Alocação de Memória
Estrutura de dados em Java - Ponteiros e Alocação de Memória Estrutura de dados em Java - Ponteiros e Alocação de Memória
Estrutura de dados em Java - Ponteiros e Alocação de Memória
 
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
 

Destacado

Proyecto ondas grupo planeta activo
Proyecto ondas grupo planeta activoProyecto ondas grupo planeta activo
Proyecto ondas grupo planeta activo
Fer DPTO
 

Destacado (20)

Programacion genetica
Programacion geneticaProgramacion genetica
Programacion genetica
 
Mutaciones
MutacionesMutaciones
Mutaciones
 
Probabilidad
ProbabilidadProbabilidad
Probabilidad
 
Mejoramiento genetico
Mejoramiento geneticoMejoramiento genetico
Mejoramiento genetico
 
Marematicas seno _ coseno 10-2
Marematicas seno _ coseno 10-2 Marematicas seno _ coseno 10-2
Marematicas seno _ coseno 10-2
 
MEMORIA RAM
MEMORIA RAMMEMORIA RAM
MEMORIA RAM
 
Proyecto ondas grupo planeta activo
Proyecto ondas grupo planeta activoProyecto ondas grupo planeta activo
Proyecto ondas grupo planeta activo
 
Diapositivas guia n 9 (daniela)
Diapositivas guia n  9 (daniela)Diapositivas guia n  9 (daniela)
Diapositivas guia n 9 (daniela)
 
Propiedades de los compuestos orgánicos
Propiedades de los compuestos orgánicosPropiedades de los compuestos orgánicos
Propiedades de los compuestos orgánicos
 
Proyectos Ondas 2014
Proyectos Ondas 2014Proyectos Ondas 2014
Proyectos Ondas 2014
 
Tesis marco teórico
Tesis  marco teórico Tesis  marco teórico
Tesis marco teórico
 
Miguel valencia corazon
Miguel valencia corazonMiguel valencia corazon
Miguel valencia corazon
 
Marco teorico para TESIS
Marco teorico para TESISMarco teorico para TESIS
Marco teorico para TESIS
 
La gota ingrávida
La gota ingrávidaLa gota ingrávida
La gota ingrávida
 
Monografia
MonografiaMonografia
Monografia
 
La propagación del sonido
La propagación del sonidoLa propagación del sonido
La propagación del sonido
 
Adultez Claudia
Adultez ClaudiaAdultez Claudia
Adultez Claudia
 
Experimento Ondas Sonoras
Experimento Ondas SonorasExperimento Ondas Sonoras
Experimento Ondas Sonoras
 
Ejemplos tipos de probabilidad
Ejemplos tipos de probabilidadEjemplos tipos de probabilidad
Ejemplos tipos de probabilidad
 
Experimento botellas musicales
Experimento botellas musicalesExperimento botellas musicales
Experimento botellas musicales
 

Similar a Programación Genética: Introducción y Aspectos Generales

Algoritmos geneticos
Algoritmos geneticosAlgoritmos geneticos
Algoritmos geneticos
YAn_dy
 
Unidad 1, 2 y_3_algoritmos
Unidad 1, 2 y_3_algoritmosUnidad 1, 2 y_3_algoritmos
Unidad 1, 2 y_3_algoritmos
Grisell d?z
 
Inteligencia Artificial Clase 5
Inteligencia Artificial Clase 5Inteligencia Artificial Clase 5
Inteligencia Artificial Clase 5
UNEFA
 

Similar a Programación Genética: Introducción y Aspectos Generales (20)

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
 
REGRESION SIMBOLICA Y PROGRAMACIÓN GENETICA FUNDACIÓN UNIVERSITARIA KONRAD L...
REGRESION SIMBOLICA Y PROGRAMACIÓN GENETICA FUNDACIÓN UNIVERSITARIA KONRAD  L...REGRESION SIMBOLICA Y PROGRAMACIÓN GENETICA FUNDACIÓN UNIVERSITARIA KONRAD  L...
REGRESION SIMBOLICA Y PROGRAMACIÓN GENETICA FUNDACIÓN UNIVERSITARIA KONRAD L...
 
Inteligencia artificial
Inteligencia artificialInteligencia artificial
Inteligencia artificial
 
FdP_Diapositivas_2018
FdP_Diapositivas_2018FdP_Diapositivas_2018
FdP_Diapositivas_2018
 
Sistemas expertos
Sistemas expertosSistemas expertos
Sistemas expertos
 
A G's
A G'sA G's
A G's
 
Algoritmos geneticos
Algoritmos geneticosAlgoritmos geneticos
Algoritmos geneticos
 
Agregando comportamiento al objeto – estructuras de decision
Agregando comportamiento al objeto – estructuras de decisionAgregando comportamiento al objeto – estructuras de decision
Agregando comportamiento al objeto – estructuras de decision
 
Presentation 8- Bfuture, Modela y Mcompare
Presentation 8- Bfuture, Modela y McomparePresentation 8- Bfuture, Modela y Mcompare
Presentation 8- Bfuture, Modela y Mcompare
 
Optimizando EAs
Optimizando EAsOptimizando EAs
Optimizando EAs
 
Computación evolutiva
Computación evolutivaComputación evolutiva
Computación evolutiva
 
Unidad 1, 2 y_3_algoritmos
Unidad 1, 2 y_3_algoritmosUnidad 1, 2 y_3_algoritmos
Unidad 1, 2 y_3_algoritmos
 
Trabajo Final
Trabajo FinalTrabajo Final
Trabajo Final
 
Ag (2005 verano)
Ag (2005 verano)Ag (2005 verano)
Ag (2005 verano)
 
Taller de derive
Taller de deriveTaller de derive
Taller de derive
 
Solucion de problemas por medio de computadoras
Solucion de problemas por medio de computadorasSolucion de problemas por medio de computadoras
Solucion de problemas por medio de computadoras
 
Pb1
Pb1Pb1
Pb1
 
Inteligencia Artificial Clase 5
Inteligencia Artificial Clase 5Inteligencia Artificial Clase 5
Inteligencia Artificial Clase 5
 
Ii corte presentacion i
Ii corte presentacion iIi corte presentacion i
Ii corte presentacion i
 
Ii corte presentacion i
Ii corte presentacion iIi corte presentacion i
Ii corte presentacion i
 

Más de John Diaz

USO DE LA COMPUTACIÓN PERMISIVA, UBICUA Y MÓVIL EN EL CUIDADO DE LA SALUD
USO DE LA COMPUTACIÓN PERMISIVA, UBICUA Y MÓVIL  EN EL CUIDADO DE LA SALUD USO DE LA COMPUTACIÓN PERMISIVA, UBICUA Y MÓVIL  EN EL CUIDADO DE LA SALUD
USO DE LA COMPUTACIÓN PERMISIVA, UBICUA Y MÓVIL EN EL CUIDADO DE LA SALUD
John Diaz
 

Más de John Diaz (9)

Boosting presentación 19 05 14
Boosting presentación 19 05 14Boosting presentación 19 05 14
Boosting presentación 19 05 14
 
Modelos Ocultos de Márkov presentación
Modelos Ocultos de Márkov presentaciónModelos Ocultos de Márkov presentación
Modelos Ocultos de Márkov presentación
 
USO DE LA COMPUTACIÓN PERMISIVA, UBICUA Y MÓVIL EN EL CUIDADO DE LA SALUD
USO DE LA COMPUTACIÓN PERMISIVA, UBICUA Y MÓVIL  EN EL CUIDADO DE LA SALUD USO DE LA COMPUTACIÓN PERMISIVA, UBICUA Y MÓVIL  EN EL CUIDADO DE LA SALUD
USO DE LA COMPUTACIÓN PERMISIVA, UBICUA Y MÓVIL EN EL CUIDADO DE LA SALUD
 
Sistemas de Soporte a las Decisiones Clínicas basado en Inteligencia Artifici...
Sistemas de Soporte a las Decisiones Clínicas basado en Inteligencia Artifici...Sistemas de Soporte a las Decisiones Clínicas basado en Inteligencia Artifici...
Sistemas de Soporte a las Decisiones Clínicas basado en Inteligencia Artifici...
 
Sistemas Híbridos centrados en la Lógica Difusa para el Diagnóstico de la enf...
Sistemas Híbridos centrados en la Lógica Difusa para el Diagnóstico de la enf...Sistemas Híbridos centrados en la Lógica Difusa para el Diagnóstico de la enf...
Sistemas Híbridos centrados en la Lógica Difusa para el Diagnóstico de la enf...
 
Aproximación Organizacional para Programación Orientada a Agentes: Introducci...
Aproximación Organizacional para Programación Orientada a Agentes: Introducci...Aproximación Organizacional para Programación Orientada a Agentes: Introducci...
Aproximación Organizacional para Programación Orientada a Agentes: Introducci...
 
Aproximación Organizacional para Programación Orientada a Agentes: Introducci...
Aproximación Organizacional para Programación Orientada a Agentes: Introducci...Aproximación Organizacional para Programación Orientada a Agentes: Introducci...
Aproximación Organizacional para Programación Orientada a Agentes: Introducci...
 
Conflictos argumentación resumen john sprockel
Conflictos argumentación resumen   john sprockelConflictos argumentación resumen   john sprockel
Conflictos argumentación resumen john sprockel
 
negociación basada en la argumentación en sistemas multiagentes
negociación basada en la argumentación en sistemas multiagentesnegociación basada en la argumentación en sistemas multiagentes
negociación basada en la argumentación en sistemas multiagentes
 

Último

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Último (12)

Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
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
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 

Programación Genética: Introducción y Aspectos Generales

  • 1. Programación Genética John Jaime Sprockel Díaz MISyC Departamento de Ingeniería de Sistemas Facultad de Ingeniería Pontificia Universidad Javeriana
  • 2. AGENDA 1. Aspectos Históricos 2. Definición 3. Lenguajes 4. Representación de Programas a. Propiedad de Clausura 5. Pasos a. Inicialización de los Árboles b. Selección de la Población Inicial: Fitness 6. Mecanísmos Evolutivos a. Recombinación b. Mutación 7. Implementación 8. Presentación de un Artículo
  • 3. Programación Genética: Historia Turing (1950- 1953) “búsqueda genética o evolucionaria” Smith (1980) sistema de clasificación para encontrar estrategias en póker Cramer (1985) representación de programas con arboles en un genotipo Hicklin (1986) y Fujiki y Dickinson (1987) consideraron métodos para evolucionar programas en LIPS. Y Dickmanns, Schmidhuber y Winkklohofer (1987) en PROLOG. Koza (1989, 1992) importancia de la programación genética para inducción de programas en un amplio rango de campos. Interrogante: ¿Cómo generar programas automáticos?
  • 5. Lenguaje de Generación de Programas Características: Restringidos, Definidos por el usuario, Con operadores, variables y constantes adecuados definidos para el problema Programación Funcional
  • 6. Lenguaje de Generación de Programas
  • 7. Estructuras de los Programas Árboles LinealGrafos Órden Prefix ó postfix Memoria Local Asas y recursión Memoria local y global Cadena de instrucciones de ejecución secuencial Memoria no- local
  • 8. Representación de Programas: Árboles - Terminales: Proveen valor al sistema de PG. - Funciones: Procesan los valores existentes en el sistema.
  • 9. Lenguaje de Generación de Programas • Conjuntos Terminales y de Funciones – De Terminales: entradas, constantes y funciones sin argumentos. • Retorna un valor numérico • Las constantes pueden integrarse en nuevas constantes. – De Funciones: funciones, operadores y declaraciones. • Pueden ser específicas de la aplicación • Debe ser suficientemente poderoso para suplir una representación para la solución del problema. • No debe ser muy largo Representan los nodos de un árbol. Otras son grafos, estructuras lineales o incluso autómatas celulares.
  • 11. Lenguaje de Generación de Programas • Propiedad de Clausura (Cierre) – Es un requerimiento importante – “Cada función en el conjunto de funciones debe ser capaz de aceptar como argumento cualquier otra salida de una función y algún terminal en el conjunto terminal”. – Todo el conjunto de estructuras posibles debe ser formado recursivamente de los conjuntos de función y de terminales.
  • 12. Inicialización de los Árboles Método de Crecimiento (“Grow”) • Formas Irregulares • Se especifica la profundidad máxima (Dmáx ) Método Completo (“full”) • Árboles Regulares • Se especifíca la misma Dmáx Ramped Half and Half • Introduce diversidad en la pobl inicial • Usando ambas tecnicas
  • 13. Cálculo del Fitness • Si se logra disponer de una función objetiva para ser optimizada, se puede obtener una función de fitness por una trasformación de escala de la función objetivo. • No es fácil -> se usa un conjunto de entrenamiento y se define como una función basada en error.
  • 14. Cálculo del Fitness • A partir de los k ejemplos de entrenamiento tenemos: (xi, yi), i = 1,…, k xi es la entrada yi es la salida ei = (yi –oi)^2 f(P) = ∑ei = ∑(yi –oi)^2 Función de error cuadrática
  • 15. Operadores de Recombinación Árboles: Intercambio de sub-árboles entre padres, pasos: Escoger los padres Seleccionar un sub-árbol Intercambiar los sub-árboles
  • 16.
  • 17.
  • 19. Operadores de Recombinación INTRONES: Secuencia de ADN que no carga información genética (no codificada). Son usados para mejorar el chance de entrecruzar los bloques a recombinar, reduce su efecto disruptivo. X1 Intrón X2 Intrón … Intrón Xs
  • 20. Operadores de Recombinación INTRONES: En GP puede ser un operador que no produce un cambio en el estado del sistema. Emergencias en el proceso de búsqueda, no afecta el fitness Espontáneos o insertados Artificialmente
  • 21. Mutación Árboles: 1. Macromutación: Selecciona aleatoriamente un punto interno – conj de funciones externo – símbolo terminal
  • 23. Mutación Representación Lineal: Se selecciona una instrucción Es perturbada aleatoriamente cambiando alguna de sus partes O se selecciona una secuencia de instrucciones que luego son reemplazadas X1 X2 X4 X5 X6 X1 X2 X4 X5* X6 X1 X2 X4 X5* X6*
  • 24. Mutación IMPLEMENTACIÓN: Se aplica con una probabilidad específica. Otra, aplicación separada del entrecruzamiento y mutación
  • 25. Selección En la GP no es específica. El problema puede imponer una elección particular. _Selección Por Recombinación Todas las variantes pueden ser usadas, problema: encontrar el adecuado. Torneo: en problemas grandes _Selección Por Reemplazo Todos los tipos: Generacional o de Estado Estable
  • 26. CONJUNTO DE PROCEDIMIENTOS EN GP Definir el conjunto de Funciones Definir el conjunto de Terminales Definir el procedimiento de evaluación Definir los parámetros de procedimiento GP Tamaño de la población, Profundidad máxima del nodo Tamaño máximo del individuo Probabilidades de entre cruzamiento y mutación
  • 27. Algoritmo de Programación Genética Generacional S1. Set t = 0 Initiate población P(t) S2. while (⌐ Condición de terminación) do begin S2.1. Evaluate individuos en P(t) S2.2. Select individuos en P(t) usando el algoritmo de selección S2.3. Apply operadores de variación para los individuos seleccionados S2.4. Insert la descendencia obtenida dentro de la nueva población S2.5. Set t= t+1 end
  • 28. Algoritmo de Programación Genética Estado Estable S1. Initiate población S2. while (⌐ Condición de terminación) do begin S2.1. Chose un grupo para torneo S2.2. Play el torneo con los competidores seleccionados S2.3. Select los ganadores del torneo S2.4. Modify los ganadores usando operadores de variación S2.5. Replace algunos de los perdedores del torneo con la descendencia end
  • 29. Variaciones Recombinación de Crías (Tackett, 1994) -Genera más descendencia (crías) -Solo se selecciona las dos mejores crías, el resto se descarta. -Se considera un parámetro de tamaño de la cría: K .
  • 30. Variaciones Selección punto de entrecruzamiento Iba y Garis (1996) método para detectar regularidades en el árbol del programa Asigna un valor de desempeño a un sub- árbol El operador de recombinación aprende a seleccionar el punto de corte
  • 31. Presented at the 12th IEEE Symposium on Computer-Based Medical Systems, 1999. Proceedings., IEEE Comput. Soc. (pp. 202–207).
  • 32. Predicción de Diagnósticos Médicos Usando Programación Genética Introducción: -Posicionamiento DSS en Md. -Posible papel de Árboles de Decisiones -Limitaciones en su construcción: Selección del mejor Objetivo: Construir con la ayuda de la programación genética una herramienta que ayude a predecir un diagnóstico correcto aplicado al prolapso de la válvula mitral (MVP). Reducir los pasos en Dx.
  • 33. Predicción de Diagnósticos Médicos Usando Programación Genética Descripción de: 1. MVP 2. Árboles de decisiones 3. Programación genética
  • 34. Predicción de Diagnósticos Médicos Usando Programación Genética
  • 35. Predicción de Diagnósticos Médicos Usando Programación Genética
  • 36. Predicción de Diagnósticos Médicos Usando Programación Genética x<2 y y y<1.8 Y<2 y >1.8 x<1.8 x>1.8 Naranja …y>2 y >2.3 y>2.3 x>1 … RojoNaranja Rojo … SI NO
  • 37. Predicción de Diagnósticos Médicos Usando Programación Genética F1 F2 F3 <F1 <F2 >F3 Rojo SI NO Naranja …
  • 38. Predicción de Diagnósticos Médicos Usando Programación Genética Resultados: Ptes: 900 ptes <18 años (representativa) Todos raza Blanca Área de Maribor (Slovenia) 631 voluntarios para ecocardiograma 103 parámetros que podrían indicar la presencia de MVP Entrenamiento 500 ptes, 131 prueba
  • 39. Predicción de Diagnósticos Médicos Usando Programación Genética Falsos positivos Falsos negativos
  • 40. Predicción de Diagnósticos Médicos Usando Programación Genética
  • 41. Predicción de Diagnósticos Médicos Usando Programación Genética Conclusión: La introducción de técnicas de programación automática en la toma de decisiones médicas ha mostrado algunos buenos resultados, al menos en MVP.
  • 42. Gracias • John Jaime Sprockel Díaz. – Pontificia Universidad Javeriana – Maestría de Ingeniería de Sistemas y Computación – email: jsprockel@javeriana.edu.co