estalmat-andalucía actividades 2015/16estalmat/act/sesiones/curso... · problemas concretos vs...

71
ESTALMAT-Andalucía Actividades 2015/16 Sesión: 1 Fecha: 03-10-2015 Título: Computación inteligente con organismos vivos. ACTIVIDAD 1: Suponed que disponéis de una maquinita que, de manera autónoma, sea capaz de realizar dos tareas muy simples: (a) distinguir si un número es cero o no, y (b) restar 1 a un número natural que no sea cero. Consideremos el siguiente problema abstracto: “Dado un número natural, determinar si es par”. Diseñad un procedimiento mecánico para que la maquinita resuelva dicho problema; es decir, describir una sucesión ordenada de tareas del tipo antes señalado a fin de que si se le suministra un número natural x, la maquinita responda correctamente acerca de su paridad.

Upload: others

Post on 24-Jul-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

ESTALMAT-Andalucía Actividades 2015/16

Sesión: 1 Fecha: 03-10-2015 Título: Computación inteligente con organismos vivos. ACTIVIDAD 1:

Suponed que disponéis de una maquinita que, de manera autónoma, sea capaz de realizar dos tareas muy

simples: (a) distinguir si un número es cero o no, y (b) restar 1 a un número natural que no sea cero.

Consideremos el siguiente problema abstracto: “Dado un número natural, determinar si es par”.

Diseñad un procedimiento mecánico para que la maquinita resuelva dicho problema; es decir, describir una

sucesión ordenada de tareas del tipo antes señalado a fin de que si se le suministra un número natural x, la

maquinita responda correctamente acerca de su paridad.

Miguel
Texto escrito a máquina
Miguel
Texto escrito a máquina
Miguel
Texto escrito a máquina
Miguel
Texto escrito a máquina
Miguel
Texto escrito a máquina
Miguel
Texto escrito a máquina
Veteranos 1º y 2º
Miguel
Texto escrito a máquina
Page 2: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

ESTALMAT-Andalucía Actividades 2015/16

Sesión: 1 Fecha: 03-10-2015 Título: Computación inteligente con organismos vivos ACTIVIDAD 2:

Un profesor afirma en su clase que a lo largo de la semana próxima va a poner un examen sin aviso previo y,

por tanto, el alumnado tendría que realizar un examen sin haber tenido conocimiento previo de ello.

Un alumno situado al final de la clase le responde: Perdone, señor profesor. Lo que usted ha dicho no puede hacerlo ya que si nos pone un examen la semana próxima, entonces con toda seguridad yo lo sabría de antemano.

El profesor, extrañado, le dice: ¡Ah, sí! ¿Por qué?

Entonces el alumno hace el siguiente razonamiento:

“El examen no lo puede poner el viernes ya que, en tal caso, el jueves por la noche yo sabría con total certeza que el examen lo va a poner el viernes y, por tanto, no me pillaría de sorpresa. Más aún, usted no puede ponerlo el jueves ya que el miércoles por la noche yo sabría que, al no poderlo poner el viernes, lo tendría que poner el jueves y, en consecuencia, tampoco me pillaría de sorpresa. Por el mismo razonamiento, usted no puede proponer el examen ni el miércoles, ni el martes, ni el lunes. Es decir, que no podrá ponernos el examen ningún día de la semana próxima de tal manera que nos pille de sorpresa”.

El resto del alumnado asentía punto por punto dicho razonamiento y todos sonreían irónicamente.

Al final del discurso del alumno, el profesor también esbozó una pequeña sonrisa y dijo: Pues bien, esperemos a la semana próxima.

Obviamente, el profesor puso el examen el miércoles y pilló in fraganti a todo el alumnado.

¿Dónde está el error de alumno que se pasó un poco de listo?

Page 3: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

ESTALMAT-Andalucía Actividades 2014/15

Sesión: 1 Fecha: 03-10-2015 Título: Computación inteligente con organismos vivos ACTIVIDAD 3:

En clase se os van a mostrar tres ejemplos de modelos para el estudio de propiedades emergentes mediante la

herramienta NetLogo.

El primer modelo no se corresponde con un fenómeno natural y describe el comportamiento de unas tortugas

que se siguen las unas a las otras según unas determinadas reglas sencillas:

Una tortuga puede moverse individualmente, seguir a otra tortuga, o ser seguida por otra tortuga.

Cuando una tortuga no sigue a otra, se mueve aleatoriamente y “mira a su alrededor” para ver si

