Có các lớp phức tạp được thiết lập với số thực?


14

Một sinh viên gần đây đã yêu cầu tôi kiểm tra bằng chứng độ cứng NP cho họ. Họ đã thực hiện giảm dọc theo dòng:

Tôi giảm vấn đề này mà được biết đến là NP-đầy đủ cho vấn đề của tôi P (với một poly-thời gian giảm nhiều-one), do đó P là NP-hard.PPP

Câu trả lời của tôi về cơ bản là:

có các phiên bản có giá trị từ R , nên nó không thể tính toán được Turing để bạn có thể bỏ qua việc giảm.PR

Mặc dù chính thức là đúng, tôi không nghĩ cách tiếp cận này là sâu sắc: chúng tôi chắc chắn muốn có thể nắm bắt được "sự phức tạp vốn có" của một vấn đề quyết định (hoặc tối ưu hóa) có giá trị thực, bỏ qua những hạn chế mà chúng tôi gặp phải khi xử lý thực tế số; điều tra những vấn đề này là cho một ngày khác.

Tất nhiên, không phải lúc nào cũng dễ như nói, "phiên bản rời rạc của Subset Sum là NP-hoàn chỉnh, vì vậy phiên bản liên tục cũng là 'NP-hard'". Trong trường hợp này, việc giảm là dễ dàng nhưng có những trường hợp nổi tiếng của phiên bản liên tục trở nên dễ dàng hơn, ví dụ lập trình tuyến tính so với số nguyên.

Nó xảy ra với tôi rằng mô hình RAM tự nhiên mở rộng đến số thực; hãy để mỗi thanh ghi lưu trữ một số thực và mở rộng các hoạt động cơ bản tương ứng. Mô hình chi phí thống nhất vẫn có ý nghĩa - nhiều như trong trường hợp rời rạc, dù sao đi nữa - trong khi mô hình logarit thì không.

Vì vậy, câu hỏi của tôi rút ra: có những khái niệm phức tạp về các vấn đề có giá trị thực không? Làm thế nào để họ liên quan đến các lớp rời rạc "tiêu chuẩn"?

Các tìm kiếm của Google mang lại một số kết quả, ví dụ như điều này , nhưng tôi không có cách nào để biết những gì được thiết lập và / hoặc hữu ích và những gì không.


1
Bạn có thể thấy thú vị "phức tạp và Real Tính" amazon.com/Complexity-Real-Computation-Lenore-Blum/dp/...
Kurt Mueller

Dường như với tôi rằng câu trả lời của bạn cho học sinh của bạn là không có cơ sở vì một lý do đơn giản: Bất kể tính toán nào chúng ta thường sử dụng để xem dựa trên thực tế cũng có thể được thực hiện bằng cách sử dụng thực tế tính toán . Tôi không biết liệu đây có phải là một câu trả lời có thể sử dụng cho mục đích của học sinh của bạn hay không, nhưng ít nhất nó cũng nên loại bỏ việc thiếu lập luận tính toán Turing. Thật không may, tôi không đủ chuyên môn về những vấn đề này để phát triển vấn đề này hơn nữa.
babou

@babou Theo khả năng tính toán, đó có thể là một hạn chế hợp lý (nhưng dù sao họ cũng sẽ phải nêu rõ!). Tuy nhiên, điều gì xảy ra với sự phức tạp?
Raphael

@Raphael Quan điểm của tôi thực sự là nó thậm chí không phải là một hạn chế, và không cần phải nêu rõ. Nó chỉ đơn giản là không thể tránh khỏi. Các thực tế duy nhất bạn có thể xem xét trong một tính toán là các thực tế tính toán (Luận án Church-Turing). Phần tốt đẹp rõ ràng là nó không thay đổi bất kỳ toán học có liên quan, với sự chăm sóc thích hợp. Vượt ra ngoài các thực tế có thể tính toán được, giống như sử dụng các cấp bậc cao hơn của Turing, đầu cơ hấp dẫn, có lẽ ít ảnh hưởng đến bất cứ thứ gì có thật (chơi chữ không thể tránh khỏi).
babou

Câu trả lời:


8

Đúng. Có.

Có mô hình RAM / BSS thực được đề cập trong câu trả lời khác. Mô hình có một số vấn đề và AFAIK không có nhiều hoạt động nghiên cứu về nó. Có thể cho rằng, nó không phải là một mô hình tính toán thực tế .

