simulacion y an alisis computacional en biolog ia de...

48
SIMULACI ´ ON Y AN ´ ALISIS COMPUTACIONAL EN BIOLOG ´ IA DE SISTEMAS Tema IV: Modelizaci´ on computacional basada en sistemas P. Modelos estoc´ asticos y probabil´ ısticos Mario de J. P´ erez Jim´ enez Grupo de Investigaci´on en Computaci´on Natural Dpto. Ciencias de la Computaci´on e Inteligencia Artificial Universidad de Sevilla [email protected] http://www.cs.us.es/~marper/ aster Universitario en L´ ogica, Computaci´ on e Inteligencia Artificial Curso 2015-2016

Upload: others

Post on 11-Feb-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

SIMULACION Y ANALISIS COMPUTACIONAL ENBIOLOGIA DE SISTEMAS

Tema IV: Modelizacion computacional basada en sistemas P.Modelos estocasticos y probabilısticos

Mario de J. Perez Jimenez

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

Universidad de Sevilla

[email protected]

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

Master Universitario en Logica, Computacion e Inteligencia ArtificialCurso 2015-2016

Contenido

I Metodologıa para disenar un marco de modelizacion.

I Marco formal de especificacion basado en sistemas P.

I Sistemas P multientornos:

• Orientacion estocastica.

• Orientacion probabilıstica.

I Sistemas P multicompartimentales.

• Algoritmo multicompartimental de Gillespie.

• Algoritmo determinista de tiempo de espera.

I Sistemas PDP (Population Dynamics P systems).

• Algoritmo BBB.

• Algoritmo DNDP.

• Algoritmo DCBA.

I Sistemas PGP (Probabilistic Guarded P systems).

• Algoritmo de simulacion.

2 / 48

Metodologıa para disenar un marco de modelizacion

EGFR FAS

Continuous P systems

3 / 48

Metodologıa para disenar un marco de modelizacion

EGFR FAS Lac Operon

Continuous P systems

P systems with Strings

4 / 48

Metodologıa para disenar un marco de modelizacion

EGFR FAS Lac Operon QS

Continuous P systems

P systems with Strings

Multienv.P systems

5 / 48

Metodologıa para disenar un marco de modelizacion

EGFR FAS Lac Operon QS

Continuous P systems

P systems with Strings

Multienv.P systems

MulticompartmentalP systems

6 / 48

Metodologıa para disenar un marco de modelizacion

EGFR FAS Lac Operon QSBearded Vulture

Continuous P systems

P systems with Strings

Multienv.P systems

Probabilistic P systems

MulticompartmentalP systems

7 / 48

Metodologıa para disenar un marco de modelizacion

EGFR FAS Lac Operon QSBearded Vulture

TritrophicPyrenean Chamois

Zebra mussel

Continuous P systems

P systems with Strings

Multienv.P systems

Probabilistic P systems

Multienv. Probabilistic func. ext.P systems with Active Membranes

MulticompartmentalP systems

8 / 48

Metodologıa para disenar un marco de modelizacion

EGFR FAS Lac Operon QSBearded Vulture

TritrophicPyrenean Chamois

Zebra mussel

Continuous P systems

P systems with Strings

Multienv.P systems

Probabilistic P systems

Multienv. Probabilistic func. ext.P systems with Active Membranes

MulticompartmentalP systems

PDP sytems

9 / 48

Metodologıa para disenar un marco de modelizacion

EGFR FAS Lac Operon QSBearded Vulture

TritrophicPyrenean Chamois

Zebra mussel

Continuous P systems

P systems with Strings

Multienv.P systems

Probabilistic P systems

Multienv. Probabilistic func. ext.P systems with Active Membranes

MulticompartmentalP systems

PDP sytems

MultienvironmentP systems

10 / 48

Metodologıa para disenar un marco de modelizacion

EGFR FAS Lac Operon QSBearded Vulture

TritrophicPyrenean Chamois

Zebra mussel

Continuous P systems

P systems with Strings

Multienv.P systems

Probabilistic P systems

Multienv. Probabilistic func. ext.P systems with Active Membranes

MulticompartmentalP systems

PDP sytems PGP sytems

Pieris Oleracea

MultienvironmentP systems

11 / 48

Metodologıa para disenar un marco de modelizacion

EGFR FAS Lac Operon QSBearded Vulture

TritrophicPyrenean Chamois

Zebra mussel

Continuous P systems

P systems with Strings

Multienv.P systems

Probabilistic P systems

Multienv. Probabilistic func. ext.P systems with Active Membranes

MulticompartmentalP systems

PDP sytems PGP sytems

Pieris Oleracea

MultienvironmentP systems

MultienvironmentP systems

12 / 48

Metodologıa para disenar un marco de modelizacion

EGFR FAS Lac Operon QSBearded Vulture

TritrophicPyrenean Chamois

Zebra mussel

Continuous P systems

P systems with Strings

Multienv.P systems

Probabilistic P systems

Multienv. Probabilistic func. ext.P systems with Active Membranes

MulticompartmentalP systems

PDP sytems PGP sytems

Pieris Oleracea

MultienvironmentP systems

MultienvironmentP systems

Stochastic Approach Probabilistic Approach

13 / 48

Marco formal de especificacion basado en sistemas P

