문맥없는 문법에 대한 Before와 After는 항상 문맥이 없는가?


14

G 를 문맥없는 문법으로 하자 . 단자의 비끝의 문자열 G 것으로 알려져 sentential 형태G 는의 제작에 적용하여 얻을 수있는 경우 G 의 시작 심볼 0 번 이상 S . SF(G) 일련의 형태로 보자 G.

하자 αSF(G) 및하자 β 의 문자열이 될 α - 우리가 전화 조각SF ( G을 ) . 이제하자βSF(G)

Before(β)={γ | δ.γβδSF(G)}

After(β)={δ | γ.γβδSF(G)} .

인가 Before(β)After(β) 문맥 자유 언어? G 가 모호하지 않으면 어떻게 되나요? G 가 분명한 경우 , Before(β)After(β) 도 명확한 문맥없는 언어로 설명 할 수 있습니까?

이것은 내 질문에 대한 답변을 더 쉽게 만들 려고 시도한 후의 이전 질문에 대한 후속 조치 입니다. 부정적인 대답은 내가 작업하고있는 포괄적 인 질문에 대답하기 매우 어렵게 만듭니다.

답변:


8

After ( β )에 대한 느낌을 먼저 얻자 . β 를 포함하는 파생 트리를 고려하십시오 . 여기서 "포함한다"는 β 가 나무 앞의 하위 단어가 되도록 하위 트리를 잘라낼 수 있음을 의미합니다 . 그런 다음 이전 (이후) 세트는 β의 왼쪽 (오른쪽) 나무 부분의 모든 가능한 정면입니다 .Before(β)After(β)βββ

세트 전후의 트리
[ 출처 ]

따라서 트리의 가로로 정렬 된 (수직으로 정렬 된) 부분에 대한 문법을 ​​만들어야합니다. 우리가 이미 전체 트리에 대한 문법을 ​​가지고 있기 때문에 충분히 쉬운 것 같습니다. 우리는 확실히 모든 sentential 형태 멀리 단어 (영문 변경), 필터가 포함되지 않은 것들이다 확인해야 (즉, 같은 일반 속성입니다 β가 고정) 및 (전) 이후에 모든 것을 버려야 β 을 포함, β . 이 절단도 가능해야합니다.ββββ


이제 공식적인 증거입니다. 문법을 개략적으로 변환하고 의 클로저 속성을 사용 하여 필터링 및 절단을 수행합니다. 즉, 비 구조적 증거를 수행합니다.CFL

에 문맥이없는 문법 이라고하자 . SF ( G ) 에 컨텍스트 가 없음을 쉽게 알 수 있습니다. 다음과 같이 구문 G ' = ( N ' , T ' , δ , N S ) :G=(N,T,δ,S)SF(G)G=(N,T,δ,NS)

  • N={NAAN}
  • T=NT
  • δ={α(A)α(β)Aβδ}{NAAAN}

