Các thuật toán lồi và hiệu quả.


8

[Chỉnh sửa ngày 21 tháng 7 năm 2011: Tôi đã chỉnh sửa câu hỏi để hỏi thêm ví dụ]

Câu hỏi này đang yêu cầu thảo luận bằng văn bản về hoặc nhiều ví dụ về quan sát heuristic.

Một số vấn đề toán học thừa nhận các thuật toán hiệu quả dường như là lồi trong tự nhiên. Tôi đang nghĩ về các chương trình tuyến tính và bán xác định và các vấn đề tổ hợp khác nhau làm giảm các vấn đề này.

Đầu tiên, có những gia đình khác của các vấn đề thừa nhận các thuật toán hiệu quả cho trường hợp lồi / kết hợp? .

[Chỉnh sửa, ngày 21 tháng 7 năm 2011: Đã thêm vào như sau.]

Tôi muốn thêm một số làm rõ. Tôi xin lỗi tôi đã không bao gồm chúng sớm hơn. Tôi quan tâm đến các vấn đề quyết định hợp lý. Tôi nhận thấy rằng các thủ tục quyết định hiệu quả tồn tại đối với đoạn kết hợp của một số vấn đề logic. Đây là hai ví dụ.

Các bộ giải hiệu quả cho các lý thuyết bậc nhất không có bộ định lượng (như bộ giải SMT cho đẳng thức, đẳng thức với các hàm không giải thích được, số học khác nhau, v.v.) thường có một bộ giải hiệu quả cho đoạn kết hợp và sử dụng các kỹ thuật khác nhau để đối phó với sự phân biệt và phủ định. Trong phân tích tĩnh các chương trình, các trừu tượng thường được sử dụng (và hiệu quả) dựa trên các khoảng nguyên, các đẳng thức affine, octagons hoặc polyhedra. Trong sự trừu tượng hóa dựa trên vị ngữ và xác minh chương trình, có một thứ gọi là sự trừu tượng của Cartesian, theo trực giác về việc có các liên kết của các vị từ thay vì các kết hợp Boolean tùy ý. Tất cả những trường hợp này dường như là về việc đạt được hiệu quả bằng cách khai thác đoạn kết hợp của vấn đề.

Các mảnh kết hợp của lý thuyết thứ tự đầu tiên của tuyến tính, số học thực có thể biểu thị các khối đa diện lồi. Đây là lý do tại sao ban đầu tôi hỏi về lập trình lồi.

Tôi muốn biết về các vấn đề hoặc ví dụ khác trong đó các giải pháp hiệu quả (theo nghĩa lý thuyết hoặc thực tiễn) dựa trên một vấn đề phụ lồi hoặc liên hợp. Nếu có một điều kiện chung khác (Suresh đã đề cập đến mô đun con), vui lòng đề cập đến nó và các vấn đề mà các giải pháp khai thác điều kiện đó.


"Lời mời để suy nghĩ lớn" thường được đánh dấu là CW :). Bất kỳ suy nghĩ về điều này?
Suresh Venkat

2
@Suresh, "lời mời suy nghĩ lớn" nghe có vẻ như thảo luận mở rộng, ý kiến ​​gạ gẫm, v.v., có lẽ phù hợp để trò chuyện hơn QA, tôi nghĩ rằng phần đó nên được đóng lại dưới dạng tranh luận / không mang tính xây dựng. Mặt khác, IMHO, phần yêu cầu tham chiếu không cần phải là CW. Tôi sẽ đề nghị loại bỏ phần "nghĩ to".
Kaveh

2
Tôi đã chỉnh sửa các cụm từ có vấn đề.
Vijay D

3
Một điều phức tạp trong câu hỏi của bạn là công việc gần đây cho thấy rằng tính chất con cũng là thứ dẫn đến các thuật toán hiệu quả. Submodularity tất nhiên là một khái niệm khác nhau về sự lồi lõm
Suresh Venkat

2
f:{0,1}nRf^:[0,1]nR

Câu trả lời:


10

Về câu hỏi 1.

Các ví dụ bạn đã đưa ra, các chương trình tuyến tính và SDP (cả hai đều là chương trình tuyến tính trên các hình nón lồi), có thể được khái quát thành các chương trình lồi: tối thiểu hóa hàm lồi trên tập khả thi lồi. Vì bạn đang tìm kiếm 'các gia đình có vấn đề khác' có hiệu quả nhờ sự hiện diện của lồi, nên điều tự nhiên cần bỏ là phần hàm lồi và chỉ cần nhìn vào các bộ lồi. Đây là lĩnh vực của hình học lồi, và ở đây có rất nhiều thuật toán.

Một trong những mục yêu thích tiêu chuẩn là:

Martin Dyer, Alan Frieze, Ravi Kannan. Một thuật toán thời gian đa thức ngẫu nhiên để tính gần đúng khối lượng của các cơ thể lồi .

