La Biología como Alternativa Computacional Nuevos Paradigmas de Computación inspirados en la...

Post on 25-Jan-2016

220 views 2 download

Transcript of La Biología como Alternativa Computacional Nuevos Paradigmas de Computación inspirados en la...

La Biología como Alternativa

Computacional Nuevos Paradigmas de Computación

inspirados en la Biología

Mario de J. Pérez Jiménez, Fernando Sancho Caparrini

Universidad de SevillaDpt. Ciencias de la Computación e Inteligencia Artificial

Grupo de Investigación en Computación Naturalwww.gcn.us.es

La Naturaleza como La Naturaleza como inspiración computacionalinspiración computacional

Computación Natural: Computación Natural: interpretación de los procesos que se dan en la naturaleza como procesos de cálculo..

Una alternativa a las limitaciones de los Una alternativa a las limitaciones de los modelos clásicos.modelos clásicos.

Interpretaciones:Interpretaciones: Diseño de nuevos esquemas algorítmicos.Diseño de nuevos esquemas algorítmicos. Desarrollo de nuevos modelos prácticos.Desarrollo de nuevos modelos prácticos.

NaturalNaturalezaeza

Procesos Procesos Genéticos Genéticos

++Selección NaturalSelección Natural

Algoritmos GenéticosAlgoritmos Genéticos(J.H. Holland,1975)(J.H. Holland,1975)

ComputacióComputación n

ConvencionConvencional al

Sistemas Sistemas NeuronalesNeuronales

RedesRedes NeuronalesNeuronales(W.S. McCulloch, W. Pitts; 1943)(W.S. McCulloch, W. Pitts; 1943)

NaturaleNaturalezaza

Computación Computación Molecular Molecular

R.P. Feynman (1954)R.P. Feynman (1954) R. Churchhouse R. Churchhouse

(1983)(1983)

T. Head (1987)T. Head (1987) L.M. Adleman (1994)L.M. Adleman (1994) Shapyro (2001)Shapyro (2001)

Computación Computación Celular con Celular con MembranasMembranas

Gh. Paun (1998)Gh. Paun (1998)

Sin Sin implementaciones implementaciones prácticasprácticas

Nuevos Nuevos modelosmodelos

Computación Celular con Computación Celular con MembranasMembranas

Gheorghe Paun: Gheorghe Paun: P Sistemas de P Sistemas de TransiciónTransición (Octubre, 1998). (Octubre, 1998).

Computación Computación a a nivel nivel celular.celular.

Características Características GeneralesGenerales

Generación de Dispositivos, no de Generación de Dispositivos, no de algoritmos.algoritmos.

Paralelismo Masivo inherente.Paralelismo Masivo inherente. Trabaja con Trabaja con multiconjuntosmulticonjuntos.. Basado en sistemas de reescritura: Basado en sistemas de reescritura:

aplicación de reglas.aplicación de reglas. No Determinismo.No Determinismo. Modelo Universal.Modelo Universal.

P Sistema de TransiciónP Sistema de Transición

Estructura de Membranas

membranas

regiones

objetos

1

23

piel

a6 c2 d

dcc’ (NO,in3)

ac c’ac’ c

d d>

d (YES,in3)>

Reglas de Evolución

Membrana de salida

Estructura de Membranas

1

23

piel

a6 c2 d

dcc’ (NO,in3)

ac c’ac’ c

d d>

d (YES,in3)>

a4 c’2 da2 c2 dc’2 d YES

P Sistema de TransiciónP Sistema de Transición

Estructura de Membranas

1

23

piel

a5 c2 d

dcc’ (NO,in3)

ac c’ac’ c

d d>

d (YES,in3)>

a3 c’2 da c2 dc c’ d NO

P Sistema de TransiciónP Sistema de Transición

Múltiples Variantes Múltiples Variantes Fines Computacionales:Fines Computacionales:

Restricciones: en el paralelismo, nº de membranas, Restricciones: en el paralelismo, nº de membranas, reglas.reglas.

Interpretación de la salida del sistema.Interpretación de la salida del sistema. Tipos de datos que maneja el sistema.Tipos de datos que maneja el sistema. Ejecución probabilística, con incertidumbre, …Ejecución probabilística, con incertidumbre, …

Fines Biológicos:Fines Biológicos: Reglas que simulan reacciones biológicas específicas.Reglas que simulan reacciones biológicas específicas. Capacidad ampliada a las membranas.Capacidad ampliada a las membranas. Creación/duplicación de membranas.Creación/duplicación de membranas. Introducción de continuidad en objetos y/o tiempo.Introducción de continuidad en objetos y/o tiempo. ……

AplicacionesAplicaciones Bio-aplicaciones:Bio-aplicaciones:

