36
C OMPUTACIÓN B IOLÓGICA Pedro Isasi 1 1 Departamento de Informática Universidad Carlos III de Madrid Avda. de la Universidad, 30. 28911 Leganés (Madrid). Spain email: [email protected] Presentación

Presentación - UC3Mocw.uc3m.es/ingenieria-informatica/computacion-biologica/...2 Se selecciona entre terminal y función mediante las probabilidades anteriores 3 Si se ha seleccionado

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Presentación - UC3Mocw.uc3m.es/ingenieria-informatica/computacion-biologica/...2 Se selecciona entre terminal y función mediante las probabilidades anteriores 3 Si se ha seleccionado

COMPUTACIÓN BIOLÓGICA

Pedro Isasi1

1Departamento de InformáticaUniversidad Carlos III de Madrid

Avda. de la Universidad, 30. 28911 Leganés (Madrid). Spainemail: [email protected]

Presentación

Page 2: Presentación - UC3Mocw.uc3m.es/ingenieria-informatica/computacion-biologica/...2 Se selecciona entre terminal y función mediante las probabilidades anteriores 3 Si se ha seleccionado

Computación Evolutiva Estrategias Evolutivas

TEMARIO

1 INTRODUCCIÓN

2 ALGORITMOS GENÉTICOS

3 COMPUTACIÓN EVOLUTIVAEstrategias EvolutivasEjemplo de Estrategias EvolutivasProgramación GenéticaEjemplo de Programación Genética

4 COMPUTACIÓN CON INSPIRACIÓN BIOLÓGICA

5 BIOLOGÍA Y COMPUTACIÓN

Page 3: Presentación - UC3Mocw.uc3m.es/ingenieria-informatica/computacion-biologica/...2 Se selecciona entre terminal y función mediante las probabilidades anteriores 3 Si se ha seleccionado

Computación Evolutiva Ejemplo de Estrategias Evolutivas

TEMARIO

1 INTRODUCCIÓN

2 ALGORITMOS GENÉTICOS

3 COMPUTACIÓN EVOLUTIVAEstrategias EvolutivasEjemplo de Estrategias EvolutivasProgramación GenéticaEjemplo de Programación Genética

4 COMPUTACIÓN CON INSPIRACIÓN BIOLÓGICA

5 BIOLOGÍA Y COMPUTACIÓN

Page 4: Presentación - UC3Mocw.uc3m.es/ingenieria-informatica/computacion-biologica/...2 Se selecciona entre terminal y función mediante las probabilidades anteriores 3 Si se ha seleccionado

Computación Evolutiva Programación Genética

TEMARIO

1 INTRODUCCIÓN

2 ALGORITMOS GENÉTICOS

3 COMPUTACIÓN EVOLUTIVAEstrategias EvolutivasEjemplo de Estrategias EvolutivasProgramación GenéticaEjemplo de Programación Genética

4 COMPUTACIÓN CON INSPIRACIÓN BIOLÓGICA

5 BIOLOGÍA Y COMPUTACIÓN

Page 5: Presentación - UC3Mocw.uc3m.es/ingenieria-informatica/computacion-biologica/...2 Se selecciona entre terminal y función mediante las probabilidades anteriores 3 Si se ha seleccionado

Computación Evolutiva Programación Genética

ORIGENES

Técnica derivada de los Algoritmos Genéticos ideada en 1989 porJohn KozaSe modifica el sistema de representación de modo que:

La representación mantenga su carácter de simbología discreta.Los elementos han de poder ser elegidos entre un conjunto deelementos finitoSe aumente el poder de representación de los individuos, pudiendodiseñarse soluciones con mayor contenido semántico

Esto permite generar soluciones simbólicas de gran nivel deabstracción

Aparcar un camión articulado. Se maneja el volante, la caja decambios, la velocidad...En problemas numéricos pueden generar las fórmulas analíticas:g(x) tal que g(x) =

∫f (x)

