Conjunctive Grammars and Alternating Automata Tamar Aizikowitz and Michael Kaminski Technion –...

Post on 01-Apr-2015

213 views 0 download

Tags:

Transcript of Conjunctive Grammars and Alternating Automata Tamar Aizikowitz and Michael Kaminski Technion –...

Conjunctive Grammars and Alternating Automata

Tamar Aizikowitz and Michael KaminskiTechnion – Israel Institute of Technology

WoLLIC 2008Heriot-Watt University

2 of 25

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

3 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

4 of 25

Introduction:Combined Computational Models

5 of 25

Introduction:Conjunctive Grammars (CG)

Introduced by Alexander Okhotin in 2001*

Extension of Context Free Grammars

Add power of explicit intersection

CG-s generate a larger class of languages* Okhotin A., Conjunctive Grammars, Journal of Automata, Languages and Combinatorics 6(4) (2001) 519-535

Reminder: Context free languages are not closed under intersection…

6 of 25

Polynomial Time

CG Languages

Finite ∩ CF

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

Context Free

7 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

8 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

9 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

10 of 25

Outline

Conjunctive Grammars

Synchronized Alternating PDA

Equivalence Results: CG ~ SAPDA

Future Work

11 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 is a formula If 1,…,n are formulas then (1 & & n) is a

formula conjunct

12 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

13 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)

S1S2*L1

S3S4*L2

L1 L2

14 of 25

Conjunctive Grammars:Example 1

Derivation of aaabbbccc:

S (S1S2 & S3S4) (aS1bS2 & S3S4)

… (aaaS1bbbS2 & S3S4)

(aaabbbS2 & S3S4)

(aaabbbcS2 & S3S4)

… (aaabbbccc & S3S4)

… (aaabbbccc & aaabbbccc)

aaabbbccc

S → (S1S2 & S3S4)S1 → aS1b

S1 → aS1b

S1 →

S2 → cS2

contraction

S2 → cS2

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

16 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 ) }

If all conjunctions are of one pair then we have the standard PDA model

Non-deterministic model = many possible conjunctions

Synchronized Alternating Pushdown Automata (SAPDA)

Stack memory is a tree Each leaf has a separate processing head

A conjunctive transition to n pairs splits the current branch to n branches

Branches are processed independently Sibling branches must empty synchronously.

AB

CD

Aqp

17 of 25

18 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 )}

YY

Zp1

p2

Xq

19 of 25

SAPDA:Configurations

(q0,w,)

(q,, )

BA

(q,ba, A) ( p,a, DC )

AB

CD

Aqp

abbaabba

20 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,ɛ)

21 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.

SAPDA:Example

L = {w {a,b,c}* | #a(w) = #b(w) = #c(w)}

22 of 25

a a b c c a b b c

δ (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 , ε) δ (q2 , b , 2) = (q2 , b2)

δ (q1 , c , a) = (q1 , a) δ (q2 , c , b) = (q2 , ε)

δ (q1 , ε , 1) = (q0 , ε) δ (q2 , ε , 2) = (q0 , ε)

q1 q2q0 q0

q0

ε

1 2

a

a

b

εε

23 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…

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