Quorum Sensing.Quorum Sensing. Estudio de cascadas de señales.Estudio de cascadas de señales. Apoptosis celular.Apoptosis celular. Proceso de Spiking Neurons.Proceso de Spiking Neurons. Ecosistemas.Ecosistemas. ……

CS-aplicaciones:CS-aplicaciones: Soluciones exactas a problemas NP-completos (polinomial).Soluciones exactas a problemas NP-completos (polinomial). Algoritmos de aproximación a problemas de optimización.Algoritmos de aproximación a problemas de optimización. Verificación de protocolos.Verificación de protocolos. Modelización de sistemas complejos (discretos y Modelización de sistemas complejos (discretos y

continuos).continuos). Estudio de diálogos y creación de parsings.Estudio de diálogos y creación de parsings. ……

Spiking Neural P systemsSpiking Neural P systems

Basado en ideas específicas de los Basado en ideas específicas de los spiking spiking neuronsneurons

Formado por un conjunto de neuronas (una Formado por un conjunto de neuronas (una sola membrana) situadas en los nodos de un sola membrana) situadas en los nodos de un grafo y que envían señales a lo largo de las grafo y que envían señales a lo largo de las sinapsis (aristas).sinapsis (aristas).

Dos tipos de reglas:Dos tipos de reglas: Las Las reglas spiking reglas spiking ((firingfiring): ): aacc → a;d → a;d ( (c ≥ 1c ≥ 1, , d ≥ d ≥

0)0).. Las Las reglas forgettingreglas forgetting, que son de la forma , que son de la forma as → as →

λ.λ.

ac→a;0k entradas

Interpretación de las Interpretación de las reglasreglas

Reglas spiking Reglas spiking ((firingfiring):): a a cc → a;d → a;d

Paso: 0

a→a;0

a3

a→a;0

a3

ac→a;0

ak

Interpretación de las Interpretación de las reglasreglas

Paso: 1

k entradas

a→a;0

a→a;0

a2

a2

Reglas spiking Reglas spiking ((firingfiring):): a a cc → a;d → a;d

Interpretación de las Interpretación de las reglasreglas

ac→a;0

a

a

a2k-c

Paso: 2

k entradas

a→a;0

a→a;0

a

a

Reglas spiking Reglas spiking ((firingfiring):): a a cc → a;d → a;d

Interpretación de las Interpretación de las reglasreglas

ac→a;0

a

a

a3k-2c

Paso: 3

k entradas

a→a;0

a→a;0

Reglas spiking Reglas spiking ((firingfiring):): a a cc → a;d → a;d

ac→a;2k entradas

Interpretación de las Interpretación de las reglasreglas

Paso: 0

a→a;0

a3

a→a;0

a3

Reglas spiking Reglas spiking ((firingfiring):): a a cc → a;d → a;d

ac→a;2

ak

Interpretación de las Interpretación de las reglasreglas

Paso: 1

k entradas

a→a;0

a→a;0

a2

a2

Reglas spiking Reglas spiking ((firingfiring):): a a cc → a;d → a;d

Interpretación de las Interpretación de las reglasreglas

ac→a;2

ak

Paso: 2

k entradas

a→a;0

a→a;0

a

a

a

a

Reglas spiking Reglas spiking ((firingfiring):): a a cc → a;d → a;d

Interpretación de las Interpretación de las reglasreglas

ac→a;2

ak

Paso: 3

k entradas

a→a;0

a→a;0

a

a

Reglas spiking Reglas spiking ((firingfiring):): a a cc → a;d → a;d

Interpretación de las Interpretación de las reglasreglas

ac→a;2

a

a

ak-c

Paso: 4

k entradas

a→a;0

a→a;0

Reglas spiking Reglas spiking ((firingfiring):): a a cc → a;d → a;d

ak→ λλ

Interpretación de las Interpretación de las reglasreglas

Paso: 0

k entradas

a→a;0

a→a;0

Reglas forgettingReglas forgetting :

a a cc → → λλa

a

ak→ λλak

Interpretación de las Interpretación de las reglasreglas

Paso: 1

k entradas

a→a;0

a→a;0

Reglas forgettingReglas forgetting :

a a cc → → λλ

ak→ λλ

Interpretación de las Interpretación de las reglasreglas

Paso: 2

k entradas

a→a;0

a→a;0

Reglas forgettingReglas forgetting :

a a cc → → λλ

Algunos resultadosAlgunos resultados

TeoremaTeorema. . Toda función booleana, f:{0,1}Toda función booleana, f:{0,1}kk → → {0,1}, puede ser calculada por un SNP con k {0,1}, puede ser calculada por un SNP con k neuronas de entrada (usando 2k+4 neuronas, neuronas de entrada (usando 2k+4 neuronas, una de ellas como neurona de salida).una de ellas como neurona de salida).