encuentra dentro de su campo de visión alguna otra tortuga que no esté siendo seguida.

Si encuentra a una tortuga, se “pega a ella” y empieza a seguir sus movimientos.

El segundo modelo corresponde a un fenómeno natural y describe cómo las hormigas de un hormiguero se

organizan para buscar y traer la comida que se encuentra en el entorno de dicho hormiguero. Las hormigas se

comportan de acuerdo a unas reglas sencillas:

Existe un punto central que representa el hormiguero.

Alrededor del hormiguero y a diversas distancias existen puntos que representan zonas con alimento.

Las hormigas salen del hormiguero en busca de comida.

Si una hormiga encuentra alimento, lleva un poco de vuelta al hormiguero dejando un rastro de

feromonas tras de sí.

Si una hormiga encuentra un rastro de feromonas, lo sigue en sentido opuesto al hormiguero.

Si una hormiga no encuentra ni alimento ni rastro de feromonas se mueve aleatoriamente.

El tercer y último modelo corresponde a un fenómeno natural y describe cómo se organizan presas y

depredadores ante una situación de caza de los primeros por parte de los segundo. Presas y depredadores se

comportan de acuerdo a unas reglas sencillas:

Cuando no avistan presa, los depredadores se mueven aleatoriamente.

Los depredadores desprenden una sustancia química que es percibida por las presas.

Si no detectan sustancia química, las presas permanecen quietas.

Cuando detectan sustancia química, las presas huyen en dirección hacia donde la intensidad de la

sustancia es menor.

Para cada uno de los modelos anteriores, se pide determinar si se observa alguna propiedad emergente y, de ser

así, describirla y pensar alguna utilidad práctica de dicha propiedad (salvo en el primer modelo).

Page 4: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

ESTALMAT-Andalucía Actividades 2015/16

Sesión: 1 Fecha: 03-10-2015 Título: Computación inteligente con organismos vivos ACTIVIDAD 4:

Se os van a mostrar en NetLogo unos modelos de ejemplo para el estudio de dinámica de poblaciones

aplicados a dos entornos bien diferenciados: modelos Presa – Depredador y modelos de propagación de

enfermedades.

Los modelos Presa - Depredador permiten estudiar las variaciones de la poblaciones donde especies

depredadoras se alimentan de especies presa. Se verán dos escenarios:

Escenario 1: Se considerarán solo presas (ovejas) y lobos (depredadores). Se pide describir (a) los

comportamientos que se observan en la evolución de las poblaciones consideradas y (b) la estabilidad

del modelo en este escenario.

Escenario 2: Se considera además de presas y depredadores la hierba, de la cual se alimentan las presas

para subsistir. Se pide describir (a) los comportamientos que se observan en la evolución de las

poblaciones consideradas y (b) la estabilidad del modelo en este escenario.

Los modelos de propagación de enfermedades se emplean para estudiar la manera en que enfermedades

infecciosas se transmiten en una población donde existen individuos sanos, infectados e inmunes. En el caso

que nos ocupa presentaremos un modelo general que permite el estudio de diversas “enfermedades tipo”

mediante el ajuste de sus parámetros. Se pide resolver las siguientes cuestiones:

Intenta ajustar los parámetros claves para obtener un virus tipo ébola. El ébola se caracteriza por una

muy alta infecciosidad, unas muy bajas oportunidades de recuperación y una muy baja duración.

Analiza el comportamiento del virus. ¿Podemos decir que el virus es exitoso? ¿Por qué?

Intenta ajustar los parámetros claves para obtener un virus tipo VIH. El VIH se caracteriza por una muy

baja infecciosidad, unas muy bajas oportunidades de recuperación (sin medicación) y duración

extremadamente larga. Analiza el comportamiento del virus. ¿Podemos decir que el virus es exitoso?

¿Por qué?

¿Qué características debe de tener un virus para ser extremadamente destructivo posible para la

población mundial? Intenta ajustar los parámetros clave modelizar un virus como éste.

Page 5: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Computacion inteligentecon organismos vivos

Mario de Jesus Perez JimenezLuis Felipe Macıas Ramos

Grupo de Investigacion en Computacion NaturalDpto. Ciencias de la Computacion e Inteligencia Artificial

Universidad de Sevilla

[email protected]

http://www.cs.us.es/~marper/

Sevilla, 3 de octubre de 2015

