두 개의 스택이있는 푸시 다운 오토 마톤은 튜링 머신과 동일합니까?


41

에서 이 대답 은 언급

유한 언어로 정규 언어를 인식 할 수 있습니다. 컨텍스트가없는 언어는 스택을 필요로하고, 문맥에 민감한 언어는 두 스택을 (말에 해당하는이 전체 튜링 기계가 필요)가 필요합니다 .

위의 대담한 부분의 진실에 대해 알고 싶었습니다. 사실입니까? 이에 대한 답변을 얻는 좋은 방법은 무엇입니까?


굵은 글씨에는 두 가지 주장이 있지만 질문 제목은 그 중 하나에 만 관심이 있다고 제안합니다.
타이슨 윌리엄스

@TysonWilliams : 그렇습니다?
Lazer

혼란 스럽습니다. 두 가지 주장 중 어느 부분이 정당화되고 싶은지 모르겠습니다.
타이슨 윌리엄스

에서 하나를 들어 굵은 , 같은 질문에 언급했다.
Lazer

2
@Lazer : 굵은 글씨에는 두 개의 문장이 있습니다 ( "CSL에는 두 개의 스택이 필요합니다", "두 개의 스택은 TM에 해당합니다"). CSL은 RE의 적절한 하위 집합이므로 하나만 적용 할 수 있습니다.
라파엘

답변:


38

이 답변에 두 비트;

첫째, 튜링 기계에 의해 인식 언어의 클래스가없는 상황에 맞는 그것의, 재귀 적으로 열거 (상황에 맞는 당신이에서 얻을 언어의 클래스 선형 경계 오토마타 ).

두 번째 부분은 문제를 조정한다고 가정 할 때 2 스택 PDA가 TM만큼 강력하다는 것입니다. 한 방향으로 만 무한한 테이프를 가진 TM 모델을 사용한다고 가정하는 것이 약간 더 간단합니다 (양방향은 그리 어렵지 않고 동등합니다).

동등성을 보려면 첫 번째 스택을 현재 위치의 왼쪽에있는 테이프의 내용으로, 두 번째 스택을 오른쪽의 내용으로 생각하십시오. 다음과 같이 시작하십시오.

  • 두 스택에서 일반 "스택 하단"마커를 누릅니다.
  • 입력을 왼쪽 스택으로 밉니다 (비결 정성을 사용하여 입력의 끝을 "추측").
  • 올바른 순서로 물건을 보관하기 위해 모든 것을 올바른 스택으로 옮기십시오.

이제 입력을 무시하고 스택 내용 (테이프를 시뮬레이트하는 내용)에서 모든 작업을 수행 할 수 있습니다. 당신은 읽고 쓰기 위해 밀어 넣습니다 (따라서 읽은 것과 다른 것을 밀어서 "테이프"를 바꿀 수 있습니다). 그런 다음 오른쪽 스택에서 튀어 나와 왼쪽으로 밀어서 오른쪽으로 이동하고 그 반대로 왼쪽으로 이동하여 TM을 시뮬레이션 할 수 있습니다. 왼쪽 스택의 맨 아래에 닿으면 그에 따라 동작합니다 (모델에 따라 중지 및 거부 또는 사용자의 위치를 ​​유지함). 오른쪽 스택의 맨 아래에 닿으면 빈 기호가 왼쪽으로 밀립니다.

완전한 공식 증거 는 다른 질문에 대한 답변을 참조하십시오 .

다른 방식의 관계는 훨씬 더 분명해야합니다. 즉 TM을 사용하여 2 스택 PDA를 시뮬레이션 할 수 있습니다.

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