Page 6: Presentación - UC3Mocw.uc3m.es/ingenieria-informatica/computacion-biologica/...2 Se selecciona entre terminal y función mediante las probabilidades anteriores 3 Si se ha seleccionado

Computación Evolutiva Programación Genética

REPRESENTACIÓN DE LAS SOLUCIONES

Los individuos se representan mediante expresiones-s (sintaxisde Lisp)Son árboles cuyos nodos son funciones y las hojas operandosHay que definir el conjunto de funciones permitidas y el determinalesSea el problema de resolución de ecuaciones de segundo grado:a · x2 + b · x + c = 0

a

b

c

2

Multiplicacion

Raiz cuadrada

Suma

Resta

Division

Operadores Terminales

Page 7: Presentación - UC3Mocw.uc3m.es/ingenieria-informatica/computacion-biologica/...2 Se selecciona entre terminal y función mediante las probabilidades anteriores 3 Si se ha seleccionado

Computación Evolutiva Programación Genética

SOLUCIÓN A ECUACIONES DE 2O GRADO

Cada individuo representa a una ecuación de tres variables, a, b yc. El individuo:

b 2 a

2 a

se corresponde con la ecuación:

x =

√2 · a− b2 · a

Page 8: Presentación - UC3Mocw.uc3m.es/ingenieria-informatica/computacion-biologica/...2 Se selecciona entre terminal y función mediante las probabilidades anteriores 3 Si se ha seleccionado

Computación Evolutiva Programación Genética

EVALUACIÓN DE UN INDIVIDUO

Se genera un conjunto de ecuaciones de segundo grado, y secalcula cómo resuelve el individuo dicho conjuntoCada ecuación del conjunto de ejemplos contendrá un valor paralas variable a, b y cSe sustituyen dichos valores en la ecuación representada por elindividuo a evaluar, y así se obtiene un valor para la xSe sustituye dicho valor en la ecuación de segundo grado, y secomprueba si el resultado es ceroSi es así, el individuo resuelve la ecuación-ejemplo, si no es así,la diferencia se utilizará para el cálculo del fitness del individuo

Page 9: Presentación - UC3Mocw.uc3m.es/ingenieria-informatica/computacion-biologica/...2 Se selecciona entre terminal y función mediante las probabilidades anteriores 3 Si se ha seleccionado

Computación Evolutiva Programación Genética

EVALUACIÓN DE UN INDIVIDUO

Por ejemplo la ecuación:

2x2 + 3x − 1 = 0

Sustituyendo estos valores en el individuo ejemplo anterior seobtiene:

x =

√2 · 2− 32 · 2

= −4

Sustituyendo x por su valor −4 en la ecuación de segundo gradose obtiene:

2(−4)2 + 3(−4)− 1 = 19

Page 10: Presentación - UC3Mocw.uc3m.es/ingenieria-informatica/computacion-biologica/...2 Se selecciona entre terminal y función mediante las probabilidades anteriores 3 Si se ha seleccionado

Computación Evolutiva Programación Genética

OPERADOR DE CRUCE

2 a

c2 2 a

b

bb

2 2 a

b 2 a

c

2 a

c2 2 a

b

bb

2 2 a

b 2 a

c

a

c2 2 a

b

bb

2 2 a

b 2 a

c

2 a

a

2 a

c2 2 a

b

bb

2 2 a

b 2 a

c

a

c2 2 a

b

bb

2 2 a

b 2 a

c

2 a

a

Page 11: Presentación - UC3Mocw.uc3m.es/ingenieria-informatica/computacion-biologica/...2 Se selecciona entre terminal y función mediante las probabilidades anteriores 3 Si se ha seleccionado

Computación Evolutiva Programación Genética

OPERADOR DE CRUCE

2 a

c2 2 a

b

bb

2 2 a

b 2 a

c

2 a

c2 2 a

b

bb

2 2 a

b 2 a

c

a

c2 2 a

b

bb

2 2 a

b 2 a

c

2 a

a

2 a

c2 2 a

