В комбинаторике гридоид - это тип системы наборов. Это происходит из понятия матроида, которое первоначально было введено Уитни в 1935 году для изучения планарных графов, а позже использовалось Эдмондсом для характеристики класса задач оптимизации, которые могут быть решены с помощью жадных алгоритмов. Приблизительно в 1980 году Корте и Ловас представили жадныйоид для дальнейшего обобщения этой характеристики жадных алгоритмов; отсюда и название жадный. Помимо математической оптимизации, гридоиды также были связаны с теорией графов, теорией языков, теорией poset и другими областями математики.
A set system ( F, E) представляет собой набор F из подмножеств основного набора E (то есть F является подмножеством набора мощности из E). При рассмотрении гридоида член F называется допустимым набором . При рассмотрении матроида возможный набор также известен как независимый набор.
доступная система множеств (F, E) - это система множеств, в которой каждое непустое допустимое множество X содержит такой элемент x, что X \ {x} допустимо. Это означает, что любая непустая, конечная, доступная система множеств обязательно содержит пустое множество ∅.
A гридоид (F, E) - это доступная система множеств, которая удовлетворяет свойству обмена:
(Примечание: некоторые люди резервируют термин «свойство обмена» для условия на основе гридоида и предпочитают называть приведенное выше условие «Свойство дополнения».)
A базис гридоида - это максимально допустимый набор, то есть он допустимый набор, но не содержится ни в каком другом. Базис подмножества X из E - это максимально допустимый набор, содержащийся в X.
ранг гридоида - это размер базиса. По свойству обмена все базы имеют одинаковый размер. Таким образом, функция ранга хорошо определена. Ранг подмножества X в E - это размер базиса X. Как и в случае с матроидами, гридоиды имеют криптоморфизм в терминах функций ранга. Функция является функцией ранга гридоида на наземном множестве E тогда и только тогда, когда если является субкардинальным, монотонным и локально полумодулярным, то есть для любого и любых мы имеем
Большинство классов гридоидов имеют много эквивалентных определений в терминах системы множеств, языка, poset, симплициального комплекса, и так далее. Следующее описание следует традиционным путем, перечисляя лишь пару наиболее известных характеристик.
интервальный гридоид (F, E) - это гридоид, который удовлетворяет свойству интервала:
Эквивалентно, интервальный гридоид - это гридоид такой, что объединение любых двух возможных наборов является допустимым, если он содержится в другом допустимом наборе.
антиматроид (F, E) - это гридоид, который удовлетворяет свойству Interval без верхних границ:
Эквивалентно антиматроид - это (i) гридоид с единственным базисом; или (ii) доступная система множеств, замкнутая относительно объединения. Легко видеть, что антиматроид также является интервальным гридоидом.
A матроид (F, E) - непустой гридоид, который удовлетворяет свойству интервала без нижних границ:
Легко видеть, что матроид также является интервальным гридоидом.
В общем, жадный алгоритм - это просто итерационный процесс, в котором лучший локальный выбор, обычно входящий максимальный вес выбирается в каждом раунде, пока не будут исчерпаны все доступные варианты. Чтобы описать основанное на гридоиде состояние, при котором жадный алгоритм является оптимальным (т. Е. Получает базис максимального значения), нам нужны некоторые более общие термины в теории гридоидов. Без ограничения общности, мы рассматриваем гридоид G = (F, E) с конечным E.
Подмножество X из E является допустимым рангом, если наибольшее пересечение X с любым допустимым набором имеет размер, равный рангу X. В матроиде каждое подмножество E является допустимым рангом. Но для гридоидов в целом равенство не выполняется.
Функция w: E → ℝ является R-совместимой, если {x ∈ E: w (x) ≥ c} является допустимым рангом для всех действительных чисел c.
Целевая функция f: 2 → ℝ является линейной над множеством S, если для всех X ⊆ S выполняется f (X) = Σ x ∈ X w (x) для некоторой весовой функции w: S → ℜ.
Предложение. Жадный алгоритм оптимален для любой R -совместимой линейной целевой функции над гридоидом.
Интуиция, лежащая в основе этого предположения, заключается в том, что во время итеративного процесса каждый оптимальный обмен минимального веса становится возможным благодаря свойству обмена, а оптимальные результаты достигаются из возможных наборов в базовом гридоиде. Этот результат гарантирует оптимальность многих известных алгоритмов. Например, минимальное остовное дерево для взвешенного графа может быть получено с помощью алгоритма Крускала, который является жадным алгоритмом для циклического матроида. Алгоритм Прима можно объяснить, взяв вместо него гридоид поиска вершин.