Làm thế nào để đánh giá định nghĩa về độ phức tạp tính toán của các số thực là tự nhiên hay phù hợp?


11

Như chúng ta biết, định nghĩa về độ phức tạp tính toán của thuật toán hầu như không có gì phải bàn cãi, nhưng định nghĩa về độ phức tạp tính toán của các số thực hoặc các mô hình tính toán trên các số thực không phải là trường hợp như vậy. Chúng ta biết mô hình và mô hình của Blum và Smales trong cuốn sách Phân tích tính toán. Và dường như, mô hình trong Phân tích tính toán phù hợp với mô hình cổ điển, nhưng định nghĩa về độ phức tạp tính toán của các thực thể không thể ghép vào mô hình cổ điển.

Làm thế nào để đánh giá định nghĩa về độ phức tạp tính toán của các số thực là tự nhiên hay phù hợp?

Và làm thế nào để ghép định nghĩa về độ phức tạp tính toán của các số thực vào mô hình cổ điển?


Đối với câu hỏi đầu tiên của bạn, "tự nhiên" là một khái niệm rất chủ quan và tùy thuộc vào người bạn hỏi, một hoặc định nghĩa khác sẽ được coi là tự nhiên nhất. Đối với "phù hợp", nó phụ thuộc: mô hình BSS có vẻ phù hợp với hình học tính toán hoặc hình học đại số tính toán, và mô hình trong Phân tích tính toán phù hợp hơn cho ... phân tích tính toán! Tôi không hiểu câu hỏi thứ hai.
Bruno

@Bruno, cảm ơn bạn đã nhận xét, tôi nghĩ rằng mô hình trong Phân tích tính toán và không biết cách áp dụng định nghĩa về độ phức tạp tính toán cho tính toán số thực so với mô hình cổ điển như Turing Machine, vì độ phức tạp tính toán của số thực so với mô hình trong Phân tích tính toán phụ thuộc vào sự thể hiện của nó, cụ thể là đầu vào cho tính toán của nó.
XL _At_Here_There

3
Bạn dường như nghĩ rằng có một khái niệm phức tạp cho tính toán số thực, độc lập với việc biểu diễn các số thực. Điều gì làm bạn nghĩ như vậy? Đây cũng không phải là trường hợp phức tạp cổ điển. Vấn đề là bạn có băng hay máy RAM hay không, vấn đề là bạn biểu thị đồ thị theo danh sách phụ thuộc hay 01 ma trận, v.v.
Andrej Bauer

3
Nhưng sự thật không phải là sự phức tạp không phụ thuộc vào đại diện. Bằng cách chuyển sang một biểu diễn ngu ngốc, bạn luôn có thể phá hỏng sự phức tạp của một thuật toán. Câu hỏi cần đặt ra là: " Đại diện tốt của đầu vào là gì?" Đối với các vấn đề riêng biệt, điều này dễ trả lời hơn nhiều so với các số thực, bởi vì người ta có cảm giác tốt về ý nghĩa của việc "không lãng phí bit".
Andrej Bauer

3
mô hình BSS có vẻ phù hợp với hình học tính toán - Xem câu trả lời của tôi cho một câu hỏi liên quan . Mô hình RAM thực được sử dụng bởi các máy đo địa lý tính toán có trước Blum, Shub và Smale gần một thập kỷ.
Jeffε 23/11/14

Câu trả lời:


13

Tôi không chắc chắn chính xác câu hỏi ở đây là gì, nhưng tôi có thể cố gắng nói một chút để dọn dẹp những hiểu lầm có thể xảy ra.

f:RR2f

f:ABA(a,f(a))f

RRR

  1. +×/||
  2. xkNp,q|xp/q|2k
  3. xyx<y
  4. (xn)n|xn+1xn|2nlimnxn

Có những định lý cũ (xem phần giới thiệu bài viết này để tham khảo) giải thích tại sao những điều kiện này là đúng. Những định lý này cũng cho thấy rằng bất kỳ hai biểu diễn thực tế nào như vậy đều là đẳng cấu, có nghĩa là chúng ta có thể dịch giữa chúng với các chương trình. Điều này đặt ra một số tiêu chí cho sự đúng đắn mà đưa ra những ý tưởng bị lỗi.

Ví dụ, tôi nghe mọi người nói những điều như "số hữu tỷ có thể được biểu thị bằng thông tin hữu hạn, vì vậy hãy sử dụng số đó cho số hữu tỷ và số vô tỷ sẽ phải được biểu thị bằng thông tin vô hạn". Loại điều này không hoạt động vì nó phá vỡ điều kiện thứ tư ở trên (xem xét giới hạn của các số vô tỷ - làm thế nào bạn sẽ nói rằng nó đang hội tụ đến một tỷ lệ hợp lý?).

