Có thể chứng minh rằng, đối với một vấn đề nhất định, không có thuật toán tham lam tối ưu nào tồn tại?


10

Tham lam là một thuật ngữ không chính thức, nhưng có thể (không chắc chắn, đó là lý do tại sao tôi hỏi) rằng đối với một số vấn đề nhất định, lòng tham có thể được hình thành về mặt toán học và do đó được chứng minh rằng không có thuật toán tham lam tối ưu nào tồn tại. Điều này có thể không?


Câu trả lời:


9

Điều đơn giản nhất để làm là thiết lập thuật toán tham lam cho vấn đề, và sau đó tìm một ví dụ ngược lại. Nếu bạn tìm thấy một, bạn đã có câu trả lời của bạn. Nếu không, có nhiều cách để chứng minh rằng lòng tham hoạt động . Tất nhiên, có một số vấn đề (chẳng hạn như cách thức cụ thể để xây dựng thuật toán tham lam). Đối với việc mô tả vấn đề nào có thể và vấn đề nào không thể được giải quyết một cách tham lam, cũng có một câu trả lời chung cho vấn đề đó.

Trên thực tế, trong bài báo của họ, Một đặc điểm chính xác của các cấu trúc tham lam ( SIAM J. Toán rời rạc . 6 , trang 274-283), Helman, Moret và Shapiro đã đưa ra một mô tả chính thức về điều này (được gọi là nhúng matroid , khái quát hóa cả matroid và greedoids). Từ bản tóm tắt: Các tác giả trình bày các đặc điểm chính xác của các cấu trúc mà thuật toán tham lam tạo ra các giải pháp tối ưu.

Nói chung, thuật toán tham lam có thể được xây dựng theo các hệ thống tập có trọng số . Bạn có một bộ (ví dụ: các cạnh, trong trường hợp cây bao trùm tối thiểu) và bạn có một bộ của các tập hợp con của (nghĩ về các khu rừng trải dài một phần, cho vấn đề cây bao trùm tối thiểu). đại diện cho các giải pháp phần giá trị xây dựng bằng cách kết hợp các yếu tố từ . Ngoài ra còn có hàm trọng số, , cung cấp cho bạn trọng số hoặc chi phí của bất kỳ phần tử nào trong . Chúng ta thường coi đây là tuyến tính tức là, mỗi phần tử trong(E,F,w)EF2EEFEwFEcó trọng số và trọng số của các giải pháp (một phần) chỉ là tổng trọng số của phần tử. (Ví dụ: trọng lượng của một cây bao trùm là tổng trọng lượng cạnh của nó.) Trong bối cảnh này, Helman et al. cho thấy rằng sau đây là tương đương:

  1. Đối với mọi hàm mục tiêu tuyến tính, có cơ sở tối ưu.(E,F)

  2. (E,F) là nhúng matroid.

  3. Đối với mọi hàm mục tiêu tuyến tính, các cơ sở tham lam của chính xác là các cơ sở tối ưu của nó.(E,F)

Nói cách khác: Đối với các cấu trúc như thế này (về cơ bản là hiện thân của loại cấu trúc thường nghĩ đến khi làm việc với lòng tham), chính xác tập hợp các nhúng nhúng có thể được giải quyết một cách tham lam.

Định nghĩa về việc nhúng matroid không quá khó, vì vậy việc chứng minh rằng một vấn đề nhất định là hoặc không phải là việc nhúng matroid chắc chắn là khả thi. Các Wikipedia đưa ra định nghĩa khá rõ ràng. (Hiểu bằng chứng tại sao đây là những cấu trúc chính xác có thể giải quyết được bởi tham lam, đó là một vấn đề khác hoàn toàn là Sầu)

Nếu vấn đề của bạn có thể được đưa ra theo cách lựa chọn từ một hệ thống có trọng số với hàm mục tiêu tuyến tính và nếu bạn có thể chỉ ra rằng đó không phải là nhúng matroid, thì bạn đã cho thấy rằng nó không thể được giải quyết một cách tham lam, ngay cả khi bạn trốn tránh t đã có thể tìm thấy một ví dụ phản tác dụng. (Mặc dù tôi nghi ngờ việc tìm một ví dụ phản tác dụng sẽ dễ dàng hơn một chút.)

Cách tiếp cận này không hoàn toàn không có vấn đề, tôi cho rằng. Như bạn nói, ý tưởng chung về lòng tham là khá không chính thức, và có thể điều chỉnh nó theo cách mà hình thức của các hệ thống tập hợp trọng số tuyến tính không áp dụng.


10

Vâng, có công việc như vậy. Allan Borodin với các đồng tác giả đã phát triển một lý thuyết trong đó họ chính thức hóa khái niệm về sự tham lam và thu được kết quả mà tỷ lệ gần đúng có thể đạt được với họ. Họ giới thiệu một lớp các thuật toán ưu tiên, trong đó khái quát các thuật toán tham lam. Công việc đầu tiên của họ về chủ đề này là bài báo " Thuật toán ưu tiên " (Tăng dần) .

PS Đoạn trước trả lời cho một câu hỏi khác: Có thể chứng minh rằng, đối với một vấn đề nhất định, không có thuật toán tham lam nào tồn tại với tỷ lệ gần đúng nhỏ hơn ? Điều gì liên quan đến câu hỏi tôi cho rằng nó được giả định ở đó có nghĩa là tối ưu chính xác vì vậy câu hỏi liên quan đến các vấn đề trong P (Tôi cho rằng các thuật toán tham lam có độ phức tạp đa thức mặc dù tôi đoán điều này là không cần thiết) được biết là có giải pháp bằng các phương pháp khác hơn là tham lam . Và tôi không biết câu trả lời cho câu hỏi này.1+ε

To ivotron: nếu bạn không có ý giải thích đầu tiên của tôi, tôi sẽ xóa câu trả lời này.


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.