separating regular languages by piecewise testable and ......thomas place, lorijn van rooijen, marc...
TRANSCRIPT
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