Greedoid
In combinatorics, a greedoid is a type of set system. It arises from the notion of the matroid, which was originally introduced by Whitney in 1935 to study planar graphs and was later used by Edmonds to characterize a class of optimization problems that can be solved by greedy algorithms. Around 1980, Korte and Lovász introduced the greedoid to further generalize this characterization of greedy algorithms; hence the name greedoid. Besides mathematical optimization, greedoids have also been connected to graph theory, language theory, order theory, and other areas of mathematics.
Definitions
A set system is a collection of subsets of a ground set . When considering a greedoid, a member of is called a feasible set. When considering a matroid, a feasible set is also known as an independent set.An accessible set system is a set system in which every nonempty feasible set contains an element such that is feasible. This implies that any nonempty, finite, accessible set system necessarily contains the empty set ∅.
A greedoid is a finite accessible set system that satisfies the exchange property:
- for all with there is some such that
The rank of a greedoid is the size of a basis.
By the exchange property, all bases have the same size.
Thus, the rank function is well defined. The rank of a subset of is the size of a basis of. Just as with matroids, greedoids have a cryptomorphism in terms of rank functions.
A function is the rank function of a greedoid on the ground set if and only if is subcardinal, monotonic, and locally semimodular, that is, for any and any we have:
- subcardinality:
- monotonicity: whenever
- local semimodularity: whenever
Classes
An interval greedoid is a greedoid that satisfies the Interval Property:
- if with then, for all
An antimatroid is a greedoid that satisfies the Interval Property without Upper Bounds:
- if with then, for all implies
A matroid is a non-empty greedoid that satisfies the Interval Property without Lower Bounds:
- if with then, for all implies
Examples
- Consider an undirected graph. Let the ground set be the edges of and the feasible sets be the edge set of each forest of. This set system is called the cycle matroid. A set system is said to be a graphic matroid if it is the cycle matroid of some graph.
- Consider a finite, undirected graph rooted at the vertex. Let the ground set be the vertices of and the feasible sets be the vertex subsets containing that induce connected subgraphs of. This is called the vertex search greedoid and is a kind of antimatroid.
- Consider a finite, directed graph rooted at. Let the ground set be the edges of D and the feasible sets be the edge sets of each directed subtree rooted at with all edges pointing away from. This is called the line search greedoid, or directed branching greedoid. It is an interval greedoid, but neither an antimatroid nor a matroid.
- Consider an matrix. Let the ground set be the indices of the columns from 1 to and the feasible sets be This is called the Gaussian elimination greedoid because this structure underlies the Gaussian elimination algorithm. It is a greedoid, but not an interval greedoid.
Greedy algorithm
In order to describe a greedoid-based condition in which a greedy algorithm is optimal, we need some more common terminologies in greedoid theory.
Without loss of generality, we consider a greedoid with finite.
A subset of is rank feasible if the largest intersection of with any feasible set has size equal to the rank of.
In a matroid, every subset of is rank feasible.
But the equality does not hold for greedoids in general.
A function is R-compatible if is rank feasible for all real numbers.
An objective function is linear over a set if, for all we have for some weight function
Proposition. A greedy algorithm is optimal for every R-compatible linear objective function over a greedoid.
The intuition behind this proposition is that, during the iterative process, each optimal exchange of minimum weight is made possible by the exchange property, and optimal results are obtainable from the feasible sets in the underlying greedoid. This result guarantees the optimality of many well-known algorithms. For example, a minimum spanning tree of a weighted graph may be obtained using Kruskal's algorithm, which is a greedy algorithm for the cycle matroid. Prim's algorithm can be explained by taking the line search greedoid instead.