Định nghĩa chuẩn của máy Turing


7

Tôi đã theo dõi hai cuốn sách nổi tiếng về "Lý thuyết tự động và ngôn ngữ chính thức":

  1. Cuốn sách của Micheal Sipser
  2. Cuốn sách của Jeffrey Ullman và John Hopcroft

trong cả hai cuốn sách, định nghĩa cấp độ của máy Turing khác nhau. Mặc dù mức độ trừu tượng làm việc là như nhau nhưng chi tiết là khác nhau. Tại sao không có bất kỳ định nghĩa tiêu chuẩn? Thậm chí một số cuốn sách khác đã giải thích máy Turing theo cách khác.

Khi chúng ta cố gắng đo độ phức tạp thời gian của cùng một thuật toán trên các máy này, thời gian chính xác cũng khác nhau. Tại sao các tác giả / nhà khoa học không đồng ý với một định nghĩa tiêu chuẩn?


2
Định nghĩa toán học đến trong hương vị. Bạn có thể chọn yêu thích của bạn, và đó là một điều tốt. Miễn là mọi thứ được nêu rõ ràng, không ai bị tổn thương.
André Souza Lemos

Tôi đồng ý với André Souza Lemos. Hơn nữa, người ta có thể lập luận rằng nếu các định nghĩa không giống nhau, họ có thể chọn tên khác nhau. Thật vậy, tôi nghĩ rằng có một mối liên hệ với lý thuyết thực chất / tai nạn ( en.wikipedia.org/wiki/Essence ). Chúng ta có thể xem xét rằng những gì khác nhau trong hai định nghĩa là vô nghĩa và những gì có ý nghĩa trong mỗi định nghĩa cũng nằm trong định nghĩa khác, vì vậy việc giữ cùng một tên là bình thường.
François

sẽ tốt hơn nếu bạn viết ra những lời nói xấu và chi tiết chúng "khác nhau" như thế nào. câu trả lời cơ bản là tất cả chúng đều tương đương Turing và sự khác biệt về tốc độ nằm trong sự khác biệt về thời gian "không quan trọng" của P (đa thức).
vzn

Câu trả lời:


12

Không có định nghĩa chuẩn vì việc sử dụng các chi tiết về định nghĩa của máy Turing là không phổ biến. Trái ngược với các định nghĩa khác trong toán học, máy Turing là những đối tượng phức tạp mà định nghĩa của nó khó sử dụng trực tiếp. Thay vào đó, chúng tôi viện dẫn giả thuyết Church Turing và mô tả các máy Turing bằng cách đưa ra các thuật toán thay vì liệt kê các bộ dữ liệu. Tại thời điểm này, định nghĩa chính xác của máy Turing là không quan trọng.

Một tình huống tương tự xảy ra trong các trường hợp khác, trong đó tôi sẽ mô tả hai: hệ thống sốbuộc .

Hệ thống số , đặc biệt là số thực, có một số cấu trúc khác nhau. Nếu bạn nhìn vào những cuốn sách có chứa một cấu trúc của các số thực, bạn có thể thấy các công trình khác nhau, trong một số trường hợp khác nhau rất nhiều (ví dụ, Dedekind cắt so với các chuỗi Cauchy). Tuy nhiên, theo quan điểm của người dùng, tất cả những gì chúng tôi quan tâm là các số thực mà chúng tôi xây dựng đáp ứng các tiên đề trường cũng như hoàn chỉnh và Archimedean (ý nghĩa chính xác của các thuật ngữ này là không quan trọng). Chúng tôi gần như không bao giờ có thể sử dụng các định nghĩa cơ bản thực tế.

Buộc là một kỹ thuật chứng minh quan trọng trong lý thuyết tập hợp. Buộc có thể được định nghĩa theo nhiều cách khác nhau, phổ biến nhất là buộc các quan hệ và các mô hình có giá trị Boolean. (Một phương pháp ít phổ biến hơn là logic phương thức.) Các phương thức này đều tương đương, nhưng sự phát triển chính thức có thể hơi khác. Tất cả các phương pháp này dẫn đến cùng một bằng chứng trong lý thuyết tập hợp, nhưng không có phương pháp "chính thức". Cái nào bạn chọn để trình bày trong sách giáo khoa lý thuyết tập hợp hoặc khóa học phụ thuộc vào sở thích cá nhân của bạn.

