Tăng tốc đa thức với các thuật toán dựa trên lập trình semidefinite


17

Đây là phần tiếp theo của một câu hỏi gần đây được hỏi bởi A. Pal: Giải các chương trình bán chính xác trong thời gian đa thức .

Tôi vẫn còn bối rối về thời gian chạy thực tế của các thuật toán tính toán giải pháp của một chương trình semidefinite (SDP). Như Robin đã chỉ ra trong nhận xét của mình cho câu hỏi trên, SDPs có thể được giải quyết trong thời gian đa thức nói chung.

Hóa ra, nếu chúng ta xác định SDP của mình một cách cẩn thận và chúng ta đặt ra một điều kiện về mức độ khả thi của vùng khả thi nguyên thủy, chúng ta có thể sử dụng phương pháp ellipsoid để đưa ra một đa thức về thời gian cần thiết để giải quyết SDP (xem Phần 3.2 trong L. Lovász, các chương trình Semidefinite và tối ưu hóa tổ hợp ). Các ràng buộc đưa ra có một " thời gian đa thức " chung chung và ở đây tôi quan tâm đến một ràng buộc ít thô hơn.

Động lực đến từ việc so sánh hai thuật toán được sử dụng cho bài toán phân tách lượng tử (vấn đề thực tế không liên quan ở đây, vì vậy đừng ngừng đọc các độc giả cổ điển!). Các thuật toán dựa trên hệ thống phân cấp các bài kiểm tra có thể được đưa vào SDP và mỗi bài kiểm tra trong cấu trúc phân cấp nằm trên một không gian lớn hơn, nghĩa là kích thước của SDP tương ứng lớn hơn. Hai thuật toán tôi muốn so sánh khác nhau trong sự đánh đổi sau: trong lần đầu tiên, để tìm giải pháp bạn cần phải leo lên nhiều bước của hệ thống phân cấp và trong lần thứ hai, các bước của hệ thống phân cấp cao hơn, nhưng bạn cần leo ít hơn của họ. Rõ ràng là trong phân tích của sự đánh đổi này, thời gian chạy chính xác của thuật toán được sử dụng để giải quyết SDP là rất quan trọng. Việc phân tích các thuật toán này được thực hiện bởi Navascués et al. trong arxiv: 0906.2731, nơi họ viết:

... Độ phức tạp thời gian của SDP với biến và kích thước ma trận là (với một chi phí nhỏ thêm đến từ việc lặp lại các thuật toán).mnO(m2n2)

Trong một bài viết khác , khi phương pháp tiếp cận vấn đề này được đề xuất lần đầu tiên, các tác giả đưa ra cùng một ràng buộc, nhưng họ sử dụng thuật ngữ " số lượng các phép toán số học " thận trọng hơn thay vì " độ phức tạp thời gian ".

Câu hỏi của tôi là hai lần:

  • Thuật toán / ràng buộc nào là Navascués et al. liên quan đến?
  • Tôi có thể thay thế biểu thức "thời gian đa thức" trong Lovász bằng một cái gì đó ít thô hơn (giữ nguyên các giả định) không?

1
Theo tôi hiểu rằng phương pháp ellipsoid cho câu trả lời đều nằm trong phụ lỗi trong thời gian đa thức trong log ( 1 / ε ) . Đối với hầu hết các vấn đề, người ta có thể nghi ngờ rằng ε = Ω ( 1 / 2 n ) có thể đủ. ϵlog(1/ϵ)ϵ=Ω(1/2n)
Suresh Venkat

@SureshVenkat: Đó là đúng, phương pháp công trình ellipsoid trong thời gian đa thức trong kích thước của các ma trận đầu vào, kích thước của những hạn chế và . Vấn đề là, đối với ứng dụng tôi đã đề cập trong câu hỏi, chỉ nói "đa thức" là không đủ, tôi cần một ràng buộc chính xác hơn. log(1/ϵ)
Alessandro Cosentino

Câu trả lời:


12