Khó khăn ở đây là kích thước là (một phần nên là) một phần của đầu vào; mặt khác, một thuật toán ngây thơ lấy mẫu trên lưới, theo đó kích thước theo số mũ của thời gian chạy. Lý do tại sao lồi giúp trực quan: lồi cho kết quả phân tách, những thứ như bổ đề của Farkas nói rằng một điểm nằm trong một hình nón lồi kín hoặc bạn có thể tách chúng bằng một siêu phẳng. Sự liên quan ở đây nói rằng bạn biết một số điểm nằm trong thân lồi, trong khi một số chòm sao xung quanh nó không nằm trong cơ thể: từ đây bạn có thể rút ra một phần lớn của đầu vào và không bao giờ bận tâm lấy mẫu từ nó. Có lẽ tôi nên làm rõ rằng bài báo trên thực hiện ước tính bằng cách tạo ra một thuật toán lấy mẫu đẹp trong cơ thể (cả hai đều hữu ích). Lần cuối tôi kiểm tra, vẫn không có sự tương tự xác định với điều này; Tôi chỉ loay hoay xem trạng thái đã thay đổi (có vẻ như không) và được cho ăn những ghi chú có một vài tài liệu tham khảo có thể khiến bạn quan tâm:http: //www.cs.ber siêu.edu / ~ sinclair / cs294 / n16.pdf . Tôi không bao giờ tham gia lớp học này và chỉ xem xét ngắn gọn, vì vậy lời xin lỗi của tôi nếu có một số vấn đề, nhưng các tài liệu tham khảo ở đó ít nhất dường như có giá trị với bạn.

Để biết thêm ví dụ về các thuật toán khai thác hình học lồi, một nơi cần xem là phần phụ 'Tài liệu tham khảo và nhận xét' kết luận từng phần (của mỗi chương!) Trong cuốn sách "Các bài giảng về hình học rời rạc" của Jiri Matousek.

Một điều khác được trích dẫn rất nhiều, và dường như có chủ đề cho bạn (nhưng bản thân tôi chưa bao giờ nhìn ra ngoài mục lục; mặt khác, Matousek là .. thuật toán hình học và tổ hợp tối ưu hóa "bởi Grotschel, Lovasz và Schrijver. (Vâng, đó Lovász.)

Tôi nghĩ những tài liệu tham khảo này có rất nhiều cho bạn vì vậy tôi sẽ chuyển sang câu hỏi tiếp theo.

Về câu hỏi 2.

Mặc dù sự thật là sự lồi lõm rất mạnh mẽ, tôi chưa thấy một bình luận nào giống như bạn tìm kiếm và tôi nghĩ mọi người rất cẩn thận để truyền đạt một tình cảm như vậy.

Tôi có một giai thoại về điều này. Một cách mà mọi người 'tiêm' lồi vào các vấn đề là chỉ cần .. ước tính / mô hình hóa chúng với một cái gì đó lồi. (Ví dụ: thay thế các ràng buộc xếp hạng bằng các chỉ tiêu trên ma trận, thay thế các số nguyên (không liên kết và thậm chí không được kết nối) bằng các tập thực của lồi.) Nhưng một khi tôi đang xem video của Boyd, và ai đó đã đưa cho anh ấy câu hỏi "là lồi = hiệu quả", và anh ấy ngay lập tức nói SVD. Lưu ý rằng SVD có thể được viết dưới dạng một vấn đề tối thiểu hóa ràng buộc xếp hạng. Dù sao, quan điểm của tôi là ngay cả Boyd cũng rất nhanh chóng để sửa một nhận xét như thế này.

Điều đó nói rằng, tôi có một mong muốn chia sẻ hai nơi mà cá nhân tôi đã ngạc nhiên bởi các cấu trúc lồi (các chuyên gia có thể đảo mắt và ngủ gật ở đây). Đầu tiên được gọi là các bài toán 'tổng bình phương', đó là các bài toán tối thiểu hóa trên các đa thức không đối xứng . Nhờ các thuộc tính nội suy của đa thức, bạn có thể viết lại chúng dưới dạng SDP. Có một số ghi chú khóa học đẹp về chủ đề này của Pablo Parrilo; bạn có thể tìm thấy thông tin đó và nhiều thông tin hơn trên trang web của anh ấy và một số thông tin khác trong bài đăng MO này của Noah Stein: /mathpro/32533/is-all-non-convex-optimization-heuristic/32634#32634 .

Một nơi đẹp khác là trong các gia đình theo cấp số nhân. Bây giờ, tất cả chỉ là "hiển nhiên" khi bạn nhận ra đây là những giải pháp cho entropy tối đa (một vấn đề tối ưu hóa lồi), nhưng thật đáng ngạc nhiên khi cấu trúc lồi thông báo hành vi của các gia đình theo cấp số nhân (một tài liệu tham khảo tôi thích ở đây là cuốn sách của Wainwright và Jordan về đồ họa mô hình). Điều này đến lượt nó đưa ra một lời biện minh cho một số điều mọi người làm với loại mô hình này.


Matus thân mến, Cảm ơn ví dụ của bạn và câu trả lời chu đáo của bạn. Tôi đã tự hỏi mặc dù về các vấn đề thực sự khác với lập trình lồi, những vấn đề rời rạc, trong đó một số tương tự của lồi xuất hiện.
Vijay D

(theo chỉnh sửa của bạn) Ồ không! Có vẻ như tôi hoàn toàn bỏ lỡ những gì bạn thực sự muốn !! Thật không may, tôi không có bất cứ điều gì cụ thể cho câu hỏi của bạn, nhưng bạn có thể quan tâm đến câu hỏi MO sau: mathoverflow.net/questions/45558/the-logic-of-convex-sets .
matus
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.