Esqueleto de un sistema P de grado q ≥ 1: Π = (Γ, µ,R), en donde

I Γ es un alfabeto (de trabajo);

I µ es una estructura de membranas: q membranas etiquetadasinyectivamente por 1, . . . , q (1 etiqueta la membrana piel), con cargaselectricas del conjunto {0,+,−};

I R es un conjunto finito de reglas sobre Γ del tipo r : u[ v ]αi → u′[ v ′ ]α′

i ,en donde u, v , u′, v ′ ∈ Mf (Γ), i ∈ {1, . . . , q}, y α, α′ ∈ {0,+,−}.

Es un conjunto de membranas polarizadas jerarquizado por una estructura µ.Inicialmente, todas las membranas estan con carga neutra.

14 / 48

Sistemas P multientorno (I)Sistema P multientorno de grado (q,m, n) y con T unidades de tiempo:

Π = (G , Γ,Σ,Φ,T , n =m∑

j=1

nj , {Πk,j | 1 ≤ k ≤ nj , 1 ≤ j ≤ m}, {(fj , Ej ) | 1 ≤ j ≤ m},RE )

• G = (V , S) es un grafo dirigido con m ≥ 1 nodos. Sea V = {e1, . . . , em}.

• Γ,Σ y Φ son alfabetos tales que Σ ⊆ Γ y Γ ∩ Φ = ∅.

• T y n son numeros naturales mayores o iguales que 1, con n =∑m

j=1 nj y nj ≥ 0

• Para cada k, j (1 ≤ k ≤ nj , 1 ≤ j ≤ m), Πk,j = (Γ, µ,Mk1,j , . . . ,M

kq,j ,Rj , iin), en donde:

? µ un arbol enraizado con q ≥ 1 nodos etiquetados por elementos de {1, . . . , q} × {0,+,−}.

? Para cada i , 1 ≤ i ≤ q, se tiene queMki,j ∈ Mf (Γ).

? Rj es un conjunto finito de reglas del tipo: u[v ]αip−→ u′[v′]α

′i , siendo u, v, u′, v′ ∈ Mf (Γ),

1 ≤ i ≤ q, α, α′ ∈ {0,+,−} y p una funcion computable cuyo dominio es {0, . . . ,T}.

? iin un nodo de µ.

• Para cada j , 1 ≤ j ≤ m, fj ∈ Φ y Ej ∈ Mf (Σ).

• RE es un conjunto finito de reglas del entorno del tipo

(x)ej

p1−→ (y1)ej1· · · (yh)ejh

; (Πk,j )ej

p2−→ (Πk,j )ej1; {f } (u)ej

p3−→ (v)ej1; {f } (u, f )ej

p4−→ (v, g)ej

donde x, y1, . . . yh ∈ Σ, (ej , eji) ∈ S, 1 ≤ j ≤ m, 1 ≤ i ≤ h, 1 ≤ k ≤ n, f , g ∈ Φ, u, v ∈ Mf (Γ) y

p1, p2, p3, p4 son funciones computables cuyo dominio es {0, . . . ,T}.

15 / 48

Sistemas P multientorno (II)Un sistema P multientorno de grado (q,m, n) y con T unidades de tiempo:

• Es un conjunto que consta de:

? m entornos conectados entre sı por los arcos de un grafo dirigido G .? n sistemas P de orden q, Πk,j , todos ellos con el mismo esqueleto (identicos alfabetos, la misma

estructura de membranas y las mismas reglas, individualizadas por funciones computables).

• En cada instante, un entorno ej tiene un un unico flag y, ademas, solo puede contener objetos de Σ ysistemas P del tipo Πk,j

• Inicialmente, en cada entorno ej existiran nj sistemas Πk,j .

• Aplicabilidad de una regla del tipo u[v ]αip−→ u′[v′]α

′i : mediante su aplicacion, los multiconjuntos u, v

producen u′, v′, resp., y la carga de la membrana i pasa a ser α′.

• Aplicabilidad de una regla del entorno del tipo (x)ej

p1−→ (y1)ej1· · · (yh)ejh

: mediante su aplicacion, el

objeto x pasa del entorno ej a los entornos ej1, . . . , ejh

transformandose en y1, . . . yh , respectivamente

• Aplicabilidad de una regla del entorno del tipo (Πk,j )ej

p2−→ (Πk,j )ej′: mediante su aplicacion, el sistema

Πk,j pasa de ej a ej′

• Aplicabilidad de una regla del entorno del tipo {f } (u)ej

p3−→ (v)ej1: mediante su aplicacion, el

multiconjunto u produce el multiconjunto v conservandose el flag f en ej . Como el flag f no se consume,esta regla se puede aplicar multiples veces en un solo paso.

• Aplicabilidad de una regla del entorno del tipo {f } (u, f )ej

p4−→ (v, g)ej: mediante su aplicacion, el

multiconjunto u produce el multiconjunto v y el flag f produce el flag g . Como el flag f se consume ycada entorno tiene un unico flag, esta regla solo se puede aplicar una vez, a lo sumo, en cada paso.

• Las funciones p(t), p1(t), p2(t), p3(t), p4(t) proporcionan las afinidades de aplicacion de las reglas.

16 / 48

Sistemas P multientorno (III)

Orientacion ESTOCASTICA

