Власне, повний та загальний опис проблеми, яку можна вирішити жадібним алгоритмом, - це вкладення матроїдів , яке узагальнює як поняття матроїд, так і поняття гредоїда . Відповідь - ні. Проблема, вирішена жадібним алгоритмом, не повинна мати структури матроїдів, але вона матиме структуру вбудовування матроїдів (що, на жаль, набагато складніше).
Розумовою моделлю для цього може стати пошук мінімуму дерев, що охоплюють. Структура, що використовується алгоритмом Крускала, є матроїдом, але така, яка використовується алгоритмом Прима (для якого потрібен пусковий вузол), не є. (Це, однак, гредоїд - і вкладка матроїда.)
Helman та ін. (1993) у своїй роботі «Точна характеристика жадібних структур» визначає їх поняття жадібного алгоритму з точки зору заданих систем, що є тим самим формалізмом, який використовується для матроїдів та гредодоїдів. Система множин складається з множини та колекції підмножин , так званих можливих наборів . Основою для безлічі системи є максимальним допустимим безліччю, то є безліч, можливо , але не містяться в жодному іншому допустимому безлічі. Цільова функція пов'язує кожен підмножина зі значенням. AnS C S f : 2 S → R S(S,C)SCS f:2S→RSПроблема оптимізації в цьому формалізмі полягає у пошуку основи максимального об'єктивного значення для заданої системи та об'єктивної функції.
Жадібний алгоритм, визначений з точки зору цього формалізму, досить простий: ви починаєте з порожнього набору і послідовно додаєте один елемент, поки не досягнете основи, завжди гарантуючи, що (i) ваш набір здійсненний на кожному кроці, і ( ii) доданий елемент максимізує цільову функцію отриманого результату, wrt. всі альтернативні елементи, які ви могли б додати. (Тобто, концептуально, ви намагаєтеся додати всі можливі альтернативи та вибираєте той, який дає найвищу цільову цінність.)
Можна, мабуть, стверджувати , що можуть існувати і інші форми жодного алгоритму, але є кілька підручників з алгоритмами і комбінаторної оптимізації , які описують цю систему множин алгоритму , заснований як на жадібному алгоритмі. Це не заважає описувати щось, що не підходить, але все-таки можна було б назвати жадібним. (Все-таки, це стосується всього, що потенційно може мати структуру матроїдів, наприклад, хоча це набагато загальніше.)
Що Helman та ін. робити це те, що вони описують, коли цей алгоритм буде працювати. Більш конкретно:
Вони показують, що для лінійних об'єктивних функцій (де об'єктивне значення становить суму ваг елементів) жадібний алгоритм буде працювати саме на структуру, яку вони визначають як вбудова матроїда;
Вони дають аналогічну характеристику для так званих вузьких цілей (де об'єктивне значення набору дорівнює мінімуму над вагами окремих елементів); і
Вони дають точну характеристику того, які об’єктивні функції (крім лінійних) оптимізовані жадібним алгоритмом на вкладках матроїдів.