Khái niệm tích cực hơn về khả năng tính toán thực sự là mô hình tính toán loại cao hơn. Ý tưởng cơ bản là bạn xác định độ phức tạp cho các hàm loại cao hơn và sau đó sử dụng các hàm loại cao hơn để biểu diễn các số thực.

Nghiên cứu về độ phức tạp của các hàm loại cao hơn quay trở lại ít nhất là [1]. Đối với công việc gần đây kiểm tra Akitoshi Kawamura các giấy tờ của về độ phức tạp của các nhà khai thác thực sự.

Tài liệu tham khảo cổ điển về sự phức tạp của các chức năng thực là cuốn sách của Ker-I Ko [2]. Chương thứ 6, cuốn sách gần đây của Klause Weihrauch [3] cũng thảo luận về sự phức tạp của tính toán thực sự (nhưng nó tập trung vào khả năng tính toán hơn là sự phức tạp).

  • [1] Stephen Cook và Bruce Kapron, "Đặc điểm của các chức năng khả thi cơ bản của loại hữu hạn", 1990.

  • [2] Ker-I Ko, "Độ phức tạp tính toán của các hàm thực", 1991.

  • [3] "Phân tích tính toán" của Klaus Weihrauch, 2000.


Điều gì làm cho mô hình chức năng loại cao hơn thực tế hơn mô hình RAM thực?
Raphael

1
@Raphael, tôi nghĩ rằng tôi đã giải thích nó trong câu hỏi được liên kết. Nếu bạn muốn điều trị nhiều hơn thông qua một số điều trị, một là chương 9 của Weirauch. IIRC, một bài viết hay khác là một bài viết của Tucker và Stolenberg-Hansen.
Kaveh

1
Theo quan điểm của tôi, mô hình RAM thực có hai vấn đề chính: một mặt nó thiếu khái niệm xấp xỉ chính xác một cách hợp lý các số thực được cho là tài sản chính của chúng, mặt khác nó cho phép so sánh các số thực mà AFAIK không ai biết Cách làm trong thực tế. Kết quả là một số hàm thực mà chúng ta coi là có thể tính toán hiệu quả trong thực tế không thể tính toán được trong mô hình, trong khi một số hàm thực có thể tính toán hiệu quả trong mô hình hoàn toàn không thể tính toán được trong thực tế.
Kaveh

@Kaveh Tôi bực mình vì sự thiếu quyết đoán của toàn bộ cuộc thảo luận, trong câu hỏi và trong câu trả lời. Có phải chúng ta đang nói về những thực tế truyền thống không thể đếm được, hoặc về những thực tế có thể tính toán được. Từ nhận xét cuối cùng của bạn, bạn đang nói về "các chức năng thực mà chúng tôi coi là có thể tính toán hiệu quả trong thực tế", vì vậy tôi có xu hướng tin rằng đó là về các thực tế có thể tính toán được. Bạn thực sự có ý nghĩa gì?
babou

8

Mô hình bạn mô tả được gọi là mô hình Blum-Shub-Smale (BSS) (cũng là mô hình RAM thực) và thực sự được sử dụng để xác định các lớp phức tạp.

Một số vấn đề thú vị trong lĩnh vực này là các lớp , N P R , và dĩ nhiên câu hỏi liệu P R = N P R . Theo P R, chúng tôi có nghĩa là vấn đề có thể quyết định đa thức, N P R là vấn đề có thể kiểm chứng được về mặt đa thức. Có những câu hỏi cứng / đầy đủ về lớp N P R . Một ví dụ về bài toán hoàn chỉnh N P R là bài toán của Q P S , Hệ đa thức bậc hai, trong đó đầu vào là đa thức thực trongPRNPRPRNPRPRNPRNPRNPRQPS biến và p 1 , . . . , p nR [ x 1 , . . . , x n ] độ nhiều nhất là 2 và mỗi đa thức có tối đa 3 biến. Câu hỏi liệu có một giải pháp thực sự phổ biến R n , sao cho p 1 ( a ) , p 2 ( a ) , . . . p n ( a ) = 0mp1,...,pn R[x1,...,xn]Rnp1(a),p2(a),...pn(a)=0. Đây là một hoàn thành bài toán.NPR

