Điều gì có thể được giải quyết với lập trình semidefinite không thể giải quyết bằng lập trình tuyến tính?


9

Tôi quen thuộc với các chương trình tuyến tính ở chỗ chúng có thể giải quyết các vấn đề với các hàm mục tiêu tuyến tính và các ràng buộc tuyến tính. Nhưng những gì lập trình semidefinite có thể giải quyết mà lập trình tuyến tính không thể? Tôi đã biết rằng các chương trình semidefinite là một khái quát của các chương trình tuyến tính.

Ngoài ra, làm thế nào để người ta nhận ra một vấn đề có thể được giải quyết bằng lập trình semidefinite? Một vấn đề điển hình mà lập trình semidefinite được sử dụng cho điều đó không thể được giải quyết thông qua lập trình tuyến tính là gì?

Cảm ơn rất nhiều cho bất kỳ phản ứng.


2
Có lẽ bạn có thể làm cho câu hỏi của bạn chính xác hơn? Rốt cuộc, lập trình tuyến tính là -complete. P
Kristoffer Arnsfelt Hansen

5
@KristofferArnsfeltHansen Tôi không bao giờ ngừng tự hỏi tại sao mọi người cứ đưa sự thật này lên trong các cuộc thảo luận tương tự. Tính đầy đủ của P là không liên quan trừ khi chúng ta đang nói về việc tách P khỏi L hoặc NC - nếu chúng ta đang nói về polytime, mọi thứ trong P là "P-perfect". Để đề xuất câu trả lời cho OP: một khi bạn khắc phục mã hóa tuyến tính của một vấn đề, (nghĩa là viết như tối ưu hóa chức năng tuyến tính trên đa giác), sẽ rất hợp lý khi hỏi liệu LP / SDP có thể giải quyết vấn đề hay không.
Sasho Nikolov

Câu trả lời:


18

Một vấn đề điển hình là MaxCut: xuất ra một vết cắt trong biểu đồ (xấp xỉ) tối đa hóa số lượng cạnh được cắt. Goemans và Williamson cho thấy SDP xấp xỉ giá trị của MaxCut trong phạm vi ít nhất là 0,878. Gần đây, Chan, Lee, Raghavendra và Steurer đã chỉ ra rằng đối với mã hóa tuyến tính tự nhiên của bài toán MaxCut, tất cả các LP có kích thước đa thức đều đạt xấp xỉ không quá 0,5.

Thật khó để nói chính xác loại vấn đề thường được hưởng lợi từ SDP. Một cách tiếp cận có hệ thống để xây dựng các thư giãn SDP là thông qua các hệ thống phân cấp, trong đó mạnh mẽ nhất là hệ thống phân cấp Lasserre: xem khảo sát của Rothvoß để có phần giới thiệu hay. Cho đến nay, có quá nhiều ví dụ về sự thành công của SDP trong việc tối ưu hóa để liệt kê. Ngoài ra, Raghavendra đã chỉ ra rằng một SDP cụ thể mang lại sự gần đúng nhất cho tất cả các vấn đề MaxCSP, nếu phỏng đoán của Trò chơi duy nhất là đúng.

Kiểm tra các cuốn sách của Gaertner và Matousek , chương 6 và 13 của cuốn sách Willimson và Shmoys , khảo sát của Lovasz .


12

Đối với nhiều vấn đề tối ưu hóa tổ hợp (ví dụ Max-Cut), lập trình semidefinite mang lại sự thư giãn mạnh mẽ hơn nhiều so với việc thư giãn LP của các công thức IP. Điều này cho phép thiết kế các thuật toán gần đúng và các thuật toán chính xác hiệu quả hơn so với các đối tác tuyến tính của chúng do chất lượng tốt hơn của giới hạn. Các ví dụ có thể được tìm thấy trong luận án Haging của Christoph Helmberg , khảo sát nàytrang khóa học này .

Một chuỗi kết quả ngoạn mục khác gần đây sử dụng lập trình semidefinite là ứng dụng đại số cờ của Razborov để chứng minh kết quả về các vấn đề loại Turan (xem khảo sát nàydự án cờ ).

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.