비결정론 (푸시 다운 오토마타)이 필요한 이유는 무엇입니까?


9

문맥없는 언어를 인식하기 위해 결정적이지 않은 푸시 다운 오토마타 (DPA = NPDA) 만 작동하는 이유를 알고 싶습니다. 결정 론적 푸시 다운 오토마타 (DPDA)가 왜 그런 언어를 인식하지 못합니까?


10
언어는 해당 언어에 대한 LR (1) 문법이있는 경우 결정 론적 푸시 다운 자동 분석으로 인식 할 수 있습니다. LR (1) 문법이없는 문맥없는 언어가 있기 때문에 NPDA! = DPDA. 이 결과는 매우 잘 알려져 있으며 일반적으로 컴파일러 과정에서 다루어 질 것이므로 이것이 귀하의 질문에 대한 대답인지 확실하지 않습니다.
Alex ten Brink

비결정론이 받아 들여진 언어, 즉 FSM과 TM에 다른 영향을 미치지 않는 다른 주요 모델이 있다는 것은 실제로 반 직관적입니다.
vzn

답변:


25

나는 당신이 찾고있는 "왜"의 맛을 잘 모르겠습니다. 비결 정성을 허용 할 때 전력이 증가하는 한 가지 이유는 다음 예에서 볼 수 있습니다.

하자 회문들의 집합 일부 알파벳 (적어도 두 개의 심볼) 이상, 의 역이다 . 이 언어의 NPDA는 기호를 스택에 계속 밀어 넣은 다음 입력의 중간에 도달하여 점진적으로 스택을 비 웁니다. 수용 조건은 순전히 존재한다는 점에 유의하십시오. 단어를 받아 들일 수있는 정확한 추측이 있으면 충분합니다.Lww¯w¯w

결정 론적 PDA는 현재 접두사에만 의존하는 방식으로 중간을 고려하는 위치를 선택해야합니다. 가 그러한 DPDA라고 가정하십시오 . 임의의 경우 ,하자 ; 하자 비어있는 단어, 그리고 . 이는 그래서, 회문 시퀀스 다음 각 접두사 받아들이는 상태에 있어야 스택 읽은 후, 공창, . 비둘기 구멍 원리에 의해 및 과 같은 이 있어야합니다.AkNuk=ab2kav0vk+1=vkukvkAqkvkk,lklqk=ql(유한 한 수의 상태가 있으므로 무한 수의 가 있으므로 일부는 '재사용'해야합니다 ). 그러나 구별 할 수 에서, 회문 인 하지 않습니다.kAvkukvkvlukvk


0

FA는 결정 론적이거나 비결정론 적으로 동일한 언어 (예 : Regular Lang)를 허용합니다.

그러나 PDA 의 경우 결정적 으로 동작하도록 제한하면 일부 CFL ( 접두사 속성이없는 CFL ( RL 제외))을 허용하지 않습니다 .

왜 그래?

접두사 속성이없는 CFL의 예를 고려하십시오 (lang의 접두사 속성 : 문자열이없는 경우 lang에있는 다른 문자열의 올바른 접두사가 없습니다).

L = wwr

예. 문자열 000000 . (00은 올바른 접두사 0000이므로 wwr에는 속성이 없습니다).

00 DPDA가 발생 하면 최종 상태가됩니다. 이제 DPDA이 acceptancy 연속성 사이에 선택의 여지가 없기 때문에 , 그것을 받아 들일 수 없습니다 0000을 수용 한 후 00 . PDA가 비결 정성을 요구하는 곳 입니다.

관찰 : FA의 경우 lang (RL) pref. 속성은 결정적으로 받아 들일 수 있습니다 (예 : 0으로 시작하는 문자열). 이것은 RL과 CFL의 접두사 속성의 효과가 다르다는 것을 보여줍니다 . PDA에 대한 결정론과 비결정론의 차이점은 새로운 언어 군을 만들어 낸다. DPDA에 의해 허용됩니다. 이 언어를 DCFL 이라고 합니다.

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