Nhưng thú vị hơn, đã có một số nghiên cứu về mối quan hệ giữa , (Bằng chứng kiểm tra theo phương pháp kiểm tra), trên Reals, tức là lớp P C P R và cách nó liên quan đến các mô hình tính toán đại số. Mô hình BSS áp dụng cho tất cả N P trên thực tế. Đây là tiêu chuẩn trong văn học, và những gì chúng ta biết ngày nay là N P R có "bằng chứng dài trong suốt" và "bằng chứng ngắn trong suốt". Bằng "bằng chứng dài trong suốt" ngụ ý sau đây: N P R được chứa trong P C P R ( p o l yPCPPCPRNPNPRNPR . Ngoài ra còn có một phần mở rộng cho biết, "Phiên bản ngắn gần như (gần đúng)" cũng đúng. Chúng ta có thể ổn định bằng chứng và phát hiện lỗi bằng cách kiểm tra ít hơn đáng kể nhiều thành phần (thực) so với n không? Điều này dẫn đến các câu hỏi về sự tồn tại của số không cho (hệ thống) đa thức đơn biến được đưa ra bởi chương trình đường thẳng. Ngoài ra, bằng "bằng chứng dài minh bạch", chúng tôi có nghĩa làPCPR(poly,O(1))n

  1. "trong suốt" - Chỉ, được đọc,O(1)

  2. dài - số lượng đa thức của các thành phần thực.

Bằng chứng được gắn với , và chắc chắn một cách để xem xét các vấn đề có giá trị thực là cách nó có thể liên quan đến Subset Sum - các thuật toán gần đúng cho các vấn đề có giá trị thực sẽ rất thú vị - như để tối ưu hóa - Lập trình tuyến tính mà chúng ta biết thuộc lớp F P , nhưng vâng, thật thú vị khi xem mức độ gần đúng có thể ảnh hưởng đến độ hoàn chỉnh / độ cứng đối với trường hợp các vấn đề N P R. Ngoài ra, một câu hỏi khác sẽ là N P R = c o - N P R ? 3SATFPNPRNPR = co-NPR

Trong khi nghĩ về lớp , có những lớp đếm cũng được định nghĩa để cho phép lý luận về số học đa thức. Trong khi # P là lớp các hàm f xác định trên { 0 , 1 } N mà tồn tại một thời gian đa thức Turing máy M và một đa thức p với tài sản đó n N , và x { 0 , 1 } n , f ( x )NPR#Pf{0,1} NMpnNx{0,1}nf(x)đếm số chuỗi { 0 , 1 } p ( n ) mà Turing Machine M chấp nhận { x , y } . Đối với thực tế, chúng tôi mở rộng ý tưởng này, có các máy BSS phụ gia - các máy BSS chỉ thực hiện phép cộng và phép nhân (không chia, không trừ). Với các máy BSS phụ gia (các nút trong tính toán chỉ cho phép cộng và nhân), mô hình cho # P trở thành một trong đó số đếm vượt qua các vectơ mà các máy BSS phụ gia chấp nhận. Vì vậy, lớp đếm là # P a d dy{0,1}p(n)M{x,y}#P#Padd lớp này rất hữu ích trong nghiên cứu về số Betti và đặc tính Euler.


Máy RAM thực (Máy truy cập ngẫu nhiên) hoặc máy BSS (Blum-Shub-Smale) là mô hình, được đề cập trước đó được chấp nhận rộng rãi như là tiêu chuẩn để suy luận về các lớp này.
user3483902

Không, tuyên bố đó là hoàn toàn sai. Ví dụ, hãy xem CCA-Net và xem có bao nhiêu nhà nghiên cứu đang sử dụng mô hình đó.
Kaveh

Chà, các mô hình được sử dụng cho các lớp phức tạp trong bài sử dụng mô hình BSS và khi thời gian trôi qua, có thể có các mô hình khác, các mô hình khác đó có hoạt động với các lớp phức tạp trong bài không? BTW, nhận xét là một sự làm rõ về các mô hình được sử dụng trong các lớp liên quan, mà bài đăng đã đề cập, vì vậy không có sự làm rõ nào về việc liệu có các mô hình khác hay không. Một lần nữa, làm rõ là về các mô hình được sử dụng trong các lớp, không có yêu cầu.
user3483902
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.