Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 17

제 11 장 .

형식언어와 오토메타의
Hierarchy

 학습목표

TM 과 연관된 형식언어 / 문법에 대해 알아보고


언어 사이의 포함관계를 총정리 해본다

개념적인 내용의 비중이 커집니다 . 세부사항


보다도
전체적인 관계와 흐름에 주의를 기울입시다 .
CFL 에서와 마찬가지로 편의상
개요 Empty string 이 없는 언어를 가정
합니다

cf) valid only for L-{λ}


• Recursive and Recursively Enumerable Languages

• Unrestricted Grammars TM 이 accept 하는 언어와


그 언어를 생성하는 문법

• Context-Sensitive Grammars and Languages


Linear Bounded Automata 와
연관된 문법과 언어
• The Chomsky Hierarchy
Recursive
Languages
Recursively Enumerable
• Def 1 L : recursively enumerable
if  a TM accepting it
*
w  L, q0 w├ x1q f x2 w  L ?
M

• Def 2 L : recursive if  a TM accepting L


(membership alg.)

& halting on every w in 

 비슷해 보이지만 그 차이를 명확히 이해할 것


Enumeration Procedure
• enumeration procedure for recursive language L

 M: TM determining membership in L
M̂ : TM generating all strings in   in proper order
w1 , w2 ,   M
Mˆ  tape if in L
" for r.e L
w j not in L ?  r.e language 를 위해서는
순서 다르게 열거하는 방법에 좀 신경을
Mˆ 
w1
M one move 써야…
w2
 p. 277 처럼 M 이 생성된 스트링을 한 스텝씩만 처리
  Halt 하지 않는 스트링 때문에 진전되지 않는 문제해결
• 결론 : enumeration procedure 가 존재하는 언어는 recursively enumerable
실제 보이기 어려운 개념적인 언어이므로
수학의 힘을 빌려 개념적으로 이해합니다
실제 예들
① Recursively enumerable 하지 않은 언어의 존재여부
s
Thm S : infinite countable set → 2 : not countable

pf) t1 1
t2 1 diagonalization
. t3
..
0 (fewer TM than lang.
0  r.e. 하지 않은 언어가 존재 )
Thm for Σ . ∃ lang.  not r. e.
*
pf) lang.: subset of *  2
not countable  
② Recursive enumerable 하지 않은 언어의 예
Thm ∃ a r.e. L whose complement is not r.e.

③ Recursive 이지만 recursively enumerable 하지는 않은 언어도 존재함


Homework : Exercises 11.1
• 7 : 답은 Yes 이고 , 6 번의 해답을 이용해볼 것 .

• 10 : 이것도 답은 Yes 인데… nondeterminism 을 이해하면 쉽게 해결가능 .


Recursively Enumerable 언어를 생성하는 문법

Unrestricted Grammars
• Def G  (V , T , S , P ) : unrestricted if
uv  아무런 제약이 없는 문법
(V T )  (V  T )*
( no  )
U.G. 
 R.E.L.

Thm 11.6 (→) systematic enumeration


S⇒w  Unrestricted Grammar 로부터
한 스텝에 얻어지는 스트링 ,
S ⇒ x⇒ w 두 스텝에 얻어지는 스트링 ,

 결국 체계적으로 enumeration
할 수 있으므로 r.e. 언어 생성
가능
역으로 r.e. 언어를 생성하는 문법이 unrestricted grammar 임을 보입시다

Unrestricted Grammars : 증명 (1)


Thm 11.6-1 (←) T.M. by U.G. TM 의 작동을 UG 로 흉내내기
produce G  L(G) = L(M)
* * *
S q0 w  xq f y  w

? 2 copies of w by Vab & Vaib 시작부터 w 를 두개


∀ a, b, i 갖고 acceptance 를
따진다 !  변수로
표현
① S → V□□S | SV□□ | T

T → TVaa | Va0a ∀a∈Σ  일단 q0w 를 만든다 .

② VaicVpq → VadVpjq for δ(qi, c)=(qj, d, R)


VpqVaic → VpjqVad for δ(qi, c)=(qj, d, L)
 V 의 처음 indices 는 copy 해둔 w 임을 이해할 것 .
