Universal Turing machine에 관한 두 가지 질문에 대한 답을 찾으려고합니다.
- 시뮬레이션중인 머신의 상태 수가 더 많은 경우 Universal Turing 머신이 Turing 머신을 어떻게 시뮬레이트 할 수 있습니까?
- 시뮬레이션중인 기계의 알파벳 수가 더 많은 경우 Universal Turing 기계가 Turing 기계를 어떻게 시뮬레이트 할 수 있습니까?
누구 든지이 질문에 나를 도울 수 있습니까?
Universal Turing machine에 관한 두 가지 질문에 대한 답을 찾으려고합니다.
누구 든지이 질문에 나를 도울 수 있습니까?
답변:
두 하위 질문에 대한 대답은 동일합니다. 테이프를 사용하여 필요한 데이터를 저장하는 것입니다. 시뮬레이션 할 머신의 상태 세트와 알파벳이 자연수의 하위 세트 ( "상태 1", "상태 2", "상태 3"등)라고 가정 할 수 있습니다. 공백이 아닌 문자가 두 개 일지라도 범용 기계는 모든 정수를 이진 문자열로 나타낼 수 있습니다.
그러나 유니버설 머신에는 고정 된 수의 상태가 있으므로 전환 기능 계산이 약간 까다로워집니다. 무엇을 우리가하고 싶은 것은 상태가 "양식의 큰 switch 문을 구현하는 몇 가지 지침을 쓰기입니다 과 머리에서 문자가 x는 다음 상태로 이동 S ' , 쓰기 문자 X ' 와 이동 방향 헤드 라 . " 따라서 이것이 귀하의 질문의 근본 원인이라고 생각합니다. 유니버설 머신에 전이 함수의 입력을 저장할 수있는 상태가 충분하지 않은 경우 전이 함수를 어떻게 계산합니까?
한 가지 방법은 전환 기능을 이진 트리로 저장하는 것입니다. 모든 시뮬레이션 기계가 가정 주와 2 개 ℓ의 테이프 기호. 전환 함수를 깊이 q + ℓ 의 이진 트리로 저장합니다 . 첫 번째 q 레벨에서 시뮬레이션 된 상태의 다음 비트가 1인지 0인지, 다음 ℓ 레벨이 같은지에 따라 왼쪽 또는 오른쪽으로 이동합니다. 그러나 시뮬레이트 된 테이프 문자의 연속적인 비트에 대해서는 이제 유니버설 머신은 테이프에서 앞뒤로 이동할 수 있으며 상태 / 캐릭터의 다음 비트를 확인하고 해당 비트를 자체 상태로 기억하고 트리로 돌아가며 올바른 노드에 마커를 배치하는 등의 작업을 수행 할 수 있습니다.
유니버설 머신에 여러 개의 테이프가 있도록하더라도 멀티 테이프 머신이 단일 테이프 머신과 동일하다는 것을 여전히 보여줘야합니다.