Một ví dụ khác mà các điều kiện trên loại bỏ là mô hình Blum-Shub-Smale vì trong đó bạn không thể tính giới hạn của các chuỗi. Tốt hơn là nói rằng mô hình BSS hoạt động trên một trường con có thứ tự rời rạc (được tạo bởi bất kỳ tham số nào có mặt), chứ không phải trên chính thực tế.

Trong số các đại diện chính xác của thực tế, một số hiệu quả hơn so với những người khác, mặc dù đây là một chủ đề hơi khó thảo luận vì số thực là đối tượng vô hạn. Matthias Schröder chỉ ra rằng đối với một lý thuyết phức tạp hợp lý, người ta phải chú ý đến các tính chất tô pô của biểu diễn.

Cuối cùng, như thế nào chúng ta nên đo lường mức độ phức tạp của một bản đồ , giả sử chúng ta có một đại diện tốt cho ? Vì được biểu thị bằng một hàm hoặc một luồng thông tin vô hạn hoặc một số thông tin như vậy, chúng ta nên sử dụng một trong những khái niệm phức tạp loại cao hơn . Cái nào có thể phụ thuộc vào đại diện bạn đang sử dụng.R x Rf:RRRxR

Mô hình BSS cũng là một mô hình phức tạp mạch hợp lý, trong đó chúng tôi tính các hoạt động đối xứng. Thật tốt khi nhớ rằng mô hình này không phải là về những con số thực, mà là về một thứ khác.


2
Cảm ơn bạn rất nhiều vì câu trả lời của bạn, và rất nhiều tài liệu tham khảo. Tôi cảm thấy không thoải mái về một số khái niệm về độ phức tạp tính toán, hãy để tôi đọc tài liệu tham khảo và suy nghĩ một lúc, và đưa ra một ví dụ, nếu tôi có thể tìm thấy một lý do phù hợp để giải thích tại sao tôi rất khó chịu (điều này nghe có vẻ buồn cười, nhưng kinh nghiệm của tôi cho tôi biết nếu tôi cảm thấy không thoải mái, phải có một cái gì đó đơn lẻ)
XL _At_Here_There

4
Theo kinh nghiệm của tôi, cảm thấy không thoải mái về kiến ​​thức mới là một dấu hiệu tốt, và thường thì đó là điều kiện tiên quyết để giác ngộ.
András Salamon

3

Một mô hình khác có thể để khám phá, đó là mô hình RAM khả thi. Đây là mô hình RAM thực được sửa đổi cho tính toán thực, RAM khả thi hoặc mô hình RAM được sửa đổi, sử dụng cả các hoạt động số học rời rạc và có giá trị thực. Mô hình này cho phép các hoạt động thực tế và rời rạc và mô hình Turing có thể hoán đổi cho nhau. Mô hình RAM khả thi có độ chính xác được xác định với độ không đảm bảo, có nghĩa là cho phép so sánh các số thực chỉ với độ không đảm bảo thay đổi 1 / (k + 1). Điều này cho phép tính toán gần đúng. Ngoài ra, như Vasco Brattkaa và Peter Hertlingb trong các máy truy cập ngẫu nhiên thực tế khả thi - các mô hình của Turing, và của RAM Real khả thi, có liên quan. Tất cả các chức năng tính toán trên máy Turing trong thời gian O ( t ) O ( t ) O ( t ) O ( t 2 l o g ( t ) l o g ( l o g ( t ) ) )<kO(t)có thể tính toán trên RAM theo thời gian và trong trường hợp ngược lại, có một số chi phí cho máy Turing tính toán chức năng (nếu RAM thực tính toán chức năng trong thì TM sẽ tính toán chức năng trong . Như đã xem xét các cân nhắc tô pô là hữu ích, người ta không biết liệu có bất kỳ bối cảnh tô pô nào được phát triển cho mô hình tính toán này cho phép tính toán thực sự không - có sự không chắc chắn trong độ chính xác.O(t)O(t)O(t2log(t)log(log(t)))


Bạn có thể đưa ra một số tài liệu tham khảo cho mô hình RAM khả thi?
XL _At_Here_There

Xem ở trên trong khu vực, "... trạng thái tham chiếu này ..." có liên kết đến bài viết.
dùng3483902

2
Cảm ơn bạn đã chỉ ra công việc của Brattka & Hertling, tôi sẽ đề cập đến nó sau đó tôi quên mất. Tôi muốn chỉ ra rằng mô hình RAM khả thi không bao gồm bất kỳ chức năng bậc cao nào, đặc biệt là nó không thể tính giới hạn của chuỗi Cauchy (nhanh), vì vậy tôi sẽ không tính chính xác nó là thực hiện "thực tế". Nó có thể tính một giới hạn "ở cấp cao nhất", có thể nói (xem phần của bài báo nói về các xấp xỉ hợp lý của các hàm).
Andrej Bauer
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.