Transcript
Page 1: Polymorphic P  Systems

Polymorphic P Systems

Artiom AlhazovSergiu IvanovYurii Rogozhin

Hiroshima University. Higashi-Hiroshima, Japan

Chişinău, Moldova

Institute of Mathematics and Computer ScienceAcademy of Sciences of Moldova{artiom, sivanov,rogozhin}@math.md

Technical University of Moldova

repeat N times{if(STATE=0)increment A else decrement A; (code not using STATE)}

if(STATE=0)INSTR="increment“ else INSTR="decrement";repeat N times{INSTR A; (code not using STATE)}

Page 2: Polymorphic P  Systems

Three motives for yet another extension

• Practical problems need more than just computational completeness– Determinism; both input & output– Proper internal data representation– Efficiency; complicated data structures

• Von Neumann architecture– Program is data

• What is a Nucleus in P systems?– It is inside– It describes the rules

Page 3: Polymorphic P  Systems

Main idea• Most papers changing the active rules

– subsets of a predefined finite set

• What is data?– Multisets in regions

• Most natural way to specify rules as data– Interpret a pair of regions as a rule

– Contents left/right side of the rule

a128

aa 1L a 1R

2L b 2RInput over a

s

• Input: byte (in unary).• Output: number of bits 1• R={2:anb, 1:nn/2}

Try it (time and descriptionally efficiently) with P systems studied so far

Page 4: Polymorphic P  Systems

Definition: polymorphic P systems=(O,T,μ,ws,w1L,w1R,…,wmL,wmR,,iout),

• H={s,1L,1R,…,mL,mR},s=skin,parent(iL)=parent(iR),• No rules, only features. In this paper :HTar

• Example notation: OPk(polym+d(coo),tar)

• +d: disabling rules allowed (by left side=)

• coo: cooperative rules

• tar: targets allowed (here,inj,out).