의 모든 t Tα ( ) = N 모든 N . 이 분명하다 L ( G ' ) = SF ( G를 ) ; 따라서 해당 접두사 마감 Pref ( SF ( G ) ) 및 접미사 마감 Suff ( SF ( G ))α(t)=ttTα(A)=NAaNL(G)=SF(G)Pref(SF(G)) 에도 컨텍스트가 없습니다 ¹.Suff(SF(G))

이제 모든 L ( β ( N T ) )L ( ( N T ) β ) 정규 언어입니다. 로 C F L은 교회법에 따라 닫혀 왼쪽 / 오른쪽 지수 일반 언어에, 우리는 도착β(NT)L(β(NT))L((NT)β)CFL

Before(β)=(Pref(SF(G))  L((NT)β))/βCFL

After(β)=(Suff(SF(G))  L(β(NT)))βCFL .


¹ 오른쪽 (및 왼쪽) 몫 아래에서 닫힙니다 . Pref ( L ) = L / Σ *Suff yield prefix resp. 와 유사 합니다. 접미사 폐쇄.CFLPref(L)=L/ΣSuff


나는 답을 쓰기 시작했고 내 증거는 당신과 같다는 것을 깨달았습니다. 문법 형성 : 나는 그것을 (여기에 맞게 압축) 이런 식으로 넣어 거라고 새 터미널 추가하여 아닌 각 터미널 (A metavariable)를 및 생산 . 그런 다음 G의 문장 형태 는 메타 변수로 구성된 G 에 의해 인식되는 단어 입니다. 이것은 CFG와 일반 언어의 교차점이므로 규칙적입니다. CFG의 접두사 세트는 CFG입니다 (PDA를 가져 와서 모든 상태를 최종 상태로 만듭니다). B e f o r e ( γ ) =GA^AAA^GG 다시 CFG이다. Before(γ)={γγβL(Prefix(G^))}
Gilles 'SO- 악마 그만'

1
@Gilles, 그에 대한 세 가지 의견 : 1) 문장 형식은 일반적으로 (적절하게) 언어를 포함합니다. 2) "모든 주를 최종 결정"-작동하지 않습니다. 단어가 아닌 접두사도 허용됩니다. 3) 접미사를 "잘라 내기"하는 마지막 단계는 까다로워 까다로워 보입니다. : / 당신은 나의 것보다 엄격하지만 더 작은 증거를 가지고 있습니까?
Raphael

1) 중요하지 않습니다 ( 가 각 터미널에 대해 비 터미널을 갖거나 갖지 않도록 변경 ). 2) 죄송합니다. 너무 많이 차단했습니다 . 최종 상태 최종에 도달 할 수있는 모든 상태 만드십시오 . 3) 한 번에 하나의 터미널 b 를 수행하십시오. PDA에서 b 를 final로 사용 하여 최종 상태에 도달 할 수있는 상태를 표시하십시오 . 그렇습니다.이를 엄격하게하려면 더 많은 확장이 필요합니다. Gbb
Gilles 'SO- 악마 그만'

9

예, After ( β ) 는 문맥이없는 언어입니다. 내가 그것을 증명하는 방법은 다음과 같습니다. 먼저, 정리 (핵심)입니다. 만약 L은 다음 CF입니다 :Before(β)After(β)L

Before(L,β)={γ | δ.γβδL}

After(L,β)={γ | δ.δβγL}

CF입니다.

증명? 들면 비 결정적 유한 상태를 구성하는 변환기 T β 그 검색 문자열 동시에 그것을 보는 모든 입력 심볼을 출력하고 것은 비 결정적 검색 β . 마다 T의 β는 의 첫 번째 심볼보고 β 는 비 결정적 포크와 하나는보고가 완료 될 때까지 출력 심볼을 중단 β가 아니면 벗어나있는 심볼보고보고 β는 , 각각의 경우에 중단한다. T ββ를 보는 경우Before(L,β)TββTββββTββ전체적으로 중지시 수락합니다. 이것이 허용하는 유일한 방법입니다. β 와 편차가있는 경우β 와 있으면 거부합니다.

보조 정리는 경우 핸들의 경우에 jiggered 수 있습니다 (같은 자신과 겹쳐 수 B b는 -을 찾고 유지 β 도 이전에 대한 검사의 중심부에있는 동안 β 실제로 (여러 번) 또는 표시, 원래 비 determinisic 포크는 이미 처리합니다). βababββ

Tβ(L)=Before(L,β)Before(L,β) 따라서이다 CF.

After(L,β)Before(L,β)

After(L,β)=rev(Before(rev(L),rev(β)))

Actually, now that I see the reversal argument, it would be even easier to start with After(L,β), since the transducer for that is simpler to describe and verify -- it outputs the empty string while looking for a β. When it finds β it forks non-deterministically, one fork continuing to look for further copies of β, the other fork copying all subsequent characters verbatim from input to output, accepting all the while.

What remains is to make this work for sentential forms as well as CFLs. But that is pretty straightforward, since the language of sentential forms of a CFG is itself a CFL. You can show that by replacing every non-terminal X throughout G by say X, declaring X to be a terminal, and adding all productions XX to the grammar.

I'll have to think about your question on unambiguity.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.