28
Modelos de Computaci´ on y Complejidad Grado en Ingenier´ ıa Inform´ atica. Tecnolog´ ıas Inform´ aticas Tema VIII: Modelos de Computaci´ on no convencionales Mario de J. P´ erez Jim´ enez Dpto. Ciencias de la Computaci´ on e Inteligencia Artificial E.T.S. Ingenier´ ıa Inform´ atica Universidad de Sevilla [email protected] http://www.cs.us.es/~marper/ Curso 2015-2016

Tema VIII:Modelos de Computaci on no convencionales · I Ejecuci on simult anea de operaciones moleculares. I Tubo inicial: ... I Desarrollo de nuevas herramientas (bioinspiradas

Embed Size (px)

Citation preview

Modelos de Computacion y ComplejidadGrado en Ingenierıa Informatica. Tecnologıas Informaticas

Tema VIII: Modelos de Computacionno convencionales

Mario de J. Perez Jimenez

Dpto. Ciencias de la Computacion e Inteligencia ArtificialE.T.S. Ingenierıa Informatica

Universidad de Sevilla

[email protected]

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

Curso 2015-2016

Objetivos

I Modelos de computacion convencionales versus no convencionales.

I Modelos de computacion molecular basado en ADN.

I Modelos de computacion celular con membranas.

2 / 28

Modelos de computacion convencionales versus no convencionales

Modelo de computacion:

I formaliza el concepto de procedimiento mecanico

I Dispositivos del modelo : maquinas

Maquina convencional: soporte electronico

Maquina no convencional: otro soporte distinto

3 / 28

Limitaciones de las maquinas electronicas

Maquinas: dispositivos finitos.

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 . . . )

4 / 28

Computacion NaturalEstudiar tecnicas de calculo inspiradas en la Naturaleza viva.

? La Naturaleza viva como fuente de inspiracion.

? La Naturaleza viva como medio fısico para realizar calculos.

Algunos paradigmas:

? Cellular Automata (K. Zuse, S. Ulam, J. von Neumann , 1940s).

? Neural networks (W. McCulloch y W. Pitts, 1943).

? Genetics Algorithms (J. Holland, 1975), Evolutionary Computing (T. Baeck, D. Fogel, Z. Michalewicz,

1997), Genetic Programming(J. Koza, 1992).

? Artificial Life (Lindenmayer, 1968, Ch. Langton, 1986.).

? Quantum Computing (Beniof 1980, Feynmann 1982).

? Artificial Immune Systems (J.D. Farmer, N. Packard, A. Perelson, 1986).

? Swarm intelligence (G. Beni, J. Wang, 1989).

? Molecular Computing (L. Adlemann, 1994).

? Membrane Computing (Gh. Paun, 1998–2000).

? Computational Systems Biology (H. Kitano, 2002).

? Sinthetic Biology (S.A. Benner, A.M. Sismour, 2005).

? Computation with living cells (A. Ehrenfeucht, T. Harju, I. Petre, D.M. Prescott, G. Rozenberg, 2003).5 / 28

Maquinas moleculares basadas en ADN (I)

I Procedimientos matematicos vs procesos biologicos.

I L. Adleman materializo esta similitud (nov. 1994).

I Julio de 2000: interruptor a partir de una molecula.

• Sustituye la luz por una reaccion quımica.• Pueden disponer de mas de mil procesadores en el espacio ocupado por un procesador.• Pueden aumentar la velocidad cien mil millones de veces.• Pueden reproducir cien ordenadores convencionales en el tamano de un grano de sal fina.

I Simulacion bioquımica de una MT (E.Shapiro, nov. 2001)

6 / 28

Maquinas moleculares (II)

Cromosomas:

I Descritos por Holfmeister, 1848

I Codifica la informacion genetica (Principios del s. XX)

I Proteınas + ADN (Claude, Porter, 1943 y Mirsky, 1947).

ADN (J. Watson y F. Crick, 1951–1953)

I Descifran la estructura.

I Descubren el principio de complementariedad.

I Demuestran que las moleculas de ADN codifican toda la informaciongenetica.

I Justifican el uso de ciertas tecnicas para su manipulacion.

7 / 28

Estructura del ADN

ADN: polımero que, en su estructura lineal, consta de una serie de monomeros(nucleotidos).

Cada nucleotido consta de:

I Un azucar (desoxirribosa).

I Un grupo fosfato (P).

I Una base nitrogenada.

B

OHP

5

4

2

3

1’

Bases nitrogenadas: A, C, G, T. adenina, citosina, guanina y timina

8 / 28

Tipos de enlaces: fosfodiester y de hidrogeno.

Enlace fosfodiester: cadenas simples (polaridad).

P

B

5

4

2

3

1’