TeoremaTeorema. . La universalidad de los SNP puede ser La universalidad de los SNP puede ser obtenida para sistemas:obtenida para sistemas:

1.1. que no usan retardos en las reglas,que no usan retardos en las reglas,2.2. que no usan reglas forgetting,que no usan reglas forgetting,3.3. (1 ó 2) + la restricción de tener un grafo de (1 ó 2) + la restricción de tener un grafo de

sinapsis con grado de salida menor o igual a 2.sinapsis con grado de salida menor o igual a 2.4.4. (1 ó 2) + la restricción de tener un grafo de (1 ó 2) + la restricción de tener un grafo de

sinapsis con grado de entrada menor o igual a sinapsis con grado de entrada menor o igual a 2.2.

a→a;0 a→a;0 a→a;0

a→a;0 a→a;0

a→a;0a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a → a;0a2 → a;0a3 → a;0a4 → λa5 → a;0a6 → λa7 → λa8 → a;0

entrada1 entrada2 entrada3

salida

neuronas auxiliares

Ejemplo de SNP

a a

SNP que calcula la función:f:{0,1}3 → {0,1}

definida por:f(b1,b2,b3)=1 si y sólo si

b1+b2+b3 ≠2

a→a;0 a→a;0 a→a;0

a→a;0 a→a;0

a→a;0a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a → a;0a2 → a;0a3 → a;0a4 → λa5 → a;0a6 → λa7 → λa8 → a;0

entrada1 entrada2 entrada3

salida

neuronas auxiliares

Ejemplo de SNP: cálculo de f(1,1,1)a

aa

a a

SNP que calcula la función:f:{0,1}3 → {0,1}

definida por:f(b1,b2,b3)=1 si y sólo si

b1+b2+b3 ≠2

Tiempo=0

a→a;0 a→a;0 a→a;0

a→a;0 a→a;0

a→a;0a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a → a;0a2 → a;0a3 → a;0a4 → λa5 → a;0a6 → λa7 → λa8 → a;0

entrada1 entrada2 entrada3

salida

neuronas auxiliares

a a a

a a

SNP que calcula la función:f:{0,1}3 → {0,1}

definida por:f(b1,b2,b3)=1 si y sólo si

b1+b2+b3 ≠2

Ejemplo de SNP: cálculo de f(1,1,1)

a

Tiempo=1

a→a;0 a→a;0 a→a;0

a→a;0 a→a;0

a→a;0a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a → a;0a2 → a;0a3 → a;0a4 → λa5 → a;0a6 → λa7 → λa8 → a;0

entrada1 entrada2 entrada3

salida

neuronas auxiliares

a a

aa

a

a

a

a a

a

SNP que calcula la función:f:{0,1}3 → {0,1}

definida por:f(b1,b2,b3)=1 si y sólo si

b1+b2+b3 ≠2

Ejemplo de SNP: cálculo de f(1,1,1)

a

Tiempo=2

a→a;0 a→a;0 a→a;0

a→a;0 a→a;0

a→a;0a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a → a;0a2 → a;0a3 → a;0a4 → λa5 → a;0a6 → λa7 → λa8 → a;0

entrada1 entrada2 entrada3

salida

neuronas auxiliares

a a

a

a

a8 SNP que calcula la función:

f:{0,1}3 → {0,1} definida por:

f(b1,b2,b3)=1 si y sólo si b1+b2+b3 ≠2

Ejemplo de SNP: cálculo de f(1,1,1) Tiempo

=3

a→a;0 a→a;0 a→a;0

a→a;0 a→a;0

a→a;0a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a → a;0a2 → a;0a3 → a;0a4 → λa5 → a;0a6 → λa7 → λa8 → a;0

entrada1 entrada2 entrada3

salida

neuronas auxiliares

a a

a

a

a

a SNP que calcula la función:

f:{0,1}3 → {0,1} definida por:

f(b1,b2,b3)=1 si y sólo si b1+b2+b3 ≠2

Ejemplo de SNP: cálculo de f(1,1,1) Tiempo

=4

a→a;0 a→a;0 a→a;0

a→a;0 a→a;0

a→a;0a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a → a;0a2 → a;0a3 → a;0a4 → λa5 → a;0a6 → λa7 → λa8 → a;0

entrada1 entrada2 entrada3

salida

neuronas auxiliares

a a

a a

SNP que calcula la función:f:{0,1}3 → {0,1}

definida por:f(b1,b2,b3)=1 si y sólo si

b1+b2+b3 ≠2

Ejemplo de SNP: cálculo de f(1,1,0) Tiempo

=0

a→a;0 a→a;0 a→a;0

a→a;0 a→a;0

