Matroid oracle

Last updated

In mathematics and computer science, a matroid oracle is a subroutine through which an algorithm may access a matroid, an abstract combinatorial structure that can be used to describe the linear dependencies between vectors in a vector space or the spanning trees of a graph, among other applications.

Contents

The most commonly used oracle of this type is an independence oracle, a subroutine for testing whether a set of matroid elements is independent. Several other types of oracle have also been used; some of them have been shown to be weaker than independence oracles, some stronger, and some equivalent in computational power. [1]

Many algorithms that perform computations on matroids have been designed to take an oracle as input, allowing them to run efficiently without change on many different kinds of matroids, and without additional assumptions about what kind of matroid they are using. For instance, given an independence oracle for any matroid, it is possible to find the minimum weight basis of the matroid by applying a greedy algorithm that adds elements to the basis in sorted order by weight, using the independence oracle to test whether each element can be added. [2]

In computational complexity theory, the oracle model has led to unconditional lower bounds proving that certain matroid problems cannot be solved in polynomial time, without invoking unproved assumptions such as the assumption that P ≠ NP. Problems that have been shown to be hard in this way include testing whether a matroid is binary or uniform, or testing whether it contains certain fixed minors. [3]

Why oracles?

Although some authors have experimented with computer representations of matroids that explicitly list all independent sets or all basis sets of the matroid, [4] these representations are not succinct: a matroid with elements may expand into a representation that takes space exponential in . Indeed, the number of distinct matroids on elements grows doubly exponentially as

[5]

from which it follows that any explicit representation capable of handling all possible matroids would necessarily use exponential space. [6]

Instead, different types of matroids may be represented more efficiently from the other structures from which they are defined: uniform matroids from their two numeric parameters, graphic matroids, bicircular matroids, and gammoids from graphs, linear matroids from matrices, etc. However, an algorithm for performing computations on arbitrary matroids needs a uniform method of accessing its argument, rather than having to be redesigned for each of these matroid classes. The oracle model provides a convenient way of codifying and classifying the kinds of access that an algorithm might need.

History

Starting with Rado (1942), "independence functions" or "-functions" have been studied as one of many equivalent ways of axiomatizing matroids. An independence function maps a set of matroid elements to the number if the set is independent or if it is dependent; that is, it is the indicator function of the family of independent sets, essentially the same thing as an independence oracle. [7]

Matroid oracles have also been part of the earliest algorithmic work on matroids. Thus, Edmonds (1965), in studying matroid partition problems, assumed that the access to the given matroid was through a subroutine that takes as input an independent set and an element , and either returns a circuit in (necessarily unique and containing , if it exists) or determines that no such circuit exists. Edmonds (1971) used a subroutine that tests whether a given set is independent (that is, in more modern terminology, an independence oracle), and observed that the information it provides is sufficient to find the minimum weight basis in polynomial time.

Beginning from the work of Korte & Hausmann (1978) and Hausmann & Korte (1978), researchers began studying oracles from the point of view of proving lower bounds on algorithms for matroids and related structures. These two papers by Hausmann and Korte both concerned the problem of finding a maximum cardinality independent set, which is easy for matroids but (as they showed) harder to approximate or compute exactly for more general independence systems represented by an independence oracle. This work kicked off a flurry of papers in the late 1970s and early 1980s showing similar hardness results for problems on matroids [8] and comparing the power of different kinds of matroid oracles. [9]

Since that time, the independence oracle has become standard for most research on matroid algorithms. [10] There has also been continued research on lower bounds, [11] and comparisons of different types of oracle. [12]

Types of oracles

The following types of matroid oracles have been considered.

Relative power of different oracles

Although there are many known types of oracles, the choice of which to use can be simplified, because many of them are equivalent in computational power. An oracle is said to be polynomially reducible to another oracle if any call to may be simulated by an algorithm that accesses the matroid using only oracle and takes polynomial time as measured in terms of the number of elements of the matroid; in complexity-theoretic terms, this is a Turing reduction. Two oracles are said to be polynomially equivalent if they are polynomially reducible to each other. If and are polynomially equivalent, then every result that proves the existence or nonexistence of a polynomial time algorithm for a matroid problem using oracle also proves the same thing for oracle .