B1 2

5

4

3

2

1’

P

OH OH

P

B

5

4

2

3

1’

B

OH

5

4

3

2

1’

P

OH

43

9 / 28

Enlace de hidrogeno: A↔ T y C↔ G.Enlaces fosfodiester + enlaces de hidrogeno= cadenas dobles (estructura dedoble helice).

P

P

B

5

4

2

3

1’

B1 2

5

4

3

2

1’

P

OH OH

P

B

5

4

2

3

1’

B

OH

5

4

3

2

1’

P

OH

43

B B BB--

1 2 3 4

OHP PP

OH OH OH

1’

2

3

5

1’ 1’ 1’

2 2 2

3 3 3

4’ 4’ 4’4’

5 5 5’ ’’

’ ’ ’

’’’

- -

10 / 28

11 / 28

Estructura helicoidal de una molecula de ADN

12 / 28

Estructura de datos: moleculas de ADN

Operaciones con moleculas de ADN:

I Desnaturalizacion.

I Renaturalizacion.

I Medida de la longitud.

I Extraccion.

I Alargar (Enzima Polimerasa).

I Sıntesis.

I Cortar (Enzima Nucleasa).

I Empastar (Enzima Ligasa).

I Alterar.

I PCR.

I Lectura.

13 / 28

El experimento de L. Adleman

Noviembre de 1994: resolucion molecular de una instancia del problema delcamino hamiltoniano, en su version dirigida y con dos nodos distinguidos(experimento real).

3

4

6

52

0

1

Grafo usado en el experimento de Adleman

14 / 28

Este experimento:

I Primer ejemplo de computacion a nivel molecular.

I Nuevas perspectivas de las moleculas de ADN como estructura de datospeculiares.

I Posibilidad de usar el ADN para resolver instancias de problemascomputacionalmente intratables.

I Capacidad del ADN para simular computaciones de forma masivamenteparalela.

15 / 28

Implementacion en el laboratorio del algoritmo

Entrada: G = (V ,E); vi y vf ∈ V

? Generar todos los caminos de G .

? Rechazar caminos que no empiezan por vi y terminan en vf .

? Rechazar caminos que no contienen exactamente |V | nodos.

? Para cada u ∈ V , rechazar caminos que no contienen u.

Salida: SI, si queda algun camino; NO, en caso contrario.

16 / 28

Consideraciones acerca del experimento de Adleman

I Procedimiento basado en filtrados.

I Ejecucion simultanea de operaciones moleculares.

I Tubo inicial: numero exponencial de cadenas.

I Numero de operaciones moleculares: lineal.

I Aparecen errores que pueden ser controlados.

I Boneh, Dunworth y Lipton (1995): hasta 1021 moleculas de ADN sepueden procesar.

I Ventajas potenciales:

? Velocidad de calculo: 1′2× 1018 versus 1012.? Consumo de energıa: 2× 1019 versus 109.? Densidad de informacion: 1 bit por nm3 versus 1 bit por 1012 nm3.

I Nacimiento de la computacion ADN.

I No proporciona un esquema algorıtmico.

17 / 28

Modelos de computacion molecular basado en ADN

Modelos orientados a programas:

I Estructura de datos (tubos).

I Operaciones basicas (moleculares).

I Funcion semantica.

Un ejemplo: el modelo restringido de L. Adleman (1995).

I Un agregado sobre un alfabeto Γ es un multiconjunto de sımbolos de Γ.

I Tubo: multiconjunto finito de agregados.

I Operaciones moleculares:

• Extraer.

• Mezclar.

• Detectar.

Es un modelo de computacion:

I Basado en procedimientos de filtrado

I Sin memoria de acceso aleatorio

18 / 28

La celula (I)

Celula: unidad fundamental de todo organismo vivo.

I Estructura compleja y, a la vez, muy organizada.

I Permite ejecucion simultanea de reacciones quımicas.

Existen dos tipos de celulas:

I Procariotas: carecen de un nucleo bien definido (propias de losorganismos unicelulares).

I Eucariotas: poseen un nucleo rodeado por una doble membrana(especıficas de animales y plantas).

Realizan de manera similar unos procesos esenciales para la vida:

I Replicacion del ADN

I Produccion de energıa

I Sıntesis de proteınas

I Procesos metabolicos.

19 / 28

La celula (II)

Partes de una celula eucariota

I Una especie de piel (membrana plasmica)

I El corazon de la celula (nucleo), que almacena el ADN

I El resto de la celula (citoplasma), que contiene:

• La mitocondria: se encarga de producir energıa.

• El aparato de Golgi: fabrica de proteınas.

• El retıculo endoplasmico, red de membranas interconectadas.

• Los lisosomas: estomagos de las celulas.

