Xác định vấn đề tạm dừng cho automata không xác định


18

Định nghĩa chính của máy Turing (TM), ít nhất là trong sách giáo khoa tham khảo của riêng tôi (Hopcroft + Ullman 1979) mang tính quyết định.

Do đó sự hiểu biết của riêng tôi về vấn đề tạm dừng chủ yếu dành cho TM xác định, mặc dù tôi biết rằng nó có thể được xem xét cho các loại automata khác.

Tôi cũng nhận thấy rằng tính xác định thường ít nhiều tiềm ẩn trong cách mọi người thường đề cập đến TM hoặc vấn đề tạm dừng. Trang wikipedia về vấn đề tạm dừng là một ví dụ tốt về điều đó.

Nhưng, dường như không có lý do cho một giới hạn như vậy. Với một họ của automata có thể không xác định, vấn đề tạm dừng cho có thể được định nghĩa là:FFF

Có một quy trình quyết định thống nhất sao cho, đưa ra một máy tự động và đầu vào , nó có thể quyết định liệu có tính toán tạm dừng của trên đầu vào . x A xAFxAx

(Điều này không hoàn toàn giống như nói rằng tính toán của với đầu vào sẽ chấm dứt.)xAx

Thật vậy, đó dường như là cách duy nhất để đưa ra ý nghĩa cho các cuộc thảo luận về vấn đề tạm dừng đối với Automata Bounded Automata (LBA) mà chủ yếu là automata không xác định.

Vì vậy, câu hỏi của tôi là liệu tôi có đúng không, và liệu có lý do (và lý do nào) cho cách xử lý rõ ràng thứ hai này của vấn đề tạm dừng đối với automata không xác định.


Nếu bạn nghĩ có gì đó không ổn trong câu hỏi này, bạn sẽ thật tử tế khi nói nó là gì, để tất cả chúng ta có thể hưởng lợi từ kiến ​​thức của bạn và cải thiện bài đăng cho tất cả người dùng. Cảm ơn bạn.
babou

Câu trả lời:


12

Có một vài lý do tôi nghĩ rằng chúng ta ít nỗ lực hơn trong vấn đề Dừng cho các mô hình không xác định.

Đầu tiên là trên thực tế, có hai vấn đề tạm dừng có liên quan cho một mô hình ND. Cho một đầu vào và một máy không xác định :MxM

  • Có tồn tại một chạy hợp lệ của trên mà dừng lại?xMx
  • Có tồn tại một hoạt động hợp lệ của trên mà không dừng lại? tức là làm tất cả chạy hợp lệ dừng lại?xMx

Đối với các máy xác định, chúng giống hệt nhau, vì có chính xác một lần chạy hợp lệ của trên đầu vào . Nhưng đối với các máy không xác định, có thể có nhiều lần chạy. Cái nào bạn quan tâm phụ thuộc vào ứng dụng của bạn.xMx

Thứ hai, các mô hình không xác định đã không thực tế: họ cho rằng bạn có một chiếc hộp ma thuật cho bạn biết con đường nào sẽ đi, hoặc bạn có một dạng song song vô hạn. Vì Máy Turing không xác định và xác định có sức mạnh tương đương, nên trong hầu hết các trường hợp, bạn chỉ cần chuyển đổi máy thành máy xác định trước khi bạn lo lắng về việc tạm dừng.

Là một phần mở rộng của điều này, chúng tôi không quan tâm bởi vì việc chứng minh một cái gì đó về một máy không xác định ít nhất cũng khó như chứng minh một cái gì đó về một máy xác định tương đương. Chúng tôi đã biết rằng không có giải pháp nào cho Vấn đề Ngừng xác định, vì vậy tất cả những gì nó thực sự hữu ích cho việc chứng minh các vấn đề khác không thể giải quyết được thông qua việc cắt giảm. Và nó sẽ luôn luôn làm việc ít hơn để giảm bớt vấn đề tạm dừng xác định, vì nó dễ hơn so với đối tác không xác định.


Bạn nói: " Nhưng đối với các máy không xác định, có thể có nhiều lần chạy. Cái nào bạn quan tâm phụ thuộc vào ứng dụng của bạn. " Bạn có thể minh họa câu nói đó bằng một ví dụ không? Sau đó, bạn nói " bạn chỉ cần chuyển đổi máy thành một máy xác định trước khi bạn lo lắng về việc tạm dừng ". Làm thế nào được thực hiện cho một LBA?
babou