Định nghĩa chính xác của máy Turing có vấn đề nếu bạn quan tâm đến mức tiêu thụ tài nguyên chính xác, giả sử, cần bao nhiêu bước để giải quyết một vấn đề nhất định. Vì tất cả các định nghĩa hợp lý về máy Turing đều dẫn đến thời gian chạy giống nhau đến các yếu tố không đổi và vì chúng ta thường không quan tâm đến các yếu tố không đổi mỗi se, nên định nghĩa chính xác không thành vấn đề và mang lại kết quả tương tự.

Tình huống tương tự xảy ra khi chứng minh các định lý khác trong đó giả thuyết Church Turing không thể được sử dụng. Ví dụ, khi chứng minh định lý của Cook rằng SAT là NP hoàn chỉnh, chúng ta thực sự cần tham khảo định nghĩa về máy Turing; nhưng việc xây dựng sẽ làm việc cho nhiều định nghĩa khác nhau, theo nhiều cách giống nhau. Chúng tôi chọn một định nghĩa tùy ý và tuân theo nó, biết rằng sử dụng bất kỳ biến thể nào khác sẽ dẫn đến một bằng chứng hơi khác nhau nhưng vẫn hợp lệ.



5

Điều này xảy ra thường xuyên; ví dụ, có một số định nghĩa về automata hữu hạn xung quanh.

Có hai điều chúng ta thường quan tâm trong các mô hình tính toán (và trong TCS):

  1. sức mạnh tính toán và
  2. biện pháp chi phí.

Nếu 1. giống nhau và 2. chỉ khác nhau không đáng kể (các nhà lý thuyết phức tạp sẽ nói, bởi một yếu tố đa thức / đa bội / hằng số / ...), chúng ta có thể chuyển đổi giữa (khoảng) các định nghĩa tương đương.

Các điều kiện có thể được chứng minh chính thức, miễn là các mô hình được xác định chính thức. Nó có thể là một bài tập minh họa cho bạn để làm điều này.

Tại sao có định nghĩa khác nhau sau đó? Bởi vì một hoặc bằng chứng khác có thể dễ dàng hơn, hoặc một hoặc khái niệm khác được mô tả gọn gàng hơn. Do đó, mục tiêu của một khóa học / cuốn sách, lựa chọn các chủ đề, cách tiếp cận giáo khoa và khẩu vị của tác giả có thể khiến một định nghĩa hoạt động tốt hơn một định nghĩa khác.


5

Tôi sẽ cố gắng thực hiện một cách tiếp cận hơi khác so với các câu trả lời khác, và đặc biệt xem xét vấn đề tiêu chuẩn hóa.

Có một chút ngạc nhiên khi bạn tự hỏi về tình huống này. Cuốn sách Hopcroft-Ullman (tôi sử dụng phiên bản năm 1979) đưa ra hai định nghĩa về PushDown Automaton (PDA): chấp nhận theo trạng thái cuối cùng hoặc theo ngăn xếp trống.

Nếu bạn đọc phần về kỹ thuật xây dựng Turing Machines (TM) (phần 7.4 trong phiên bản 1979), họ sẽ nói rõ:

Thiết kế các máy Turing bằng cách viết ra một bộ trạng thái hoàn chỉnh và chức năng di chuyển tiếp theo là một nhiệm vụ đáng chú ý. Để mô tả các cấu trúc máy Turing phức tạp, chúng ta cần một số công cụ khái niệm "cấp cao hơn".

Phần còn lại của phần này và các phần sau đây hiển thị tất cả các loại biến thể về định nghĩa của TM, mở rộng hoặc giới hạn định nghĩa, tất cả đều tương đương.

Vấn đề là, đối với mỗi vấn đề trong tay, chúng tôi sẽ chọn một định nghĩa phù hợp nhất để giải quyết vấn đề đó. Tất nhiên, mỗi định nghĩa này có thể làm về nguyên tắc. Nhưng tùy thuộc vào vấn đề, một số định nghĩa sẽ cung cấp cho bạn nhiều quan điểm hơn về một vấn đề cụ thể, và do đó làm cho các bằng chứng dễ dàng hơn.

