Tôi tự hỏi liệu MATLAB có phải là Turing complete (= tính toán phổ dụng, tức là "nếu nó có thể được sử dụng để mô phỏng bất kỳ máy Turing một lần nào") không?Tôi tự hỏi liệu MATLAB là Turing hoàn thành (tính toán phổ quát)?
Trả lời
Turing hoàn thành thực sự là một thanh khá thấp cho các ngôn ngữ trong thế giới thực. Theo Wikipedia (tôi nhấn mạnh):
Để hiển thị rằng cái gì là Turing hoàn tất, nó là đủ để chứng minh rằng nó có thể được sử dụng để mô phỏng một số Turing hệ thống hoàn chỉnh. Ví dụ, một ngôn ngữ bắt buộc là Turing hoàn chỉnh nếu nó có có điều kiện nhánh (ví dụ, "nếu" và "goto" báo cáo, hoặc một "chi nhánh nếu không" hướng dẫn. Xem OISC) và khả năng thay đổi bộ nhớ tùy ý vị trí (ví dụ: khả năng duy trì số lượng tùy ý biến). Vì điều này hầu như luôn xảy ra, hầu hết nếu không phải tất cả các ngôn ngữ mệnh lệnh đều được hoàn tất nếu chúng tôi bỏ qua bất kỳ giới hạn nào của bộ nhớ hữu hạn.
Ngoài ra, MATLAB có nhiều tính năng bạn mong đợi từ tương đối hiện đại 3GL/4GL. Nó hoàn chỉnh với một VM, I/O, cấu trúc giao diện người dùng, toán tử toán học (rõ ràng), kiểu dữ liệu, hàm do người dùng định nghĩa, vv Bạn thậm chí có thể cung cấp các chương trình Matlab bên ngoài môi trường Matlab.
Lưu ý rằng có hay không một ngôn ngữ tốt là một câu hỏi hoàn toàn khác.
Và u cũng có thể sử dụng libs matlab bên ngoài Matlab – Rodrigo
nhưng nó cũng sẽ có thể viết một "trình biên dịch" MATLAB hoàn toàn trong MATLAB, hoặc viết lại MATLAB chính nó trong MATLAB tương ứng? – karsten
@karsten tất nhiên. Tôi không thể tưởng tượng một điều như vậy là rất thực tế, nhưng tôi không thấy lý do tại sao nó sẽ không thể. –
Có, một số high-level programming language.
Tôi giả sử bạn phân biệt giữa ngôn ngữ lập trình và ngôn ngữ kịch bản, và vì bản chất của MATLAB nó xuất hiện như một ngôn ngữ kịch bản? Nếu đây là trường hợp, ý kiến của bạn có thể phụ thuộc vào những gì bạn xem xét một ngôn ngữ lập trình.
Tôi tin rằng MATLAB là Turing-hoàn chỉnh và có một cú pháp hợp lý chặt chẽ và có thể sử dụng, vì vậy tôi muốn gọi nó là một ngôn ngữ lập trình. Đồng thời, mặc dù csh có lẽ là turing-complete, nhưng nó rất đáng kể để chương trình trong đó tôi muốn gọi nó là một ngôn ngữ kịch bản.
Đối số "lập trình so với tập lệnh" có thể phức tạp hơn đối với MATLAB vì nó rút ra sự phân biệt giữa "tập lệnh" và "tệp m" (tức là "hàm"). – gnovice
csh = c shell, một trong các ngôn ngữ kịch bản lệnh shell thường được tìm thấy trên linux, unix, bsd, v.v. –
lol, còn ksh thì sao? k sắc nét ...:) –
- 1. Tính toán dựa trên constexpr Turing có hoàn thành không?
- 2. Turing đầy đủ tính toán lambda?
- 3. Câu hỏi thuật toán phổ biến
- 4. Thư viện C++ phổ quát
- 5. hằng số phổ quát trong R
- 6. Thuộc tính nào của hệ thống kiểu Scala làm cho nó hoàn thành Turing?
- 7. SQL hoặc thậm chí TSQL Turing có hoàn thành không?
- 8. Đóng cửa và định lượng phổ quát
- 9. Tính năng tự động hoàn thành iOS
- 10. Rails - Chức năng toàn cầu phổ quát
- 11. có Mô hình phổ quát cho ngôn ngữ không?
- 12. Turing Bộ chữ cái hoàn chỉnh chữ số x86 (tập hợp con)
- 13. Tác động hiệu suất của bộ chọn phổ quát là gì?
- 14. Plugin Eclipse: Tự động hoàn thành vì nó phải là
- 15. Hệ thống kiểu trong Scala là Turing hoàn chỉnh. Bằng chứng? Thí dụ? Lợi ích?
- 16. Dữ liệu làm mới tự động hoàn thành UI UI
- 17. Tự động hoàn thành Xcode?
- 18. MATLAB - câu hỏi sàn
- 19. Tổng quát toán tử số học
- 20. Trường Content-MD5 trong phản hồi HTTP phổ quát?
- 21. MATLAB - tính chất phụ thuộc và tính toán
- 22. jQuery UI Tự động hoàn thành Không lọc dữ liệu
- 23. Ajax/Jquery Tự động hoàn thành với dữ liệu JSON
- 24. thích ứng Thanh toán thanh toán HOÀN THÀNH mặc dù actionType là CREATE
- 25. NSTextField tự động hoàn thành
- 26. Dòng mới phổ quát cho tất cả các hệ điều hành là gì? (LF và CR)
- 27. Thuật toán phổ biến
- 28. Thuật toán phổ biến
- 29. Cấu trúc dữ liệu tốt nhất để hoàn thành tự động văn bản là gì?
- 30. MATLAB chỉ mục câu hỏi
Tôi đã viết lại câu hỏi của mình để truyền tải những gì tôi thực sự muốn nói. –
Tại sao không thực hiện một máy Turing ở Matlab để chứng minh nó cho chính mình? – nibot
Lưu ý rằng máy Turing thực sự yêu cầu băng vô hạn, vì vậy tôi nghĩ, nói đúng, mọi ngôn ngữ chỉ có thể là "Turing complete" miễn là chúng tôi giả định một lượng lớn bộ nhớ tùy ý. – nibot