LBA là một tập hợp con của Máy Turing không xác định, vì vậy chúng luôn có thể được chuyển đổi thành Máy Turing xác định bằng phương pháp thông thường. Tôi nghi ngờ có cấu trúc đặc biệt có thể được sử dụng để chuyển đổi thành một máy có các thuộc tính cụ thể, vì vậy chúng tôi có thể giữ khả năng suy luận thêm mà chúng tôi có được từ các LBA. Tôi nghĩ rằng nó sẽ trông giống như một thuật toán quay lui trong đó không gian tuyến tính được sử dụng, ngoại trừ ngăn xếp cuộc gọi có thể có khả năng lớn theo cấp số nhân (tôi không chắc chắn, tôi phải tìm kiếm nó).
jmite

Đối với nhiều đường dẫn, hãy xem xét hai máy , một máy luôn dừng ở đầu vào x và một máy không bao giờ làm cho x . Chúng ta có thể tạo một LBA M mới bắt đầu bằng cách không xác định chọn giá trị boolean. Nếu nó chọn true, nó chạy M 1 trên đầu vào x. Nếu nó chọn sai, nó chạy M 2 trên x . Mỗi lựa chọn đúng và sai là một "chạy" khác nhau. Liệu máy này dừng lại cho x ? Tồn tại một đường dẫn dừng lại trên x , nhưng nó không dừng lại đối với tất cả các đường dẫn đọc x . M1,M2xxMM1M2xxxx
jmite

1
@HendrikJan Dường như việc tạm dừng NLBA được giải quyết khá đúng với định lý của Savitch . Nhưng nó thay đổi tuyến tính ràng buộc thành một bậc hai.
babou

1
@Raphael điều tôi muốn nói là, để hiển thị vấn đề không thể giải quyết được, bạn cho thấy rằng bạn có thể sử dụng P để mô phỏng một vấn đề không thể giải quyết khác. Vì có một ánh xạ tiêm chích tầm thường từ DTM đến NTM, bất kỳ sự giảm bớt nào từ việc tạm dừng NTM cũng là một sự giảm bớt từ việc tạm dừng DTM. Thông thường sẽ giảm bớt công việc từ việc dừng DTM, vì đó là một vấn đề ít khó khăn hơn mà bạn đang cố gắng mô phỏng. PP
jmite

4

Σ1

H(P,x)c s. t. c is a halting computing of P on x

Σ1


Σ1K(P,x)c,c is a computing of P on xc is halting.K

xx

ccK(P,x)ccc

Π1Π1

c

2

bạn nói rằng có một "điều trị hạng hai rõ ràng" về vấn đề tạm dừng đối với các máy không xác định. có vẻ như chủ nghĩa không điều kiện đã không được xem xét trong lịch sử cho đến khi rất lâu sau khi Turings tạo ra TM xác định & điều này có thể có liên quan đến trọng tâm nghiên cứu trong khu vực. tuy nhiên, điểm chính ở đây là vấn đề không xác định có thể dễ dàng được giảm xuống thành vấn đề xác định, vì vậy người ta chỉ cần nghiên cứu vấn đề xác định "không mất tính tổng quát".

hơn nữa, để chống lại ý tưởng về "lớp thứ 2" ở đây có ít nhất một tài liệu tham khảo / nghiên cứu vấn đề tạm dừng cho các máy không xác định và tìm thấy các kết nối hữu ích / sâu sắc. một số bằng chứng hoàn cảnh dọc theo dòng nghiên cứu về CS là rất lớn / chuyên ngành, đôi khi một số nghiên cứu khởi đầu đã được thực hiện ở hầu hết các lĩnh vực, thậm chí có vẻ hẹp và nó có thể tiếp cận gần như vô nghĩa hoặc chia tóc để xếp hạng các vấn đề khác nhau về tầm quan trọng của chúng. và hoàn toàn ngược lại, chủ nghĩa không phổ biến dường như là một khái niệm rất sâu sắc / phổ biến / xuyên suốt trong CS (các câu hỏi mở quan trọng như P vs NP) và khía cạnh đó có thể sẽ tiếp tục lâu dài trong tương lai.

Trừu tượng. Vấn đề được tham số hóa p-Halt lấy đầu vào là máy Turing không điều kiện M và số tự nhiên n, kích thước của M là tham số. Nó hỏi liệu mỗi lần chạy chấp nhận của M trên băng đầu vào trống có mất hơn n bước không. Vấn đề này nằm ở lớp XPuni, lớp thống nhất của XP, XP nếu có một thuật toán quyết định nó, cho máy M cố định chạy trong đa thức thời gian trong n. Nó chỉ ra rằng các vấn đề mở khác nhau của các lĩnh vực khác nhau của khoa học máy tính lý thuyết có liên quan hoặc thậm chí tương đương với p-Halt ∈ XPuni. Do đó, tuyên bố này tạo thành một cầu nối cho phép rút ra sự tương đương giữa các tuyên bố của các lĩnh vực khác nhau (lý thuyết chứng minh, lý thuyết phức tạp, độ phức tạp mô tả, ...) Thoạt nhìn dường như không liên quan. Như bài thuyết trình của chúng tôi cho thấy,