E S T A L M A T 2015 : Alumnos Veteranos

Page 6: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Objetivos

I Modelos de computacion.

I Maquinas de proposito especıfico y de proposito general.

I La Naturaleza viva como fuente de inspiracion computacional.

I Modelizacion computacional. Protocolo.

I NetLogo: un entorno para la experimentacion virtual.

I Propiedades emergentes de sistemas complejos.

I Dinamica de poblaciones: aplicaciones.

2 / 42

Page 7: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Problemas, problemas, problemas ...

Una eterna aspiracion del hombre ...

I Mejorar la calidad de Vida.

Para ello ...

I Necesidad de resolver problemas.

• A ser posible usando procedimientos mecanicos ...

• ... y recibiendo ayuda para su resolucion.

3 / 42

Page 8: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Problemas concretos vs problemas abstractos

(1) Determinar si el numero 4730099 es primo.

(2) Calcular el producto de dos numeros naturales.

(3) Hallar el maximo comun divisor de 314 y 4524.

(4) Determinar si la suma de los angulos de un triangulo es 127o.

(5) Para cada numero natural n hallar un numero primo y mayor que n.

(6) Hallar la suma de los numeros 1234567 y 9876543.

(7) Determinar si un numero natural n es primo.

(8) Hace un par de horas, una empresa de reparto ha recibido 75electrodomesticos de El Corte Ingles dirigidos a otros tantos clientessevillanos a los que debe entregarselos esta misma tarde. Todos loselectrodomesticos tienen cabida en un camion ¿Que ruta debe seguir elconductor para consumir la menor cantidad de gasolina?

4 / 42

Page 9: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Problemas concretos vs Problemas abstractos

Problema abstracto: conjunto de problemas concretos.

I Tamano de un problema concreto.

5 / 42

Page 10: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Soluciones mecanicas de problemas abstractos

Informalmente:

? Ejecucion de una serie de tareas debidamente secuenciadas.

Relevancia de las soluciones mecanicas:

? Pueden ser materializadas por cualquier entidad con unas ciertas “habilidades”.

Problemas resolubles algorıtmicamente versus Problemas irresolublesalgorıtmicamente.

6 / 42

Page 11: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Que es un Modelo de Computacion

Basicamente consiste en:

• Dar una definicion precisa, matematica, del concepto “procedimiento mecanico”.

• Definir matematicamente como se ejecuta un procedimiento mecanico.

Existen diferentes modelos de computacion:

• Cada uno de ellos tiene la capacidad de resolver una cierta clase de problemas (con sus procedimientos

mecanicos).

• Modelos de computacion equivalentes.

7 / 42

Page 12: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Como resolver un problema de la vida real

I Problema de la vida real: problema concreto.

I Se representa/modeliza a traves de un problema abstracto.

I Se disena una solucion mecanica del problema abstracto.

I Se escribe dicha solucion en un lenguaje “adecuado” (programa).

I Se ejecuta dicho programa sobre una maquina para los datos especıficosdel problema.

8 / 42

Page 13: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Computacion y Maquinas ...

9 / 42

Page 14: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Modelo de computacion

10 / 42

Page 15: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Modelo de computacion

I Sintaxis.

I Semantica.

¿Que existe en la trastienda de un modelo de computacion?

Tres cosas: Matematicas, Matematicas y mas Matematicas.

11 / 42

Page 16: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Maquina del modelo

12 / 42

Page 17: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Diseno y construccion de maquinas.

I Asistentes para el hombre.

? Realizacion de tareas tediosas...

? ... y otras tareas inteligentes.

13 / 42

Page 18: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Maquinas de proposito especıfico

Desde el abaco (aprox. ano 1000 a.C.)

a las tablas de Neper (1617).

14 / 42

Page 19: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Pasando por la regla de calculo (1620–1630),

.. la maquina de Pascal (1642),

15 / 42

Page 20: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

... la maquina de Leibniz (1670-1694),

.. el telar de Jacquard (1801-1805),

16 / 42

Page 21: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

... la maquina de diferencias de Charles Babbage (1821),

y la maquina tabuladora de Hermann Hollerith (1886).

17 / 42

Page 22: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Maquinas de proposito general

El sueno de la maquina analıtica de Charles Babbage (1847-1849),

18 / 42

Page 23: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Aparicion de los ordenadores electromecanicos (H. Aiken, 1944).(760.000 ruedas + 800 kms. de cable + 5.000 Kgs. de peso + Superficie de mas de 17 m2 )