b

bb

2 2 a

b 2 a

c

a

c2 2 a

b

bb

2 2 a

b 2 a

c

2 a

a

Page 12: Presentación - UC3Mocw.uc3m.es/ingenieria-informatica/computacion-biologica/...2 Se selecciona entre terminal y función mediante las probabilidades anteriores 3 Si se ha seleccionado

Computación Evolutiva Programación Genética

OPERADOR DE CRUCE

2 a

c2 2 a

b

bb

2 2 a

b 2 a

c

2 a

c2 2 a

b

bb

2 2 a

b 2 a

c

a

c2 2 a

b

bb

2 2 a

b 2 a

c

2 a

a

2 a

c2 2 a

b

bb

2 2 a

b 2 a

c

a

c2 2 a

b

bb

2 2 a

b 2 a

c

2 a

a

Page 13: Presentación - UC3Mocw.uc3m.es/ingenieria-informatica/computacion-biologica/...2 Se selecciona entre terminal y función mediante las probabilidades anteriores 3 Si se ha seleccionado

Computación Evolutiva Programación Genética

OPERADOR DE CRUCE

2 a

c2 2 a

b

bb

2 2 a

b 2 a

c

2 a

c2 2 a

b

bb

2 2 a

b 2 a

c

a

c2 2 a

b

bb

2 2 a

b 2 a

c

2 a

a

2 a

c2 2 a

b

bb

2 2 a

b 2 a

c

a

c2 2 a

b

bb

2 2 a

b 2 a

c

2 a

a

Page 14: Presentación - UC3Mocw.uc3m.es/ingenieria-informatica/computacion-biologica/...2 Se selecciona entre terminal y función mediante las probabilidades anteriores 3 Si se ha seleccionado

Computación Evolutiva Programación Genética

OPERADOR DE CRUCE

2 a

c2 2 a

b

bb

2 2 a

b 2 a

c

2 a

c2 2 a

b

bb

2 2 a

b 2 a

c

a

c2 2 a

b

bb

2 2 a

b 2 a

c

2 a

a

2 a

c2 2 a

b

bb

2 2 a

b 2 a

c

a

c2 2 a

b

bb

2 2 a

b 2 a

c

2 a

a

Page 15: Presentación - UC3Mocw.uc3m.es/ingenieria-informatica/computacion-biologica/...2 Se selecciona entre terminal y función mediante las probabilidades anteriores 3 Si se ha seleccionado

Computación Evolutiva Programación Genética

MEJORA DEL CRUCE

Son capaces de generar soluciones nuevas a partir de solucionesidénticas:

2 a

2 a2 c

b

bb

2 ab

bb

2 2 a c

b

bb

2 ab

bb

2 2 a c

2 a2 c

2 a

Page 16: Presentación - UC3Mocw.uc3m.es/ingenieria-informatica/computacion-biologica/...2 Se selecciona entre terminal y función mediante las probabilidades anteriores 3 Si se ha seleccionado

Computación Evolutiva Programación Genética

MEJORA DEL CRUCE

Son capaces de generar soluciones nuevas a partir de solucionesidénticas:

2 a

2 a2 c

b

bb

2 ab

bb

2 2 a c

b

bb

2 ab

bb

2 2 a c

2 a2 c

2 a

Page 17: Presentación - UC3Mocw.uc3m.es/ingenieria-informatica/computacion-biologica/...2 Se selecciona entre terminal y función mediante las probabilidades anteriores 3 Si se ha seleccionado

Computación Evolutiva Programación Genética

LA MUTACIÓN

La mutación consiste en generar un nuevo programa a partir de unúnico progenitor. Existen tres tipos de mutación:

Mutación terminal simpleMutación funcional simpleMutación de árbol

Page 18: Presentación - UC3Mocw.uc3m.es/ingenieria-informatica/computacion-biologica/...2 Se selecciona entre terminal y función mediante las probabilidades anteriores 3 Si se ha seleccionado

Computación Evolutiva Programación Genética

