Trên thực tế, mô tả đầy đủ và chung về một vấn đề có thể được giải quyết bằng thuật toán tham lam là nhúng matroid , khái quát cả khái niệm về matroid và tham lam . Câu trả lời là không có vấn đề nào có thể giải quyết được bằng thuật toán tham lam không cần cấu trúc matroid, nhưng nó sẽ có cấu trúc nhúng matroid (nghĩa là, than ôi, phức tạp hơn nhiều).
Một mô hình tinh thần cho một số điều này có thể là tìm những cây bao trùm tối thiểu. Cấu trúc được sử dụng bởi thuật toán của Kruskal là matroid, nhưng cấu trúc được sử dụng bởi thuật toán của Prim (yêu cầu nút bắt đầu) thì không. (Tuy nhiên, đó là một kẻ tham lam và nhúng matroid.)
( S, C)SCS f: 2S→ RS
Thuật toán tham lam, được định nghĩa theo chủ nghĩa hình thức này, khá đơn giản: Bạn bắt đầu với tập hợp trống và liên tiếp thêm một phần tử duy nhất cho đến khi bạn đạt được một cơ sở, luôn đảm bảo rằng (i) tập hợp của bạn khả thi ở mỗi bước và ( ii) phần tử bạn thêm tối đa hóa hàm mục tiêu của kết quả kết quả, wrt. tất cả các yếu tố thay thế bạn có thể đã thêm. (Đó là, về mặt khái niệm, bạn thử thêm tất cả các lựa chọn khả thi và chọn một phương án mang lại giá trị khách quan cao nhất.)
Bạn có thể, có lẽ, lập luận rằng có thể có các hình thức khác của thuật toán tham lam, nhưng có một số sách giáo khoa về các thuật toán và tối ưu hóa tổ hợp mô tả này thiết lập hệ thống thuật toán dựa theo các thuật toán tham lam. Điều đó không ngăn bạn mô tả một cái gì đó không phù hợp, nhưng tôi vẫn có thể được gọi là tham lam. (Tuy nhiên, điều này làm bìa bất cứ điều gì mà khả năng có thể có một cấu trúc matroid, ví dụ, mặc dù nó là nhiều hơn nói chung.)
Những gì Helman et al. làm là họ mô tả khi thuật toán này sẽ làm việc. Cụ thể hơn:
Chúng chỉ ra rằng đối với các hàm mục tiêu tuyến tính (trong đó giá trị mục tiêu là tổng trọng số phần tử), thuật toán tham lam sẽ hoạt động chính xác trên cấu trúc mà chúng xác định là nhúng matroid;
Chúng đưa ra một đặc tính tương tự cho các mục tiêu được gọi là nút cổ chai (trong đó giá trị mục tiêu của một tập hợp bằng mức tối thiểu trên các trọng số phần tử riêng lẻ); và
Chúng đưa ra một đặc điểm chính xác trong đó các hàm mục tiêu (ngoài các hàm tuyến tính) được tối ưu hóa bằng thuật toán tham lam trên các nhúng matroid.