... y los primeros ordenadores electronicos (J.W. Mauchcly y J.P. Eckert, 1945).(17.468 valvulas + 6.000 interruptores manuales + 27.000 Kgs. de peso + Superficie de mas de 160 m2 )

19 / 42

Page 24: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Mas ordenadores ...

I Ordenadores basados en los transistores (1954 - 1962).

I Aparecen los primeros lenguajes de alto nivel.

I Ordenadores basados en circuitos integrados (1963 - 1972).

I Aparecen los multiprocesadores.

I Ordenadores basados en microprocesadores (1972 - 1984).

I Ordenadores que incorporan paralelismo (1984 - 1990).

I Aparecen familias de ordenadores compatibles.

I Ordenadores con arquitecturas masivamente paralelas (1990 - ...).

I Aparecen los primeros sistemas de realidad virtual.

20 / 42

Page 25: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Un problema de numeros

Dado un numero natural, determinar si es par

¿Como puedo resolver el problema?

Por ejemplo, serıa suficiente:

I Saber reconocer numeros.

I Conocer una regla que caracterice los numeros pares: son los numeros cuya ultima cifra es 0,2,4,6 u 8.

O bien, serıa suficiente:

I Saber dividir por 2.

I Conocer una regla que caracterice los numeros pares: son los numeros cuya divison por 2 es exacta.

AHORA BIEN, es posible que yo no sepa resolver ese problema...

I ... por motivos varios.

En ese caso ¿serıa yo capaz de responder correctamente siempre?

21 / 42

Page 26: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

¿Se puede resolver un problema sin tener conocimiento del mismo?

¿Que se necesita para ello?

I Capacidades.

I Que alguien me diga como tengo que proceder.

Hay que distinguir entre:

I Saber resolver un problema.

I Ser capaz de resolver un problema.

22 / 42

Page 27: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

¿Que es una maquina de proposito general?

Entidad capaz de realizar de manera autonoma las siguientes tareas:

I Sumar 1.

I Restar 1.

I Distinguir si un numero es o no igual a 0.

I Y... ¡OBEDECER!.

¿Que puede resolver una maquina sabiendo realizar estas tareas?

I Practicamente ... ¡T O D O!

¿Ejemplos de maquinas?

I Cada uno de ustedes.

I Este ordenador.

I . . . . . . . . .

23 / 42

Page 28: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Volvamos al problema numerico ...

Dado un numero natural, determinar si es par.

Un metodo mecanico de resolucion:

Entrada: un numero natural x .

I 1.- Si x vale 0, devuelve SI.

I 2.- Si no,

I 3.- Al numero x restale 1 y sigue llamandolo x .

I 4.- Si x vale 0, devuelve NO.

I 5.- Si no,

I 6.- Al numero x restale 1 y sigue llamandolo x .

I 7.- Vuelve a empezar (vuelve a 1).

¡OJO! En este caso, la maquina no necesita saber sumar 1.

24 / 42

Page 29: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Lenguaje de comunicacion con la maquina

Con una maquina-humana usaremos el lenguaje natural.

Pero una maquina electronica carece de oidos.

He de comunicarme con ella a traves de algun medio (p.e. el teclado).

Entrada: un numero natural x .

1. Si x = 0, devuelve SI .2. Si no,

3. x ← x − 14. Si x = 0, devuelve NO.5. Si no,

6. x ← x − 1.7. Vuelve a 1.

[ B ] IF X 6= 0 GOTO A

Y ← Y + 1

IF Y 6= 0 GOTO E

[ A ] X ← X − 1

IF X 6= 0 GOTO B

25 / 42

Page 30: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Limitaciones de las maquinas electronicas

Maquinas: dispositivos finitos.

Ordenadores convencionales: Chips electronicos.

Recursos: espacio (memoria) y en tiempo.

I Espacio: miniaturizacion (R. Feymann, 1959).

I Tiempo: velocidad de calculo de procesadores (R. Churchhouse, 1983).

Consecuencia:

I Existen problemas muy relevantes de la vida real que nunca podran serresueltos por ordenadores electronicos (a menos que . . . )

26 / 42

Page 31: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

La Naturaleza viva: fuente de inspiracioncomputacional

Computacion celular con Membranas: Gh. Paun, 1998–2000.

I Inspirada en la estructura y el funcionamiento de las celulas.

27 / 42