Unrestricted Grammars : 증명 (2)
③ Vajb → a
cVab → ca  Accept 를 확인하면 복사해둔 w 를 출력하기
Vabc → ac 위해 변수의 처음 index 를 출력한다 .

□→λ

예) L(aa*)
q0 aa├ aq0 a├ aaq0 □├ aq1a□
S  SV□□  TV□□  TVaaV□□  Va 0 aVaaV□□
① 번 규칙을 사용하여 초기 스트링 q0aa□ 를 생성
Va 0 aVaaV□□  VaaVa 0 aV□□  VaaVaaV□0□  VaaVa1aV□□
 Vaa aV□□  Vaa a□ aa□ aa
② 번 규칙을 사용하여 TM 을 흉내내고 ③번 규칙으로
원래 w 를 출력 변수들의 첫 index 는 초기 w 를 기억 !
Unrestricted Grammars : 총정리
Thm  recursively enumerable language L
 unrestricted grammar G  L  L(G )

pf x├ y  e( x)  e( y )
 show by induction

*
e(q0 w)  e( y ) iff q0 w├ y

 Unrestricted grammar 로 생성되는 언어는 recursively enumerable 언어 !


Homework : Exercises 11.2

- 1 : 답도 있고 하니 잘 ~ 풀어볼 것 .

- 6 : 좀 tedious 한 맛은 있지만 , 이 절에서 배운 constructive 한 메커니즘을


제대로 이해하기 위해서 한번 풀어볼 것 .
UG 와 CFG 사이의 다양한 문법 중에서 LBA 와 연관된 문법에 대해 검토

Context-Sensitive G & L
Def. G  (V , T , S , P) : Context - sensitive if productions are
x y
whe re x, y  (V  T )  and | x |  | y |

• properties

– noncontracting

– why context-sensitive ?

xAy → xvy

A 의 좌우에 x 와 y 가 있을때 A 를 v 로 규칙적용


CSL and Linear Bounded Automata
Def. L : context  sensitive if  context  sensitive grammar G 
L  L(G ) or L  L(G )  {  }

ex. L  {a nb n c n : n  1} : context  sensitive ?

S  abc | aAbc S  aAbc  abAc  abBbcc


Ab  bA  aBbbcc  aaAbbcc  aabAbcc
Ac  Bbcc  aabbAcc  aabbBbccc
bB  Bb  aabBbbccc  aaBbbbccc
aB  aa | aaA  aaabbbccc

A
a
a 

 bc c
B

 CFL 는 CSL 의 proper subset 이구나 !


CSL and LBA : 증명
Thm.  CSL L {},  linear bounded automaton M 
L  L( M )

pf. Show that derivations in CSG can be simulated by LBA


• two tracks : input string w + sentential forms derived using G

– possible sentential form  | w |

– LBA is nondeterministic
 올바른 production 을 늘 guess 할 수 있다
 Thm 11.6 의 과정을 초기 w 의 길이만큼만 사용해서 할 수
있다
 LBA 로 할 수 있다 !
Thm. L : accepted by LBA M   CSG generate L
Recursive 언어와 CSL 의 관계
Thm. Every CSL L is recursive

pf. CSG : noncontracting → ∃membership algorithm


check all derivations of length up-to |w|m(|w|)

Thm.  recursive language that is not context  sensitive

 LBA 가 TM 보다 덜 강력하다 !
Homework : Exercises 11.3

- 일반적으로 CF 가 아닌 언어의 CSG 를 구하는 것은 매우 어려운


문제
이기 때문에 대부분의 문제를 쉽게 해결할 수는 없다 . 그 중에서
가장
쉬운 1 (a) 와 1 (b) 를 한번 시도해 볼 것 .
다양한 형식언어의 포함관계 이해

Chomsky Hierarchy

LRE (Type 0)

LREC
LCS (Type 1)
LCF
LCF (Type 2)
LDCF

LREG (Type 3) LLIN LREG LDCF


{a nb n }  {a n b 2n } {na ( w)  nb ( w)}

TM 이 할 수 있는 능력에 대해서 알아보았는데 , 다음 주에는 마지막으로 TM 이


할 수 없는 일은 무엇인지 살펴보고 , 계산이론으로의 도입을 시도합니다 .

You might also like