Tôi không quen thuộc với các chi tiết của phương pháp ellipsoid đặc biệt cho các chương trình bán xác định, nhưng ngay cả đối với các chương trình tuyến tính , phân tích phương pháp ellipsoid khá tinh tế.

  • Đầu tiên, người ta cần ràng buộc số lần lặp của thuật toán ellipsoid lý tưởng . Hãy để là ellispoid được sử dụng trong các i th lặp của thuật toán ellipsoid, và để cho c i là trọng tâm của nó. Trong thuật toán lý tưởng, một nhà tiên tri tách / thành viên cung cấp cho bạn một nửa khoảng trống h i chứa điểm tối ưu x nhưng không phải là tâm điểm c i . Ellipsoid tiếp theo E i + 1 là ellipsoid nhỏ nhất chứa E ih i . Đối với mỗi tôi , chúng tôi cóEiicihixciEi+1EihiTôi, nơinlà kích thước. Như vậy, cho một khởi đầu hợp lý ellipsoid, số lần lặp là đa thức trongnlog(1/ε). Tính toánEi+1từEihiyêu cầu (thô sơ)O(n2)phép toán số học. Vì vậy, số lượng các phép toán số học cũng là đa thức trongnlog(vol(Ei+1)<(11n)vol(Ei)nnlog(1/ε)Ei+1EihiO(n2)n .log(1/ε)

  • Tuy nhiên, một số hoạt động số học là căn bậc hai! Theo sau đó, các hệ số của ellipsoid lý tưởng là các số vô tỷ của cấp 2 i , và do đó không có hy vọng thực sự tính toán E i + 1 chính xác trong bất kỳ thời gian hợp lý nào. Vì vậy, thay vào đó, người ta tính một xấp xỉ gần đúng bên ngoài ˜ E iE i ở mỗi lần lặp sử dụng số học chính xác hữu hạn. Grötschel, Lovasz và Schrijver chứng minh rằng nếu một người sử dụng (giả sử) 10 i bit chính xác trong  lần lặp thứ i , chúng ta vẫn có v o l (Ei2iEi+1 E~iEi10ii, vì vậy số lần lặp lại tăng nhiều nhất là một yếu tố không đổi. Nhưng bây giờ, mỗi phép toán số học tronglần lặp thứi(bao gồm cả các phép toán được thực hiện bởi nhà tiên tri tách) đòi hỏithời gianO(ipolylogi).vol(E~i+1)<O(11n)vol(E~i)iO(i polylog i)

Nhìn chung, tổng thời gian của phương pháp ellipsoid chạy là rất xấp xỉ vuông của số phép tính số học. Kể từ khi số phép tính số học là đa thức trong log ( 1 / ε ) , như vậy là thời gian chạy.nlog(1/ε)


Cảm ơn câu trả lời. Nếu tôi kiểm đếm chính xác, đây là những gì tôi có (rất đại khái): (n. của các phép toán số học) × O ( i polylog i ) (thời gian cho mỗi phép toán số học). Tôi vẫn không có một ràng buộc về số lần lặp lại, ngoại trừ đó là đa thức trong nlog ( 1 / ε ) . Có lẽ tôi đã không rõ ràng trong câu hỏi của mình, nhưng tôi quan tâm đến một ràng buộc chính xác hơn cũng cho số lần lặp lại (đại loại như: n , ni=1n. of iterationsO(n2)×O(ipolylogi)nlog(1/ϵ)n , ...). n2
Alessandro Cosentino

Một điều nữa: không nên số lượng các ràng buộc cũng xuất hiện ở đâu đó trong phân tích? Ngoài ra, điều này là cụ thể cho các chương trình tuyến tính?
Alessandro Cosentino

1
Bạn cũng phải tính đến thời gian hoạt động của nhà tiên tri tách; đó là nơi mà số lượng các ràng buộc xuất hiện. Đối với các LP rõ ràng, nhà tiên tri tách chỉ thử các ràng buộc một lần. Đối với LP đại diện ngầm, nó phức tạp hơn.
Jeffε
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.