Page 32: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Un plano de una maquina celular: comunicacion inteligente de bacterias

ME = (Γ,H, G , E1, . . . , E25, R1, . . . , R25,Π1,N)

Γ = {OHHL}, H = {e}, G un grafo, Π1 = (Σ, L, µ,M1, R1) en donde:Σ = {OHHL, LuxR, LuxR.OHHL, LuxBox, LuxR.OHHL.LuxBox}, L = {b}, µ = [ ], M1 = {LuxBox}.Reglas de los sistemas Π1 (bacterias)

r1 : [ LuxBox ]bc1→ [ LuxBox + OHHL ]b

r2 : [ LuxBox ]bc2→ [ LuxBox + LuxR ]b

r3 : [ LuxR + OHHL ]bc3→ [ LuxR.OHHL ]b

r4 : [ LuxR.OHHL ]bc4→ [ LuxR + OHHL ]b

r5 : [ LuxR.OHHL + LuxBox ]bc5→ [ LuxR.OHHL.LuxBox ]b

r6 : [ LuxR.OHHL.LuxBox ]bc6→ [ LuxR.OHHL + LuxBox ]b

r7 : [ LuxR.OHHL.LuxBox ]bc7→ [ LuxR.OHHL.LuxBox + OHHL ]b

r8 : [ LuxR.OHHL.LuxBox ]bc8→ [ LuxR.OHHL.LuxBox + LuxR ]b

r9 : [ OHHL ]bc9→ OHHL [ ]b

r10 : [ OHHL ]bc10→ [ ]b

r11 : [ LuxR ]bc11→ [ ]b

r12 : [ LuxR.OHHL ]bc12→ [ ]b

Reglas de los entornos:

r13 : OHHL [ ]bc13→ [ OHHL ]b

r14 : [ OHHL ]ec14→ [ ]e

r15 : [ OHHL ]e − [ ]ec15→ [ ]e − [ OHHL ]e

r16 : [ [ ]b ]e − [ ]ec16→ [ ]e − [ [ ]b ]e

28 / 42

Page 33: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Representacion grafica del modelo

29 / 42

Page 34: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

La Naturaleza como medio para realizar calculos

I Moleculas de ADN (J. Watson y F. Crick, 1951–1953):

I Codifican toda la informacion genetica.

I Programas moleculares basados en ADN (1994).

30 / 42

Page 35: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Un plano de una maquina molecular que resuelve un problema muy complejo.

Entrada: T0

para i ← 1 hasta p hacer

T1 ← T0; T0 ← ∅para j ← 1 hasta ri hacer

T ′ ← +(T1, l1i,j )

T1 ← −(T1, l1i,j )

T0 ← T0 ∪ T ′

Detectar(T0)

31 / 42

Page 36: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Un plano de una maquina molecular que simula movimientos musculares

(P. Alberti, J.L. Mergny, 2003)

32 / 42

Page 37: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Nanorobots: Una arana molecular basada en ADN

(Lloyd Smith, abril 2010)

33 / 42

Page 38: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Nanorobots: Obreros moleculares basados en ADN

(Erik Winfree, febrero 2010)

34 / 42

Page 39: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Una maquina de ADN que calcula raices cuadradas

(Daniel Strain, Lulu Oian y Erik Winfree, junio 2011)

35 / 42

Page 40: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Computacion in vivo

Ensamblaje de genes en ciliados (Grzegorz Rozenberg, 2003)

I Importantes computaciones tienen lugar en la vida de los ciliados.

I Uso de estructuras de datos clasicas (listas enlazadas).

Resolver problemas ... usando ¡ciliados!

36 / 42

Page 41: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Un virus con manos

(Michael Rossmann, diciembre 2008)

37 / 42

Page 42: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Formando un camino con nuestro ADN ...

I ¿Cuanto mide el ADN de una celula? ... 2’3 metros.

I ¿Cuantas celulas hay en el cuerpo humano? ... 100 billones.

I Si disponemos todas las moleculas de nuestro cuerpo en fila india ¿cuantoespacio se podra recorrer a traves de ese camino? ...

¡600.000 veces la distancia entre la tierra y la luna!

38 / 42

Page 43: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Modelos en la Vida real

I Modelo de un “sistema”: representacion que trata de obtener informacionacerca del mismo.

Stephen Hawking (Fuente: Agencia EFE)

I Modelo formal: representacion en un marco matematico.

I Modelo computacional: representacion en un modelo de computacion quepermite su manejo a traves de maquinas.