MUTACIÓN TERMINAL SIMPLE

b

bb

2 2 a

2 a2

c

c

Punto de mutacion

2a

Se seleccionaaleatoriamente unsímbolo terminal dentrodel individuoSe sustituye por otrodiferente del conjuntode símbolos terminalesposibles

Page 19: Presentación - UC3Mocw.uc3m.es/ingenieria-informatica/computacion-biologica/...2 Se selecciona entre terminal y función mediante las probabilidades anteriores 3 Si se ha seleccionado

Computación Evolutiva Programación Genética

MUTACIÓN TERMINAL SIMPLE

b

bb

2 2 a

2 a2

c

c

Punto de mutacion

2

a

Se seleccionaaleatoriamente unsímbolo terminal dentrodel individuo

Se sustituye por otrodiferente del conjuntode símbolos terminalesposibles

Page 20: Presentación - UC3Mocw.uc3m.es/ingenieria-informatica/computacion-biologica/...2 Se selecciona entre terminal y función mediante las probabilidades anteriores 3 Si se ha seleccionado

Computación Evolutiva Programación Genética

MUTACIÓN TERMINAL SIMPLE

b

bb

2 2 a

2 a2

c

c

Punto de mutacion

2a

Se seleccionaaleatoriamente unsímbolo terminal dentrodel individuoSe sustituye por otrodiferente del conjuntode símbolos terminalesposibles

Page 21: Presentación - UC3Mocw.uc3m.es/ingenieria-informatica/computacion-biologica/...2 Se selecciona entre terminal y función mediante las probabilidades anteriores 3 Si se ha seleccionado

Computación Evolutiva Programación Genética

MUTACIÓN FUNCIONAL SIMPLE

b

bb

2 2 a

2 a

c

a c

Punto de mutacion

Se seleccionaaleatoriamente unafunción dentro delindividuoSe sustituye por otradiferente del conjuntode funciones posibles

Page 22: Presentación - UC3Mocw.uc3m.es/ingenieria-informatica/computacion-biologica/...2 Se selecciona entre terminal y función mediante las probabilidades anteriores 3 Si se ha seleccionado

Computación Evolutiva Programación Genética

MUTACIÓN FUNCIONAL SIMPLE

b

bb

2 2 a

2 a

c

a cPunto de mutacion

Se seleccionaaleatoriamente unafunción dentro delindividuo

Se sustituye por otradiferente del conjuntode funciones posibles

Page 23: Presentación - UC3Mocw.uc3m.es/ingenieria-informatica/computacion-biologica/...2 Se selecciona entre terminal y función mediante las probabilidades anteriores 3 Si se ha seleccionado

Computación Evolutiva Programación Genética

MUTACIÓN FUNCIONAL SIMPLE

b

bb

2 2 a

2 a

c

a cPunto de mutacion

Se seleccionaaleatoriamente unafunción dentro delindividuoSe sustituye por otradiferente del conjuntode funciones posibles

Page 24: Presentación - UC3Mocw.uc3m.es/ingenieria-informatica/computacion-biologica/...2 Se selecciona entre terminal y función mediante las probabilidades anteriores 3 Si se ha seleccionado

Computación Evolutiva Programación Genética

MUTACIÓN DE ÁRBOL

2 a2 c

b

bb

2 a c2

2 a2 c

b

bb

2 a c2

Zona de mutacion

b

bb

2 a c2

b

bb

2 a c2

2

c

Nuevo subarbol

Se selecciona unsubárbol del individuo,igual que en eloperador desobrecruzamientoSe elimina totalmenteel subárbolseleccionadoEn su lugar seincorpora un nuevosubárbol generadoaleatoriamente

Page 25: Presentación - UC3Mocw.uc3m.es/ingenieria-informatica/computacion-biologica/...2 Se selecciona entre terminal y función mediante las probabilidades anteriores 3 Si se ha seleccionado

Computación Evolutiva Programación Genética

MUTACIÓN DE ÁRBOL

