Separating regular languages by piecewise testable and ......Thomas Place, Lorijn van Rooijen, Marc...
Transcript of Separating regular languages by piecewise testable and ......Thomas Place, Lorijn van Rooijen, Marc...
Separating regular languages by piecewise testableand unambiguous languages
Thomas Place, Lorijn van Rooijen, Marc Zeitoun
LaBRI · Univ. Bordeaux · CNRS
September, 2013 · Highlights of Logic, Games and Automata
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 1/14
Separation problem
S is a fixed class of languages.
In this talk, S = BΣ1(<), FO2(<).
L1, L2 ∈ Reg are S-separable iff there exists
K ∈ S such that
L1 L2
K ∈ S
A∗ \K
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 2/14
Separation problem
S is a fixed class of languages.
In this talk, S = BΣ1(<), FO2(<).
L1, L2 ∈ Reg are S-separable iff there exists
K ∈ S such that
L1 L2
K ∈ S
A∗ \K
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 2/14
Separation problem
S is a fixed class of languages.
In this talk, S = BΣ1(<), FO2(<).
L1, L2 ∈ Reg are S-separable iff there exists
K ∈ S such that
L1 L2
K ∈ S
A∗ \K
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 2/14
Separation problem
Decision problem: Given L1, L2 ∈ Reg, are they S-separable?
Can we compute a separator?
What is the complexity of the decision problem?And of computing a separator?
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 3/14
Separation problem
Decision problem: Given L1, L2 ∈ Reg, are they S-separable?
Can we compute a separator?
What is the complexity of the decision problem?And of computing a separator?
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 3/14
Separation problem
Decision problem: Given L1, L2 ∈ Reg, are they S-separable?
Can we compute a separator?
What is the complexity of the decision problem?And of computing a separator?
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 3/14
Motivation
Captures discriminative power of logics
Generalization of membership problem
L1 L2 = A∗ \ L1
K ∈ S
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 4/14
Motivation
Captures discriminative power of logics
Generalization of membership problem
L1 L2 = A∗ \ L1
K ∈ S
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 4/14
Motivation
Captures discriminative power of logics
Generalization of membership problem
L1 L2 = A∗ \ L1
K ∈ S
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 4/14
Motivation
Captures discriminative power of logics
Generalization of membership problem
L1 L2 = A∗ \ L1
K ∈ S
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 4/14
Classes of separators
Piecewise testable languages: definable by BΣ1(<) formulas(recall previous talk).
Unambiguous languages: definable by FO2(<) formulas.
Membership is decidable for both BΣ1(<) and FO2(<)languages.
Simon ’75Schutzenberger ’76, Therien, Wilke ’98
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 5/14
Classes of separators
Piecewise testable languages: definable by BΣ1(<) formulas(recall previous talk).
Unambiguous languages: definable by FO2(<) formulas.
Membership is decidable for both BΣ1(<) and FO2(<)languages.
Simon ’75Schutzenberger ’76, Therien, Wilke ’98
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 5/14
Stratification of S
In general, there is no smallest separator in S.
→ Restriction of S to quantifier depth k: S[k].
If two languages are S[k]-separable, there is a smallestseparator in S[k].
Eg. (a2)∗ and b(b2)∗ have no smallest BΣ1(<)-separator,
while a∗ \ {a, a3, a5} is the smallest BΣ1(<)[6]-separator.
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 6/14
Stratification of S
In general, there is no smallest separator in S.
→ Restriction of S to quantifier depth k: S[k].
If two languages are S[k]-separable, there is a smallestseparator in S[k].
Eg. (a2)∗ and b(b2)∗ have no smallest BΣ1(<)-separator,
while a∗ \ {a, a3, a5} is the smallest BΣ1(<)[6]-separator.
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 6/14
Stratification of S
In general, there is no smallest separator in S.
→ Restriction of S to quantifier depth k: S[k].
If two languages are S[k]-separable, there is a smallestseparator in S[k].
Eg. (a2)∗ and b(b2)∗ have no smallest BΣ1(<)-separator,
while a∗ \ {a, a3, a5} is the smallest BΣ1(<)[6]-separator.
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 6/14
Computing smallest separator for S[k]
Quantifier depth provides indexed equivalence relations for BΣ1(<)resp. FO2(<) languages:
w1 ∼k w2 ⇔ w1 and w2 satisfy the same BΣ1(<)resp. FO2(<) formulas up to depth k.
L is a BΣ1(<) resp. FO2(<) language
⇔
L is a union of ∼k-classes for some k ∈ N.
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 7/14
Computing smallest separator for S[k]
Quantifier depth provides indexed equivalence relations for BΣ1(<)resp. FO2(<) languages:
w1 ∼k w2 ⇔ w1 and w2 satisfy the same BΣ1(<)resp. FO2(<) formulas up to depth k.
L is a BΣ1(<) resp. FO2(<) language
⇔
L is a union of ∼k-classes for some k ∈ N.
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 7/14
Computing smallest separator for S[k]
Quantifier depth provides indexed equivalence relations for BΣ1(<)resp. FO2(<) languages:
w1 ∼k w2 ⇔ w1 and w2 satisfy the same BΣ1(<)resp. FO2(<) formulas up to depth k.
L is a BΣ1(<) resp. FO2(<) language
⇔
L is a union of ∼k-classes for some k ∈ N.
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 7/14
Computing smallest separator for S[k]
Increasing k refines the smallest potential separator:
L
L′
[L]∼1[L]∼2[L]∼3
Refining [L]∼kgives a semi-algorithm for separability.
From which level of refinement can we conclude non-separability?
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 8/14
Computing smallest separator for S[k]
Increasing k refines the smallest potential separator:
L
L′
[L]∼1[L]∼2[L]∼3
Refining [L]∼kgives a semi-algorithm for separability.
From which level of refinement can we conclude non-separability?
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 8/14
Computing smallest separator for S[k]
Increasing k refines the smallest potential separator:
L
L′
[L]∼1
[L]∼2[L]∼3
Refining [L]∼kgives a semi-algorithm for separability.
From which level of refinement can we conclude non-separability?
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 8/14
Computing smallest separator for S[k]
Increasing k refines the smallest potential separator:
L
L′
[L]∼1
[L]∼2[L]∼3
Refining [L]∼kgives a semi-algorithm for separability.
From which level of refinement can we conclude non-separability?
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 8/14
Computing smallest separator for S[k]
Increasing k refines the smallest potential separator:
L
L′
[L]∼1
[L]∼2
[L]∼3
Refining [L]∼kgives a semi-algorithm for separability.
From which level of refinement can we conclude non-separability?
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 8/14
Computing smallest separator for S[k]
Increasing k refines the smallest potential separator:
L
L′
[L]∼1[L]∼2
[L]∼3
Refining [L]∼kgives a semi-algorithm for separability.
From which level of refinement can we conclude non-separability?
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 8/14
Computing smallest separator for S[k]
Increasing k refines the smallest potential separator:
L
L′
[L]∼1[L]∼2
[L]∼3
Refining [L]∼kgives a semi-algorithm for separability.
From which level of refinement can we conclude non-separability?
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 8/14
Computing smallest separator for S[k]
Increasing k refines the smallest potential separator:
L
L′
[L]∼1[L]∼2
[L]∼3
Refining [L]∼kgives a semi-algorithm for separability.
From which level of refinement can we conclude non-separability?
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 8/14
Testing non-separability
A pair of words w1 ∈ L1, w2 ∈ L2 is a k-witness of non-separabilityprovided
w1 ∼k w2.
Abstraction: tuples (i1, f1, i2, f2) A1
A2
i1 f1
i2 f2
∼k
L1, L2 are k-separable ⇔ {k-witnesses} = ∅.
{k + 1-witnesses} ⊆ {k-witnesses}.Limit behaviour?
We can compute K such that
limit = ∅ ⇔ {K-witnesses} = ∅
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 9/14
Testing non-separability
A pair of words w1 ∈ L1, w2 ∈ L2 is a k-witness of non-separabilityprovided
w1 ∼k w2.
Abstraction: tuples (i1, f1, i2, f2) A1
A2
i1 f1
i2 f2
∼k
L1, L2 are k-separable ⇔ {k-witnesses} = ∅.
{k + 1-witnesses} ⊆ {k-witnesses}.Limit behaviour?
We can compute K such that
limit = ∅ ⇔ {K-witnesses} = ∅
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 9/14
Testing non-separability
A pair of words w1 ∈ L1, w2 ∈ L2 is a k-witness of non-separabilityprovided
w1 ∼k w2.
Abstraction: tuples (i1, f1, i2, f2) A1
A2
i1 f1
i2 f2
∼k
L1, L2 are k-separable ⇔ {k-witnesses} = ∅.
{k + 1-witnesses} ⊆ {k-witnesses}.
Limit behaviour?
We can compute K such that
limit = ∅ ⇔ {K-witnesses} = ∅
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 9/14
Testing non-separability
A pair of words w1 ∈ L1, w2 ∈ L2 is a k-witness of non-separabilityprovided
w1 ∼k w2.
Abstraction: tuples (i1, f1, i2, f2) A1
A2
i1 f1
i2 f2
∼k
L1, L2 are k-separable ⇔ {k-witnesses} = ∅.
{k + 1-witnesses} ⊆ {k-witnesses}.Limit behaviour?
We can compute K such that
limit = ∅ ⇔ {K-witnesses} = ∅
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 9/14
Testing non-separability
A pair of words w1 ∈ L1, w2 ∈ L2 is a k-witness of non-separabilityprovided
w1 ∼k w2.
Abstraction: tuples (i1, f1, i2, f2) A1
A2
i1 f1
i2 f2
∼k
L1, L2 are k-separable ⇔ {k-witnesses} = ∅.
{k + 1-witnesses} ⊆ {k-witnesses}.Limit behaviour?
We can compute K such that
limit = ∅ ⇔ {K-witnesses} = ∅
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 9/14
Testing non-separability
1 Verify that the languages are not separable by any language ofa sufficient, computable, index K.
2 Find a pattern in the automata producing k-witnesses forarbitrarily large k. (For BΣ1(<): same as in previous talk)
Patterns in the automata, independently of the bound K, provide
- Better complexity- A yes/no answer for separability- But no separator
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 10/14
Testing non-separability
1 Verify that the languages are not separable by any language ofa sufficient, computable, index K.
2 Find a pattern in the automata producing k-witnesses forarbitrarily large k. (For BΣ1(<): same as in previous talk)
Patterns in the automata, independently of the bound K, provide
- Better complexity- A yes/no answer for separability- But no separator
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 10/14
Main result
Theorem
For S = BΣ1(<), FO2(<), we can compute K ∈ N such thatTFAE
i. L1, L2 are S-separable.
ii. L1, L2 are S[K]-separable.
iii. [L1]∼K separates L1 from L2.
iv. A1,A2 do not contain a pattern witnessing non-separability.
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 11/14
Main result
Condition iv. yields the following complexity results:
Theorem
Given NFAs A1,A2, one can determine whether the languagesL(A1) and L(A2) are
BΣ1(<)-separable in PTIME,
FO2(<)-separable in EXPTIME,
with respect to |Q1|,|Q2|,|A|.
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 12/14
Future work
Obtain tight bounds on the size of BΣ1(<) resp. FO2(<) -separators
Efficient computation of the separators
Consider other classes S
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 13/14
Future work
Obtain tight bounds on the size of BΣ1(<) resp. FO2(<) -separators
Efficient computation of the separators
Consider other classes S
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 13/14
Future work
Obtain tight bounds on the size of BΣ1(<) resp. FO2(<) -separators
Efficient computation of the separators
Consider other classes S
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 13/14
Thank you
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 14/14
BΣ1(<): Witnesses in automata
L(A1) and L(A2) are not BΣ1(<)-separableiff
both A1 and A2 have a (~u, ~B)-path:
A1
u0 u1 up−1 upB1 Bp
A2
u0 u1 up−1 upB1 Bp
This can be determined in PTIME(|Q1|, |Q2|, |A|).
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 15/14
BΣ1(<): Witnesses in automata
L(A1) and L(A2) are not BΣ1(<)-separableiff
both A1 and A2 have a (~u, ~B)-path:
A1
u0 u1 up−1 upB1 Bp
A2
u0 u1 up−1 upB1 Bp
This can be determined in PTIME(|Q1|, |Q2|, |A|).
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 15/14
BΣ1(<): Witnesses in automata
L(A1) and L(A2) are not BΣ1(<)-separableiff
both A1 and A2 have a (~u, ~B)-path:
A1
u0 u1 up−1 upB1 Bp
A2
u0 u1 up−1 upB1 Bp
This can be determined in PTIME(|Q1|, |Q2|, |A|).
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 15/14
BΣ1(<): Witnesses in automata
L(A1) and L(A2) are not BΣ1(<)-separableiff
both A1 and A2 have a (~u, ~B)-path:
A1
u0 u1 up−1 upB1 Bp
A2
u0 u1 up−1 upB1 Bp
This can be determined in PTIME(|Q1|, |Q2|, |A|).
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 15/14
Detecting forbidden patterns
One can determine in PTIME(|Q1|, |Q2|, |A|) whether∃ (~u, ~B) such that both A1 and A2 have a (~u, ~B)-path.
By adding meta-transitions in Ai, finding a (~u, ~B)-witnessreduces to:
Given states pi, qi, ri of Ai, is there B ⊆ A st. the paths
p1 q1 r1 p2 q2 r2⊆ B ⊆ B ⊆ B ⊆ B
= B = B
occur in A1 resp. A2?
This is in Ptime: iteratively use Tarjan’s algorithm.
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 16/14
Detecting forbidden patterns
One can determine in PTIME(|Q1|, |Q2|, |A|) whether∃ (~u, ~B) such that both A1 and A2 have a (~u, ~B)-path.
By adding meta-transitions in Ai, finding a (~u, ~B)-witnessreduces to:
Given states pi, qi, ri of Ai, is there B ⊆ A st. the paths
p1 q1 r1 p2 q2 r2⊆ B ⊆ B ⊆ B ⊆ B
= B = B
occur in A1 resp. A2?
This is in Ptime: iteratively use Tarjan’s algorithm.
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 16/14
Detecting forbidden patterns
One can determine in PTIME(|Q1|, |Q2|, |A|) whether∃ (~u, ~B) such that both A1 and A2 have a (~u, ~B)-path.
By adding meta-transitions in Ai, finding a (~u, ~B)-witnessreduces to:
Given states pi, qi, ri of Ai, is there B ⊆ A st. the paths
p1 q1 r1 p2 q2 r2⊆ B ⊆ B ⊆ B ⊆ B
= B = B
occur in A1 resp. A2?
This is in Ptime: iteratively use Tarjan’s algorithm.
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 16/14
Detecting forbidden patterns
If B exists, B ⊆ C1def= alph scc(q1,A1) ∩ alph scc(q2,A2)
(linear)
Restrict the automata to alphabet C1, and repeat the process:
Ci+1def= alph scc(q1,A1 �Ci) ∩ alph scc(q2,A2 �Ci).
After n 6 |A| iterations, Cn = Cn+1.
If Cn = ∅, the answer is no.If Cn 6= ∅, it is the maximal possible B with (= B)-loopsaround q1, q2.
Then, determine the remaining paths. (linear)
Overall linear algorithm.
Thomas Place, Lorijn van Rooijen, Marc Zeitoun Separation by PTL and UL 17/14