For instance, the independence oracle is polynomially equivalent to the circuit-finding oracle of Edmonds (1965). If a circuit-finding oracle is available, a set may be tested for independence using at most calls to the oracle by starting from an empty set, adding elements of the given set one element at a time, and using the circuit-finding oracle to test whether each addition preserves the independence of the set that has been constructed so far. In the other direction, if an independence oracle is available, the circuit in a set may be found using at most calls to the oracle by testing, for each element , whether is independent and returning the elements for which the answer is no. The independence oracle is also polynomially equivalent to the rank oracle, the spanning oracle, the first two types of closure oracle, and the port oracle. [1]

The basis oracle, the circuit oracle, and the oracle that tests whether a given set is closed are all weaker than the independence oracle: they can be simulated in polynomial time by an algorithm that accesses the matroid using an independence oracle, but not vice versa. Additionally, none of these three oracles can simulate each other within polynomial time. The girth oracle is stronger than the independence oracle, in the same sense. [9]

As well as polynomial time Turing reductions, other types of reducibility have been considered as well. In particular, Karp, Upfal & Wigderson (1988) showed that, in parallel algorithms, the rank and independence oracles are significantly different in computational power. The rank oracle allows the construction of a minimum weight basis by simultaneous queries, of the prefixes of the sorted order of the matroid elements: an element belongs to the optimal basis if and only if the rank of its prefix differs from the rank of the previous prefix. In contrast, finding a minimum basis with an independence oracle is much slower: it can be solved deterministically in time steps, and there is a lower bound of even for randomized parallel algorithms.

Algorithms

Many problems on matroids are known to be solvable in polynomial time, by algorithms that access the matroid only through an independence oracle or another oracle of equivalent power, without need of any additional assumptions about what kind of matroid has been given to them. These polynomially-solvable problems include:

Impossibility proofs

For many matroid problems, it is possible to show that an independence oracle does not provide enough power to allow the problem to be solved in polynomial time. The main idea of these proofs is to find two matroids and on which the answer to the problem differs and which are difficult for an algorithm to tell apart. In particular, if has a high degree of symmetry, and differs from only in the answers to a small number of queries, then it may take a very large number of queries for an algorithm to be sure of distinguishing an input of type from an input formed by using one of the symmetries of to permute . [3]

A simple example of this approach can be used to show that it is difficult to test whether a matroid is uniform. For simplicity of exposition, let be even, let be the uniform matroid , and let be a matroid formed from by making a single one of the -element basis sets of dependent instead of independent. In order for an algorithm to correctly test whether its input is uniform, it must be able to distinguish from every possible permutation of . But in order for a deterministic algorithm to do so, it must test every one of the -element subsets of the elements: if it missed one set, it could be fooled by an oracle that chose that same set as the one to make dependent. Therefore, testing for whether a matroid is uniform may require

independence queries, much higher than polynomial. Even a randomized algorithm must make nearly as many queries in order to be confident of distinguishing these two matroids. [23]

Jensen & Korte (1982) formalize this approach by proving that, whenever there exist two matroids and on the same set of elements but with differing problem answers, an algorithm that correctly solves the given problem on those elements must use at least

queries, where denotes the automorphism group of , denotes the family of sets whose independence differs from to , and denotes the subgroup of automorphisms that maps to itself. For instance, the automorphism group of the uniform matroid is just the symmetric group, with size , and in the problem of testing uniform matroids there was only one set with , smaller by an exponential factor than . [24]

Problems that have been proven to be impossible for a matroid oracle algorithm to compute in polynomial time include:

Among the set of all properties of -element matroids, the fraction of the properties that do not require exponential time to test goes to zero, in the limit, as goes to infinity. [6]

See also