2 a2 c

b

bb

2 a c2

2 a2 c

b

bb

2 a c2

Zona de mutacion

b

bb

2 a c2

b

bb

2 a c2

2

c

Nuevo subarbol

Se selecciona unsubárbol del individuo,igual que en eloperador desobrecruzamiento

Se elimina totalmenteel subárbolseleccionadoEn su lugar seincorpora un nuevosubárbol generadoaleatoriamente

Page 26: Presentación - UC3Mocw.uc3m.es/ingenieria-informatica/computacion-biologica/...2 Se selecciona entre terminal y función mediante las probabilidades anteriores 3 Si se ha seleccionado

Computación Evolutiva Programación Genética

MUTACIÓN DE ÁRBOL

2 a2 c

b

bb

2 a c2

2 a2 c

b

bb

2 a c2

Zona de mutacion

b

bb

2 a c2

b

bb

2 a c2

2

c

Nuevo subarbol

Se selecciona unsubárbol del individuo,igual que en eloperador desobrecruzamientoSe elimina totalmenteel subárbolseleccionado

En su lugar seincorpora un nuevosubárbol generadoaleatoriamente

Page 27: Presentación - UC3Mocw.uc3m.es/ingenieria-informatica/computacion-biologica/...2 Se selecciona entre terminal y función mediante las probabilidades anteriores 3 Si se ha seleccionado

Computación Evolutiva Programación Genética

MUTACIÓN DE ÁRBOL

2 a2 c

b

bb

2 a c2

2 a2 c

b

bb

2 a c2

Zona de mutacion

b

bb

2 a c2

b

bb

2 a c2

2

c

Nuevo subarbol

Se selecciona unsubárbol del individuo,igual que en eloperador desobrecruzamientoSe elimina totalmenteel subárbolseleccionadoEn su lugar seincorpora un nuevosubárbol generadoaleatoriamente

Page 28: Presentación - UC3Mocw.uc3m.es/ingenieria-informatica/computacion-biologica/...2 Se selecciona entre terminal y función mediante las probabilidades anteriores 3 Si se ha seleccionado

Computación Evolutiva Programación Genética

PROCEDIMIENTO

1 Generar una población inicial de programas aleatoriamente:

PROCEDIMIENTO POBLACIÓN INICIAL

1 Se asignan probabilidades a la elección de terminal y funciónrespectivamente

2 Se selecciona entre terminal y función mediante las probabilidadesanteriores

3 Si se ha seleccionado función se elige entre las del conjunto defunciones, y se crea un nodo del árbol

4 Si se ha seleccionado terminal se elige entre los símbolos del conjuntode terminales, y se crea una hoja del árbol. Si el símbolo es unaconstante, se genera un valor para esa constante de forma aleatoria enel rango especificado

Page 29: Presentación - UC3Mocw.uc3m.es/ingenieria-informatica/computacion-biologica/...2 Se selecciona entre terminal y función mediante las probabilidades anteriores 3 Si se ha seleccionado

Computación Evolutiva Programación Genética

PROCEDIMIENTO

Mientras no se cumpla el criterio de convergencia:1 Ejecutar cada programa y calcular fitness.2 Crear una población intermedia vacía3 Copiar en ella los mejores individuos4 Mientras la población intermedia no esté completa:

1 Seleccionar un operador entre mutación y sobrecruzamiento2 Si se ha elegido mutación:

1 Seleccionar un individuo aleatoriamente de la población original2 Crear un nuevo individuo por mutación del anterior3 Incluir el nuevo individuo en la población intermedia

3 Si se ha elegido sobrecruzamiento:1 Seleccionar dos individuos aleatoriamente de la población original2 Crear dos nuevos individuos por sobrecruzamiento de los anteriores3 Incluir los nuevos individuos en la población intermedia

5 Sustituir a los individuos de la población por los individuos de lapoblación intermedia

