YouTube

Got a YouTube account?

New: enable viewer-created translations and captions on your YouTube channel!

Spanish (Latin America) subtitles

← Origins of Life: Astrobiology & General Theories for Life - Evolutionary Computation

Get Embed Code
2 Languages

Showing Revision 15 created 09/28/2019 by Miriam Delgado.

  1. Hoy hablaremos sobre
    cómo estas ideas de evolución
  2. se pueden ver como cómputos
    y cómo podemos usarlos
  3. para entender y tomar ventaja
    de las ideas evolutivas.
  4. Not Synced
    Revisemos primero
    los tres elementos básicos
  5. Not Synced
    de la evolución darwiniana
  6. Not Synced
    que acaban de aprender:
  7. Not Synced
    la variación aleatoria de los individuos,
  8. Not Synced
    la selección de algunos
    de estos individuos,
  9. Not Synced
    basado en el diferencial de la "aptitud",
  10. Not Synced
    y la herencia de esas variaciones
  11. Not Synced
    por parte de los individuos
    de la siguiente generación.
  12. Not Synced
    También necesitamos pensar un poco
  13. Not Synced
    acerca de cómo esas variaciones
    son representadas,
  14. Not Synced
    lo cual nos lleva al campo de la genética,
  15. Not Synced
    pero que no necesitamos conocer,
    solo necesitamos saber
  16. Not Synced
    que la información,
  17. Not Synced
    estas variaciones, están representadas
  18. Not Synced
    como unidades discretas
    que hoy llamamos genes.
  19. Not Synced
    Necesitamos saber que la representación
  20. Not Synced
    de la información
    de los genes está separada
  21. Not Synced
    de cómo se expresan estos en el fenotipo.
  22. Not Synced
    Nos referimos a esto
    como el mapeo del genotipo
  23. Not Synced
    versus el fenotipo.
  24. Not Synced
    Y lo último que necesitamos saber es
  25. Not Synced
    que estos genes están
    organizados en un arreglo lineal
  26. Not Synced
    que hoy llamamos cromosoma.
  27. Not Synced
    La comprensión de esto comenzó en realidad
  28. Not Synced
    con Mendel en 1865 y culmina
  29. Not Synced
    con el descubrimiento
    de la estructura del ADN
  30. Not Synced
    por Watson y Crick.
  31. Not Synced
    Entonces, tomaremos
  32. Not Synced
    esos elementos y conocimientos tan simples
  33. Not Synced
    y los convertiremos en un algoritmo.
  34. Not Synced
    La forma en que lo haremos
  35. Not Synced
    es que, en vez de tener
    cromosomas y genes,
  36. Not Synced
    tendremos una cadena de dígitos binarios
  37. Not Synced
    Los dígitos binarios son números
  38. Not Synced
    que son cero o uno,
    solo tienen dos valores,
  39. Not Synced
    y estas cadenas de dígitos binarios
  40. Not Synced
    serán nuestros individuos de la población.
  41. Not Synced
    Imaginen que comenzamos, y este está
  42. Not Synced
    hacia el extremo izquierdo
    del panel de la figura.
  43. Not Synced
    Imaginen que comenzamos con una población
  44. Not Synced
    de individuos
    generados aleatoriamente, o cadenas,
  45. Not Synced
    aquí solo se muestran tres
  46. Not Synced
    y cada una tiene 5 bits,
    pero que en el algoritmo
  47. Not Synced
    de la genética real tendríamos más bits
  48. Not Synced
    y poblaciones más grandes.
  49. Not Synced
    También necesitaremos
    una manera de evaluar la aptitud
  50. Not Synced
    y lo haremos usando
    la función de la aptitud.
  51. Not Synced
    En nuestro ejemplo, supondremos
    que la función de aptitud
  52. Not Synced
    tomará valores entre 0 y 1
  53. Not Synced
    y que el valor más alto, 1, es el mejor.
  54. Not Synced
    Entonces, el primer paso
    es generar una población inicial;
  55. Not Synced
    luego, necesitamos evaluar cada individuo
  56. Not Synced
    de la población a través
    de la función de aptitud
  57. Not Synced
    y usar los valores
    de la aptitud para seleccionar
  58. Not Synced
    la siguiente generación.
  59. Not Synced
    Se puede ver que en el panel del centro
  60. Not Synced
    donde hay dos copias del individuo
  61. Not Synced
    con un valor de aptitud más alto,
    donde no hay copias del individuo
  62. Not Synced
    con la aptitud más baja
    y hay una sola copia
  63. Not Synced
    del individuo con la aptitud promedio.
  64. Not Synced
    Esto no es muy interesante
  65. Not Synced
    porque estos individuos
    son exactamente iguales a sus padres.
  66. Not Synced
    Tomaremos ventaja de lo que se conoce
  67. Not Synced
    como operadores genéticos
    para introducir nuevas variaciones
  68. Not Synced
    mediante el uso de mutaciones
    que se muestran
  69. Not Synced
    en el individuo con mayor aptitud
    donde el primer bit, un uno,
  70. Not Synced
    cambia y toma el valor de cero,
  71. Not Synced
    esto no siempre
    pasa con la primera posición,
  72. Not Synced
    sucede aleatoriamente
    en diferentes posiciones
  73. Not Synced
    dentro de la cadena y entre las cadenas
  74. Not Synced
    de la población.
  75. Not Synced
    Luego, usaremos también un proceso llamado
  76. Not Synced
    entrecruzamiento, o recombinación,
  77. Not Synced
    donde se toman dos individuos
    e intercambiamos segmentos
  78. Not Synced
    de ADN, o segmentos
    de sus cadenas de bits,
  79. Not Synced
    lo cual se ve
    en los segundos dos individuos.
  80. Not Synced
    En el tercer panel, tenemos
  81. Not Synced
    la verdadera nueva generación,
    la Generación T+1.
  82. Not Synced
    Ahora, es necesario repetir el ciclo
  83. Not Synced
    y evaluarlos usando la función de aptitud,
  84. Not Synced
    hacer una nueva selección,
    introducir nuevas mutaciones
  85. Not Synced
    y entrecruzamiento y así es como
  86. Not Synced
    opera el proceso evolutivo.
  87. Not Synced
    Esta estrategia básica,
    y la idea básica del uso
  88. Not Synced
    de cadenas de bits
    para representar los cromosomas,
  89. Not Synced
    fue introducida por John Holland
    a inicios de los años de 1960.
  90. Not Synced
    John estaba muy interesado
  91. Not Synced
    en los efectos a nivel poblacional
  92. Not Synced
    y en el impacto del entrecruzamiento.
  93. Not Synced
    Regresemos al algoritmo...
  94. Not Synced
    ¿Cómo será esto
    cuando ejecutemos este algoritmo
  95. Not Synced
    para múltiples generaciones?
  96. Not Synced
    En la diapositiva anterior,
    ya les mostré una generación,
  97. Not Synced
    pero normalmente iteramos esto por cientos
  98. Not Synced
    e, incluso, a veces,
    por miles de generaciones.
  99. Not Synced
    Y la forma de analizarlo es a través
    es del gráfico del tiempo
  100. Not Synced
    en términos de números
    de generaciones en el eje X
  101. Not Synced
    y la aptitud, generalmente
    la aptitud promedio
  102. Not Synced
    de la población o el valor más alto
    de la aptitud de la población,
  103. Not Synced
    los cuales se muestran
  104. Not Synced
    en el eje Y.
  105. Not Synced
    De modo que esta es la típica curva
    de comportamiento
  106. Not Synced
    que vemos en los algoritmos genéticos
  107. Not Synced
    donde la aptitud de la población
  108. Not Synced
    comienza en un punto inicial muy bajo,
  109. Not Synced
    aumenta muy rápidamente y mejora cuando
  110. Not Synced
    los individuos menos aptos son eliminados
  111. Not Synced
    y los más aptos son copiados,
  112. Not Synced
    de modo que la aptitud promedio aumenta.
  113. Not Synced
    Luego, se hace una búsqueda
  114. Not Synced
    para ver que hay otra innovación.
  115. Not Synced
    Pero, finalmente, la población se mantiene
  116. Not Synced
    en lo que denominamos una meseta.
  117. Not Synced
    Esto es lo que conocemos
    como equilibrio puntuado
  118. Not Synced
    y cuando eso sucede, el algoritmo
  119. Not Synced
    tiene que explorar
    de forma eficaz el espacio
  120. Not Synced
    para encontrar una innovación
  121. Not Synced
    con un valor alto de la aptitud,
    de manera que le puede tomar
  122. Not Synced
    diversas cantidades de tiempo.
    Podemos ver dos mesetas:
  123. Not Synced
    en la primera meseta
    que vemos en la figura,
  124. Not Synced
    se encontró finalmente otra innovación
  125. Not Synced
    y el valor de la aptitud
    de la población aumenta,
  126. Not Synced
    lo cual es muy característico
  127. Not Synced
    de estos algoritmos genéticos.
  128. Not Synced
    Ahora hablemos sobre algunas aplicaciones,
  129. Not Synced
    y cómo se usan.
  130. Not Synced
    Los algoritmos genéticos
    se han usado extensamente
  131. Not Synced
    en aplicaciones de ingeniería
  132. Not Synced
    y también en modelos científicos.
  133. Not Synced
    Primero, hablaremos
    de las aplicaciones en ingeniería.
  134. Not Synced
    La más común de estas aplicaciones
  135. Not Synced
    es la que conocemos
  136. Not Synced
    como optimización de funciones
    con múltiples parámetros
  137. Not Synced
    y que se muestra en la figura.
  138. Not Synced
    Es una función de dos dimensiones,
  139. Not Synced
    es decir, es una función de dos variables.
  140. Not Synced
    Pero, si una función
    es compleja, muchas veces
  141. Not Synced
    no contamos con métodos analíticos
    para hallar matemáticamente
  142. Not Synced
    el valor máximo de la función
  143. Not Synced
    y cuando eso sucede tenemos
    que recurrir al muestreo
  144. Not Synced
    y podemos considerar al algoritmo genético
  145. Not Synced
    como un tipo de algoritmo
    de muestreo sesgado.
  146. Not Synced
    El objetivo, por tanto, sería encontrar
  147. Not Synced
    los puntos que están situados
    en el tope del pico más alto
  148. Not Synced
    en esta superficie de múltiples picos.
  149. Not Synced
    Detallemos un poco más
  150. Not Synced
    cómo funciona.
  151. Not Synced
    Aquí hay un ejemplo de esta función
  152. Not Synced
    y no es fácil analizarla matemáticamente,
  153. Not Synced
    supongan que queremos hallar
    los valores de X y Y
  154. Not Synced
    para esta función que tiene
  155. Not Synced
    el máximo F(X,Y).
  156. Not Synced
    Para ello, extraemos cadenas de bits
  157. Not Synced
    y considerar conceptualmente
    a la primera mitad
  158. Not Synced
    de la cadena como una representación
  159. Not Synced
    del valor de X
    y a la segunda mitad de la cadena
  160. Not Synced
    como una representación del valor de Y.
  161. Not Synced
    Para evaluar la aptitud necesitamos
  162. Not Synced
    tomar estos ceros
    y estos unos y entenderlos
  163. Not Synced
    como números en Base 2 y pasarlos
  164. Not Synced
    a sus equivalentes decimales,
  165. Not Synced
    los cuales se muestran en la figura,
    y, luego tomar esos valores decimales
  166. Not Synced
    como sustitutos
  167. Not Synced
    en la función de aptitud
    y obtener, en este caso,
  168. Not Synced
    el valor de 4.
  169. Not Synced
    Entonces, tendríamos que hacer esto
  170. Not Synced
    para cada individuo de la población.
  171. Not Synced
    Quiero decir algunas palabras
  172. Not Synced
    acerca de dónde
    provienen estos algoritmos.
  173. Not Synced
    Yo mencioné a John Holland, pero hay otros
  174. Not Synced
    que estuvieron interesados en algoritmos
  175. Not Synced
    similares y los tres primeros grupos
  176. Not Synced
    que están en la lista,
    de manera independiente
  177. Not Synced
    hicieron descubrimientos
    de ideas similares y que se superponen
  178. Not Synced
    y, luego, a inicios de la década
    de los 90, vino John Koza
  179. Not Synced
    y sorpresivamente mostró
  180. Not Synced
    cómo podíamos
    usar los algoritmos genéticos
  181. Not Synced
    para que los programas informáticos
    evolucionen.
  182. Not Synced
    Estas dos corrientes de inventos
  183. Not Synced
    ahora están agrupadas y el campo se llama
  184. Not Synced
    computación evolutiva.
  185. Not Synced
    Es evidente, que ha habido
  186. Not Synced
    mucha recombinación
  187. Not Synced
    entre estos diferentes orígenes.