• k: membrane bound. (thus #rules(k-1)/2)

Page 5: Polymorphic P  Systems

More definitions

• Initial rules are i:wiL(wiR,(i))Rparent(iL)

• -d: Regions iL are never empty

• Computing: Input O in iin.

• D: deterministic (for every input)• Deciding: T={yes,no}, confluent.

• Generating - N(), accepting – Na(), deciding – Nd(), computing a partial function in the deterministic case – f()

Page 6: Polymorphic P  Systems

Superexponential growth example1=({a},{a},μ,a,a,a,a,a,a,aa,,1),• μ=[[]1L[[]2L[[]3L[]3R]2R]1R]s, here.• In the rest of the talk – graphical notation.

aa 3L aa3R

2Ra 2La

1Ra 1La

s

R2R={aaa}R1R={aa}Rs={aa}skin: a

Initial rules

• Multisets defining rules are changing• Use “old contents”, i.e.

– compute all, then update

Page 7: Polymorphic P  Systems

Superexponential - continued

2

1

1

1

2

2

1

1

x

x

x

2

4

2

1

x

x

x

2

2n

2(n(n-1)/2)

2(n(n-1)(n-2)/6)

x

x

x

n

………

aa 3L aa3R

2Ra 2La

1Ra 1La

s

R2R={aaa}R1R={aa}Rs={aa}

R2R={aaa}R1R={aaa}

Rs={aa}

R2R={aaa}R1R={aaaaa}

Rs={aaa}

Exponential of polynomial

⇒n a2^n

a 3L aa3R

2Ra 2La2^(n(n-1)/2)

1Ra 1La2^(n(n-1)(n-2)/6)

s

R2R={aaa}R1R={aa1024}

Rs={aa35184372088832}skin:

a1329227995784915872903807060280344576

n=10

Page 8: Polymorphic P  Systems

Maximal Growth

• I: initial number of objects

• c: maximum right side size

• n: number of steps

• d: membrane structure depth

• Non-polymorphic systems: Icn

• Polymorphic, no targets: Icp(n), deg(p)=d-1

Page 9: Polymorphic P  Systems

Results

Universality with 47 membranesGenerating without cooperation and without disabling

Factorials with cooperationGenerating even faster with targets

Computing functionsStay tuned

Page 10: Polymorphic P  Systems

NOP47(polym-d(coo))=NRE

• [AlhazovVerlan2008]: strongly universal P system with 1 membrane and 23 rules

• Each rule i:uv becomes [u]iL[v]iR

– total of 47 membranes.

• Focus: efficiency of computations– e.g., generating/deciding factorials by

constant-time multiplication of variable factors.

Page 11: Polymorphic P  Systems

Targets. No cooperation• {n!nk|n1,k0}NOP13(polym-d(ncoo),tar)

• b produces copies of d– erased non-deterministically

• d enters 1R as a, increasing n in 1: aan

• The number of objects a in skin is multiplied by n– Until rule 3 changes rule 1 to can. Non-det.

• If b is erased too soon, multiplication continues without growing n.

a 2L a 2R

3Ra 3L

a1L

a1R ab

s

c

b 4L bd4R

b 5L 5R

d 6L a 6R

2:aa3:ac

a1L

a1R

4:bbd 5:b 6:d(a,in1R)

ab s

Page 12: Polymorphic P  Systems

Remarks• If multiplication stops while n still grows, a

factorial of a smaller number is generated

• The shortest computation generating n!nk is only n+k+1

• To generate exactly factorials– We need to stop the multiplication when we

stop the increment– Seems impossible without cooperative rules.

Page 13: Polymorphic P  Systems

Exactly factorials• {n!|n1}NOP9(polym-d(coo),tar)

• Similar to the previous system

• Rule 3 stops both incre-ment and multiplication

• A non-cooperative rule1:acan is actually neverapplied; used to stop the computation.

• n! are generated in n+1 step.

a1L

a1R

2:bbd 3:b(c,in1L)4:d(a,in1R)

ab s

Page 14: Polymorphic P  Systems

Yet faster growth

• Polymorphic, no targets: exponential of polynomial

• Polymorphic, targets: exponential of exponential.

• Upper bound– The fastest growth is by squaring– Having n+n+1 objects, in one step we can

obtain at most n2+n+1 objects.

Page 15: Polymorphic P  Systems

Lower bound: Superpowers

• {2^(2n)|n0}NOP15(polym-d(ncoo),tar) iterated squaring (b,s)⇒2(a,s)

(b,1R) ak ⇒(1:abk) bkk

rule 4: cleanup• Stopped by rule 3 making 1:cbk.• Numbers 2^(2n) generated in 3n+2 steps.• No cooperation! Reminder: 15 membranes.

2:aa3:ac

a1L 1R

5:ba’b’ 6:a’a 7:b’(b,in1R)

bb s

4:b

,,2,,,4,,,16,,,256,,,65536,,,4294967296,,,18446744073709551616,,, …

Page 16: Polymorphic P  Systems

Deterministic computing

• ( n2^(2n) )DfOP15(polym+d(coo),tar)

• Similar to the previous system– a in 1L powers one squaring– Input dn in skin– cd ⇒3 ca in 1L

Page 17: Polymorphic P  Systems

Deterministic computing: remarks

• Disabling rules may be avoided: +d -d– a‘s appear in skin every 3rd step– No need to disable rule 1 in the process of computing– Deterministic subtraction and appearance checking– c moves into 1L and blocks rule 1– n2^(2n) computed in O(n)

Page 18: Polymorphic P  Systems

Deterministic deciding• {n!|n1}NdDOP37(polym-d(coo),tar)

• Deciding is more than accepting• Iterated division of the input number

– 4-step cycles– Verifying quotient and remainder

• A number kn! is decided in at most 4n steps (sublogarithmic w.r.t. k)

Page 19: Polymorphic P  Systems

Summary - 1• Polymorphic P systems as a variant of object

rewriting model of P systems: rules are– Not specified explicitly (only features e.g. targets are)– Dynamically inferred from the contents of inner

regions• Idea: similar with cell nucleus, but simpler• Conventional computing: von Neumann

architecture VS Harvard architecture• Usual P systems cannot grow with factorial

speed; polymorphic P systems can deterministically decide factorials of n in O(n)

• Nice possibilities like constant-time multiplication/division

• Extensions possible

Page 20: Polymorphic P  Systems

Summary - 2• Strong universality in OP47(polym-d(coo))

• Superexp. growth in DOP7(polym-d(ncoo))

• Gen. {n!nk}, n+k+1steps, OP13(polym-d(ncoo),tar)

• Gen. n! in n+1steps, OP9(polym-d(coo),tar)

• Generating 2^(2n) in 3n+2 steps by a P system in OP15(polym-d(coo),tar)

• Computing n2^(2n) in O(n) steps by a P system in DOP*(polym-d(coo),tar)

• Deciding factorials in sublogarithmic time by a P system in DOP37(polym-d(coo),tar)

Page 21: Polymorphic P  Systems

Summary - 3• Growth

– polymorphic with targets (exp of exp)– polymorphic without targets (exp of poly)– non-polymorphic (exp)

• There exists infinite sets of numbers that are accepted in time which is sublinear w.r.t. the size of the input in binary representation (without cheating by only examining a part of the input).

• Selected open questions– Characterization of restricted classes

like OP*(polym-d(ncoo),ntar)– “Real” applications for which non-polymorphic P systems are not

suitable– Can polymorphic P systems use superexponential growth to

attack intractable problems in polytime? (Conjecture: no)

>>

Page 22: Polymorphic P  Systems

On one slide• Strong universality in OP47(polym-d(coo))

• Superexp. growth in DOP7(polym-d(ncoo))

• Gen. {n!nk}, n+k+1steps, OP13(polym-d(ncoo),tar)

• Gen. n! in n+1steps, OP9(polym-d(coo),tar)

• Generating 2^(2n) in 3n+2 steps by a P system in OP15(polym-d(ncoo),tar)

• Computing n2^(2n) in O(n)steps by a P system inDOP*(polym-d(coo),tar)

• Deciding factorials in sublogarithmic time by a P system in DOP37(polym-d(coo),tar)Thank youThank you for your questions

a128aa 1L a 1R

2L b 2R

a85

s⇒8

aaa 1L a 1R

2L b 2R

b4

s


Top Related