20 / 28

La celula (III)

21 / 28

Las membranas biologicas

I Involucradas en la mayorıa de reacciones quımicas

I Canales selectivos de comunicacion (barreras semipermeables).

I Controlan un flujo de datos; es decir, de informacion:

I Premio Nobel de Quımica 2003: P. Agre y R. MacKinnon (canalesproteınicos de las membranas).

22 / 28

Celulas versus maquinas

En una celula viva

I Cada membrana trabaja con compuestos quımicos de acuerdo con unasreacciones especıficas

En una maquina paralela

I Cada procesador trabaja con datos de acuerdo con un programaespecıfico

Celula Maquina

Membranas Procesadores

Compuestos quımicos Datos

Reacciones quımicas Instrucciones

23 / 28

Modelos de computacion celular con membranas

Gh. Paun, 1998–2000: Modelos orientado a maquinas y no deterministas.

• Ingredientes sintacticos:

? Un alfabeto, cuyos elementos se denominan objetos.

? Una estructura de membranas (regiones).

? Un multiconjunto asociado a cada region.

? Conjunto de reglas de evolucion.

? Dos membranas distinguidas: una de entrada y otra de salida.

• Ingredientes semanticos:

? Configuracion.

? Transicion de una configuracion a otra.

? Computacion a partir de una configuracion inicial.

Nota: Sea Γ un conjunto no vacıo. Informalmente, un multiconjunto sobre Γ es un conjunto de elementos de Γ, en

donde cada uno de ellos puede aparecer repetido un determinado numero de veces. Formalmente, un multiconjunto

sobre un conjunto Γ es una aplicacion de Γ en N (la imagen de un elemento de Γ representa su multiplicidad).

24 / 28

La estructura de membranas:

I Conjunto de membranas

I Multiconjuntos de objetos situados en las regiones.

I Reglas de evolucion.

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

membranaelemental

membrana

región

piel

entorno

entorno

Nota: Formalmente, una estructura de membranas es un arbol enraizado. La raız del arbol es la membrana piel y

las hojas son las membranas elementales. En este contexto, diremos que el “padre” de la membrana piel es el

“entorno externo” del sistema.

25 / 28

Aspecto de una maquina celular computacional

La siguiente maquina celular describe los mecanismos moleculares del quorum sensing en la bacteria Vibrio Fischeri.

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

Γ = {OHHL}, H = {e}, G a graph, Π1 = (Σ, L, µ,M1, R1), L = {b}, µ = [ ],M1 = {LuxBox}, Σ = {OHHL, LuxR, LuxR.OHHL, LuxBox, LuxR.OHHL.LuxBox}.Systems rule Π1 (bacteria)

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

c2→ [ 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 ]b

c10→ [ ]b; r11 : [ LuxR ]bc11→ [ ]b;

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

r13 : OHHL [ ]bc13→ [ OHHL ]b; r14 : [ OHHL ]e

c14→ [ ]e;

r15 : [ OHHL ]e − [ ]ec15→ [ ]e − [ OHHL ]e; r16 : [ [ ]b ]e − [ ]e

c16→ [ ]e − [ [ ]b ]e

ci stochastic constants,

26 / 28

Aplicaciones de la Computacion celular

I Simulacion de maquinas de Turing.

I Computacion a modo de tejidos.

I Computacion a modo de neuronas.

I Resolucion eficiente de problemas NP–completos.

I Caracterizacion de la conjetura P 6= NP.

I Desarrollo de nuevas herramientas (bioinspiradas y no convencionales)que proporcionan fronteras de la tratabilidad de problemas.

I Elaboracion de un lenguaje de programacion celular

27 / 28

Aplicaciones de la Computacion celularModelizacion computacional de fenomenos y sistemas complejos:

I Procesos biologicos a nivel micro.

• Rutas senalizadoras de proteınas.

? Interaccion de la proteına p53 y la proteına MdM2.

? Factor de crecimiento epidermico.

? Una ruta apoptotica mediatizada por la proteına FAS.

? Comunicacion inteligente de bacterias (Quorum Sensing).

• Sistemas de Regulacion de genes (Lac Operon en E. coli).

I Dinamica de poblaciones.

• Sociedades economicas.

• Colonias de abejas.

• Ecosistemas reales.

? El quebrantahuesos en la zona pirenaico-catalana.

? Plan de gestion del pantano de Ribarroja (zona del Ebro) para controlar el mejillon cebra.

? La mariposa Pieris oleracea en la zona de Boston, USA.

? El panda gigante en cautividad (Chengdu, China).

I Ingenierıa industrial.

• Diagnosis de fallos.

? Sistemas de potencia de centrales electricas.

? Suministros energeticos en trenes de alta velocidad.28 / 28