2

Tóm lại

Dường như không có lý do chính đáng nào để bỏ qua vấn đề tạm dừng trong các cài đặt không phải là vấn đề cổ điển của các máy Turing xác định, ngoài thực tế là vấn đề tạm dừng cổ điển trả lời một số câu hỏi toán học lớn (như Entscheidungsprobols ), trong khi các biến thể chỉ là các vấn đề kỹ thuật thú vị (?), nhưng ít ảnh hưởng đến nền móng.

Ax

Theo câu trả lời của jmite, việc tạm dừng không xác định này có thể được định nghĩa là tương ứng với sự tồn tại của ít nhất một tính toán tạm dừng ( tạm dừng tồn tại ), hoặc cách khác là yêu cầu tất cả các tính toán có thể dừng lại ( dừng phổ quát ). Hai định nghĩa này tương ứng với hai định nghĩa khác nhau về vấn đề tạm dừng không điều kiện.

Tôi chỉ ra rằng, đối với máy Turing, hai định nghĩa tương ứng với hai cách xác định khác nhau của máy bằng cách khớp. Từ điều này, tôi suy luận rằng hai biến thể của vấn đề tạm dừng không điều kiện là cả Turing tương đương với vấn đề tạm dừng xác định cổ điển .

Tuy nhiên, tôi cũng chỉ ra rằng mỗi định nghĩa tạm dừng này có liên quan trực tiếp đến định nghĩa tương ứng của ngôn ngữ được máy Turing nhận ra và mối quan hệ này có thể được biểu thị đơn giản với điều kiện chọn định nghĩa nhất quán.

Do đó, với định nghĩa thông thường của ngôn ngữ được công nhận bởi một máy tự động không điều kiện, định nghĩa tự nhiên về tạm dừng không điều kiện là tạm dừng tồn tại, như đề xuất trong câu hỏi ban đầu.

Hầu hết các phân tích này tự nhiên mở rộng sang các loại automata khác, mặc dù các cấu trúc phù hợp thường không có sẵn trong các gia đình ít mạnh hơn so với máy Turing.

Giới thiệu

Tôi viết thư này như một câu trả lời vì nó trả lời một phần câu hỏi của tôi sau khi có nhiều suy nghĩ về nó, tính đến các câu trả lời hiện có. Ngoài ra, chỉnh sửa câu hỏi của tôi sau ba câu trả lời trong trường hợp này có thể gây nhầm lẫn các vấn đề và tôi muốn để lại câu hỏi như được viết ban đầu để tránh điều đó.

Trước tiên tôi thảo luận về một số bất đồng của tôi với các câu trả lời đã cho. Vấn đề không phải là chê bai những nỗ lực công bằng trong việc trả lời câu hỏi của tôi (cảm ơn vì tất cả các câu trả lời), mà là đi đến tận cùng của vấn đề bằng cách thảo luận hoặc tranh luận về các điểm kỹ thuật.

Tôi nghĩ rằng câu hỏi ban đầu hầu như không cần bối cảnh hoặc động lực. Vấn đề tạm dừng là một trong những câu hỏi lớn mà chúng tôi đặt ra về automata một mặt và mặt khác không phải là một tính năng rất phổ biến và hữu ích của nhiều automata. Hơn nữa, thuyết không điều kiện không chỉ là một thiết bị lý thuyết phổ biến để đơn giản hóa các bằng chứng, mà là một tính năng thiết yếu của một số họ của automata, chẳng hạn như máy tự động giới hạn tuyến tính (LBA), ít nhất là tại thời điểm viết bài này.

Do đó, khá tự nhiên để tự hỏi liệu vấn đề tạm dừng có ý nghĩa hay ý nghĩa ưa thích, và tại sao, trong trường hợp automata không điều kiện.

Là vấn đề tạm dừng nonderter hành chính được giải quyết tốt?

