Transcript PowerPoint
Conjunctive Grammars and
Alternating Automata
Tamar Aizikowitz and Michael Kaminski
Technion – Israel Institute of Technology
WoLLIC 2008
Heriot-Watt University
Introduction:
ND Computational Models
Non-deterministic computational models have
existential acceptance conditions
At least one computation must accept
E.g., FSA, PDA, CFG, TM
Languages accepted have disjunctive quality
A word must meet one of many possible
conditions (computations)
Language class closed under union
2 of 25
Introduction:
Co-ND Computational Models
Dual computational models have universal
acceptance conditions
All computations must accept
E.g., Universal TM; accepts class Co-NP
Languages accepted have conjunctive quality
A word must meet all conditions (computations)
Language class closed under intersection
3 of 25
Introduction:
Combined Computational Models
Several models combining existential and
universal computations have been explored.
We explore extensions of models for Context
Free Languages.
Specifically:
Conjunctive Grammars
Alternating Pushdown Automata
4 of 25
Introduction:
Conjunctive Grammars (CG)
Introduced by Alexander Okhotin in 2001*
Extension of Context Free Grammars
Add power of explicit intersection
Reminder: Context free languages are
not closed under intersection…
CG-s generate a larger class of languages
* Okhotin A., Conjunctive Grammars, Journal of Automata, Languages and Combinatorics 6(4) (2001) 519-535
5 of 25
Introduction:
Conjunctive Grammars (CG)
Conjunctive Grammars generate:
Context Free languages
Finite ∩ of CF languages
Some more languages
Generated languages are
polynomial
No known non-trivial technique to
prove a language cannot be
generated by a CG
Exact placing in the Chomsky
Hierarchy not known
Polynomial Time
CG Languages
Finite ∩ CF
Context
Free
6 of 25
Introduction:
Alternating Automata
Alternating Automata were introduced by
Chandra et.al. in 1981*
Computations alternate between existential
and universal acceptance modes
Well known examples:
Alternating Finite State Automata (Verification)
Alternating Turing Machines (Complexity Theory)
Both equivalent to non-alternating counterparts
* Chandra, A.K., Kozen, D.C., Stockmeyer, L.J., Alternation. Journal of the ACM 28(1) (1981) 114-133
7 of 25
Introduction: Alternating
Pushdown Automata (APDA)
Further explored by Ladner et.al. in 1984*
Add conjunction to computations
Not equivalent to standard PDA model
Accept exactly the Exp. Time Languages
Not equivalent to the CG model
* Ladner, R.E., Lipton, R.J., Stockmeyer, L.J., Alternating pushdown and stack automata. SIAM Journal on Computing 13(1)
(1984) 135-155
8 of 25
Introduction:
Synchronized APDA (SAPDA)
We introduce a new model:
Synchronized Alternating Pushdown
Automata
Equivalent to Conjunctive Grammar model
In fact, this is the first class of automata
suggested for Conjunctive Grammars
9 of 25
Outline
Conjunctive Grammars
Synchronized Alternating PDA
Equivalence Results: CG ~ SAPDA
Future Work
10 of 25
Conjunctive Grammars:
Model Definition
G = (V,T,P,S)
V,T,S as in the standard CFG case
P contains rules X → (1 & & n)
n = 1 gives standard CFG rules
Conjunctive Formulas:
{ } V T are formulas
If and are formulas then
If 1,…, n are formulas then (
formula
conjunct
is a formula
1&&
n) is a
11 of 25
Conjunctive Grammars:
Model Definition
Derivation:
Application:
s1 X s2 s1(1 & & n)s2
s.t. X → (1 & & n) P
Contraction:
s1(w & & w) s2 s1w s2
Language: L(G) = {w T * | S * w}
Note:
( & ) *w iff *w and *w
12 of 25
Conjunctive Grammars:
Example 1
L = {anbncn | n }
Note: L = L1 L2 where
L1 = {anbnci | n,i }
L2 = {aibncn | n,i }
G = ({S,S1,S2,S3,S4} , {a,b,c} , S , P) where P = :
S1 → a S1 b | ;
S2 → c S2 |
S3 → a S3 |
;
S4 → b S4 c |
S → (S1 S2 & S3 S4)
L1
L2
S1S2*L1
S3S4*L2
13 of 25
Conjunctive Grammars:
Example 1
Derivation of aaabbbccc:
S (S1S2 & S3S4) (aS1bS2 & S3S4) S →→(SaSSb & S S )
… (aaaS1bbbS2 & S3S4) S → aS b
(aaabbbS2 & S3S4) S →
S → cS
(aaabbbcS2 & S3S4)
… (aaabbbccc & S3S4) S → cS
contraction
… (aaabbbccc & aaabbbccc)
aaabbbccc
1
112
1
3 4
1
1
2
2
2
2
14 of 25
Conjunctive Grammars:
Interesting Languages
CGs can generate some interesting
languages:
Multiple agreement: {anbncn | n }
Cross agreement: {anbmcndm | n,m }
Reduplication: {w$w | w {a,b}*}
all mildly context-sensitive languages (MCS)
CGs can also generate “stronger” languages such
as: {ba2ba4ba2nb | n }
not MCS because not semi-linear!
15 of 25
Synchronized Alternating
Pushdown Automata (SAPDA)
Extension of the standard PDA model
Transitions are to conjunctions of
(state,stack-word) pairs
E.g. (q , , X ) = {( p1 , XX ) ( p2 , Y ) , ( p3 , Z ) }
Non-deterministic model =
many possible conjunctions
If all conjunctions are of one pair then we
have the standard PDA model
16 of 25
Synchronized Alternating
Pushdown Automata (SAPDA)
Stack memory is a tree
Each leaf has a separate processing head
q
D
C
A
p
B
A
A conjunctive transition to n pairs splits the current
branch to n branches
Branches are processed independently
Sibling branches must empty synchronously.
17 of 25
SAPDA:
Model Definition
A = (Q , , , , q0 , )
For every (q , , X ) Q ({})
(q , , X ) {(q1 , 1) (qn , n) |
qi Q , i * , n }
Example: (q , , X ) = {( p1 , Z ) ( p2 , YY )}
q
X
p1
Z
Y
Y
p2
18 of 25
SAPDA:
Configurations
Configuration: a labeled tree T where
Internal nodes labeled α denoting stack contents
Leaves labeled (q,w,α) denoting current state,
remaining input and stack contents
q
abba
D
C
A
B
A
p
(q,ba, A)
( p,a,DC )
abba
BA
Initial Configuration: the tree T0 which is the
tree (q0,w,)
Accepting Configuration: a tree Te s.t. it is the
tree (q,, ) for some q Q
19 of 25
SAPDA:
Computation
Computation:
Each computation step, a transition is applied to
one stack-branch
If a stack-branch empties, it cannot be selected
If all siblings branches are empty and
“synchronized” then they are collapsed
Synchronized Collapsing: All siblings…
Are empty
Have the same state
Have the same remaining input
Are all
labeled
(q,w,ɛ)
20 of 25
SAPDA:
Language
Accepting Computation: The final
configuration is an accepting one, i.e.
(q,,) for some qQ .
L(A) = {w * | A has an accepting computation on w}
Note: Acceptance by accepting states can
also be defined. Both models of acceptance
are equivalent.
21 of 25
SAPDA:
Example
L = {w {a,b,c}* | #a(w) = #b(w) = #c(w)}
a a b c c a b b c
q
q20
01
δ (q0 , ε , ) = (q1 , 1) (q2 , 2)
δ (q1 , a , 1) = (q1 , a1)
δ (q2 , a , 2) = (q2 , 2)
δ (q1 , a , a) = (q1 , aa)
δ (q2 , a , 2) = (q2 , 2)
δ (q1 , b , a) = (q1 , ε)
δ (q1 , c , a) = (q1 , a)
δ (q1 , ε , 1) = (q0 , ε)
δ (q2 , b , 2) = (q2 , b2)
δ (q2 , c , b) = (q2 , ε)
δ (q2 , ε , 2) = (q0 , ε)
a
a
b
ε1
ε2
ε
q0
22 of 25
Equivalence Results
Theorem 1: SAPDA CG
Theorem 2: CG 1-state SAPDA (1SAPDA)
Corollary 1: SAPDA ~ CG
Corollary 2: SAPDA ~ 1SAPDA
Proofs:
Both are extensions of the classical ones
Surprisingly, the grammar-to-automaton
translation is the more complicated one…
23 of 25
Future Directions
Linear CG and 1-turn SAPDA
It is well known that LCFG ~ 1-turn PDA
Linear CG: one non-terminal in each conjunct
1-turn SAPDA: each stack-branch turns once
Initial results point towards: 1-turn SAPDA ~ LCG
Finite-turn SAPDA, Deterministic SAPDA…
Possibly, find a method to prove a language
cannot be accepted by an SAPDA / CG…
24 of 25
Thank You