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: {ba2ba4ba2nb | 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 qQ .
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 , a1)
δ (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 , b2)
δ (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