Output Stability and Semilinear Sets ... -...
Transcript of Output Stability and Semilinear Sets ... -...
Output Stability and Semilinear Setsin
Chemical Reaction Networks and Deciders
Robert Brijder
Hasselt University, Belgium
DNA20, September 23, 2014
Robert Brijder Output Stability and Semilinear Sets in CRNs
Our question
Assuming a chemical reaction network computes something, hasthe chemical reaction network finished its computation in itscurrent state/configuration?
If yes, then read out its output and we are done.
Robert Brijder Output Stability and Semilinear Sets in CRNs
Chemical Reaction Network (CRN)
Finite set Λ = {X1, . . . ,Xn} of species.
Reaction α over Λ:
X1 + 2X2 → 2X1 + X3.
Concisely, α = (r , p) with r , p ∈ NΛ, reactants and productsof α. Example:
r =
X1 1X2 2X3 0
p =
X1 2X2 0X3 1
.
Definition
A Chemical Reaction Network (CRN) is a tuple (Λ,R) with Λ afinite set of species and R a finite set of reactions over Λ.
Robert Brijder Output Stability and Semilinear Sets in CRNs
Chemical Reaction Network (CRN) – Discrete
NΛ is the set of configurations. Model is discrete.
If c ∈ NΛ with c ≥ r (point-wise ≥), then we can apply α toc to obtain configuration c ′ = c − r + p, denoted c →α c ′.Example: for α : X1 + 2X2 → 2X1 + X3,
c =
X1 3X2 2X3 1
→α c ′ =
X1 4X2 0X3 2
.
Robert Brijder Output Stability and Semilinear Sets in CRNs
Reachability and Related models
For configurations c and c ′, if c →∗ c ′, then c ′ is reachablefrom c .
c
c ′
α1 α2
α1
Reachability questions can be equivalently stated in terms ofPetri Nets and Vector Addition Systems (VASs).
We consider a CRN as an “acceptor” of input instead of a“generator” of output (as done in Petri Net and VAS theory).
Robert Brijder Output Stability and Semilinear Sets in CRNs
Reachability and Related models
For configurations c and c ′, if c →∗ c ′, then c ′ is reachablefrom c .
c
c ′
α1 α2
α1
Reachability questions can be equivalently stated in terms ofPetri Nets and Vector Addition Systems (VASs).
We consider a CRN as an “acceptor” of input instead of a“generator” of output (as done in Petri Net and VAS theory).
Robert Brijder Output Stability and Semilinear Sets in CRNs
Chemical Reaction Decider (CRD)
Definition (≈ Population Protocol)
A (leaderless) Chemical Reaction Decider (CRD) is a tupleD = (Λ,R,Σ,Υ) with (Λ,R) a CRN, Σ ⊆ Λ the set of inputspecies, Υ : Λ→ {0, 1}.
Υ−1(0) NO voters, Υ−1(1) YES voters
c has output 1 (or YES) if nonzero and c contains only YESvoters; similar for 0 (or NO); undefined otherwise.
c is initial configuration if nonzero and all species in c are inΣ (i.e., c |Λ\Σ = 0).
Robert Brijder Output Stability and Semilinear Sets in CRNs
Chemical Reaction Decider (CRD)
Definition (≈ Population Protocol)
A (leaderless) Chemical Reaction Decider (CRD) is a tupleD = (Λ,R,Σ,Υ) with (Λ,R) a CRN, Σ ⊆ Λ the set of inputspecies, Υ : Λ→ {0, 1}.
Υ−1(0) NO voters, Υ−1(1) YES voters
c has output 1 (or YES) if nonzero and c contains only YESvoters; similar for 0 (or NO); undefined otherwise.
c is initial configuration if nonzero and all species in c are inΣ (i.e., c |Λ\Σ = 0).
Robert Brijder Output Stability and Semilinear Sets in CRNs
Chemical Reaction Decider (CRD)
Definition (≈ Population Protocol)
A (leaderless) Chemical Reaction Decider (CRD) is a tupleD = (Λ,R,Σ,Υ) with (Λ,R) a CRN, Σ ⊆ Λ the set of inputspecies, Υ : Λ→ {0, 1}.
Υ−1(0) NO voters, Υ−1(1) YES voters
c has output 1 (or YES) if nonzero and c contains only YESvoters; similar for 0 (or NO); undefined otherwise.
c is initial configuration if nonzero and all species in c are inΣ (i.e., c |Λ\Σ = 0).
Robert Brijder Output Stability and Semilinear Sets in CRNs
Output stable
c is output stable if c has output 0 or 1 and for all c ′ withc →∗ c ′, c ′ has the same output as c . Thus c is in a “trap”.D is output stable if for any initial configuration c , thereexists a o ∈ {0, 1}, such that for all configurations c ′ withc →∗ c ′, we have c ′ →∗ c ′′ for some output stableconfiguration c ′′ with output o.Any output stable D defines a Boolean predicateϕ : NΣ \ {0} → {0, 1}.
initial conf.
= no output
= output 0 (NO)
= output 1 (YES)
= output stable 0 (NO)
= output stable 1 (YES)
Robert Brijder Output Stability and Semilinear Sets in CRNs
Output stable
c is output stable if c has output 0 or 1 and for all c ′ withc →∗ c ′, c ′ has the same output as c . Thus c is in a “trap”.D is output stable if for any initial configuration c , thereexists a o ∈ {0, 1}, such that for all configurations c ′ withc →∗ c ′, we have c ′ →∗ c ′′ for some output stableconfiguration c ′′ with output o.Any output stable D defines a Boolean predicateϕ : NΣ \ {0} → {0, 1}.
initial conf.
= no output
= output 0 (NO)
= output 1 (YES)
= output stable 0 (NO)
= output stable 1 (YES)
Robert Brijder Output Stability and Semilinear Sets in CRNs
Deciding output stability
Are we done yet? In other words, can the output change?
Can we decide if a given configuration is output stable for agiven CRD?
Answer: YES. Using reachability results for VASs:
Theorem (Karp and Miller, 1969)
For given CRN R and configurations x , y of R, it is decidablewhether or not x →∗ y ′ for some configuration y ′ ≥ y .
Theorem (Mayr, 1981)
For given CRN R and configurations x , y of R, it is decidablewhether or not x →∗ y .
Robert Brijder Output Stability and Semilinear Sets in CRNs
Deciding output stability
Are we done yet? In other words, can the output change?
Can we decide if a given configuration is output stable for agiven CRD?
Answer: YES. Using reachability results for VASs:
Theorem (Karp and Miller, 1969)
For given CRN R and configurations x , y of R, it is decidablewhether or not x →∗ y ′ for some configuration y ′ ≥ y .
Theorem (Mayr, 1981)
For given CRN R and configurations x , y of R, it is decidablewhether or not x →∗ y .
Robert Brijder Output Stability and Semilinear Sets in CRNs
Deciding output stability efficiently
Can we efficiently decide if a given configuration is outputstable for a given output stable CRD? Answer: unknown.
We consider output stable CRDs with only bimolecularreactions, i.e., of the form X1 + X2 → X3 + X4 (Xi ’s are notnecessarily distinct).
Naive approach: for given c , check the output of allconfigurations reachable from c . There are at most((|Λ|‖c‖
))=(|Λ|+‖c‖−1
‖c‖)
such configurations (non-negative
integer points on hyperplane).
We give a
O(|Λ|2 · |R| · n log|Λ|−12 (n) + m log|Λ|−
12 (n))
method for testing m configurations for output stability foroutput stable CRDs with only bimolecular reactions. Thevalue n depends only on the CRD.
Robert Brijder Output Stability and Semilinear Sets in CRNs
Deciding output stability efficiently
Can we efficiently decide if a given configuration is outputstable for a given output stable CRD? Answer: unknown.
We consider output stable CRDs with only bimolecularreactions, i.e., of the form X1 + X2 → X3 + X4 (Xi ’s are notnecessarily distinct).
Naive approach: for given c , check the output of allconfigurations reachable from c . There are at most((|Λ|‖c‖
))=(|Λ|+‖c‖−1
‖c‖)
such configurations (non-negative
integer points on hyperplane).
We give a
O(|Λ|2 · |R| · n log|Λ|−12 (n) + m log|Λ|−
12 (n))
method for testing m configurations for output stability foroutput stable CRDs with only bimolecular reactions. Thevalue n depends only on the CRD.
Robert Brijder Output Stability and Semilinear Sets in CRNs
Deciding output stability efficiently
Can we efficiently decide if a given configuration is outputstable for a given output stable CRD? Answer: unknown.
We consider output stable CRDs with only bimolecularreactions, i.e., of the form X1 + X2 → X3 + X4 (Xi ’s are notnecessarily distinct).
Naive approach: for given c , check the output of allconfigurations reachable from c . There are at most((|Λ|‖c‖
))=(|Λ|+‖c‖−1
‖c‖)
such configurations (non-negative
integer points on hyperplane).
We give a
O(|Λ|2 · |R| · n log|Λ|−12 (n) + m log|Λ|−
12 (n))
method for testing m configurations for output stability foroutput stable CRDs with only bimolecular reactions. Thevalue n depends only on the CRD.
Robert Brijder Output Stability and Semilinear Sets in CRNs
Theorem (Angluin et al., PODC ’06)
Let D be an output stable CRD. Then the set U of (nonzero)output unstable configurations of D is closed upward under ≤.
In other words, for all c , c ′ ∈ NΛ with c ≤ c ′, if c ∈ U, thenc ′ ∈ U.
Robert Brijder Output Stability and Semilinear Sets in CRNs
Theorem (Dickson’s lemma)
Let Λ be a finite set. Then for every S ⊆ NΛ, the set of minimalelements min(S) of S under ≤ is finite.
Robert Brijder Output Stability and Semilinear Sets in CRNs
Let U be the set of (nonzero) output unstable configurationsof D.
The finite set min(U) uniquely determines U.
Observation: nonzero configuration c is output stable iffu 6≤ c for all u ∈ min(U).
Robert Brijder Output Stability and Semilinear Sets in CRNs
Main result
Theorem (Main result)
For output-stable bimolecular CRDs, the set min(U) can be
computed in O(|Λ|2 · |R| · n log|Λ|−12 (n)) time, where n = |min(U)|.
Check if u 6≤ c for all u ∈ min(U) takes O(log|Λ|−12 (n)) time.
k-fold tree Tb(k) of [Willard, SICOMP 1985]. Balanced treefor orthogonal range querying.
Consequently,
O(|Λ|2 · |R| · n log|Λ|−12 (n) + m log|Λ|−
12 (n)).
Robert Brijder Output Stability and Semilinear Sets in CRNs
Algorithm
First compute vectors M2 of min(U) of size 2:
1 all configurations c containing one YES voter and one NOvoter,
2 all configurations r containing a YES voter and r →α p with pa NO voter (or vice versa) and α = (r , p), and
3 all configurations c such that c →∗ r with r as in Case 2(iterate backwards).
Compute vectors Mk of min(U) of size k > 2:
1 if c → c ′ + B for some c ′ ∈ min(U) and c incomparable withall of Mj (j < k), then c ∈ Mk .
2 for all configurations c ′ such that c ′ →∗ c with c as in Case 1and c ′ incomparable with all of Mj (j ≤ k), then c ′ ∈ Mk
(iterate backwards).
Iterate over k until Mk = ∅.
Robert Brijder Output Stability and Semilinear Sets in CRNs
Open problems
Generalization to arbitrary output-stable CRDs (not onlybimolecular)?
Is it even decidable for a given output-stable CRD and a finiteset of configurations C , whether or not C = min(U).
Estimates on n = |min(U)|? It seems there are a lot of“small” configurations in the antichain min(U) that restrict|min(U)|.Is |min(U)| a useful measure of “complexity” of the CRD?
What does, say, |min(U)| = 2 mean for the underlying CRD?
Robert Brijder Output Stability and Semilinear Sets in CRNs
Thanks!
Robert Brijder Output Stability and Semilinear Sets in CRNs
Example: modulo arithmetic
Compute: x ≡ y mod m with m ≥ 2.
Input: x = #X and y = #Y .
Solution: output-stable CRD with Λ = {X ,Y ,T ,F},Σ = {X ,Y }, T is YES voter and the other species NO voters,and reactions:
mX → T , mY → T (1)
X + Y → T (2)
Y + T → Y + F , X + T → X + F (3)
T + F → T (4)
Proof: if x ≡ y mod m, then eventually all X and Y areconsumed by (1) and (2). The last reaction introduces a Twhich eats all F ’s by (4).If x 6≡ y mod m, then eventually only X ’s or only Y ’sremain. These eat all T ’s by (3).
Robert Brijder Output Stability and Semilinear Sets in CRNs
Example: modulo arithmetic
Compute: x ≡ y mod m with m ≥ 2.
Input: x = #X and y = #Y .
Solution: output-stable CRD with Λ = {X ,Y ,T ,F},Σ = {X ,Y }, T is YES voter and the other species NO voters,and reactions:
mX → T , mY → T (1)
X + Y → T (2)
Y + T → Y + F , X + T → X + F (3)
T + F → T (4)
Proof: if x ≡ y mod m, then eventually all X and Y areconsumed by (1) and (2). The last reaction introduces a Twhich eats all F ’s by (4).If x 6≡ y mod m, then eventually only X ’s or only Y ’sremain. These eat all T ’s by (3).
Robert Brijder Output Stability and Semilinear Sets in CRNs
Example: modulo arithmetic
Compute: x ≡ y mod m with m ≥ 2.
Input: x = #X and y = #Y .
Solution: output-stable CRD with Λ = {X ,Y ,T ,F},Σ = {X ,Y }, T is YES voter and the other species NO voters,and reactions:
mX → T , mY → T (1)
X + Y → T (2)
Y + T → Y + F , X + T → X + F (3)
T + F → T (4)
Proof: if x ≡ y mod m, then eventually all X and Y areconsumed by (1) and (2). The last reaction introduces a Twhich eats all F ’s by (4).If x 6≡ y mod m, then eventually only X ’s or only Y ’sremain. These eat all T ’s by (3).
Robert Brijder Output Stability and Semilinear Sets in CRNs
Example: modulo arithmetic
Compute: x ≡ y mod m with m ≥ 2.
Input: x = #X and y = #Y .
Solution: output-stable CRD with Λ = {X ,Y ,T ,F},Σ = {X ,Y }, T is YES voter and the other species NO voters,and reactions:
mX → T , mY → T (1)
X + Y → T (2)
Y + T → Y + F , X + T → X + F (3)
T + F → T (4)
Proof: if x ≡ y mod m, then eventually all X and Y areconsumed by (1) and (2). The last reaction introduces a Twhich eats all F ’s by (4).If x 6≡ y mod m, then eventually only X ’s or only Y ’sremain. These eat all T ’s by (3).
Robert Brijder Output Stability and Semilinear Sets in CRNs
Complexity
Dominant for complexity: finite set M ⊆ NΛ and c ∈ NΛ,check if u 6≤ c for all u ∈ M.
Special case of orthogonal range querying: worst caseO(logk−1/2(|M|)) vector comparisons needed with k = |Λ|.Store vectors of M in k-fold tree Tb(k) of [Willard, SICOMP1985]. Balanced tree.
Adding a vector also takes O(logk−1/2(|M|)) time; notdominant.
Robert Brijder Output Stability and Semilinear Sets in CRNs