Câu hỏi của tôi tự hỏi tại sao vấn đề tạm dừng cho automata không điều kiện dường như nhận được điều trị hạng hai , điều này đã tạo ra một downvote và một câu trả lời của vzn. Câu trả lời của vzn , thực sự là một nhận xét dài hơn, nhấn mạnh rằng "chủ nghĩa không phổ biến dường như là một khái niệm rất sâu sắc / phổ biến / xuyên suốt trong CS", điều mà tôi không bao giờ nghi ngờ. Nó cũng đưa ra một tham chiếu cho một số nghiên cứu về việc tạm dừng các máy không xác định không đáng ngạc nhiên, nhưng không thực sự giải quyết quan điểm của tôi. Quan điểm của tôi là tôi không nhớ thực sự thấy một định nghĩa về vấn đề tạm dừng tại các máy không xác định, mặc dù tôi đã đọc một số rác trong lĩnh vực này. Nó không được đề cập, AFAIK, trong sách giáo khoa tham khảo của tôi (Hopcroft + Ullman 1979). Nó dường như thường ẩn ý trong suy nghĩ của mọi người rằng họ đang xem xét tự động xác định, thường là Turing máy móc, có định nghĩa tham chiếu là xác định.

Ví dụ, trong câu hỏi Tại sao vấn đề tạm dừng có thể quyết định đối với LBA? , Yuval Filmus đã quên trong câu trả lời của mình rằng LBA là thiết bị không xác định - nhưng đã lưu lại câu trả lời của anh ấy một cách tuyệt vời với một bình luận 4 từ .

Là một nhân chứng cuối cùng cho thấy vấn đề này nói chung không được giải quyết tốt (mặc dù có một số nghiên cứu chuyên ngành), tôi sẽ gọi thực tế là vấn đề phải được thảo luận ở đây.

Câu trả lời từ jmite là người duy nhất thực sự cố gắng giải thích lý do tại sao nó có thể không được giải quyết tốt. Lập luận đầu tiên của ông là có hai định nghĩa có thể, nhưng tôi tin rằng tình huống này nên khuyến khích phân tích nhiều hơn để xác định định nghĩa nào sẽ phù hợp nhất. Tôi cố gắng làm điều đó dưới đây.

Ông cũng gợi ý rằng, vì một TM không xác định luôn có thể được chuyển đổi thành một định thức tương đương, nên không có nhiều điểm đáng lo ngại về vấn đề tạm dừng trong trường hợp không xác định. Tôi không hoàn toàn bị thuyết phục, nhưng nó có thể được coi là một lý do tốt bởi nhiều người. Tuy nhiên, đối số không áp dụng cho Automata Bounded Automata (LBA), bởi vì đây vẫn là một vấn đề mở cho dù LBA xác định có tương đương với LBA không xác định. Và có những họ khác của automata mà phân họ xác định yếu hơn mà toàn bộ họ không xác định (ví dụ như PDA).

Tôi cũng không đồng ý với điểm cuối cùng, khẳng định rằng chúng ta không nên quan tâm đến việc tạm dừng không điều kiện bởi vì bằng chứng dễ dàng hơn với các máy xác định. Raphael đã phản đối điều đó trong một bình luận : " Tôi thường thấy việc giảm bớt các vấn đề khó hơn dễ dàng hơn ". Thật vậy, đối với nhiều loại automata, phiên bản không xác định chủ yếu phục vụ đơn giản hóa các bằng chứng, chẳng hạn như giảm bớt loại tự động đó. Ngoài ra có hai hình thức tạm dừng có thể được sử dụng, như được đề xuất bởi chính jmite, thậm chí có thể được coi là một lợi thế vì nó linh hoạt hơn để giải quyết các vấn đề.

Về định nghĩa của vấn đề tạm dừng không điều kiện

Lưu ý: việc sử dụng từ "phổ quát" trong văn bản sau đây đề cập đến định lượng phổ quát , KHÔNG cho các máy Turing phổ dụng

Câu trả lời từ jmite là chi tiết nhất.

Câu trả lời này phỏng đoán rằng automata không điều kiện thúc đẩy ít nỗ lực hơn trong vấn đề tạm dừng bởi vì nó có thể được định nghĩa theo hai cách khác nhau (thuật ngữ là của tôi):

  • Mx

  • Mx

Định nghĩa duy nhất tôi đã đề nghị đầy đủ là tạm dừng tồn tại .

x

Bằng chứng : Điều này dễ dàng được chứng minh với bổ đề của König , vì số lượng các lựa chọn không xác định có thể có ở mỗi bước được giới hạn cho một máy tự động nhất định. Nếu có vô số phép tính tạm dừng, chúng ta có thể gắn nhãn cho từng cấu hình với mỗi đường dẫn tính toán dẫn đến nó, nó sẽ tạo ra một biểu đồ tính toán với vô số nút, nhưng chỉ phân nhánh không hữu hạn ở mỗi nút. Theo bổ đề của König, điều này ngụ ý sự tồn tại của một con đường tính toán vô hạn, tương ứng với một tính toán không dừng lại.

