filelanguage and automata10

Embed Size (px)

Citation preview

  • 8/14/2019 filelanguage and automata10

    1/4

    C l o s u r e P r o p e r t i e s o f C F L ' s | S u b s t i t u t i o n

    I f a s u b s t i t u t i o n s a s s i g n s a C F L t o e v e r y s y m b o l

    i n t h e a l p h a b e t o f a C F L L , t h e n s L i s a C F L .

    P r o o f

    T a k e a g r a m m a r f o r L a n d a g r a m m a r f o r

    e a c h l a n g u a g e L

    a

    = s a

    M a k e s u r e a l l t h e v a r i a b l e s o f a l l t h e s e

    g r a m m a r s a r e d i e r e n t .

    3W e c a n a l w a y s r e n a m e v a r i a b l e s w h a t e v e r

    w e l i k e , s o t h i s s t e p i s e a s y .

    R e p l a c e e a c h t e r m i n a l a i n t h e p r o d u c t i o n s f o r

    L b y S

    a

    , t h e s t a r t s y m b o l o f t h e g r a m m a r f o r

    L

    a

    A p r o o f t h a t t h i s c o n s t r u c t i o n w o r k s i s i n t h e

    r e a d e r .

    3 I n t u i t i o n : t h i s r e p l a c e m e n t a l l o w s a n y

    s t r i n g i n L

    a

    t o t a k e t h e p l a c e o f a n y

    o c c u r r e n c e o f a i n a n y s t r i n g o f L

    E x a m p l e

    L = f 0

    n

    1

    n

    n 1 g , g e n e r a t e d b y t h e

    g r a m m a r S ! 0 S 1 0 1

    s 0 = f a

    n

    b

    m

    m n g , g e n e r a t e d b y t h e

    g r a m m a r S ! a S b A A ! a A a b

    s 1 = f a b ; a b c g , g e n e r a t e d b y t h e g r a m m a r

    S ! a b A A ! c

    1 . R e n a m e s e c o n d a n d t h i r d S ' s t o S

    0

    a n d

    S

    1

    , r e s p e c t i v e l y . R e n a m e s e c o n d A t o B

    R e s u l t i n g g r a m m a r s a r e :

    S ! 0 S 1 0 1

    S

    0

    ! a S

    0

    b A A ! a A a b

    S

    1

    ! a b B B ! c

    2 . I n t h e r s t g r a m m a r , r e p l a c e 0 b y S

    0

    a n d 1 b y

    S

    1

    . T h e c o m b i n e d g r a m m a r :

    S ! S

    0

    S S

    1

    S

    0

    S

    1

    S

    0

    ! a S

    0

    b A A ! a A a b

    S

    1

    ! a b B B ! c

    C o n s e q u e n c e s o f C l o s u r e U n d e r S u b s t i t u t i o n

    1 . C l o s e d u n d e r u n i o n , c o n c a t e n a t i o n , s t a r .

    3P r o o f s a r e t h e s a m e a s f o r r e g u l a r

    l a n g u a g e s , e . g . f o r c o n c a t e n a t i o n o f C F L ' s

    L

    1

    L

    2

    , u s e L = f a b g s a = L

    1

    , a n d

    s b = L

    2

    1

  • 8/14/2019 filelanguage and automata10

    2/4

    2 . C l o s u r e o f C F L ' s u n d e r h o m o m o r p h i s m .

    N o n c l o s u r e U n d e r I n t e r s e c t i o n

    T h e r e a d e r s h o w s t h e f o l l o w i n g l a n g u a g e L =

    f 0

    i

    1

    j

    2

    k

    3 i = k a n d j = l g n o t t o b e a C F L .

    3I n t u i t i v e l y , y o u n e e d a v a r i a b l e a n d

    p r o d u c t i o n s l i k e A ! 0 A 2 0 2 t o g e n e r a t e

    t h e m a t c h i n g 0 ' s a n d 2 ' s , w h i l e y o u n e e d

    a n o t h e r v a r i a b l e t o g e n e r a t e m a t c h i n g 1 ' s

    a n d 3 ' s . B u t t h e s e v a r i a b l e s w o u l d h a v e

    t o g e n e r a t e s t r i n g s t h a t d i d n o t i n t e r l e a v e .

    H o w e v e r , t h e s i m p l e r l a n g u a g e f 0

    i

    1

    j

    2

    k

    3 i =

    k g i s a C F L .

    3 A g r a m m a r :

    S ! S 3 A

    A ! 0 A 2 B

    B ! 1 B

    L i k e w i s e t h e C F L f 0

    i

    1

    j

    2

    k

    3 j = l g

    T h e i r i n t e r s e c t i o n i s L

    N o n c l o s u r e o f C F L ' s U n d e r C o m p l e m e n t

    P r o o f 1 : S i n c e C F L ' s a r e c l o s e d u n d e r u n i o n ,

    i f t h e y w e r e a l s o c l o s e d u n d e r c o m p l e m e n t ,

    t h e y w o u l d b e c l o s e d u n d e r i n t e r s e c t i o n b y

    D e M o r g a n ' s l a w .

    P r o o f 2 : T h e c o m p l e m e n t o f L a b o v e i s a

    C F L . H e r e i s a P D A P r e c o g n i z i n g i t :

    3G u e s s w h e t h e r t o c h e c k i 6= k o r j 6= l

    S a y w e w a n t t o c h e c k i 6= k

    3A s l o n g a s 0 ' s c o m e i n , c o u n t t h e m o n t h e

    s t a c k .

    3I g n o r e 1 ' s .

    3 P o p t h e s t a c k f o r e a c h 2 .

    3 A s l o n g a s w e h a v e n o t j u s t e x p o s e d t h e

    b o t t o m - o f - s t a c k m a r k e r w h e n t h e r s t 3

    c o m e s i n , a c c e p t , a n d k e e p a c c e p t i n g a s

    l o n g a s 3 ' s c o m e i n .

    3 B u t w e a l s o h a v e t o a c c e p t , a n d k e e p

    a c c e p t i n g , a s s o o n a s w e s e e t h a t t h e

    i n p u t i s n o t i n L 0

    1

    2

    3

    C l o s u r e o f C F L ' s U n d e r R e v e r s a l

    J u s t r e v e r s e t h e b o d y o f e v e r y p r o d u c t i o n .

    2

  • 8/14/2019 filelanguage and automata10

    3/4

    C l o s u r e o f C F L ' s U n d e r I n v e r s e

    H o m o m o r p h i s m

    P D A - b a s e d c o n s t r u c t i o n .

    K e e p a b u e r " i n w h i c h w e p l a c e h a f o r

    s o m e i n p u t s y m b o l a

    R e a d i n p u t s f r o m t h e f r o n t o f t h e b u e r

    O K .

    W h e n t h e b u e r i s e m p t y , i t m a y b e r e l o a d e d

    w i t h h b f o r t h e n e x t i n p u t s y m b o l b , o r w e

    m a y c o n t i n u e m a k i n g - m o v e s .

    T e s t i n g E m p t i n e s s o f a C F L

    A s f o r r e g u l a r l a n g u a g e s , w e r e a l l y t a k e a

    r e p r e s e n t a t i o n o f s o m e l a n g u a g e a n d a s k w h e t h e r

    i t r e p r e s e n t s ;

    I n t h i s c a s e , t h e r e p r e s e n t a t i o n c a n b e a C F G

    o r P D A .

    3O u r c h o i c e , s i n c e t h e r e a r e a l g o r i t h m s t o

    c o n v e r t o n e t o t h e o t h e r .

    T h e t e s t : U s e a C F G ; c h e c k i f t h e s t a r t

    s y m b o l i s u s e l e s s ?

    T e s t i n g F i n i t e n e s s o f a C F L

    L e t L b e a C F L . T h e n t h e r e i s s o m e p u m p i n g -

    l e m m a c o n s t a n t n f o r L

    T e s t a l l s t r i n g s o f l e n g t h b e t w e e n n a n d 2 n , 1

    f o r m e m b e r s h i p a s i n n e x t s e c t i o n .

    I f t h e r e i s a n y s u c h s t r i n g , i t c a n b e p u m p e d ,

    a n d t h e l a n g u a g e i s i n n i t e .

    I f t h e r e i s n o s u c h s t r i n g , t h e n n , 1 i s a n

    u p p e r l i m i t o n t h e l e n g t h o f s t r i n g s , s o t h e

    l a n g u a g e i s n i t e .

    3 T r i c k : I f t h e r e w e r e a s t r i n g z = u v w x y

    o f l e n g t h 2 n o r l o n g e r , y o u c a n n d a

    s h o r t e r s t r i n g u w y i n L , b u t i t ' s a t m o s t

    n s h o r t e r . T h u s , i f t h e r e a r e a n y s t r i n g s

    o f l e n g t h 2 n o r m o r e , y o u c a n r e p e a t e d l y

    c u t o u t v x t o g e t , e v e n t u a l l y , a s t r i n g

    w h o s e l e n g t h i s i n t h e r a n g e n t o 2 n , 1

    T e s t i n g M e m b e r s h i p o f a S t r i n g i n a C F L

    S i m u l a t i n g a P D A f o r L o n s t r i n g w d o e s n ' t

    q u i t e w o r k , b e c a u s e t h e P D A c a n g r o w i t s s t a c k

    i n d e n i t e l y o n i n p u t , a n d w e n e v e r n i s h , e v e n i f

    t h e P D A i s d e t e r m i n i s t i c .

    3

  • 8/14/2019 filelanguage and automata10

    4/4

    T h e r e i s a n O n

    3

    a l g o r i t h m n = l e n g t h

    o f w t h a t u s e s a d y n a m i c p r o g r a m m i n g "

    t e c h n i q u e .

    3 C a l l e d C o c k e - Y o u n g e r - K a s a m i C Y K

    a l g o r i t h m .

    S t a r t w i t h a C N F g r a m m a r f o r L

    B u i l d a t w o - d i m e n s i o n a l t a b l e :

    3R o w = l e n g t h o f a s u b s t r i n g o f w

    3 C o l u m n = b e g i n n i n g p o s i t i o n o f t h e

    s u b s t r i n g .

    3E n t r y i n r o w i a n d c o l u m n j = s e t o f

    v a r i a b l e s t h a t g e n e r a t e t h e s u b s t r i n g o f

    w b e g i n n i n g a t p o s i t i o n j a n d e x t e n d i n g

    f o r i p o s i t i o n s .

    3I n r e a d e r , t h e s e e n t r i e s a r e d e n o t e d

    X

    j i + j 1

    , i . e . , t h e s u b s c r i p t s a r e

    t h e r s t a n d l a s t p o s i t i o n s o f t h e

    s t r i n g r e p r e s e n t e d , s o t h e r s t r o w i s

    X

    1 1

    X

    2 2

    ; : : : ; X

    n n

    , t h e s e c o n d r o w i s

    X

    1 2

    X

    2 3

    ; : : : ; X

    n 1 n

    , a n d s o o n .

    B a s i s : r o w 1 X

    i i

    = t h e s e t o f v a r i a b l e s A s u c h

    t h a t A ! a i s a p r o d u c t i o n , a n d a i s t h e s y m b o l a t

    p o s i t i o n i o f w

    I n d u c t i o n : A s s u m e t h e r o w s f o r s u b s t r i n g s o f

    l e n g t h u p t o m , 1 h a v e b e e n c o m p u t e d , a n d

    c o m p u t e t h e r o w f o r s u b s t r i n g s o f l e n g t h m

    W e c a n d e r i v e a

    i

    a

    i + 1

    a

    j

    f r o m A i f t h e r e i s a

    p r o d u c t i o n A ! B C B d e r i v e s a n y p r e x o f

    a

    i

    a

    i + 1

    a

    j

    , a n d C d e r i v e s t h e r e s t .

    T h u s , w e m u s t a s k i f t h e r e i s a n y v a l u e o f k

    s u c h t h a t

    3 i k j

    3B i s i n X

    i k

    3 C i s i n Xk + 1 j

    E x a m p l e

    I n c l a s s , w e ' l l w o r k t h e t a b l e f o r t h e g r a m m a r :

    S ! A S S B A B

    A ! a

    B ! b

    a n d t h e s t r i n g a a b b

    4