Làm thế nào cơ bản là matroid và greedoids trong thiết kế thuật toán?


23

Ban đầu, matroids đã được giới thiệu khái quát các khái niệm về độc lập tuyến tính của một bộ sưu tập các tập con trên một số mặt đất được đặt . Một số vấn đề có chứa cấu trúc này cho phép các thuật toán tham lam tìm ra giải pháp tối ưu. Khái niệm về greedoids sau đó đã được giới thiệu để khái quát cấu trúc này để nắm bắt nhiều vấn đề hơn cho phép tìm ra giải pháp tối ưu bằng các phương pháp tham lam.EI

Làm thế nào thường làm các cấu trúc phát sinh trong thiết kế thuật toán?

Hơn nữa, thường xuyên hơn không phải là một thuật toán tham lam sẽ không thể nắm bắt đầy đủ những gì cần thiết để tìm giải pháp tối ưu, nhưng vẫn có thể tìm thấy các giải pháp gần đúng rất tốt (ví dụ như Bin Đóng gói). Cho rằng, có cách nào để đo lường mức độ "gần gũi" của một vấn đề đối với một kẻ tham lam hay matroid không?

Câu trả lời:


18

Thật khó để trả lời câu hỏi "mức độ thường xuyên". Nhưng như với tất cả các "cấu trúc cơ bản", lợi ích đến từ việc nhận ra rằng vấn đề tiềm ẩn mà người ta đang cố gắng giải quyết có cấu trúc matroid (hoặc greedoid). Đó không chỉ là vấn đề matroid. Vấn đề giao nhau matroid có một mô hình cụ thể (khớp lưỡng cực).

Nick Harvey đã thực hiện luận án tiến sĩ khá gần đây về các thuật toán cho các vấn đề matroid và cũng đã xem xét tối ưu hóa chức năng dưới cơ thể (trong đó khái quát hóa các vấn đề matroid). Đọc phần giới thiệu và nền tảng cho luận án có thể hữu ích.


4
Tôi chỉ muốn thêm một ghi chú liên quan đến "sự gần gũi". Nếu một thuật toán tham lam đưa ra một xấp xỉ k, thì vấn đề có thể được cấu trúc như một k-matroid.
Nicholas Mancuso

+1. Câu trả lời tốt đẹp. Tôi tự hỏi tại sao luận án nói rằng một hàm dưới là một khái quát hoặc trừu tượng của một matroid? Kết nối duy nhất tôi có thể tìm thấy giữa hai là thứ hạng của một lớp con trên một tập hợp con là một hàm con.
Tim

2
Có một kết nối hình học rất thanh lịch. Để hiểu rõ hơn về điều này, bạn nên xem en.wikipedia.org/wiki/Polymatroid . Một cách thô bạo, nếu đa giác liên kết với một hàm dưới có các thuộc tính cụ thể, thì bạn sẽ có được một matroid. Để biết thêm về điều này, hãy xem cuốn sách của Satoru Fujishige: Kurims.kyoto-u.ac.jp/~fujishig/Book1a.html
Suresh

4
Như đã nêu trong CLRS (trang 437 của phiên bản thứ 3), lý thuyết matroid không đề cập đến vấn đề lựa chọn hoạt động và vấn đề mã hóa Huffman. Liệu lý thuyết tham lam bao trùm chúng?
hengxin
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.