Trong độ phức tạp của mạch, chúng ta có sự phân tách giữa các quyền hạn của các mô hình mạch khác nhau.
Trong độ phức tạp của bằng chứng, chúng ta có sự phân tách giữa các quyền hạn của các hệ thống chứng minh khác nhau.
Nhưng trong thuật toán, chúng ta vẫn chỉ có một vài sự tách biệt giữa các quyền hạn của các mô hình thuật toán .
Các câu hỏi của tôi dưới đây nhằm mục đích chạm đến vấn đề sau này cho hai mô hình: Lập trình tham lam và năng động.
Chúng tôi có một tập hợp các yếu tố và một số tập hợp con của nó được tuyên bố là giải pháp khả thi. Chúng tôi giả định rằng gia đình này đã đóng cửa: tập hợp các giải pháp khả thi là khả thi. Đưa ra một trọng số không âm cho các phần tử nền, vấn đề là tính tổng trọng lượng tối đa của một giải pháp khả thi.
Thuật toán tham lam bắt đầu với một giải pháp một phần trống rỗng, và ở mỗi bước, nó bổ sung một yếu tố chưa được xử lý có trọng lượng lớn nhất nếu điều này là khả thi, tức là nếu giải pháp mở rộng vẫn khả thi. Định lý Rado-Edmonds nổi tiếng nói rằng thuật toán này sẽ tìm ra một giải pháp tối ưu cho tất cả các trọng số đầu vào nếu họ là các giải pháp khả thi là một matroid.
Nói một cách đơn giản , thuật toán DP rất đơn giản , nếu nó chỉ sử dụng các phép toán Max và Sum (hoặc Min và Sum). Để cụ thể hơn (như được đề xuất bởi Joshua), bằng thuật toán DP đơn giản, tôi sẽ có nghĩa là một mạch (max, +) với các cổng fanin-Max Max và Sum. Đầu vào là các biến, thứ tương ứng với trọng số cho phần tử thứ . Một mạch như vậy có thể giải quyết bất kỳ vấn đề nào như vậy chỉ bằng cách tính tổng trọng lượng tối đa của một giải pháp khả thi. Nhưng điều này có thể là một quá mức lớn, nếu chúng ta có nhiều giải pháp như vậy theo cấp số nhân (như hầu như luôn luôn như vậy).tôi
Câu hỏi 1: Có matroids, trên đó bất kỳ thuật toán DP đơn giản nào cũng sẽ cần một số lượng hoạt động siêu đa thức để giải quyết vấn đề tối đa hóa tương ứng?
BÌNH LUẬN (thêm 2015/12/24): Câu hỏi này đã được trả lời (xem dưới đây): có là matroids như vậy, ngay cả trong áp đảo đa số.
Câu hỏi tiếp theo yêu cầu phân tách DP tham lam và đơn giản cho các vấn đề gần đúng . Trong bài toán Đối sánh trọng lượng tối đa , nhóm các giải pháp khả thi bao gồm tất cả các kết quả khớp trong đồ thị lưỡng cực hoàn chỉnh . Đối với một trọng số cho trước cho các cạnh của nó, mục tiêu là tính trọng lượng tối đa của một trận đấu (đây sẽ luôn là một kết hợp hoàn hảo, vì trọng số là không âm).
Thuật toán tham lam đơn giản có thể tính gần đúng vấn đề này trong yếu tố 2: chỉ luôn luôn có một cạnh tách rời chưa thấy của trọng lượng tối đa. Trọng lượng thu được sẽ ít nhất bằng một nửa trọng lượng tối ưu.
Câu hỏi 2: Một thuật toán DP đơn giản có thể tính gần đúng bài toán Ghép trọng lượng tối đa trong nhân tố 2 bằng cách chỉ sử dụng nhiều phép toán Max và Sum không?
Tất nhiên, một thuật toán DP tầm thường, xuất ra lần trọng số tối đa của một cạnh, xấp xỉ vấn đề này trong hệ số . Nhưng chúng tôi muốn một yếu tố nhỏ hơn nhiều. Tôi đoán rằng thậm chí một yếu tố không thể đạt được nhưng, một lần nữa: làm thế nào để chứng minh điều này? n n / log n
LIÊN QUAN: Một người anh em họ của Kết hợp trọng lượng tối đa là vấn đề Bài tập : tìm trọng lượng tối thiểu của một kết hợp hoàn hảo. Vấn đề này có thể được giải quyết (thậm chí chính xác) bằng lập trình tuyến tính (được gọi là thuật toán Hungary) bằng cách chỉ sử dụng các hoạt động . Nhưng giới hạn dưới của Razborov về kích thước của các mạch boolean đơn điệu tính toán hàm vĩnh viễn ngụ ý (không hoàn toàn trực tiếp) rằng bất kỳ mạch (min, +) nào xấp xỉ vấn đề này trong bất kỳ yếu tố hữu hạn (!) Này đều phải sử dụng hoạt động. Do đó, đối với các vấn đề tối thiểu hóa , các thuật toán DP đơn giản có thể yếu hơn nhiều so với Lập trình tuyến tính. Các câu hỏi của tôi ở trên nhằm mục đích cho thấy rằng các thuật toán DP như vậy có thể còn yếu hơn cả Greedy. n Ω ( log n )
Có ai đó đã thấy những câu hỏi tương tự đang được ai đó xem xét?
THÊM (vào ngày 24.12.2015): Câu hỏi 2 nhằm mục đích chỉ ra rằng một vấn đề tối đa hóa cụ thể (vấn đề Kết hợp trọng lượng tối đa), có thể được xấp xỉ bằng thuật toán tham lam với hệ số , không thể xấp xỉ bằng đơn giản đa kích thước DP có cùng hệ số . Trong khi đó, tôi đã thu được một sự tách biệt yếu hơn giữa DP tham lam và DP đơn giản: với mỗi , có một vấn đề tối đa hóa rõ ràng có thể được xấp xỉ bằng thuật toán tham lam với yếu tố , nhưng không đơn giản kích thước đa Thuật toán DP có thể tính gần đúng vấn đề này với hệ số nhỏ hơn (xem tại đâyr = o ( n / log n ) rcho một bản phác thảo). Tuy nhiên, bản thân Câu hỏi 2 (không nhất thiết cho vấn đề Trọng lượng tối đa cụ thể này) vẫn còn thực tế: sẽ rất thú vị khi nhắm mục tiêu cùng một yếu tố theo cả hai thuật toán.