Notes

  1. 1 2 Robinson & Welsh (1980); Hausmann & Korte (1981); Coullard & Hellerstein (1996).
  2. 1 2 Edmonds (1971).
  3. 1 2 3 4 5 Jensen & Korte (1982).
  4. Mayhew (2008).
  5. Piff & Welsh (1971); Piff (1973); Knuth (1974); Bansal, Pendavingh & van der Pol (2012).
  6. 1 2 Robinson & Welsh (1980).
  7. For additional research on matroids based on the independence function axiomatization, see e.g. Rado (1957), Lazarson (1958), and Ingleton (1959).
  8. Lovász (1981); Seymour (1981); Seymour & Walton (1981); Jensen & Korte (1982); Truemper (1982).
  9. 1 2 3 4 5 6 Robinson & Welsh (1980); Hausmann & Korte (1981).
  10. E.g. see Cunningham (1986), Kelmans & Polesskiĭ (1994) Fujishige & Zhang (1995), Chávez Lomelí & Welsh (1996), Khachiyan et al. (2005), and Oum & Seymour (2007).
  11. Azar, Broder & Frieze (1994).
  12. Karp, Upfal & Wigderson (1988); Coullard & Hellerstein (1996).
  13. Edmonds (1971); Robinson & Welsh (1980); Hausmann & Korte (1981).
  14. 1 2 Hausmann & Korte (1981).
  15. 1 2 Coullard & Hellerstein (1996).
  16. Edmonds (1965); Cunningham (1986).
  17. Bixby & Cunningham (1979). A paper claiming a similar result for any fixed constant was announced by Cunningham and Edmonds at roughly the same time, but appears not to have been published. Truemper (1998), pp. 186–187, writes "Locating -sums for general is much more difficult ... We do not know how this can be efficiently accomplished for binary matroids, let alone for general matroids."
  18. Seymour (1981).
  19. Truemper (1982).
  20. Oum & Seymour (2007).
  21. Khachiyan et al. (2005).
  22. Chávez Lomelí & Welsh (1996). In contrast, it is not possible for deterministic algorithms to approximate the number of bases of a matroid accurately in polynomial time ( Azar, Broder & Frieze 1994 ).
  23. 1 2 Robinson & Welsh (1980); Jensen & Korte (1982).
  24. As well as being in Jensen & Korte (1982), this formalization is surveyed in Korte & Schrader (1981). In most of the applications of this technique in Jensen & Korte (1982), is uniform, but Seymour (1981) applies the same idea to a non-uniform but highly symmetric matroid.
  25. Seymour & Walton (1981). Results of Seymour (1981) and Jensen & Korte (1982) give special cases of this for the problems of finding a minor and a Vámos matroid minor, respectively. Testing whether a matroid is graphic or regular may be expressed in terms of a finite set of forbidden minors, and may be solved in polynomial time, but the forbidden minors for these problems include the uniform matroid , so they do not contradict this impossibility result.
  26. Seymour (1981) showed this for binary matroids, Seymour & Walton (1981) for finite fields, Truemper (1982) for arbitrary fields, and Jensen & Korte (1982) for the existence of a field over which the matroid is representable.
  27. Lovász (1981); Jensen & Korte (1982). However, the special case of this problem for bipartite graphs can be solved in polynomial time as a matroid intersection problem.

Related Research Articles

In combinatorics, a branch of mathematics, a matroid is a structure that abstracts and generalizes the notion of linear independence in vector spaces. There are many equivalent ways to define a matroid axiomatically, the most significant being in terms of: independent sets; bases or circuits; rank functions; closure operators; and closed sets or flats. In the language of partially ordered sets, a finite simple matroid is equivalent to a geometric lattice.

In the mathematical theory of matroids, a graphic matroid is a matroid whose independent sets are the forests in a given finite undirected graph. The dual matroids of graphic matroids are called co-graphic matroids or bond matroids. A matroid that is both graphic and co-graphic is sometimes called a planar matroid ; these are exactly the graphic matroids formed from planar graphs.

<span class="mw-page-title-main">Set cover problem</span> Classical problem in combinatorics

The set cover problem is a classical question in combinatorics, computer science, operations research, and complexity theory.

The Fulkerson Prize for outstanding papers in the area of discrete mathematics is sponsored jointly by the Mathematical Optimization Society (MOS) and the American Mathematical Society (AMS). Up to three awards of $1,500 each are presented at each (triennial) International Symposium of the MOS. Originally, the prizes were paid out of a memorial fund administered by the AMS that was established by friends of the late Delbert Ray Fulkerson to encourage mathematical excellence in the fields of research exemplified by his work. The prizes are now funded by an endowment administered by MPS.

<span class="mw-page-title-main">Paul Seymour (mathematician)</span> British mathematician

Paul D. Seymour is a British mathematician known for his work in discrete mathematics, especially graph theory. He was responsible for important progress on regular matroids and totally unimodular matrices, the four colour theorem, linkless embeddings, graph minors and structure, the perfect graph conjecture, the Hadwiger conjecture, claw-free graphs, χ-boundedness, and the Erdős–Hajnal conjecture. Many of his recent papers are available from his website.

<span class="mw-page-title-main">Branch-decomposition</span> Hierarchical clustering of graph edges

In graph theory, a branch-decomposition of an undirected graph G is a hierarchical clustering of the edges of G, represented by an unrooted binary tree T with the edges of G as its leaves. Removing any edge from T partitions the edges of G into two subgraphs, and the width of the decomposition is the maximum number of shared vertices of any pair of subgraphs formed in this way. The branchwidth of G is the minimum width of any branch-decomposition of G.