Trường hợp của máy Turing (không phá hủy)

Vì vậy, bây giờ, hãy kiểm tra tạm dừng trong trường hợp máy Turing không điều kiện (NTM).

Để phân tích hai định nghĩa, đơn giản nhất thực sự là xem xét các phiên bản xác định của máy không xác định, có thể đạt được, như Hendrik Jan nhớ lại , bằng cách bỏ qua tất cả các tính toán có thể.

Nhưng có (ít nhất) hai cách tính toán phù hợp để xác định, mặc dù chỉ có một cách thường được xem xét:

  • xác định khớp nối tồn tại mà mô phỏng tất cả các tính toán song song và chấm dứt khi một trong các tính toán mô phỏng kết thúc.

  • xác định khớp nối phổ quát mô phỏng tất cả các tính toán song song và chỉ chấm dứt khi tất cả các tính toán mô phỏng chấm dứt. Nhưng nó có thể hình dung một cách có thể liệt kê theo một cách nào đó các tính toán kết thúc, hoặc đếm chúng.

Dự luật 2 :

  • MxMx

  • MxMx

MxMx

Định lý 3 : Vấn đề tạm dừng đối với TM xác định và các vấn đề tạm dừng phổ biến và phổ biến đối với TM không điều kiện là tương đương Turing.

Bằng chứng : Điều này là kết quả của đề xuất 2 và từ thực tế rằng các TM xác định là một tập hợp con của TM không xác định, trong đó cả hai dừng tồn tại và phổ biến đều giảm xuống tạm dừng xác định đơn giản.

Do đó, từ quan điểm tính toán, và tôi muốn nói từ quan điểm đẩy biểu tượng, có vẻ như không thực sự quan trọng định nghĩa nào được chọn, tồn tại hay phổ quát, cho vấn đề tạm dừng không phổ biến.

Tại sao chọn một định nghĩa về tạm dừng NTM, và cái nào

Tuy nhiên, có nhiều ý nghĩa đối với một quy trình xác định không bảo tồn ngôn ngữ được nhận dạng bởi máy tự động ban đầu?

Bản chất của việc sử dụng thuyết không thuyết phục trong nhận dạng ngôn ngữ là nó giả định một nhà tiên tri được cho là đoán một con đường tính toán đúng đắn bất cứ khi nào có một điều sẽ dẫn đến sự chấp nhận, một quan điểm tồn tại cơ bản .

ϵ

Do đó, chấp nhận bằng cách tạm dừng có thể được coi là một hình thức chấp nhận chính tắc cho automata không điều kiện.

Xem xét quan điểm kinh điển này, vấn đề tạm dừng cũng có thể được thể hiện tương đương như vấn đề nhận biết :

LMxxL

MxxM

Tuy nhiên, trong trường hợp dừng phổ quát, mối quan hệ chặt chẽ này bị mất. Một tuyên bố tương tự có thể được đưa ra, nhưng đối với một ngôn ngữ khác với ngôn ngữ được NTM công nhận (hoặc thay thế cho một định nghĩa khác, phổ quát, về ngôn ngữ được NTM công nhận).

Khi phát triển một lý thuyết, điều cần thiết là sử dụng các định nghĩa nhất quán để nhấn mạnh các cấu trúc và quan hệ ở dạng đơn giản và dễ hiểu nhất của chúng. Một điều khá rõ ràng là trong trường hợp hiện tại, tính nhất quán với các định nghĩa khác cho thấy rằng tạm dừng tồn tại là định nghĩa tự nhiên của tạm dừng đối với các máy Turing không xác định.

xx

Trường hợp của các gia đình khác của automata

Các phần của phân tích trên không thể được mở rộng cho hầu hết các gia đình của automata không điều kiện. Ví dụ, một nguyên tử đẩy xuống (PDA) có thể xác định các ngôn ngữ không thể được nhận ra bởi một PDA xác định. Điều tương tự cũng có thể đúng với LBA. Các phần khác có thể được mở rộng cho tất cả các gia đình không xác định.

Về định nghĩa tạm dừng không điều kiện, mặc dù lý do được sử dụng trong trường hợp máy Turing có thể không sử dụng được, có vẻ như lựa chọn hợp lý duy nhất là áp dụng một định nghĩa phù hợp với định nghĩa được sử dụng cho máy Turing không xác định, do đó định nghĩa hiện sinh .

Định nghĩa về vấn đề Ngừng cho các họ của automata không điều kiện theo sau, và tuân thủ định nghĩa được đề xuất trong câu hỏi.

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.