Giải các chương trình semidefinite trong thời gian đa thức


17

Chúng tôi biết rằng các chương trình tuyến tính (LP) có thể được giải quyết chính xác trong thời gian đa thức bằng phương pháp ellipsoid hoặc phương pháp điểm bên trong như thuật toán của Karmarkar. Một số LP có số lượng biến / ràng buộc siêu đa thức (hàm mũ) cũng có thể được giải quyết trong thời gian đa thức, miễn là chúng ta có thể thiết kế một tiên đề phân tách thời gian đa thức cho chúng.

Còn các chương trình semidefinite (SDP) thì sao? Những lớp SDP nào có thể được giải chính xác trong thời gian đa thức? Khi không thể giải quyết chính xác SDP, chúng ta có thể luôn thiết kế một FPTAS / PTAS để giải quyết nó không? Các điều kiện kỹ thuật theo đó điều này có thể được thực hiện là gì? Chúng ta có thể giải quyết một SDP với số lượng biến / ràng buộc theo cấp số nhân trong thời gian đa thức, nếu chúng ta có thể thiết kế một tiên đề phân tách thời gian đa thức cho nó không?

Chúng ta có thể giải quyết các SDP xảy ra trong các vấn đề tối ưu hóa tổ hợp (MAX-CUT, tô màu đồ thị) một cách hiệu quả không? Nếu chúng ta chỉ có thể giải quyết trong phạm vi , thì nó sẽ không ảnh hưởng đến các thuật toán xấp xỉ hệ số không đổi (như 0,878 cho thuật toán MAX-CUT của Goemans-Williamson)?1+ϵ

Bất kỳ tài liệu tham khảo tốt về điều này sẽ được đánh giá cao.


3
Trong thực tế, phương pháp này hoạt động cho lập trình lồi nói chung
Suresh Venkat

8
Có ít nhất hai lý do bạn không thể giải quyết SDP chung trong thời gian đa thức. (1) Tồn tại các SDP có giải pháp theo cấp số nhân. (2) SDP có thể mã hóa tổng của bài toán căn bậc hai, không được biết là thời gian đa thức có thể giải được.
Robin Kothari

2
@RobinKothari Đối với SDP, thường "có thể giải được trong thời gian đa thức" được thay thế bằng "get trong (phụ gia) của OPT trong đa thức thời gian trong " IIRC. ps làm thế nào để SDP mã hóa tổng bình phương? ϵ1/ϵ
Suresh Venkat

8
@SureshVenkat: Giả sử chúng ta có ma trận 2x2 với các mục [ab; CD]. Giả sử đây là semidefinite dương và d = 1. Điều này có nghĩa là b = c và a> = b ^ 2. Vậy b được giới hạn trên bởi căn bậc hai của a. Bây giờ chúng ta có thể tối đa hóa tổng của một số b như vậy. Giá trị tối ưu sẽ là tổng căn bậc hai của a tương ứng.
Robin Kothari

2
Nó không phải là nhân mà là phụ gia. Ngoài ra, vi.wikipedia.org/wiki/Semidefinite_programming#Alacticms
Suresh Venkat

Câu trả lời:


16

Phương pháp ellipsoid và phương pháp điểm bên trong cũng có thể được mở rộng để giải quyết SDPs. Bạn có thể tham khảo bất kỳ văn bản tiêu chuẩn nào trên SDP để biết chi tiết. Đây là một:

Lập trình bán chính xác . Vandenberge và Stephen Boyd, 1996.


Đẹp tham khảo Jagadish.
Arindam Pal

Đẹp tham khảo quá! Cảm ơn! Đã tự hỏi khi nói thuật toán thời gian đa thức giải SDP, các thuật toán giải cho giải pháp tối ưu, chính xác hay xấp xỉ?
Tim
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.