Weighted matroid

Weighted matroid

In combinatorics, a branch of mathematics, a weighted matroid is a matroid endowed with function with respect to which one can perform a greedy algorithm.

There is a simple algorithm for finding a basis:

* Let A be the empty set.
* For each "x" in "E"
** if A U {x} is independent, then set A to A U {x}.

The result is clearly an independent set. It is a maximal independent set because if B U {x} is not independent for some subset B of A, then A U {x} is not independent either (the contrapositive follows from the hereditary property). Thus if we pass up an element, we'll never have an opportunity to use it later. We will generalize this algorithm to solve a harder problem.

A "weight function" "w" : "E" → R+ for a matroid "M"=("E", "I") assigns a strictly positive weight to each element of "E". We extend the function to subsets of "E" by summation; "w"("A") is the sum of "w"("x") over "x" in "A". A matroid with an associated weight function is called a weighted matroid.

As a simple example, say we wish to find the maximum spanning forest of a graph. That is, given a graph and a weight for each edge, find a forest containing every vertex and maximizing the total weight of the edges in the tree. This problem arises in some clustering applications. If we look at the definition of the forest matroid above, we see that the maximum spanning forest is simply the independent set with largest total weight — such a set must span the graph, for otherwise we can add edges without creating cycles. But how do we find it?

An independent set of largest total weight is called an "optimal" set. Optimal sets are always bases, because if an edge can be added, it should be; this only increases the total weight. As it turns out, there is a trivial greedy algorithm for computing an optimal set of a weighted matroid. It works as follows:

* Let A be the empty set.
* For each "x" in "E", taken in (monotonically) decreasing order by weight
** if A U {x} is independent, then set A to A U {x}.

This algorithm finds a basis, since it is a special case of the above algorithm. It always chooses the element of largest weight that it can while preserving independence (thus the term "greedy"). This always produces an optimal set: suppose that it produces A={e_1,e_2,ldots,e_r} and that B={f_1,f_2,ldots,f_r}. Now for any k with 1le kle r, consider open sets O_1={e_1,ldots,e_{k-1}} and O_2={f_1,ldots,f_k}. Since O_1 is smaller than O_2, there is some element of O_2 which can be put into O_1 with the result still being independent. However e_k is an element of maximal weight that can be added to O_1 to maintain independence. Thus e_k is of no smaller weight than some element of O_2, and hence e_k is of at least a large a weight as f_k. As this is true for all k, A is weightier than B.

The easiest way to traverse the members of "E" in the desired order is to sort them. This requires O(|E|log|E|) time using a comparison sorting algorithm. We also need to test for each "x" whether A U {x} is independent; assuming independence tests require O(f(|E|)) time, the total time for the algorithm is O(|E|log|E| + |E|f(|E|)).

If we want to find a minimum spanning tree instead, we simply "invert" the weight function by subtracting it from a large constant. More specifically, let "w"min("x") = "W" - "w"("x"), where "W" exceeds the total weight over all graph edges. Many more optimization problems about all sorts of matroids and weight functions can be solved in this trivial way, although in many cases more efficient algorithms can be found that exploit more specialized properties.

Note also that if we take a set I of "independent" sets which is a down-set but not a matroid, then the greedy algorithm will not always work. For then there are independent sets I_1 and I_2 with |I_1|<|I_2|, but such that for no ein I_2setminus I_1 is I_1cup e independent.

Pick an epsilon>0 and au>0 such that (1+2epsilon)|I_1|+ au|E|<|I_2|. Weight the elements of I_1cup I_2 in the range 2 to 2+2epsilon, the elements of I_1setminus I_2 in the range 1+epsilon to 1+2epsilon, the elements of I_2setminus I_1 in the range 1 to 1+epsilon, and the rest in the range 0 to au. The greedy algorithm will select the elements of I_1, and then cannot pick any elements of I_2setminus I_1. Therefore the independent set it constructs will be of weight at most (1+2epsilon)|I_1|+ au|E|+|I_1cup I_2|, which is smaller than the weight of I_2.

History

It was not until 1971 that Jack Edmonds connected weighted matroids to greedy algorithms in his paper "Matroids and the greedy algorithm". Korte and Lovász would generalize these ideas to objects called "greedoids", which allow even larger classes of problems to be solved by greedy algorithms.

References

* Jack Edmonds. Matroids and the Greedy Algorithm. Mathematical Programming, volume 1, p.125&ndash;136. 1971.


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Look at other dictionaries:

  • Matroid intersection — In combinatorial optimization, the matroid intersection problem is to find a largest common independent set in two matroids over the same ground set. If the elements of the matroid are assigned real weights, the weighted matroid intersection… …   Wikipedia

  • Matroid — In combinatorics, a branch of mathematics, a matroid (  /ˈmeɪ …   Wikipedia

  • List of mathematics articles (W) — NOTOC Wad Wadge hierarchy Wagstaff prime Wald test Wald Wolfowitz runs test Wald s equation Waldhausen category Wall Sun Sun prime Wallenius noncentral hypergeometric distribution Wallis product Wallman compactification Wallpaper group Walrasian… …   Wikipedia

  • Signed graph — In the area of graph theory in mathematics, a signed graph is a graph in which each edge has a positive or negative sign.Formally, a signed graph Sigma; is a pair ( G , sigma;) that consists of a graph G = ( V , E ) and a sign mapping or… …   Wikipedia

  • 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… …   Wikipedia

  • Pseudoforest — A 1 forest (a maximal pseudoforest), formed by three 1 trees In graph theory, a pseudoforest is an undirected graph[1] in which every connected component has at most one cycle. That is, it is a system of vertices and edges connecting pairs of ve …   Wikipedia

  • K-set (geometry) — In discrete geometry, a k set of a finite point set S in the Euclidean plane is a subset of k elements of S that can be strictly separated from the remaining points by a line. More generally, in Euclidean space of higher dimensions, a k set of a… …   Wikipedia

  • List of NP-complete problems — Here are some of the more commonly known problems that are NP complete when expressed as decision problems. This list is in no way comprehensive (there are more than 3000 known NP complete problems). Most of the problems in this list are taken… …   Wikipedia

  • Liste De Problèmes NP-Complets — Ceci est une liste des problèmes NP complets les plus connus en théorie de la complexité des algorithmes, exprimés sous la forme d un problèmes de la décision. Puisqu on connaît plus de 3000 problèmes NP complets, cette liste n est pas exhaustive …   Wikipédia en Français

  • Liste de problemes NP-complets — Liste de problèmes NP complets Ceci est une liste des problèmes NP complets les plus connus en théorie de la complexité des algorithmes, exprimés sous la forme d un problèmes de la décision. Puisqu on connaît plus de 3000 problèmes NP complets,… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”