• El alfabeto Φ de los flags es vacıo.

• Los n sistemas Πk,j son independientes del ındice j (ese ındice es irrelevante en estos sistemas).

• En el instante inicial, los n sistemas Πk,j son distribuidos aleatoriamente entre los m entornos del sistema.

• Las funciones computables asociadas a las reglas son propensidades (obtenidas a partir de las constantescineticas): No dependen del entorno aunque sı del tiempo.

e1 e2

e3 e4

• Dinamica del sistema: algoritmo multicompartimental de Gillespie o algoritmo determinista de tiempo deespera.

17 / 48

Sistemas P multientorno (IV)

Orientacion PROBABILISTICA

• El numero n de sistemas Πk,j es, a lo sumo, el numero m de entornos; es decir, n ≤ m.

• Las funciones p asociadas a las reglas r ≡ u[v ]αip−→ u′[v′]α

′i de Πk,j son funciones de probabilidad

tales que la suma de las funciones asociadas a las reglas de Rj cuya LHS es u [ v ]αi , suman 1 en cadainstante t (0 ≤ t ≤ T ).

• Las funciones p1 asociadas a las reglas de entorno (x)ej

p1−→ (y1)ej1· · · (yh)ejh

son funciones de

probabilidad tales que la suma de las funciones asociadas a las reglas cuya LHS es (x)ej, suman 1 en cada

instante t (0 ≤ t ≤ T ).

• Las funciones p2 asociadas a las reglas del entorno (Πk,j )ej

p2−→ (Πk,j )ej′son constantes e igual a 0.

• Las funciones p3 asociadas a las reglas del entorno {f } (u)ej

p3−→ (v)ej1son funciones de probabilidad.

• Las funciones p4 asociadas a las reglas del entorno {f } (u, f )ej

p4−→ (v, g)ejson funciones de

probabilidad.

• No existen reglas u[v ]αip−→ u′[v′]α

′i en la membrana piel de los sistemas P y reglas del entorno

(x)ej

p1−→ (y1)ej1· · · (yh)ejh

tales que x ∈ u.

• En el instante inicial, cada entorno ej contiene, a lo sumo, un sistema Πk,j .

18 / 48

Sistemas P multientorno (V)

Orientacion PROBABILISTICA

e1 e2

e3 e4

• Dinamica del sistema: algoritmo BBB1, algoritmo DNDP2 y algoritmo DCBA3.

1M. Cardona, M.A. Colomer, A. Margalida, A. Palau, I. Perez-Hurtado, M.J. Perez-Jimenez, D. Sanuy. A

computational modeling for real ecosystems based on P systems. Natural Computing, 10, 1 (2011), 39-53.2

M.A. Martınez, I. Perez-Hurtado, M.J. Perez-Jimenez, A. Riscos, M.A. Colomer. A new simulation algorithmfor multienvironment probabilistic P systems. In K. Li, Z. Tang, R. Li, A.K. Nagar, R. Thamburaj (eds.)Proceedings 2010 IEEE Fifth International Conference on Bio-inpired Computing: Theories and Applications, IEEEPress, Volume 1, September 23-26, 2010, Changsha, China, pp. 59-68.

3M.A. Martınez, I. Perez, M. Garcıa–Quismondo, L.F. Macıas, L. Valencia, A. Romero, C. Graciani, A. Riscos,

M.A. Colomer, M.J. Perez. DCBA: Simulating population dynamics P systems with proportional objectsdistribution. Lecture Notes in Computer Science, 7762 (2013), 257-276

19 / 48

Sistemas P multicompartimentales

Son sistemas P multientorno con orientacion estocastica:

Π = (G , Γ,Σ,Φ,T , n, {Πk , {Πk | 1 ≤ k ≤ n}, {Ej | 1 ≤ j ≤ m},RE )

• G = (V , S) es un grafo dirigido con m ≥ 1 nodos. Sea V = {e1, . . . , em}.

• Γ y Σ son alfabetos tales que Σ $ Γ. Ademas, Φ = ∅ .

• T y n son numeros naturales mayores o iguales que 1.

• Para cada k, 1 ≤ k ≤ n, Πk = (Γ, µ,Mk1 , . . . ,M

kq ,R, iin), en donde:

? µ un arbol enraizado con q ≥ 1 nodos etiquetados por elementos de {1, . . . , q} × {0,+,−}.

? Para cada i , 1 ≤ i ≤ q, se tiene queMki ∈ Mf (Γ).

? R es un conjunto finito de reglas del tipo: u[v ]αip−→ u′[v′]α

′i , siendo u, v, u′, v′ ∈ Mf (Γ),

1 ≤ i ≤ q, α, α′ ∈ {0,+,−} y p una funcion computable cuyo dominio es {0, . . . ,T} que

representa la propensidad (no depende del entorno ej ).

? iin un nodo de µ.

• Para cada j , 1 ≤ j ≤ m, Ej ∈ Mf (Σ).

• RE es un conjunto finito de reglas del tipo (x)ej

p1−→ (y1)ej1· · · (yh)ejh

; (Πk )ej

p2−→ (Πk )ej1donde

x, y1, . . . yh ∈ Σ, (ej , eji) ∈ S , 1 ≤ j ≤ m, 1 ≤ i ≤ h, 1 ≤ k ≤ n y p1, p2 son propensidades cuyo

dominio es {0, . . . ,T} y no dependen de ej .

20 / 48

Sistemas P multicompartimentales

• Es un conjunto que consta de:

? m entornos conectados entre sı por los arcos de un grafo dirigido G .? n sistemas P de orden q, Πk , todos ellos con el mismo esqueleto (identicos alfabetos, la misma

estructura de membranas y las mismas reglas, individualizadas por funciones computables).

• En el instante inicial, los n sistemas Πk son distribuidos aleatoriamente entre los m entornos del sistema.

• En cada instante, un entorno ej solo puede contener objetos de Σ y algunos sistemas P.

• Aplicabilidad de una regla del tipo u[v ]αip−→ u′[v′]α

′i : mediante su aplicacion, los multiconjuntos u, v

producen u′, v′, resp., y la carga de la membrana i pasa a ser α′.

• Aplicabilidad de una regla del entorno del tipo (x)ej

p1−→ (y1)ej1· · · (yh)ejh

: mediante su aplicacion, el

objeto x pasa del entorno ej a los entornos ej1, . . . , ejh

transformandose en y1, . . . yh , respectivamente

• Aplicabilidad de una regla del entorno del tipo (Πk )ej

p2−→ (Πk )ej′: mediante su aplicacion, el sistema

Πk pasa de ej a ej′

• Las funciones p(t), p1(t), p2(t) proporcionan las afinidades de aplicacion de las reglas.

• Dinamica del sistema: algoritmo multicompartimental de Gillespie o algoritmo determinista de tiempo deespera.

21 / 48

Population Dynamics P systems (PDP)Son sistemas P multientorno con orientacion probabilıstica:

Π = (G , Γ,Σ,Φ,T , n, {Πk | 1 ≤ k ≤ n}, {Ej | 1 ≤ j ≤ m},RE )

• m = n.

• G = (V , S) es un grafo dirigido con m ≥ 1 nodos. Sea V = {e1, . . . , em}.

• Γ y Σ son alfabetos tales que Σ $ Γ. Ademas, Φ = ∅ .

• T y n son numeros naturales mayores o iguales que 1.

• Para cada k, 1 ≤ k ≤ n, Πk = (Γ, µ,M1, . . . ,Mq ,R, iin), siendo:

? µ un arbol enraizado con q ≥ 1 nodos etiquetados por elementos de {1, . . . , q} × {0,+,−}.

? Para cada i , 1 ≤ i ≤ q,Mi ∈ Mf (Γ).

? R es un conjunto finito de reglas del tipo: u[v ]αip−→ u′[v′]α

′i ; en donde u, v, u′, v′ ∈ Mf (Γ),

1 ≤ i ≤ q, α, α′ ∈ {0,+,−} y p es una funcion de probabilidad con dominio {0, . . . ,T}.

Ademas, la suma de las probabilidades asociadas a las reglas cuya LHS es u [ v ]αi vale 1 en cada

instante t (0 ≤ t ≤ T ).

? iin un nodo de µ.

• Para cada j , 1 ≤ j ≤ m, Ej ∈ Mf (Σ).

• RE es un conjunto finito de reglas del entorno del tipo (x)ej

p1−→ (y1)ej1· · · (yh)ejh

, donde

x, y1, . . . yh ∈ Σ, (ej , eji) ∈ S , 1 ≤ j ≤ m, 1 ≤ i ≤ h, u, v ∈ Mf (Γ) y p1 es una funcion de

probabilidad cuyo dominio es {0, . . . ,T}. Ademas, la suma de todas las funciones asociadas a las reglascuya parte izquierda es (x)ej

, suman 1 en cada instante t (0 ≤ t ≤ T ).

• No existen reglas u[v ]αip−→ u′[v′]α

′i en la membrana piel de los sistemas P y reglas del entorno

(x)ej

p1−→ (y1)ej1· · · (yh)ejh

tales que x ∈ u.

• En el instante inicial, cada entorno ej contiene exactamente un sistema Πk .

22 / 48

PDP systems

Un sistema PDP de grado (q,m) consta de un conjunto de m entornose1, . . . , em interconectados por los arcos de un grafo dirigido G , cada uno de loscuales contiene un sistema P “ordinario”.

• Cada entorno ej solo puede contener sımbolos del alfabeto Σ y, ademas,un unico sistema Πk = (Γ, µ,M1, . . . ,Mq,R, iin), de tal manera que:

(a) Los multiconjuntos iniciales de Πk dependen del entorno ej .

(b) Las funciones de probabilidad asociadas a las reglas de Πk dependen del entorno ej .

• Las funciones de probabilidad asociadas a las reglas del entorno ej

dependen de ese entorno.

La semantica de los sistemas PDP vendra determinada por un algoritmo de

simulacion.

23 / 48

Probabilistic Guarded P systems (PGP)

Son sistemas P multientorno con orientacion probabilıstica:

Π = (G , Γ,Σ,Φ,T , n, {Πk,j | 1 ≤ k ≤ n, 1 ≤ j ≤ m}, {(fj , Ej ) | 1 ≤ j ≤ m},RE )

• G = (V , S) es un grafo dirigido con un solo nodo.

• Σ y Φ son alfabetos tales que Σ ∩ Φ = ∅. Ademas, Γ = Σ .

• T ≥ 1 es un numero natural y n = 0 (luego no existen sistemas P del tipo Πk,j ).

• Para cada j , 1 ≤ j ≤ m, fj ∈ Φ y Ej ∈ Mf (Σ).

• RE es un conjunto finito de reglas del entorno del tipo:

? {f } (u)ej

p3−→ (v)ej1.

? {f } (u, f )ej

p4−→ (v, g)ej.

En donde f , g ∈ Φ, u, v ∈ Mf (Σ), 1 ≤ j, j1 ≤ m. (ej , ej1) ∈ S y p3, p4 son funciones de probabilidad

cuyo dominio es {0, . . . ,T}. Ademas, para cada f ∈ Φ, u ∈ Mf (Σ) y 1 ≤ j ≤ m se verifica que:

? Solo existe una regla cuya LHS es {f } (u, f )ej. Ademas, la probabilidad asociada a esa regla es 1.

? La suma de las probabilidades asociadas a las reglas cuya LHS es {f } (u)ej, vale 1.

Diremos que el grado del anterior sistema PGP es m.

24 / 48

PGP systems

Un sistema PGP de grado m se puede expresar brevemente a traves de una tupla

Π = (Σ,Φ, (f1, E1), . . . , (fm, Em),RE , pRE)

y se puede considerar como un conjunto de m entornos (que,en este caso, denominaremos celulas) interconectadospor los arcos de un grafo que viene dado implıcitamente en la estructura a traves del conjunto de reglas RE .

• Cada entorno contiene un unico flag (un elemento de Φ) en cada instante. Podemos imaginar que los flagsestan sobre los entornos/celulas. Inicialmente, el flag del entorno ej es fj .

• Cada entorno contiene un multiconjunto finito de objetos sobre Σ. Podemos imaginar que los objetosestan en/dentro de los entornos/celulas. Inicialmente, el multiconjunto de objetos del entorno ej esMj .

• Existe un conjunto finito de reglas del entorno que son de la forma:

? {f } (u)ej−→ (v)ej1

(esta regla determina un arco ej → ej1).

? {f } (u, f )ej−→ (v, g)ej

(esta regla determina un arco ej → ej ).

En donde f , g ∈ Φ, u, v ∈ Mf (Σ) y 1 ≤ j, j1 ≤ m. Estas reglas satisfacen las condiciones antesdescritas.

• pREes una funcion que asigna una probabilidad a cada regla del sistema.

25 / 48

Semantica de los PGP systems

Configuracion de Π = (Σ,Φ, (f1, E1), . . . , (fm, Em),RE , pRE) en un instante t:

• Una tupla (x1, u1, . . . , xm, um), donde xi ∈ Φ y ui ∈ Mf (Σ) (1 ≤ i ≤ m).

La configuracion inicial de Π es (f1, E1, . . . , fm, Em).

• Una regla del tipo {f } (u)ej

p3−→ (v)ej1es aplicable a una configuracion Ct = (x1, u1, . . . , xm, um) del

sistema en un instante t si xj = f y u ⊆ uj .

? La aplicacion de dicha regla elimina el multiconjunto u del entorno ej y produce el multiconjunto v

en el entorno ej1.

• Una regla del tipo {f } (u, f )ej

p4−→ (v, g)ejes aplicable a una configuracion Ct = (x1, u1, . . . , xm, um)

del sistema en un instante t si xj = f y u ⊆ uj .

? La aplicacion de dicha regla cambia el flag del entorno ej de f a g y reemplaza el multiconjunto u

por el multiconjunto v en el entorno ej .

• A partir de aquı se definen los conceptos semanticos habituales: configuracion de parada, paso detransicion, computacion del sistema, computacion de parada y resultado de una computacion.

26 / 48

Sistemas P multicompartimentales - PDP - PGP

Alfabeto de TRABAJO: ΓAlfabeto de los ENTORNOS: ΣAlfabeto de los FLAGS: Φ

Σ ⊆ Γ y Γ ∩ Φ = ∅

n sistemas P

? Reglas de los sistemas P:

∗ u[v ]αip−→ u′[v′]α

′i (tipo 0).

m entornos

? Reglas de los entornos:

∗ (x)ej

p1−→ (y1)ej1· · · (yh)ejh

(tipo 1).

∗ (Πk,j )ej

p2−→ (Πk,j )ej′(tipo 2).

∗ {f } (u)ej

p3−→ (v)ej1(tipo 3).

∗ {f } (u, f )ej

p4−→ (v, g)ej(tipo 4).

27 / 48

Sistemas P multicompartimentales - PDP - PGP

? SISTEMAS P MULTICOMPARTIMENTALES

♣ El alfabeto de los entornos esta estrıctamente contenido en el alfabeto de trabajo: Σ ( Γ.

♣ NO hay flags: Φ = ∅.

♣ Solo hay reglas de los tipos 0, 1 y 2 (es decir, p3(t) = p4(t) = 0).

♣ Inicialmente, los n sistemas P estan distribuidos aleatoriamente entre los m entornos.

? SISTEMAS PDP

♣ El alfabeto de los entornos esta estrıctamente contenido en el alfabeto de trabajo: Σ ( Γ.

♣ NO hay flags: Φ = ∅.

♣ Solo hay reglas de los tipos 0 y 1 (es decir, p2(t) = p3(t) = p4(t) = 0).

♣ Inicialmente, en cada entorno existe un unico sistema P; es decir n = m.

? SISTEMAS PGP

♣ El alfabeto de los entornos coincide con el alfabeto de trabajo: Σ = Γ.

♣ NO hay sistemas P; es decir, n = 0.

♣ Solo hay reglas de los tipos 3 y 4 (es decir, p(t) = p1(t) = p2(t) = 0).

28 / 48

PDP: algoritmos de simulacion1. Binomial Block Based simulation algorithm (BBB)Input: A PDP system of degree (q,m) with q ≥ 1, m ≥ 1, taking T ≥ 1 time units.

Rules are classified into blocks (set of rules with the same LHS): rules from different blocks may have overlapping

Let Fb(N, p) be a function that returns a discrete random number within the binomial distribution B(N, p)

Rsel ← ∅for each step of simulation do

A random order on the family of blocks is considered

for all blocks, according to the considered order do

A random order on the rules of the block {r1, . . . , rt}, is selected

Let us suppose that the common LHS is u [v ]αi and their probabilities are cr1, . . . , crt , respectively

Let N the highest number such that uN appears in the parent membrane of i and vN appears in membrane i

d ← 1

for k = 1 to t − 1, according to the selected order, do

crk←

crkd

nrk← F (N, crk

)

N ← N − nrk

q ← 1− crk

d ← d ∗ q

Rsel ← Rsel ∪ {〈rk , nrk〉}

end for

nrt ← N

Rsel ← Rsel ∪ {〈rt , nrt 〉}end for

end for 29 / 48

BBB

Algoritmo de simulacion de los sistemas PDP: util en algunos casos.

Algunas desventajas:

I Necesita clasificar todas las reglas del sistema de acuerdo a la LHS.

I No contempla la competicion de varias reglas por un objeto.

I No chequea la consistencia de cargas en la seleccion de reglas.

30 / 48

2. Direct Non-deterministic Distribution algorithm with Probabilities

(DNDP)

Definiciones y notaciones:

? Dada una regla r , notaremos l(r) la LHS de dicha regla y r(r) la RHS.

? Dos reglas r y r ′ con las mismas etiquetas y cargas electricas para l(r) yl(r ′) se dicen que son consistentes si r(r) y r(r ′) tienen la misma cargaelectrica.

? pr,j (t) indica la probabilidad asociada a la regla r del sistema P situadoen el entorno j en el instante t.

31 / 48

DNDP

Esquema algorıtmico

Input: Un sistema PDP de grado (q,m, n), con T unidades de tiempo, Π, y unnumero natural K ≥ 1.

for t ← 0 to T do

Ct ← configuracion del sistema en el instante t

C ′t ← Ct

Inicializacion

Primera fase de seleccion: genera un multiconjunto consistente de reglas aplicables

Segunda fase de seleccion: genera un multiconjunto consistente y maximal de reglas aplicables

Ejecucion de las reglas seleccionadas

Ct+1 ← C ′t

end for

32 / 48

DNDP

Inicializacion

RΠ ← conjunto ordenado de reglas de Π

for j ← 1 to m do

RE ,j ← conjunto ordenado de reglas de RE relativo al entorno ej

Aj ← conjunto ordenado de reglas de RE,j con probabilidad mayor que 0 en el instante t

Mj ← conjunto ordenado de pares 〈label, charge〉, para toda membrana de Ct contenida en el entorno ej

Bj ← ∅

for each 〈h, α〉 ∈ Mj (siguiendo el orden considerado) do

Bj ← Bj ∪ conjunto ordenado de reglas u[v ]αh ← u′[v′]βh

de RΠ con probabilidad > 0 en t para ej

end forend for

33 / 48

DNDP

Primera fase de seleccion (consistencia)

for j ← 1 to m doR1

sel,j ← ∅R2

sel,j ← ∅for k ← 1 to K do

Dj ← Aj ∪ Bj con un orden aleatoriofor each r ∈ Dj (siguiendo el orden considerado) do

if r es consistente con las reglas en R1sel,j then

N′ ← max{numero de veces que r es aplicable a C ′t }if N′ > 0 then

if pr,j (t) = 1 then

n ← Fb(N′, 0.5)else

N ← max{numero de veces que r es aplicable a Ct}n ← Fb(N, pr,j (t))

if n > N′ thenn ← N′

end ifend ifif n > 0 then

C ′t ← C ′t − n · l(r)

R1sel,j ← R1

sel,j ∪ {< r, n >}else

R2sel,j ← R2

sel,j ∪ {< r, n >}end if

end ifend if

end forend for

end for34 / 48

DNDP

Segunda fase de seleccion (maximalidad)

for j ← 1 to m do

Rsel,j ← R1sel,j + R2

sel,j orden decreciente en funcion de las probabilidades de las reglas

for each < r, n >∈ Rsel,j (siguiendo el orden seleccionado) do

if n > 0 ∨ (r es consistente con las reglas de R1sel,j ) then

N′ ← max{numero de veces que r es aplicable a C ′t }

if N′ > 0 then

R1sel,j ← R1

sel,j ∪ {< r,N′ >}

C ′t ← C ′t − N′ · l(r)

end if

end if

end for

end for

Ejecucion de las reglas seleccionadas

for each < r, n >∈ R1sel,j do

C ′t ← C ′t + n · r(r)

Actualizar las cargas electricas de C ′t de acuerdo con r(r)

end for

35 / 48

3. Direct distribution based on Consistent Blocks Algorithm (DCBA)

Desventaja algoritmo DNDP: distorsion en la forma en que las reglas sonseleccionadas.

I En vez de seleccionar reglas segun sus probabilidades de manera uniforme,este proceso de seleccion sesga aquellas con menor probabilidad.

Nuevo algoritmo: Direct distribution based on Consistent Blocks Algorithm

I Algoritmo DCBA: realiza una distribucion uniforme de los recursos aaquellos “bloques” que compiten por ellos.

I Hace uso de un nuevo concepto: bloque consistente.

36 / 48

DCBA

Parte izquierda y parte derecha de una regla:

(a) Dada una regla r ∈ RE de la forma (x)ej

pr−−−→ (y1)ej1· · · (yh)ejh

donde ej ∈ V y

x, y1, . . . , yh ∈ Σ:

? La parte izquierda de r es LHS(r) = (ej , x).

? La parte derecha de r es RHS(r) = (ej1, y1) · · · (ejh

, yh).

(b) Dada una regla r ∈ R de la forma u[v ]αi → u′[v′]α′

i donde 1 ≤ i ≤ q, α, α′ ∈ {0,+,−} y

u, v, u′, v′ ∈ Γ∗:

? La parte izquierda de r es LHS(r) = (i, α, u, v). La carga de LHS(r) es charge(LHS(r)) = α.

? La parte derecha de r es RHS(r) = (i, α′, u′, v′). La carga de RHS(r) es charge(RHS(r)) = α′.

La carga de LHS(r) es la segunda componente de la tupla (idem para RHS(r)).

Dados x ∈ Γ, l ∈ H, y r ∈ R tales que LHS(r) = (i, α, u, v), diremos que (x, l) aparece en LHS(r) conmultiplicidad k en cualquiera de los siguientes casos:

∗ l = i , y x aparece en el multiconjunto v con multiplicidad k.

∗ l es la etiqueta de la membrana padre de i , y x aparece en el multiconjunto u con multiplicidad k.

37 / 48

DCBA

Bloque asociado a (i , α, u, v):

I Bi,α,u,v = {r ∈ R : LHS(r) = (i , α, u, v)}.

Bloque asociado a (ej , x):

I Bej ,x = {r ∈ RE : LHS(r) = (ej , x)}.

Dos reglas, r1 ≡u1[v1]α1i1→ u′1[v ′1]

α′1i1

y r2 ≡u2[v2]α2i2→ u′2[v ′2]

α′2i2

, sonconsistentes si y solo si (i1 = i2 ∧ α1 = α2 → α′1 = α′2)

Un conjunto de reglas es consistente si todo par de reglas del conjunto esconsistente.

El bloque Bi,α,u,v es consistente si y solo si existe α′ tal que, para cadar ∈ Bi,α,u,v , charge(RHS(r)) = α′.

Bloques mutuamente consistentes.

38 / 48

DCBA

Esquema algorıtmico: Procedimiento principal DCBA

Input: Un sistema PDP de grado (q,m, n), con T unidades de tiempo, Π, unnumero natural K ≥ 1, y un numero natural A ≥ 1 (Precision). Laconfiguracion inicial se denomina C0.

Inicializacionfor t ← 1 to T do

Calcular funciones de probabilidad fr,j (t) y pr (t).

C ′t ← Ct−1

Seleccion de reglas:

? Fase 1 : distribucion

? Fase 2 : maximalidad

? Fase 3 : probabilidades

Ejecucion de reglas.

Ct ← C ′t

end for

39 / 48

DCBA

Inicializacion: se construye una tabla estatica T (para cada entorno j , Tj )

I Se disponen los bloques en las columnas, y los objetos del alfabetoasociado a cada region del sistema en las filas.

I Asocia bloques y objetos por region segun las partes izquierdas.

I Esta informacion se complementa con los bloques asociados a las reglasde comunicacion entre entornos.

I Cada columna de Tj contiene la informacion correspondiente a la parteizquierda del bloque.

I Cada fila de Tj contiene la informacion relacionada con la competicionpor objetos: dado un objeto, la fila indica cuales son los bloques que lorequieren.

40 / 48

DCBA

INICIALIZACION

Construccion de la tabla de distribucion estatica T :

I Etiquetas de columna: bloques Bi,α,α′,u,v de R.

I Etiquetas de fila: pares (x , i), para todo objeto x ∈ Γ, y 0 ≤ i ≤ q.

I En cada celda de la tabla poner 1k

si el objeto de la fila aparece en la LHSdel bloque de la columna con multiplicidad k.

for j = 1 to m do (Construir las tablas estaticas expandidas Tj )

Tj ← T (Inicializar la tabla con la original T )

Anadir una fila para cada bloque Bej ,x de RE , con el valor 1 en la fila (x , 0).

Inicializar los multiconjuntos B jsel ← ∅ y R j

sel ← ∅

end for

41 / 48

DCBAFASE DE SELECCION 1: DISTRIBUCIONfor j = 1 to m do

Aplicar filtros a la tabla Tj , usando C ′t y obteniendo T tj :

T tj ← Tj

Filtro 1 (T tj , C ′t ).

Filtro 2 (T tj , C ′t ).

Comprobar la consistencia mutua para los bloques restantes en T tj

si existe al menos una inconsistencia entoncesreportar el error, y acabar la ejecucion

Filtro 3 (T tj , C ′t )

a← 1hasta que (a > A) ∨ (Todos los mınimos del paso (*) son 0) repetir

for all file X in T tj do

RowSumX,t,j ← suma total de valores no nulos en la fila X .end forT Vt

j ← Tt

j (Una copia temporal)

for all posicion no nula (X , Y ) en T tj do

multX,t,j ← multiplicidad en C ′t y ej del objeto en fila X .

T Vtj (X , Y )← bmultX,t,j ·

(T tj (X,Y ))2

RowSumX,t,jc

end forfor all columna no filtrada, etiquetada por el bloque B, en T t

j do

(*) NaB ← minX∈rows(T t

j)(T Vt

j (X , B)) El mınimo de la columna)

C ′t ← C ′t − LHS(B) · NaB (Eliminar el LHS del bloque)

Bjsel← B

jsel

+ {BNa

B } (Acumular el valor al total)end forFiltro 2 (T t

j , C ′t )

Filtro 3 (T tj , C ′t ) a← a + 1

end for42 / 48

DCBA

La fase de seleccion 1 utiliza tres procedimientos de filtros auxiliares.

I El Filtro 1 descarta las columnas de la tabla correspondientes a bloquesno aplicables por discrepancia de cargas en la parte izquierda y laconfiguracion C ′t .

I El Filtro 2 descarta las columnas con objetos en la parte izquierda queno aparecen en C ′t .

I El Filtro 3 descarta filas vacıas.

Estos tres filtros son aplicados al comienzo de la Fase 1, y el resultado es una

tabla dinamica T tj .

43 / 48

DCBA

FASE DE SELECCION 2: MAXIMALIDAD

for j = 1 to m do

Elegir un orden aleatorio de los bloques restantes en la tabla T tj .

for all bloque B, siguiendo el orden impuesto

NB ← numero de aplicaciones posibles de B en C ′t .

Bjsel← B

jsel

+ {BNB } (Acumular el valor al total)

C ′t ← C ′t − LHS(B) · NB (Eliminar la LHS del bloque B, NB veces)

end for

end for

FASE DE SELECCION 3: PROBABILIDAD

for j = 1 to m do (Para cada entorno ej )

for all bloque BNB ∈ Bjsel

Calcular {n1, . . . , nl}, con una multinomial M(NB , g1, . . . , gl ) segun las probabilidades de r1, . . . , rl

for k = 1 to l

Rjsel← R

jsel

+ {rnkk}.

end for

end for

Bjsel← ∅ (Util para la siguiente iteracion)

end for

44 / 48

DCBA

EJECUCION

for j = 1 to m

for all regla r n ∈ R jsel (Aplicar las RHS de las reglas)

C ′t ← C ′t + n · RHS(r)

Actualizar las cargas electricas de C ′t con RHS(r).

end for

R jsel ← ∅ (Util para la siguiente iteracion)

end for

45 / 48

Software para los PDP systems

Hasta el momento se han desarrollado los siguientes simuladores del algoritmoDNDP:

I Implementacion en pLingua Core (Java).

? Version secuencial.

? Version paralela con hilos de la maquina virtual Java (un hilo para cada

entorno: la maquina no es lo suficientemente eficiente).

I Implementaciones basadas en C++ (empleando librerıas que nos permitan manejar

paralelismo real en plataformas paralelas).

46 / 48

PGP: Algoritmo de simulacion (sin competicion de objetos)

Sımbolo: un object o un flag.

Bloques: Bi,f ,u ≡ (LHS(r) = {f }[u]i ) and Bi,f ,u,f (LHS(r) = {f }[u, f ]i )

Inputs: Un PGP system y T > 0 unidades de tiempo

for t ← 1 to T do

Fase de seleccion:

Chequea los flags de los bloques.Distribuir los sımbolos disponibles entre los bloques.Consumir los sımbolos.

Distribuir las aplicaciones de las reglas de cada bloque (binomial con

parametros: la probabilidad de las reglas y el maximo numero de aplicaciones del bloque).

Fase de ejecucion:

Producir sımbolos.

Esta inspirado en el algoritmo DCBA4

4M.A. Martınez, I. Perez, M. Garcıa–Quismondo, L.F. Macıas, L. Valencia, A. Romero, C. Graciani, A. Riscos,

M.A. Colomer, M.J. Perez. DCBA: Simulating population dynamics P systems with proportional objectsdistribution. Lecture Notes in Computer Science, 7762 (2013), 257-276

47 / 48

Software para los PGP systems

Hasta el momento se han desarrollado los siguientes simuladores del algoritmoantes descrito:

I Implementacion en pLingua Core (Java).

I Implementaciones basadas en C++ (empleando librerıas que nos permitan manejar

paralelismo real en plataformas paralelas).

I Implementaciones basadas en CUDA/C++ (con la ventaja de usar la arquitectura

paralela de las tarjetas graficas GPUs).

Integration of PGP systems in P–Lingua.

48 / 48