Những lớp chương trình toán học nào có thể được giải chính xác hoặc xấp xỉ, trong thời gian đa thức?


31

Tôi khá bối rối bởi tài liệu tối ưu hóa liên tục và tài liệu TCS về loại chương trình toán học (MP) (liên tục) nào có thể được giải quyết một cách hiệu quả, và loại nào không thể. Cộng đồng tối ưu hóa liên tục dường như tuyên bố rằng tất cả các chương trình lồi có thể được giải quyết một cách hiệu quả, nhưng tôi tin rằng định nghĩa "hiệu quả" của chúng không trùng với định nghĩa của TCS.

Câu hỏi này đã làm phiền tôi rất nhiều trong vài năm qua và dường như tôi không thể tìm thấy câu trả lời rõ ràng cho nó. Tôi hy vọng bạn có thể giúp tôi giải quyết vấn đề này một lần và mãi mãi: Những lớp MP nào có thể được giải quyết chính xác trong thời gian đa thức, và bằng cách nào; và những gì được biết về xấp xỉ giải pháp tối ưu của MP mà chúng ta không thể giải quyết chính xác trong thời gian đa thức?

Dưới đây, tôi đưa ra một câu trả lời không đầy đủ cho câu hỏi này cũng có thể không chính xác ở một số nơi, vì vậy tôi hy vọng bạn có thể xác minh và sửa lỗi cho tôi tại những điểm mà tôi sai. Nó cũng nêu một số câu hỏi mà tôi không thể trả lời.

Chúng ta đều biết rằng lập trình tuyến tính có thể được giải quyết chính xác trong thời gian đa thức, bằng cách chạy phương pháp ellipsoid hoặc phương pháp điểm bên trong và sau đó chạy một số thủ tục làm tròn. Lập trình tuyến tính thậm chí có thể được giải quyết theo đa thức thời gian về số lượng biến khi đối mặt với một họ LP với bất kỳ ràng buộc tuyến tính siêu lớn nào, miễn là người ta có thể cung cấp một "tiên đề tách" cho nó: một thuật toán phân tách, cho một điểm , hoặc xác định xem điểm đó có khả thi hay không hoặc đưa ra một siêu phẳng tách điểm đó khỏi khối đa diện của các điểm khả thi. Tương tự, lập trình tuyến tính theo đa thức thời gian về số lượng các ràng buộc khi đối mặt với một họ LP với bất kỳ số lượng biến cực lớn nào, nếu một thuật toán cung cấp một thuật toán phân tách cho các nhị phân của các LP này.

Phương pháp ellipsoid cũng có thể giải các chương trình bậc hai trong thời gian đa thức, trong trường hợp ma trận trong hàm mục tiêu là dương (bán?) Xác định. Tôi nghi ngờ rằng, bằng cách sử dụng thủ thuật tách biệt, trong một số trường hợp, chúng ta cũng có thể làm điều này nếu chúng ta đang phải đối phó với một số lượng hạn chế đáng kinh ngạc. Điều đó có đúng không?

Gần đây, lập trình semidefinite (SDP) đã trở nên phổ biến trong cộng đồng TCS. Người ta có thể giải quyết chúng đến độ chính xác tùy ý bằng cách sử dụng các phương pháp điểm bên trong, hoặc phương pháp ellipsoid. Tôi nghĩ rằng, SDP không thể được giải quyết chính xác do vấn đề mà căn bậc hai không thể được tính toán chính xác. (?) Sau đó có đúng không nếu tôi nói có FPTAS cho SDP? Tôi chưa thấy điều đó được nêu ở bất cứ đâu, vì vậy điều đó có lẽ không đúng. Nhưng tại sao?

Chúng tôi có thể giải quyết LP chính xác và SDP cho đến độ chính xác tùy ý. Còn các lớp khác của chương trình conic thì sao? Chúng ta có thể giải các chương trình hình nón bậc hai với độ chính xác tùy ý, sử dụng phương pháp ellipsoid không? Tôi không biết.

Chúng ta có thể sử dụng phương thức ellipsoid nào trên các lớp MP? MP cần những tính chất nào để thỏa mãn sao cho câu trả lời có thể được đưa ra với độ chính xác tùy ý và chúng ta cần những thuộc tính bổ sung nào để có thể có được một giải pháp chính xác trong thời gian đa thức? Câu hỏi tương tự cho các phương pháp điểm nội thất.

Ồ, và cuối cùng, điều gì khiến các trình tối ưu hóa liên tục nói rằng các chương trình lồi có thể được giải quyết hiệu quả? Có đúng là một câu trả lời chính xác tùy ý cho một chương trình lồi có thể được tìm thấy trong thời gian đa thức? Tôi tin là không, vậy định nghĩa "hiệu quả" của họ khác với chúng ta ở khía cạnh nào?

Bất kỳ đóng góp được đánh giá cao! Cảm ơn trước.