Page 30: Presentación - UC3Mocw.uc3m.es/ingenieria-informatica/computacion-biologica/...2 Se selecciona entre terminal y función mediante las probabilidades anteriores 3 Si se ha seleccionado

Computación Evolutiva Programación Genética

ALGORITMO

Page 31: Presentación - UC3Mocw.uc3m.es/ingenieria-informatica/computacion-biologica/...2 Se selecciona entre terminal y función mediante las probabilidades anteriores 3 Si se ha seleccionado

Computación Evolutiva Ejemplo de Programación Genética

TEMARIO

1 INTRODUCCIÓN

2 ALGORITMOS GENÉTICOS

3 COMPUTACIÓN EVOLUTIVAEstrategias EvolutivasEjemplo de Estrategias EvolutivasProgramación GenéticaEjemplo de Programación Genética

4 COMPUTACIÓN CON INSPIRACIÓN BIOLÓGICA

5 BIOLOGÍA Y COMPUTACIÓN

Page 32: Presentación - UC3Mocw.uc3m.es/ingenieria-informatica/computacion-biologica/...2 Se selecciona entre terminal y función mediante las probabilidades anteriores 3 Si se ha seleccionado

Computación Evolutiva Ejemplo de Programación Genética

REGRESIÓN NUMÉRICA

Se dispone de un conjunto de observaciones de cierto procesofísico en el que se toman medidas de presión, de temperatura ydel rendimiento del sistemaSe desea saber si existe una ecuación matemática (f (x1, x2)), yde cuál se trata, que permita obtener el rendimiento del sistema apartir de la presión y de la temperaturaDicha ecuación permitirá predecir el rendimiento, e inclusomanejando las variables, poder asignar el rendimiento más eficaz

Page 33: Presentación - UC3Mocw.uc3m.es/ingenieria-informatica/computacion-biologica/...2 Se selecciona entre terminal y función mediante las probabilidades anteriores 3 Si se ha seleccionado

Computación Evolutiva Ejemplo de Programación Genética

REGRESIÓN NUMÉRICA

Terminales. Las variable consideradas (temperatura y presión) yuna constante numéricaFunciones. Aquellos operadores que puedan formar parte de lasolución. suma, resta, multiplicación, división y elevadoSe generan los individuos aleatoriamente:

2x4−x21 + x1 x2

1 + 3,2

x32 + 1,1 + x2

1x3

1−2x1

xx21

Se evaluan los individuos, en este caso su evaluación será ladistancia, para cada punto de la muestra, entre el valor de lafunción que representa el individuo y el valor de la variable apredecir, la presión

Page 34: Presentación - UC3Mocw.uc3m.es/ingenieria-informatica/computacion-biologica/...2 Se selecciona entre terminal y función mediante las probabilidades anteriores 3 Si se ha seleccionado

Computación Evolutiva Ejemplo de Programación Genética

REGRESIÓN NUMÉRICA. EVALUACIÓN

Page 35: Presentación - UC3Mocw.uc3m.es/ingenieria-informatica/computacion-biologica/...2 Se selecciona entre terminal y función mediante las probabilidades anteriores 3 Si se ha seleccionado

Computación Evolutiva Ejemplo de Programación Genética

REGRESIÓN NUMÉRICA. EVALUACIÓN

La evaluación de los individuos se puede representar mediante ladiferencia entre las curvas que representan a cada uno de ellos yla solución

Page 36: Presentación - UC3Mocw.uc3m.es/ingenieria-informatica/computacion-biologica/...2 Se selecciona entre terminal y función mediante las probabilidades anteriores 3 Si se ha seleccionado

Biología y Computación

1 INTRODUCCIÓN

2 ALGORITMOS GENÉTICOS

3 COMPUTACIÓN EVOLUTIVAEstrategias EvolutivasEjemplo de Estrategias EvolutivasProgramación GenéticaEjemplo de Programación Genética

4 COMPUTACIÓN CON INSPIRACIÓN BIOLÓGICA

5 BIOLOGÍA Y COMPUTACIÓN