a→a;0a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a → a;0a2 → a;0a3 → a;0a4 → λa5 → a;0a6 → λa7 → λa8 → a;0

entrada1 entrada2 entrada3

salida

neuronas auxiliares

a a

a a

SNP que calcula la función:f:{0,1}3 → {0,1}

definida por:f(b1,b2,b3)=1 si y sólo si

b1+b2+b3 ≠2

Ejemplo de SNP: cálculo de f(1,1,0)

a

Tiempo=1

a→a;0 a→a;0 a→a;0

a→a;0 a→a;0

a→a;0a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a → a;0a2 → a;0a3 → a;0a4 → λa5 → a;0a6 → λa7 → λa8 → a;0

entrada1 entrada2 entrada3

salida

neuronas auxiliares

a a

a

a a

a

SNP que calcula la función:f:{0,1}3 → {0,1}

definida por:f(b1,b2,b3)=1 si y sólo si

b1+b2+b3 ≠2

Ejemplo de SNP: cálculo de f(1,1,0)

a

Tiempo=2

a→a;0 a→a;0 a→a;0

a→a;0 a→a;0

a→a;0a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a → a;0a2 → a;0a3 → a;0a4 → λa5 → a;0a6 → λa7 → λa8 → a;0

entrada1 entrada2 entrada3

salida

neuronas auxiliares

a a

a

a

a4 SNP que calcula la función:

f:{0,1}3 → {0,1} definida por:

f(b1,b2,b3)=1 si y sólo si b1+b2+b3 ≠2

Ejemplo de SNP: cálculo de f(1,1,0) Tiempo

=3

a→a;0 a→a;0 a→a;0

a→a;0 a→a;0

a→a;0a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a → a;0a2 → a;0a3 → a;0a4 → λa5 → a;0a6 → λa7 → λa8 → a;0

entrada1 entrada2 entrada3

salida

neuronas auxiliares

a a

a

a

a SNP que calcula la función:

f:{0,1}3 → {0,1} definida por:

f(b1,b2,b3)=1 si y sólo si b1+b2+b3 ≠2

Ejemplo de SNP: cálculo de f(1,1,0) Tiempo

=4

a→a;0 a→a;0 a→a;0

a→a;0 a→a;0

a→a;0a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a→a;0

a → a;0a2 → a;0a3 → a;0a4 → λa5 → a;0a6 → λa7 → λa8 → a;0

entrada1 entrada2 entrada3

salida

neuronas auxiliares

a a

a

a

a SNP que calcula la función:

f:{0,1}3 → {0,1} definida por:

f(b1,b2,b3)=1 si y sólo si b1+b2+b3 ≠2

Ejemplo de SNP: cálculo de f(1,1,0) Tiempo

=5

ConclusionesConclusiones

Ventaja Principal:Ventaja Principal: Modelos bio-inspirados de gran Modelos bio-inspirados de gran

potencia (salto cualitativo) que potencia (salto cualitativo) que proporcionan soluciones naturales a proporcionan soluciones naturales a problemas complejos.problemas complejos.

Inconveniente Principal:Inconveniente Principal: Su alto grado de complejidad en la Su alto grado de complejidad en la

implementación práctica.implementación práctica.

Por hacer…Por hacer… Por supuesto, propiedades computacionales, de Por supuesto, propiedades computacionales, de

complejidad, de diseño, etc.complejidad, de diseño, etc. Eficiencia de los SNP en la resolución de problemas Eficiencia de los SNP en la resolución de problemas

duros desde un punto de vista computacional duros desde un punto de vista computacional (producción de objetos limitada a un factor polinomial (producción de objetos limitada a un factor polinomial en el tiempo).en el tiempo).

En general, es una cuestión no abordada la influencia En general, es una cuestión no abordada la influencia del grafo subyacente sobre la capacidad del sistema.del grafo subyacente sobre la capacidad del sistema.

¿De qué forma afecta la presencia de una compleja ¿De qué forma afecta la presencia de una compleja red de neuronas a la capacidad generativa del red de neuronas a la capacidad generativa del sistema? sistema?

Al igual que ocurre con un sistema neuronal complejo, Al igual que ocurre con un sistema neuronal complejo, ¿podría emerger un comportamiento cualitativamente ¿podría emerger un comportamiento cualitativamente más complejo en el sistema que no fuera predecible más complejo en el sistema que no fuera predecible por el modelo? por el modelo?

… … y mucho más…y mucho más…

Muchas Gracias por su Muchas Gracias por su atenciónatención

Si tienen cualquier comentario o Si tienen cualquier comentario o buscan más información, no duden buscan más información, no duden en ponerse en contacto conmigo en en ponerse en contacto conmigo en la siguiente dirección:la siguiente dirección:

fsancho@us.esfsancho@us.es