120 likes | 369 Views
Una célula se divide. Dos células se juntan. Células Procariotas: Mutaciones. Eucariotas: Mutaciones entrecruzamiento. Algas. Explosión Cámbrica. Adaptacion al Medio Fitness. Algoritmos Genéticos ?.
E N D
Una célula se divide Dos células se juntan Células Procariotas: Mutaciones Eucariotas: Mutaciones entrecruzamiento Algas Explosión Cámbrica Adaptacion al Medio Fitness Algoritmos Genéticos ?
La figura muestra el gráfico de la función f(x,y) = 11 – (x2 + y2) Si consideramos x = 0, podemos hablar del punto (0,0) en el plano x,y Si calculamos la función para x=0, y=0, tenemos: f(0,0) = 11 – (02 + 02) = 11 En cualquier otro punto (x,y), como este, La función (que se denota como f(x,y) tendrá un valor menor a 11 Problema a resolver y = 0, f(x,y) y x Consideremos sólo el plano x,y Si x e y, pueden tomar sólo los valores -2, -1, 0, 1, 2, tendríamos un caso similar al de los genomas, X, representa los posibles gametos maternos, los valores 2, -1, 0, 1, 2, representan 5 colores de ojos. Y, representa los posibles gametos paternos, Entonces tendríamos 5x5 = 52 = 25 puntos (x,y), que representan los posibles genomas. f(x,y), representa la adaptación (o fitness) del individuo (x,y). El individuo con genoma (x,y) = (0,0), tiene màximaadaptacion, f(0,0) = 11, cualquier otro (x,y) (otro genoma) tiene un valor menor. Supongamos que no sabemos que (0,0) corresponde al máximo valor de la función, y que queremos encontrarlo. Un modo de resolverlo, es evaluar la función en cada uno de los 25 posibles (x,y) y elegir el que maximice la función, o sea (0,0). y Padre (0, 2) (1, 2) (2, 2) (-2, 2) 2 (-1, 2) (-2, 1) (1, 1) (2, 1) (-1, 1) 1 (0, 1) (1, 0) (2, 0) (-2, 0) (0, 0) 0 (-1, 0) Genoma del hijo (1,-1) (2,-1) -1 (0, -1) (-2,-1) (-1,-1) -2 (-1,-2) (-2,-2) (0, -2) (1 ,-2) (2 ,-2) x -2 -1012 Madre
¿Cuál es el problema de este modo de resolución? Para 5 valores de X e Y, corresponden 5 colores y necesitamos evaluar 52 = 25 genomas, para encontrar “el mejor” En general, el máximo puede corresponder a valores decimales (por ejemplo 0.7845 con lo cual deberíamos considerar números decimales , comprendidos entre -2 y 2. Para 4 dígitos de precisión, es necesario considerar más de diez mil valores diferentes (entre ellos, 0.7845y - 1.2538). Más de 10.000 valores diferentes, equivale a más de 10.000 colores de ojos, y consecuentemente, más de 10.0002 => varios millones de genomas a evaluar. En la siguiente diapositiva está el cálculo preciso, pero basta intuir que la cantidad de genomas será muy grande. Hay otro modo de resolver el problema, que se conoce con el nombre de “algoritmos genéticos”. La idea simplificada se muestra en la siguiente diapositiva. o -1.2538) , y Padre (0, 2) (1, 2) (2, 2) (-2, 2) 2 (-1, 2) (-2, 1) (1, 1) (2, 1) (-1, 1) 1 (0, 1) (1, 0) (2, 0) (-2, 0) (0, 0) 0 (-1, 0) (1,-1) (2,-1) -1 (0, -1) (-2,-1) (-1,-1) y x -2 (-1,-2) (-2,-2) (0, -2) (1 ,-2) (2 ,-2) x -2 -1012 Madre
No lea esta parte (o no se queje) Si consideramos un solo decimal, tenemos 41 valores (de X y de Y) que van desde -2 hasta 2, -2.0, -1.9, …, -0.2, -0.1, 0, 0.1, 0.2,…, 1.9, 2.0 (20 valores negativos, el cero, y 20 valores positivos) En este caso, la cantidad de puntos (X,Y) a evaluar serán 41 X 41 = 412 = 1681 puntos. Si consideramos dos decimales, tenemos 401 valores que van desde -2 hasta 2, -2.00, -1.99, -1.98 …, -0.02, -0.01, 0, 0.01, 0.02,…, 1.98, 1.99, 2.00 (200 valores negativos, el cero, y 200 valores positivos) Si consideramos cuatro decimales, tenemos 40001 valores que van desde -2 hasta 2, -2.0000, -1.9999, -1.9998 …, -0.0002, -0.0001, 0, 0.0001, 0.0002,…, 1.9998, 1.9999, 2.0000 (20000 negativos, el cero, y 20000 valores positivos) En este caso, la cantidad de puntos (X,Y) a evaluar serán 40001 x 40001 = 400012 = 1600080001 puntos. Si evaluáramos la función en todos los puntos, se requerirían más de mil seiscientos millones de iteraciones para encontrar el óptimo, y esto, dependiendo del ordenador y del algoritmo, podría tardar mucho tiempo. Otro detalle, si queremos ser más rigurosos: la adaptación no se asocia al genotipo, sino al fenotipo, pero vamos a obviar este detalle para facilitar la explicación, porque no afecta a la esencia de la discusión. y Padre (0, 2) (1, 2) (2, 2) (-2, 2) 2 (-1, 2) (-2, 1) (1, 1) (2, 1) (-1, 1) 1 (0, 1) (1, 0) (2, 0) (-2, 0) (0, 0) 0 (-1, 0) (1,-1) (2,-1) -1 (0, -1) (-2,-1) (-1,-1) y x -2 (-1,-2) (-2,-2) (0, -2) (1 ,-2) (2 ,-2) x -2 -1012 Madre
En el plano (x,y) dibujamos circunferencias En toda la esta circunferencia el valor de la funcion (el fitness) es 4 2 f(x,y) 4 y 6 x 8 11 En toda la esta circunferencia el valor de la funcion (el fitness) es 6 8 6 El algoritmo comienza con una población inicial, generalmente “poco evolucionada” (con bajo Fitness) En sucesivas iteraciones, se van formando parejas, y surgen nuevos descendientes. Si los descendientes tienen Fitness alto (se adaptan bien al medio), forman parte de la nueva población. Si tienen bajo Fitness, el algoritmo tiende a descartarlos. Estas circunferencias se llaman “curvas de nivel” Mientras más cerca del centro, mayor es el fitness 4 2
2 4 6 f(x,y) 8 y x f=6 (x1, y1) (x4, y4) (x5, y5) f=4 f=8 6 (x6, y6) Perdió el marido y el hijo… Pero... no desesperarse… porque ahora un chico más joven y más evolucionado le comenzará a tirar onda f=2 4 f=4 feniletilamina (x2, y2) (x3, y3) f=2 2
Esta es la población inicial (lejos del centro) con bajo Fitness Las poblaciones irán evolucionando, acercándose hacia el centro Con lo cual tendrán mayor Fitness A medida que el algoritmo progresa, las poblaciones tienen mayor Fitness Luego de 100 iteraciones, habrá una población en la cual, uno de los individuos tiene el máximo Fitness Ese individuo es el (0,0), y el Fitness es 11. . . .
No leas esta diapositiva si no estás familiarizado con Análisis Matemático2 Si usamos Matlab, puedo usar directamente la función “fminunc” que encuentra en un solo paso las raíces x=0, y=0. Esta función calcula mínimos, por lo que tengo multiplicar la función original por -1. El valor mínimo que encontrará la función “fminunc” será -11. Lo multiplico por -1, y obtengo el 11. La función “fminunc” no utiliza internamente derivadas parciales, ni Hesiano, sino un método iterativo. Usar algoritmos genéticos para resolver este problema, es como matar un pajarito con una bala de cañón. Lo interesante del algoritmo genético, es que cambiando sólo la función, el mismo algoritmo encuentra, en este caso, el óptimo. La función que vamos a considerar ahora es: 10 - x2 - y2 - 3 seno25x + seno25y Y luego de 100 iteraciones, uno de los individuos de una población “más evolucionada” alcanza el máximo Fitness. Este individuo es x=0, y=0, y el Fitness (Máximo) es 10 El algoritmo parte de una poblacion con bajo Fitness Finalmente, los algoritmos genéticos se usan más frecuentemente para problemas discretos que para funciones continuas, pero la idea básica del método es la misma.
Conclusión: Con el 1° método, para alcanzar una precisión de 4 dígitos, necesitamos millones de iteraciones. Con el algoritmo genético, alcanzamos el óptimo (para el caso particular de las funciones que consideramos) en 100 iteraciones. ¿Cuál es la relación con evolución de seres vivos? Las “Letras” del código genético (ADN) son 4: Anibal, Troilo, Carlos, Gardel. Considere un dado de cuatro lados. En geometría, esta figura se llama tetraedro Asociemos cada cara a una letra. Cuando tiramos el dado, consideremos que la “letra que sale”, corresponde a la cara que está en el piso. Si consideramos el ADN de un ser vivo e intentamos calcular la probabilidad de que ese código se haya generado al azar, tirando los dados (tetraedros), podemos hacer las siguientes inferencias. Si tiramos un dado, tenemos 4 posibles valores, luego la probabilidad de obtener un cadena de ADN de una letra (sea A) es 1/4 Si tiramos 2 dados, tenemos 4x4 = 42 = 16 posibles valores: AA, AT, AC, AG, TA, TT, TC, TG, CA, CT, CC, CG, GA, GT, GC y GG luego la probabilidad de obtener un cadena de ADN de 2 letras (sea AA) es 1/16 Con sólo 10 tiradas de dados, tenemos 410 = 210 x 210 = 10242 ==> más de un millón de posibles valores luego, la probabilidad de obtener un cadena de ADN de sólo 10 letras (sea AAAAAAAAAA) es menor a 1/1000000 La idea de estimar la probabilidad de que la secuencia de ADN de un ser vivo se haya formado al azar, resulta extremadamente baja y el tiempo que duró la evolución no sería suficiente para generar aleatoriamente, “sin un programador” una tal secuencia. Esta es la base del argumento de la especificidad (en rigor, se analizan las proteínas del flagelo bacteriano, que veremos luego). No tiene mucho sentido hacer el cálculo detallado, porque el argumento parte de una hipótesis que no es la que se corresponde con la evolución de los seres vivos. Lo que sucede en la evolución de los seres vivos, es más parecido a lo que hacen los algoritmos genéticos que a tirar dados. Veamos esta reflexión con más detalle.
1º repasemos la diapositiva: La magia de la unión Los animales y humanos tenemos genéticamente (internamente) información de 2 vidas: Una información proveniente del padre (23 cromosomas) + una proveniente de la madre (otros 23 cromosomas) Simplificación: Internamente (genotipo), tenemos la información genética del color de ojos del padre y de la madre Por ejemplo, marrón (del padre) y azul (de la madre) 1 Cuando se genera un “gameto” (óvulo o espermatozoide), La información del color de ojos puede ser el del padre (marrón) o el de la madre (azul), pero sólo uno. 3 7 2 Externamente (fenotipo), sólo se manifiesta el color de ojos más dominante (marrón) Supongamos que se genera el color (azul) de la madre Se juntan los 2 gametos. Se forma el “Huevo Cigoto”, que origina el “Embrión”, que genera una nueva vida. “Internamente” (Genotipo) tendrá la inf. de color de ojos azul y verde “Externamente” (Fenotipo) sólo se manifiesta un color: azul, o verde Órgano reproductor genera Gameto Masculino (espermatozoide) 8.388.608 posibles gametos diferentes ( 223 ) 4 Internamente (genotipo) la mujer tiene la inf. genética del color de ojos del padre y de la madre Por ejemplo, marrón (del padre) y verde (de la madre) Cuando se genera un “gameto femenino” (óvulo), La inf. del color de ojos puede ser la del padre (marrón) o de la madre (verde). Supongamos Que se transmite el color (verde) de la madre 6 Externamente (fenotipo), sólo se manifiesta el color de ojos más dominante (marrón) 5 Órgano reproductor Gameto Femenino (ovulo) genera Es como si LA PERSONA fuera, genéticamente, DOS VIDAS ( ) …una manifiesta( ) y otra oculta ( ) Mientras que el GAMETO sería sólo UNA VIDA ( ), que en el ejemplo, es “la vida” que le transmite al hijo. 8
Intentemos calcular la probabilidad de que el hijo (del ejemplo de la anterior diapositiva ) tenga genotipo Azul-Verde, considerando que pueden haber 1000 colores de ojos diferentes. Como vimos anteriormente, la cantidad de genomas diferentes para 1000 colores de ojos, es 10002 = 1000000. La probabilidad de que se genere “aleatoriamente” el genoma Azul-Verde, sería uno en un millón. Lo que ocurre en el ejemplo de la diapositiva anterior, es que el niño proviene de dos padres, con genomas Marrón-Azul (Padre) y Marrón-Verde (Madre). Por lo tanto, los posibles genomas del hijo son 4: Padre Genoma del hijo Madre La probabilidad de que un niño proveniente de padres con genomas Marrón-Azul y Marrón-Verde tenga genoma Azul-Verde, es 1/4, esto es, una en cuatro posibilidades. (Ahora deberíamos usar el Teorema de Bayes, de probabilidades condicionales, pero podemos continuar la idea intuitiva) Calcular la probabilidad de que los padres tengan esos genomas, a partir de los 1000 colores de ojos, desconsiderando sus progenitores, sería erróneo. Lo que debiéramos hacer es considerar los progenitores del padre y los progenitores de la madre, y aquí es donde radica la imposibilidad, más que la dificultad. Deberíamos tener en cuenta toda la cadena de sucesivos seres vivos que condujo a los padres! Ni siquiera tiene sentido considerar “los 1000 colores de ojos”, porque los ancestros originales ni siquiera tenían ojos. Además tendríamos que tener en cuenta la evolución de las células donde “se ejecuta” el programa escrito en ADN (las enzimas que desdoblan la doble hélice de ADN, la generación de ARN, el viaje del ARN al Ribosoma, la generación de Aminoácidos a partir del ARN, el plegamiento de los aminoácidos para formar proteínas, etc) (También tendríamos que tener en cuenta el ADN que no codifica proteínas) En el caso del algoritmo evolutivo, es fácil obtener toda la secuencia de los progenitores (que son pares X,Y), del individuo con mayor Fitness, en la vida real es imposible.