비 결정적 튜링 머신의 비결 정성은 유한 오토마타와 다르고 오토마타를 내리는가?


9

입력 문자열을 다음과 같이 지정하십시오. w1w2...wn. 그런 다음 NFA가 현재 상태 인 경우r (그리고 알파벳까지의 입력을 읽었습니다. wi ) 다음 입력 기호를 읽기 전에 NFA는 두 개의 NFA로 분할되고 하나는 상태입니다. r 그리고 다른 존재 s유형의 전환이있는 경우 rϵs. 유형의주기가있는 경우rϵsϵq1....ϵqkϵr, 어디 qi NFA의 일부 국가이므로 다른 NFA를 기억하는 것은 아무 소용이 없습니다 r 알파벳까지 입력을 읽은 지점까지 wi.

PDA (비 결정적)가 상태 인 경우r (그리고 입력은까지 읽습니다 wi ) 사이클이 있습니다 rϵ,ϵasϵ,ϵaq1....ϵ,ϵaqkϵ,ϵar (여기서 전환 ϵ,ϵa 그 후 아무것도 의미 wi 입력에서 읽거나 스택 및 알파벳에서 아무것도 읽히지 않거나 읽지 않습니다. a 다음 입력 알파벳을 읽기 전에 스택에 푸시됩니다) wi+1 상태에는 무한 PDA가있을 것이다 r,s,q1,...qk NFA와 달리 상태는 유한하지만 내가 틀리지 않으면 스택 내용이 다를 수 있습니다 (무한 가능성).

NFA 및 PDA와 마찬가지로 비결정론의 힘은 ϵ전환. 비결정론 적 튜링 머신은 비결정론 적이라고 생각합니다.ϵNFA 및 PDA와 같은 전환 (PDA와 유사). 나는 결정 론적 튜링 머신이 비결정론 적 머신을 시뮬레이션 할 수 있음을 알고 있습니다 (빵 우선 검색을 사용하는 증거를 알고 있습니다). 그러나 이제는 그것이 어떻게 가능한지 의심 스럽습니다. 위의 PDA 유형의 사이클이 결정적이지 않은 Turing machine의 상태 다이어그램에 존재하면 다음 기호를 읽기 전에wi+1비 결정적 튜링 머신의 일부 분기에서 구성을 시뮬레이션 할 때도 결정적 튜링 머신은 무한 튜링 머신을 추적해야합니다 (다시 상태는 유한하지만 테이프의 기호는 무한한 가능성을가집니다).
그렇다면 튜링 머신의 경우 정확히 비결정론이 어떻게 정의 되었습니까? 내가 사소한 것을 오해하고 있습니까? 비 결정적 튜링 머신 사용ϵ 전환?


나는 사소한 의심으로 유감입니다. 잘못된 것이 있으면 질문을 업데이트 할 수 있습니다.


