그것이 맞는지 아닌지, 매우 궁금하다면 - 자격이 없다면 어떤 자격이 부족합니까? 상당한 양의 일괄 처리를 수행했으며 명백한 슬립 업을 보지 못했습니다.배치 튜링이 완료 되었습니까?
17
A
답변
12
나는 그것이 자격이 있다고 믿는다. 튜링 완성도의 기본 요구 사항은 상태 (변수) 저장, 분기 기능 (조건부) 및 반복 (반복) 기능을 포함하여 몇 가지 간단한 작업으로 축소 될 수 있다고 생각됩니다. Batch에는 이러한 모든 기능이 있으므로 Turing의 완전성에 대한 아직 알려지지 않은 요구 사항이 없으면 배치 스크립팅이 적합합니다.
15
I했습니다 단지 (브레인 퍽이 완료 튜링이 입증되어 있기 때문) '검증 된'일괄 배치의 브레인 퍽 인터프리터를 만들어 튜링 완료입니다 : 그런데
https://github.com/YoYoYonnY/Brainfuck-In-Batch
, 튜링 완료 프로그래밍 언어는 다음 중 하나를 의미합니다.
- 동일한 언어로 된 다른 프로그램이 결국 멈추거나 영원히 계속 실행될 것인지 결정할 수있는 프로그램을 만들 수 없습니다 (이 코드가 어떻게 작동하는지 모르겠습니다. 누구도 생각하지 마라. ver는 Turing의 완성도를 증명하기 위해 이것을 사용했습니다).
- 가능한 언어로 가능한 모든 프로그램을 실행할 수있는 프로그램을 만들 수있는 (A 인터프리터. Brainfuck interpreter in Brainfuck (나는 불행하게도 찾을 수없는 더 나은 버전이있다이 사람이 정말 느린))
- 가능한 것은 행동하는 또는 같은 것은 튜링 컴퓨터 시뮬레이션, 따라서 적어도 다음 측면 포함 즉 다른 값에 변수 값을 변경 (메모리에 쓰기
- 에만
false
에true
을 변경할 수있는 다른 방법은 주위를 여전히 유효합니다. 일괄 처리의 경우 :SET A=5
) - '무한'메모리 (즉, 당신도 쓸 수있는 1 비트/바이트 이상이어야합니다. 무한히 많은 것을 선호합니다. 전체 객체에 쓸 수있는 한 문자열, 배열, 테이블, 비트 필드 또는 정수 만 유효합니다. 정수를 유효하게하려면 배열을 색인 할 수 있어야합니다 (예 :
array[index];
) - 조건부 점프 문은
(A가 0 인 경우 스택의 현재 값이 0 인 경우, 즉
- 에만
IF %A%==0 GOTO LABEL
(점프) 종료)
while (var) {/*code*/}
(var에 0이 아닌 상태 코드를 시작으로 다시 이동) 또는
jmp0 exit;
(점프 레이블을)
전통적인 튜링 기계는 양면에 무한대의 테이프가 있어야하지만 단순한 배열, 문자열, 표 (객체) 또는 이진수 (비트 필드)가 필요합니다. 너무 일한다. 내 "Brainfuck in Batch"에서는 예를 들어 배열/테이블과 같은 객체를 사용하여 메모리를 저장했습니다 (일괄 처리로 값의 키를 변경할 수 있습니다. SET ARRAY[%KEY%]=%VALUE%
)
관련 문제
- 1. 스컬라는 튜링이 완료 되었기 때문에 "함수 언어"로 불리지 않습니다.
- 2. 동영상 플레이어에서 완료 되었습니까?
- 3. FileSystemWatcher 작업이 완료 되었습니까?
- 4. 식별자 사례 연구가 완료 되었습니까?
- 5. 언제 UITableView 업데이트가 완료 되었습니까?
- 6. dojo.datagrid로드를 확인하는 방법이 완료 되었습니까?
- 7. 티타늄 서버에서 컴파일이 완료 되었습니까?
- 8. 데이터 수집은 어떻게 완료 되었습니까?
- 9. 자바 내에서 JarSigner가 완료 되었습니까?
- 10. 대기중인 상점 트랜잭션이 완료 되었습니까?
- 11. 양방향 매핑이 올바르게 완료 되었습니까?
- 12. UIViewController 봉쇄가 올바르게 완료 되었습니까?
- 13. 이미지가 늘어나고 중앙에 배치 되었습니까?
- 14. iOS5에서 완료 단추 문제가없는 UIKeyboardTypeNumberPad가 해결 되었습니까?
- 15. 이 WSP 제거 스크립트가 완료 되었습니까?
- 16. Dojo Parser - 구문 분석이 완료 되었습니까?
- 17. 양식에 대한 조치가 완료 되었습니까? C#
- 18. PL/SQL 실행이 경고와 함께 완료 되었습니까?
- 19. 웹 브라우저 문서를 확인하는 방법은로드가 완료 되었습니까?
- 20. 사용자 작업을위한 데이터베이스 구조가 올바르게 완료 되었습니까?
- 21. 멀티 렌더러를보기 위해 XTK가 완료 되었습니까?
- 22. Popover 이후의 사후 처리가 완료 되었습니까?
- 23. Android MapView : animateTo 이벤트가 완료 되었습니까?
- 24. 배치 파일을 호출하고 완료 될 때까지 기다림
- 25. 배경 이미지의 뷰포트가 가운데에 배치 되었습니까?
- 26. 고정/고정 바닥 글이 중앙에 배치 되었습니까?
- 27. 아래의 isset() 함수가 제대로 배치 되었습니까?
- 28. 스레드가 완료 될 때까지 BeginInvoke를 사용하여 UI 업데이트가 중단 되었습니까?
- 29. ASync 작업이 완료되면 안드로이드 서비스를 종료하는 방법 완료가 완료 되었습니까?
- 30. 파일 저장을 확인하는 방법은 파이썬을 사용하여 완료 되었습니까?
사람들은 순수 배치 스크립팅을 사용하여 완전히 우스운 일을 처리합니다. : S – Wug
나는 이것보다 약간 더있는 것처럼 느낍니다. Turing Machine은 "상태 저장"뿐만 아니라 기본적으로 양 끝단 스택을 포함합니다. FSM은 상태, 분기 및 반복 버전이 약하며 TC가 아닙니다. PDA는 스택을 가지고 있으며 여전히 TC가 아닙니다. 두 개의 스택이있는 PDA를 TC로 사용합니다. –