6
Tiêu đề của câu hỏi này là quá rộng; Dường như điều bạn thực sự muốn biết là liệu các chương trình lồi có thể thực sự được giải quyết trong thời gian đa thức hay không.
Peter Shor

Biệt phái. Bart, có lẽ bạn có thể chia mọi thứ thành các câu hỏi cụ thể?
Suresh Venkat

Peter và Suresh, cảm ơn vì những gợi ý này. Từ những gì tôi đã viết, tôi phải tuân theo rằng tôi không chỉ quan tâm đến câu hỏi liệu các chương trình lồi có thể được giải quyết hoặc xấp xỉ trong nhiều thời gian hay không. Về cơ bản, tôi quan tâm đến các giới hạn của các phương pháp ellipsoid và điểm bên trong, và tôi hy vọng rằng ai đó biết chính xác các loại MP mà chúng hoạt động hiệu quả. Tôi hỏi điều này bởi vì cơ thể hiện tại của văn học về nó không rõ ràng về điều này (với tôi).
Bart

Cá nhân, tôi nghĩ sẽ tốt nếu có một cái nhìn tổng quan tốt về vấn đề này ở một nơi (như là một câu trả lời cho câu hỏi stackexchange này). Ngoài ra với tôi đây có vẻ như là một câu hỏi khá mạch lạc. Tuy nhiên, vì tôi chưa quen với stackexchannge, tôi không quen thuộc với văn hóa và đạo đức ở đây .. vì vậy trong trường hợp bạn khăng khăng, tôi sẽ cố gắng tìm ra cách chia câu hỏi này thành nhiều câu hỏi nhỏ hơn.
Bart

1
Tôi nghĩ rằng phạm vi của câu hỏi này là quá rộng để có câu trả lời. Giới hạn của phương pháp ellipsoid và điểm bên trong sẽ là một câu hỏi hay và những gì có thể được thực hiện cho các chương trình lồi là một câu hỏi hay, nhưng nếu bạn không chỉ định loại thuật toán hoặc loại chương trình, về cơ bản bạn sẽ hỏi để biết tóm tắt về toàn bộ lĩnh vực tối ưu hóa liên tục trong câu trả lời của bạn và điều này là không thể. Đó không phải là một lĩnh vực nhỏ. Tuy nhiên, nếu bạn để lại câu hỏi của mình, rất có thể bạn sẽ nhận được một câu trả lời tốt khác.
Peter Shor

Câu trả lời:


18

Tôi có thể trả lời phần này:

Điều đó có đúng không nếu tôi nói có FPTAS cho SDP? Tôi chưa thấy điều đó được nêu ở bất cứ đâu, vì vậy điều đó có lẽ không đúng. Nhưng tại sao?

Tuyên bố này là chính xác, nhưng chúng tôi không thường thấy nó bởi vì một tuyên bố mạnh mẽ hơn và quan trọng hơn tuyên bố yếu hơn này.

Một FPTAS là một thuật toán đa thời gian, đưa ra một vấn đề và tham số chính xác 1 k , đưa ra giải pháp ước lượng (1 + 1 / k ).

Nhưng đối với SDP, phương pháp ellipsoid và phương pháp điểm bên trong cung cấp các thuật toán thời gian đa thức, đưa ra một vấn đề và tham số chính xác 1 k , đưa ra giải pháp tương đương (1 + 2 - k ). Lưu ý rằng hệ số gần đúng tốt hơn nhiều so với yêu cầu đối với FPTAS.


Điều này cần được chăm sóc nhiều hơn vì phương pháp ellipsoid và phương pháp điểm bên trong cần các điều kiện bổ sung để chạy trong thời gian đa thức.
Yoshio Okamoto

Cảm ơn vì điều này, Tsuyoshi! Yoshio, bạn có thể làm rõ ý của bạn là gì không? Bạn có thực sự muốn nói rằng có những điều kiện về SDP cụ thể cần thiết, bởi vì nếu không thì SDP không thể xấp xỉ như thế trong đa thời gian? Đây là một bất ngờ đối với tôi trong trường hợp đó, và tôi sẽ quan tâm đến việc biết về những điều kiện này. Cảm ơn.
Bart

@Bart: Ví dụ: nếu bạn xem các ghi chú bài giảng bằng Lovasz cs.elte.hu/~lovasz/semidef.ps , bạn có thể tìm thấy Định lý 3.7 (Trang 19) nói về giới hạn thời gian chạy của phương pháp ellipsoid để giảm thiểu lồi . Ở đó, một số giả định kỹ thuật được áp đặt.
Yoshio Okamoto

4
rRlogR/r

Cảm ơn rất nhiều vì chuyện này. Điều này trả lời một phần rất lớn câu hỏi của tôi. Dường như kiến ​​thức này có thể là một công cụ rất hữu ích cho các nhà khoa học máy tính lý thuyết, trong khi đối với tôi, nó dường như không nổi tiếng chút nào, và hầu như không được biết đến. Kỳ dị.
Bart

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.