비 결정적 튜링 머신은 하나 이상의 경로가 허용되는 경우 수락합니다. 모든 경로가 거부하는 경우에만 거부합니다. 이 비대칭 성으로 인해 "응답을 뒤집기"어렵습니다.
예를 들어, 입력 대한 두 개의 경로 가있는 비 결정적 튜링 기계 이 있다고 가정합니다 . 하나는 수락하고 다른 하나는 거부합니다. 은 에 대해 하나 이상의 허용 경로를 가지고 있으므로 허용합니다. 거부 한 입력을 정확하게 받아들이는 기계를 생산한다고 가정하자 . 명백한 첫 번째 시도는 을 취하고 수용 국가를 거부하고 거부 국가를 수락하는 것입니다. 은 대한 하나의 수락 경로 와 하나의 거부 경로를 가지고 있습니다. 이 새로운 기계 ( 는 하나의 거부 경로 및 하나의 허용 경로를 갖는다. 따라서 여전히 받아들이며 거부해야합니다!w M w M M M w M ' w미디엄승미디엄승미디엄미디엄미디엄승미디엄'w
비 결정적 시스템은 모든 경로를 동시에보고 모든 경로가 수행하는 작업을 기반으로 조치를 취할 수 없습니다. 원한다면 스레드가 서로 통신하는 것이 금지되는 병렬 처리의 형태로 생각할 수 있습니다. 모든 스레드가 완료되면 프로그램은 다음과 같은 질문을해야합니다. "내 스레드 중 하나 이상을 수락 했습니까?" 대답이 예인 경우, 법적으로 수락해야합니다. 답변이 '아니오'인 경우 법적으로 거부해야합니다. 다른 작업은 할 수 없습니다.
당신이 결정적 기계 시뮬레이션 할 때 다른 사용하여 , 각각의 경로 의 하나 개의 경로 시뮬레이션 하고 해당 경로를 본다. "다른 모든 경로가 거부되면 다른 경로를 볼 수 없으므로 수락하겠습니다"라고 말할 수 없습니다. 그 자체 만 볼 수 있습니다. "시뮬레이션 된 경로가 수락되면 거부하겠습니다"또는 "시뮬레이션 된 경로가 허용되는 경우 동의합니다."와 같이 말할 수 있습니다. 그런 다음 계산이 끝날 때 기계는 "내 경로 중 하나라도 받아들이면 받아 들일 것입니다"라고 말하면서 위에서 설명한 문제가 발생합니다. 의 거동을 반전시키기 위해 각 경로M ' M ' M M M ' M MMM′M′MMM′"시뮬레이션 된 경로가 수락되면 거부합니다. 그렇지 않으면 수락합니다"라고 말하고 계산이 끝나면 기계는 "내 경로가 모두 수락되면 수락합니다. 그렇지 않으면 거부합니다. " 시뮬레이터의 모든 경로가 승인되면 의 경로가 모두 거부되어 거부되므로 시뮬레이터가 승인해야하기 때문입니다. 그러나 시뮬레이터는 법적으로 규정 된 수락 기준을 사용하지 않기 때문에 유효한 비 결정적 튜링 머신이 아닙니다. 그렇게 할 수 없습니다.MM
비 결정적 머신이 입력을 거부하는지 알아내는 유일한 방법은 가능한 모든 경로를 시도하고 모두 거부하는지 확인하는 것입니다. 결국, 그들 중 하나라도 받아들이면 기계는 입력을 받아들입니다. 그러나 가능한 모든 경로를 시도하는 것은 하나를 시도하는 것보다 기하 급수적으로 느립니다.