In mathematics, polynomial identity testing (PIT) is the problem of efficiently determining whether two multivariate polynomials are identical. More formally, a PIT algorithm is given an arithmetic circuit that computes a polynomial p in a field, and decides whether p is the zero polynomial. Determining the computational complexity required for polynomial identity testing, in particular finding deterministic algorithms for PIT, is one of the most important open problems in algebraic computing complexity.

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 problem is to find a common independent set with the maximum possible weight. These problems generalize many problems in combinatorial optimization including finding maximum matchings and maximum weight matchings in bipartite graphs and finding arborescences in directed graphs.

<span class="mw-page-title-main">NP-completeness</span> Complexity class

In computational complexity theory, a problem is NP-complete when:

  1. It is a decision problem, meaning that for any input to the problem, the output is either "yes" or "no".
  2. When the answer is "yes", this can be demonstrated through the existence of a short solution.
  3. The correctness of each solution can be verified quickly and a brute-force search algorithm can find a solution by trying all possible solutions.
  4. The problem can be used to simulate every other problem for which we can verify quickly that a solution is correct. In this sense, NP-complete problems are the hardest of the problems to which solutions can be verified quickly. If we could find solutions of some NP-complete problem quickly, we could quickly find the solutions of every other problem to which a given solution can be easily verified.

In matroid theory, the dual of a matroid is another matroid that has the same elements as , and in which a set is independent if and only if has a basis set disjoint from it.

In mathematics, a uniform matroid is a matroid in which the independent sets are exactly the sets containing at most r elements, for some fixed integer r. An alternative definition is that every permutation of the elements is a symmetry.

In the mathematical theory of matroids, a minor of a matroid M is another matroid N that is obtained from M by a sequence of restriction and contraction operations. Matroid minors are closely related to graph minors, and the restriction and contraction operations by which they are formed correspond to edge deletion and edge contraction operations in graphs. The theory of matroid minors leads to structural decompositions of matroids, and characterizations of matroid families by forbidden minors, analogous to the corresponding theory in graphs.

In matroid theory, a binary matroid is a matroid that can be represented over the finite field GF(2). That is, up to isomorphism, they are the matroids whose elements are the columns of a (0,1)-matrix and whose sets of elements are independent if and only if the corresponding columns are linearly independent in GF(2).

In matroid theory, an Eulerian matroid is a matroid whose elements can be partitioned into a collection of disjoint circuits.

<span class="mw-page-title-main">Vámos matroid</span> Matroid with no linear representation

In mathematics, the Vámos matroid or Vámos cube is a matroid over a set of eight elements that cannot be represented as a matrix over any field. It is named after English mathematician Peter Vámos, who first described it in an unpublished manuscript in 1968.

In mathematics, a bipartite matroid is a matroid all of whose circuits have even size.

Matroid partitioning is a problem arising in the mathematical study of matroids and in the design and analysis of algorithms. Its goal is to partition the elements of a matroid into as few independent sets as possible. An example is the problem of computing the arboricity of an undirected graph, the minimum number of forests needed to cover all of its edges. Matroid partitioning may be solved in polynomial time, given an independence oracle for the matroid. It may be generalized to show that a matroid sum is itself a matroid, to provide an algorithm for computing ranks and independent sets in matroid sums, and to compute the largest common independent set in the intersection of two given matroids.

In the mathematical theory of matroids, the rank of a matroid is the maximum size of an independent set in the matroid. The rank of a subset S of elements of the matroid is, similarly, the maximum size of an independent subset of S, and the rank function of the matroid maps sets of elements to their ranks.

In matroid theory, a mathematical discipline, the girth of a matroid is the size of its smallest circuit or dependent set. The cogirth of a matroid is the girth of its dual matroid. Matroid girth generalizes the notion of the shortest cycle in a graph, the edge connectivity of a graph, Hall sets in bipartite graphs, even sets in families of sets, and general position of point sets. It is hard to compute, but fixed-parameter tractable for linear matroids when parameterized both by the matroid rank and the field size of a linear representation.

<span class="mw-page-title-main">Matroid parity problem</span> Largest independent set of paired elements

In combinatorial optimization, the matroid parity problem is a problem of finding the largest independent set of paired elements in a matroid. The problem was formulated by Lawler (1976) as a common generalization of graph matching and matroid intersection. It is also known as polymatroid matching, or the matchoid problem.

References