39 / 42

Page 44: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Modelizacion computacional

Un fenomeno (biologico, economico, etc.) o una poblacion cuyo estudio esinteresante.

I Se tienen datos obtenidos experimentalmente.

I Se desea predecir el comportamiento del fenomeno o la dinamica de esapoblacion en escenarios de interes.

Veamos un protocolo para abordar este problema complejo.

40 / 42

Page 45: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Protocolo de modelizacion computacional (I)

41 / 42

Page 46: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Protocolo de modelizacion computacional (II)

42 / 42

Page 47: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

NetLogo: a simulation tool for virtual experimentation

Res. Group on Nat–Computing (Univ. Sevilla) Estalmat 2015/16 Sevilla, 2015 43 / 67

Page 48: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

NetLogo: a simulation tool for virtual experimentation

Today in science, we need to face complex systemsIn physics (from particle to galaxy collisions, weather forecast, etc.)In biology (DNA, proteins, biochemical reactions, etc.)In ecologyIn chemistry, economics, engineering, etc.

We need to simplify reality by an “abstract” view: model.A way to describe the ideas and knowledge about the studiedsystem.

Once we have modelled a phenomena, we have to simulate.There are plenty of software to perform simulations.

Our simulator runs on a machine (typically, a computer).

Res. Group on Nat–Computing (Univ. Sevilla) Estalmat 2015/16 Sevilla, 2015 44 / 67

Page 49: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

NetLogo: a simulation tool for virtual experimentation

Res. Group on Nat–Computing (Univ. Sevilla) Estalmat 2015/16 Sevilla, 2015 45 / 67

Page 50: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

NetLogo: a simulation tool for virtual experimentation

Res. Group on Nat–Computing (Univ. Sevilla) Estalmat 2015/16 Sevilla, 2015 46 / 67

Page 51: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Introduction to NetLogo

NetLogo is a software tool providing a framework for developing and simulatingagent–based computational models.

In NetLogo virtual worlds can be defined, where agents interact with each otherand the environment following a simple logic.

In NetLogo real–life processes can be simulated... and even artificial life can bedesigned.

NetLogo is the “machine” in which we will study the problems covered in thissession.

NetLogo is free software (GNU):

It is distributed with its source code.There is a community of developers.It is free!

Can be downloaded at: http://ccl.northwestern.edu/netlogo/

Res. Group on Nat–Computing (Univ. Sevilla) Estalmat 2015/16 Sevilla, 2015 47 / 67

Page 52: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Introduction to NetLogo

There exists models inside NetLogo.

Each model presents a virtual world that can be simulated.

Simulations can be adjusted by changing the value of different parameters.

NetLogo comes with a huge library of predefined models.

There are also plenty of models developed by members of the community.

Models can be simulated directly on a web browser (not recommended).

NetLogo can be downloaded and executed as a desktop application.

Each model is presented in a different web page, containing information aboutauthors, how to use it, etc.

Res. Group on Nat–Computing (Univ. Sevilla) Estalmat 2015/16 Sevilla, 2015 48 / 67

Page 53: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Introduction to NetLogo

Res. Group on Nat–Computing (Univ. Sevilla) Estalmat 2015/16 Sevilla, 2015 49 / 67

Page 54: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Introduction to NetLogo

NetLogo’s interface always consist of the following elements:

Ticks: Simulation Speed.Virtual Word Window.

Besides, our models usually includes other elements as the following:

Setup: Reset Simulation.Go: Run Simulation.Populations Chart Window.

Additionally, each model defines its own parameters configuration interface.

Res. Group on Nat–Computing (Univ. Sevilla) Estalmat 2015/16 Sevilla, 2015 50 / 67

Page 55: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Emergent Properties

Let’s think about systems where individuals coexist.

Individuals are of different kind (animals, people, microbes, etc.).

Individuals have their own set of rules to interact with each other and theirenvironment.

We say that a system shows an emergent property when the very existence ofinteraction between members of the system make them follow some behaviourthat is not “programmed” in their individual rules set.

Consequently, we can postulate that such property of the system “emerges”because it is not explicitly specified anywhere in the system.

Corollary: The whole is greater than the sum of its parts.

Res. Group on Nat–Computing (Univ. Sevilla) Estalmat 2015/16 Sevilla, 2015 51 / 67

Page 56: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Emergent PropertiesExample: Turtles (Followers)