2
제목 질문과 관련하여 공식적인 정의에는 큰 차이가 없습니다. 출현 력에 관해서는 그렇습니다. 각 기계 모델마다 다른 의미가 있습니다. 질문의 나머지 부분은 파싱하기가 어렵습니다. :(
vzn


@YuvalFilmus 그렇습니다. 전환 기능의 정의에는 내가 이해 한 전원 세트가 포함됩니다. 하지만epsilon튜링 머신의 전환은 여전히 ​​명확하지 않습니다.
sashas

@vzn 나는 그렇게 생각했다. 정말 죄송합니다. 나는 의심을 제기하는 것이 나쁘다. 하지만 제안을하면 개선 할 수 있습니다.
sashas

답변:


8

비결정론은 모든 상황에서 동일한 개념입니다. 머신은 특정 시점에서 여러 옵션을 진행할 수 있습니다. 그러나 DFA / NFA 및 PDA는 항상 전체 기능을 정의 하고 튜링 머신 (결정적 또는 비 결정적)은 부분 기능을 정의 하므로 의미는 약간 다릅니다 .

부분 기능은 도메인의 일부에만 정의 된 기능입니다. 만약f 에 정의되어 있지 않습니다 x 우리는 쓴다 f(x)=. (그래서f 실제로는 총계 함수이지만 출력이 정의되지 않았 음을 나타내는 특수 요소가 범위 내에 있습니다.) 결정 성있는 튜링 기계 M 다음과 같이 부분 함수를 정의합니다. M 정지하다 x 그때 M(x) 테이프의 내용은 M 정지하다 x; 그렇지 않으면M(x)=.

결정적 튜링 머신 결정기 는 승인 및 거부의 두 가지 중지 상태를 가지며 다음과 같이 부분 함수를 정의합니다.M 정지하다 x 수용 가능한 상태에서 M(x)=1; 거부 상태에서 정지하면M(x)=0; 멈추지 않으면M(x)=. 만약M항상 멈추고 언어를 받아 들인다 고 말합니다L={x:M(x)=1}.

비 결정적 튜링 머신 (항상 결정 자임)은 "지점"(지정된 시점에 여러 가지 가능한 옵션이 있음)이 가능하며 다음과 같은 의미가 있습니다.

  • M(x)=1 입력시 x, 기계 M 모든 브랜치에서 정지하고 하나 이상의 브랜치에 대한 수락 상태에서 정지합니다.
  • M(x)=0 입력시 x, 기계 M 모든 지점에서 정지하고 항상 거부 상태에서 정지합니다.
  • M(x)= 입력시 x 지점이 있습니다 M 멈추지 않습니다.

이러한 정의를 감안할 때 결정적 튜링 머신 결정기를 사용하여 비 결정적 튜링 머신을 시뮬레이트하는 방법이 분명합니다. 모든 지점이 중지 된 후 수락 상태로 전환할지 거부 상태로 전환할지 결정할 수 있습니다. 비 결정적 튜링 머신이 일부 브랜치에서 멈추지 않으면 결정 론적 튜링 머신도 중단됩니다.


이건 어떤가요 ϵ-움직여? 해당 오토 마톤이 멈추지 않을 수 있다는 문제를 일으 킵니다. 유한 오토마타 (NFA 및 PDA)의 경우 정지하지 않는 계산은 자동으로 무시합니다. 그렇게하는 이유는 결정적으로 시뮬레이션하기위한 순진 알고리즘 (모든 계산 경로 시뮬레이션)이 제대로 작동하지 않더라도 결과 언어는 항상 계산 가능하기 때문입니다. DFA로 변환 할 수있는 NFA에게는 그렇게 어렵지 않습니다. 그러나 결정 론적 PDA는 비결정론 적 PDA보다 엄격하게 약합니다. 그럼에도 불구하고 모든 PDA가없는 PDA와 동등하다는 것을 보여줄 수 있습니다ϵ-전이 (증빙이 문맥이없는 문법을 통과 할 수는 있지만)

당신은 시뮬레이션 할 수 있습니다 ϵ-Turing 기계에서는 이동하지만 정지하지 않는 계산을 일으키는 루프가 없도록주의해야합니다. 그러나 어떤 경우에는 위와 동일한 트릭을 사용할 수 있습니다. 예를 들어, 튜링 기계에 공간이 제한되어 있다고 가정합니다. 입력 길이에 따라 사용하는 공간의 상한을 알고 있습니다. 이 경우 모든 정지하지 않는 계산은 반드시 순환합니다 (Turing 머신은 테이프 내용을 포함하여 유한하게 많은 상태를 갖기 때문에). 따라서 위와 같이 정지하지 않는 계산을 "무시"하면 계산 결과 모델은 여전히 ​​계산 가능합니다. 더 일반적으로, 이것은 모든 중단되지 않는 계산주기가 보장되는 한 작동합니다. (NFA의 경우이지만 PDA의 경우는 아닙니다.)


감사합니다. 마지막 의심이 하나있었습니다. 전환이있는 PDA에서rb,casPDA가 상태 인 경우 r 다음 경우에만 분할됩니다 b ( b 입력 테이프에서 알파벳을 읽습니다. c 스택에서 튀어 나온 알파벳 a 스택에 푸시됩니다) ϵ 무엇에 관계없이 ac 있습니다 ϵ또는 일반 스택 알파벳). 내가 맞아?
sashas

@sasha 실행은 둘 이상의 옵션이있을 때마다 "분할"됩니다.
Yuval Filmus

PDA가있는 것을 어떻게 증명할 수 있습니까? ϵ전환이없는 전환으로 전환 할 수 있습니까? PDA가 받아 들일 수있는 언어가 일반적인 Chomsky 형식의 CFG로 변환되어 결정 가능하다는 것을 항상 알 수 있습니다. 그러나 여전히 엡실론 전환이없는 PDA로 변환 할 수는 없습니다. 나는 어떤 힌트라도 정말로 고맙게 생각할 것이다.
sashas

1
@sasha Greibach 일반 형식의 문맥없는 문법을 PDA가없는 PDA로 변환 할 수 있습니다 ϵ전환 (적어도 위키 ​​백과에 따르면).
Yuval Filmus

1
GNF의 비결정론 적 구조 인 @YuvalFilmus는 본질적으로 재귀 적 강하입니다. AaB1B2Bn, 만약 A 입력시 스택의 상단에 있습니다. a 교체 A 으로 B1Bn스택에. 아니ϵ눈에. 비결정론 적 (여러 가지가있을 수 있음)A-제작 시작 a).
vonbrand
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.