Xem xét trường hợp ngôn ngữ và ngữ pháp không ngữ cảnh (CF), có nhiều dạng thông thường đã được xác định: Dạng bình thường Chomsky, Dạng bình thường Greibach, Dạng nhị phân. Tất cả đều có thể tạo ra bất kỳ ngôn ngữ CF nào và chúng có thể được coi là các biến thể của định nghĩa ngữ pháp CF. Thật tốt khi có chúng cùng tồn tại, bởi vì mỗi vai trò đóng vai trò trong một số bối cảnh. Chúng có thể xen kẽ, nhưng với chi phí.

Nếu bạn cố gắng phân tích chi phí / độ phức tạp của phân tích cú pháp CF thì chúng không tương đương và điều này sẽ được tính đến. Vấn đề phức tạp này rất quan trọng trong trường hợp CF so với TM, vì trình phân tích cú pháp CF được sử dụng rất nhiều trong các tình huống kỹ thuật, trong khi TM là một công cụ lý thuyết thuần túy. Điều này không ngăn các kỹ sư sử dụng phân tích cú pháp CF sử dụng các hình thức ngữ pháp khác nhau cho cùng một ngôn ngữ, theo một cách phối hợp nào đó, để tính đến các vấn đề khác nhau.

Trong trường hợp ngôn ngữ CF, nó có thể là một vấn đề kỹ thuật quan trọng , và do đó, người ta hy vọng rằng các ngữ pháp CF, và các hình thức khác nhau của chúng sẽ được chuẩn hóa / tiêu chuẩn hóa tương đương với kích thước của cờ lê hoặc đường kính của dây điện. Trên thực tế, nó đã đi xa đến mức xác định một cú pháp chính xác để viết các ngữ pháp CF, Mẫu Backus Naur (BNF) .

TM có một vài ứng dụng kỹ thuật sẽ chứng minh sự bình thường hóa và chúng có khả năng biến đổi tiềm năng lớn hơn nhiều (tuy nhiên một phần được tính đến bằng cách xem xét các biến thể chính như đa băng, đa đầu, ...). Điều này giải thích rằng có rất ít áp lực để áp dụng một hình thức tiêu chuẩn, do các nhà toán học sử dụng chúng được cho là đủ chín chắn về mặt kỹ thuật để cẩn thận khi nó có thể tạo ra sự khác biệt, ví dụ như đếm chính xác số lần di chuyển. Ngay cả đối với độ phức tạp, các biến thể nhỏ trong định nghĩa thường không quan trọng, bởi vì chúng tôi chỉ xem xét độ phức tạp tiệm cận và độ phức tạp tiệm cận cho đến hàm đa thức.

Điều khá phổ biến trong toán học (trong số các ngành khoa học khác) là các tác giả khác nhau sẽ chọn các định nghĩa khác nhau, được biết là tương đương (hoặc tương đương trong hầu hết bối cảnh), tùy theo sở thích, quan điểm của họ về ứng dụng, tầm nhìn của họ về cấu trúc vấn đề, mục đích sư phạm của họ, vv Các định nghĩa cũng phát triển theo thời gian khi biết nhiều hơn về một vấn đề, và khi quan điểm thay đổi. Các ký hiệu cũng vậy. Sự thay đổi này là một nguồn quan trọng của sự tiến bộ và sự hiểu biết. Người Hy Lạp đã làm toán học xuất sắc, nhưng nó dễ dàng hơn rất nhiều với các khái niệm hiện đại (ví dụ: biến ), định nghĩa và ký hiệu.

Các tiêu chuẩn thường được xem là cực kỳ thuận tiện (cờ lê cf và đường kính dây). Nhưng họ cũng có thể là một yếu tố của sự cứng nhắc ngăn cản tiến trình. Tiêu chuẩn hóa là một con dao hai lưỡi, vì vậy chúng ta phải làm cùn nó một chút cho an toàn. Các định nghĩa khác nhau thường không hoàn toàn giống nhau, nhưng đủ gần để các lý thuyết có thể phát triển ít nhiều theo cùng một cách.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.