This NetLogo model is not inspired by any real–life phenomena.

Path: Library → Sample Models → Art → Follower

Turtles (agents) follow a quite simple behaviour:

A turtle can either wander around individually, follow another turtle, or befollowed by another turtle.When a turtle is not following anyone, it just moves randomly and “looksaround” trying to find within its vision range another turtle not beingfollowed as well.If our turtle succeeds finding the other one, it “sticks to her” and beginsfollowing its movements.

Let’s have a look to this behaviour in NetLogo!

Res. Group on Nat–Computing (Univ. Sevilla) Estalmat 2015/16 Sevilla, 2015 52 / 67

Page 57: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Emergent PropertiesExample: Turtles (Followers)

Question: Can you find any emergent property in the model?In such case, what is it?

Res. Group on Nat–Computing (Univ. Sevilla) Estalmat 2015/16 Sevilla, 2015 53 / 67

Page 58: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Emergent PropertiesA bit about cognition...

Cognition refers to the mental process of an intelligent agent (comprehension,reasoning, planning, learning...).

Thus, cognitive behaviour occurs when an agent knowingly processes itsthoughts or actions. We can ask ourselves some questions:

Can agents perform a task without knowing they are performing it?.Can they solve a problem without cognitively being aware they aresolving it?

We can consider an autonomous agent exhibits cognitive behaviour if itknowingly processes sensory information, makes decisions, changes itspreferences and applies any existing knowledge it may have while performing atask or mental thought process.

Res. Group on Nat–Computing (Univ. Sevilla) Estalmat 2015/16 Sevilla, 2015 54 / 67

Page 59: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Emergent PropertiesExample: Ants

Let us consider an insect’s habilities to forage for food.Ants usually does not have a plan, but find food by sensing achemical scent, thus reacting to that sense following someindividual rules. After finding food, they also start releasingchemical.Therefore, we can say they are reactive agents, not beingcognitively aware of what they are doing, but... are they successfulin the task of finding for food?Following we will try to analyze and answer this question with thesupport of a model.

Res. Group on Nat–Computing (Univ. Sevilla) Estalmat 2015/16 Sevilla, 2015 55 / 67

Page 60: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Emergent PropertiesExample: Ants

This model follows from a real–life phenomena: how ants coming from a nestlook for food and bring it back.

Path: Library → Sample Models → Biology → Ants

Ants (agents) follow a quite simple behaviour:

There exists a central point representing the nest (which location is known).There exists different zones with food. These zones are placed around thenest at different distances.Ants leave the nest looking for food.If some ant finds food, it brings a little back to the nest leaving behind a trailof pheromones.If another ant finds the trail of pheromones, it follows the trail.When not finding neither food nor pheromones, ants wander aroundrandomly.

Let’s have a look to this behaviour in NetLogo!

Res. Group on Nat–Computing (Univ. Sevilla) Estalmat 2015/16 Sevilla, 2015 56 / 67

Page 61: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Emergent PropertiesExample: Ants

Question 1: Can you find any emergent property in the system?In such case, what is it?

Question 2: What is the effect of changing the value of parameters controllingpersistence and duration of pheromones?

Res. Group on Nat–Computing (Univ. Sevilla) Estalmat 2015/16 Sevilla, 2015 57 / 67

Page 62: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Emergent PropertiesExample: Lions and Antelopes

This model follows from a real–life phenomena: how preys (i.e. antelopes) andpredators (i.e. lions) interact with each other in the situation in which predatorshunt down preys.

Path: http://www.cs.us.es/ fran/vida_artificial_2012/prey_predators.html

Lions and antelopes (agents) follow a quite simple behaviour:

While there is not prey in sight, predators wander around randomly.Predators produce a chemical substance that can be detected by preys.While not detecting chemical substance, preys stay still.When detecting the chemical substance, preys run away following thedirection where they perceive lowest intensity of the substance.

Let’s have a look to this behaviour in NetLogo!

Can you find any emergent property in the system? In such case, what is it?

Res. Group on Nat–Computing (Univ. Sevilla) Estalmat 2015/16 Sevilla, 2015 58 / 67

Page 63: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Population DynamicsWhat is it and what is it for?

It is a branch of Ecology which studies biological populations.

Biological population: a set of individuals belonging to different species andcoexisting in a common habitat.

A house containing a human family, domestic animals and microbespresent in the environment.Different species of animals in the mountains: wolves, eagles, rabbits,deers, etc.

