무제한 규칙을 허용하는 CFG는 얼마나 강력합니까?


9

문맥없는 문법이 무한한 수의 규칙을 갖도록 허용하면 최근에 어떤 일이 일어날 지 궁금합니다. 분명히, 우리가 임의의 무한한 규칙 집합을 허용한다면, 알파벳 통한 모든 언어 은 CFG 로 . 그러나 컨텍스트 프리 문법으로 작성할 수있는 규칙 세트로 을 제한하면 어떻게 될까요?LΣG=({S},Σ,R,S)R={SwwL}R

이를 위해 비 터미널 및 터미널 집합을 사용하여 규칙을 가 아니라 알파벳 문자열 로 보도록하겠습니다. 입니다. 이제 내 질문은 무한 규칙 CFG 를 튜플 로 정의하면NΣN×(NΣ)R(N,Σ)=NΣ{}G=(N,Σ,R,S)

  • N 은 유한 한 비 터미널 집합입니다
  • Σ 는 유한 알파벳입니다
  • R 형태의 일련의 규칙 와 , 일부 CFG가되도록 위에 와AwANw(NΣ)GR(N,Σ)R=L(G)
  • SN 은 초기 비 터미널입니다.

CFG에 대해 수행되는 것과 같이 무한 규칙 CFG에 대해 을 정의합니다. 무한 규칙 CFG에 의해 생성 된 언어 클래스 (클래스 ), 문맥없는 언어 의 관계는 무엇입니까? 그리고 클래스 ?L(G)irCFCFRE

분명히 우리는 가 있지만 는 이러한 클래스 중 하나 (또는 ​​다른 클래스)와 동등합니까?CFirCFREirCF


답변:


7

메타 그램 가져 와서 두 개의 기호 접두사를 사용 한다고 가정 해 봅시다 . 즉, 각 구문 에 대해 문자열 대한 의 왼쪽 파생입니다 . 그러면 (유한 한) (유한 한) 메타 그램이 생성되며, 각각은 대한 모든 (무한한) 생성을 생성합니다 .GANGAGAAN

이제, 문법 구성 그 지배하는 모든 규칙의 조합이다 따라, (피 충돌로 변경 비 단자) 문법 각각 , 의 시작 비 단말기 인 . 대한 비-말단 은 및 각각의 대한 모든 비-말단을 포함 ; 시작 비 터미널은 의 시작 비 터미널이고 , 의 터미널은 정확하게 의 터미널입니다 . 나는 를 증명하지 않고 주장한다.GGAASGAGASGAGAGNGAGGGG도출 과정이 규칙의 기원에 영향을받지 않기 때문에 같은 언어에 대한 유한 문법이다. 알파벳을 대체하는 문자열입니다.

위의 증명 개요가 유효하면 와 는 동일합니다.CFirCF

내가 언급 한 바와 같이 Van Wijngaarden 문법 과 추가 능력을 모두 잃지 않으면 서 더 관리 가능한 형식을 만들기 위해 시도한 다양한 시도를 포함하여 2 단계 문법의 흥미로운 예가 있습니다.

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