View
4
Download
0
Category
Preview:
Citation preview
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
marper@us.es
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 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
Recommended