Population dynamics studies both the changes in biological populations (i.e.number of individuals, distribution by sex, age, etc.) and the causes of thesechanges (i.e. environmental, human action, etc.).

It has several applications:

Preserving endangered species.Containing invasive species.Study of infectious diseases.

Res. Group on Nat–Computing (Univ. Sevilla) Estalmat 2015/16 Sevilla, 2015 59 / 67

Page 64: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Population DynamicsExample: Prey - Predator model (Lotka-Volterra)

Differential Equations

Two species: prey and predator

Res. Group on Nat–Computing (Univ. Sevilla) Estalmat 2015/16 Sevilla, 2015 60 / 67

Page 65: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Population DynamicsExample: Tritrophic Interactions model

Simplification of a realecosystem

Three trophic levels

(1) Plants(2) Herbivores(3) Carnivores

Res. Group on Nat–Computing (Univ. Sevilla) Estalmat 2015/16 Sevilla, 2015 61 / 67

Page 66: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Population DynamicsExample: Tritrophic Interactions model

Let’s study this model in NetLogo

Path: Library → Sample Models → Biology → Wolf Sheep Predation

Description:

There exist preys (sheeps) and predators (wolves).Sheeps and wolves wander around the place randomly.Sheeps and wolves reproduce with a given probability.Wolves must feed on sheeps to keep their energy, otherwise they die.

Let’s have a look to this model in NetLogo!

Res. Group on Nat–Computing (Univ. Sevilla) Estalmat 2015/16 Sevilla, 2015 62 / 67

Page 67: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Population DynamicsExample: Tritrophic Interactions model

Scenario 1: Grass does not play a role. Sheeps do not need to eat to keep theirenergy.

Q1: Identify any relevant behaviour appearing in scenario 1.

Q2: What can you say about the stability of the populations in this scenario?

Q3: Why?

Res. Group on Nat–Computing (Univ. Sevilla) Estalmat 2015/16 Sevilla, 2015 63 / 67

Page 68: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Population DynamicsExample: Tritrophic Interactions model

Scenario 2: Grass plays a role. Wolves must feed on grass to keep their energy,otherwise they die. After being consumed it takes the grass a given time to growup again.

Q1: Identify any relevant behaviour appearing in scenario 2.

Q2: What can you say about the stability of the populations in this scenario?

Q3: Why?

Res. Group on Nat–Computing (Univ. Sevilla) Estalmat 2015/16 Sevilla, 2015 64 / 67

Page 69: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Population DynamicsExample: Diseases Propagation model

Res. Group on Nat–Computing (Univ. Sevilla) Estalmat 2015/16 Sevilla, 2015 65 / 67

Page 70: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Population DynamicsExample: Diseases Propagation model

We will study this model with NetLogo. This single model allows us modelling thebehaviour of different diseases.

Path: Library → Sample Models → Biology → Virus

Description:

Initial population: Healthy and infected individuals.Population density: it affects the number of times that individuals makecontact.When the population is below a given threshold, healthy individuals areallowed to reproduce.Newborns are healthy (and can be infected).Immunity lasts forever.Individuals can die due to old age or infection.The model key parameters are: INFECTIOUSNESS,CHANCE-RECOVERY and DURATION.

Let’s have a look to this model in NetLogo!

Res. Group on Nat–Computing (Univ. Sevilla) Estalmat 2015/16 Sevilla, 2015 66 / 67

Page 71: ESTALMAT-Andalucía Actividades 2015/16estalmat/ACT/SESIONES/Curso... · Problemas concretos vs problemas abstractos (1) Determinar si el numero 4730099 es primo. (2) Calcular el

Population DynamicsExample: Diseases Propagation model

Task 1: Try to adjust the key parameters to obtain a virus similar to ebola. Ebolapresents a very high infectiousness, a very low recovery chances and a veryshort duration.Analyse the behaviour of your virus. Can you affirm that it is successful? Why?

Task 2: Try to adjust the key parameters to obtain a virus similar to HIV. HIVpresents a very low infectiousness, a very low recovery chances (withoutmedication) and a very long duration.Analyse the behaviour of your virus. Can you affirm that it is successful? Why?

Task 3: What are the features for a virus to be extremely destructive to the globalpopulation?Try to adjust the key parameters to obtain a virus of such kind.

Res. Group on Nat–Computing (Univ. Sevilla) Estalmat 2015/16 Sevilla, 2015 67 / 67