Independence Oracle
   HOME

TheInfoList



OR:

In mathematics and computer science, a matroid oracle is a
subroutine In computer programming, a function or subroutine is a sequence of program instructions that performs a specific task, packaged as a unit. This unit can then be used in programs wherever that particular task should be performed. Functions may ...
through which an
algorithm In mathematics and computer science, an algorithm () is a finite sequence of rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algorithms are used as specificat ...
may access a
matroid 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 ...
, an abstract combinatorial structure that can be used to describe the linear dependencies between vectors in a
vector space In mathematics and physics, a vector space (also called a linear space) is a set whose elements, often called ''vectors'', may be added together and multiplied ("scaled") by numbers called '' scalars''. Scalars are often real numbers, but can ...
or the
spanning tree In the mathematical field of graph theory, a spanning tree ''T'' of an undirected graph ''G'' is a subgraph that is a tree which includes all of the vertices of ''G''. In general, a graph may have several spanning trees, but a graph that is not ...
s of a
graph Graph may refer to: Mathematics *Graph (discrete mathematics), a structure made of vertices and edges **Graph theory, the study of such graphs and their properties *Graph (topology), a topological space resembling a graph in the sense of discre ...
, among other applications. 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.; ; . Many
algorithm In mathematics and computer science, an algorithm () is a finite sequence of rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algorithms are used as specificat ...
s 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 A greedy algorithm is any algorithm that follows the problem-solving heuristic of making the locally optimal choice at each stage. In many problems, a greedy strategy does not produce an optimal solution, but a greedy heuristic can yield locally ...
that adds elements to the basis in sorted order by weight, using the independence oracle to test whether each element can be added.. In
computational complexity theory In theoretical computer science and mathematics, computational complexity theory focuses on classifying computational problems according to their resource usage, and relating these classes to each other. A computational problem is a task solved by ...
, the oracle model has led to unconditional
lower bound In mathematics, particularly in order theory, an upper bound or majorant of a subset of some preordered set is an element of that is greater than or equal to every element of . Dually, a lower bound or minorant of is defined to be an element ...
s proving that certain matroid problems cannot be solved in polynomial time, without invoking unproved assumptions such as the assumption that
P ≠ NP The P versus NP problem is a major unsolved problem in theoretical computer science. In informal terms, it asks whether every problem whose solution can be quickly verified can also be quickly solved. The informal term ''quickly'', used above ...
. Problems that have been shown to be hard in this way include testing whether a matroid is
binary Binary may refer to: Science and technology Mathematics * Binary number, a representation of numbers using only two digits (0 and 1) * Binary function, a function that takes two arguments * Binary operation, a mathematical operation that t ...
or
uniform A uniform is a variety of clothing worn by members of an organization while participating in that organization's activity. Modern uniforms are most often worn by armed forces and paramilitary organizations such as police, emergency services, se ...
, or testing whether it contains certain fixed minors..


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, these representations are not ''succinct'': a matroid with \scriptstyle n elements may expand into a representation that takes space exponential in \scriptstyle n. Indeed, the number of distinct matroids on \scriptstyle n elements grows doubly exponentially as :2^ from which it follows that any explicit representation capable of handling all possible matroids would necessarily use exponential space.. Instead, different types of matroids may be represented more efficiently from the other structures from which they are defined:
uniform matroid 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. ...
s from their two numeric parameters,
graphic matroid In the mathematical theory of matroids, a graphic matroid (also called a cycle matroid or polygon 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- ...
s,
bicircular matroid In the mathematical subject of matroid theory, the bicircular matroid of a graph ''G'' is the matroid ''B''(''G'') whose points are the edges of ''G'' and whose independent sets are the edge sets of pseudoforests of ''G'', that is, the edge sets in ...
s, and
gammoid In matroid theory, a field within mathematics, a gammoid is a certain kind of matroid, describing sets of Vertices (graph theory), vertices that can be reached by vertex-disjoint Path (graph theory), paths in a directed graph. The concept of a gam ...
s from graphs,
linear matroid In the mathematical theory of matroids, a matroid representation is a family of vectors whose linear independence relation is the same as that of a given matroid. Matroid representations are analogous to group representations; both types of repre ...
s from
matrices Matrix most commonly refers to: * ''The Matrix'' (franchise), an American media franchise ** ''The Matrix'', a 1999 science-fiction action film ** "The Matrix", a fictional setting, a virtual reality environment, within ''The Matrix'' (franchis ...
, 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 , "independence functions" or "\scriptstyle I-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 \scriptstyle 1 if the set is independent or \scriptstyle 0 if it is dependent; that is, it is the
indicator function In mathematics, an indicator function or a characteristic function of a subset of a set is a function that maps elements of the subset to one, and all other elements to zero. That is, if is a subset of some set , one has \mathbf_(x)=1 if x\i ...
of the family of independent sets, essentially the same thing as an independence oracle. Matroid oracles have also been part of the earliest algorithmic work on matroids. Thus, , in studying matroid partition problems, assumed that the access to the given matroid was through a subroutine that takes as input an independent set \scriptstyle I and an element \scriptstyle x, and either returns a circuit in \scriptstyle I\cup\ (necessarily unique and containing \scriptstyle x, if it exists) or determines that no such circuit exists. 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 and , 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 system In combinatorics, combinatorial mathematics, an independence system is a pair (V, \mathcal), where is a finite Set (mathematics), set and is a collection of subsets of (called the independent sets or feasible sets) with the following properties: ...
s 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 and comparing the power of different kinds of matroid oracles.; . Since that time, the independence oracle has become standard for most research on matroid algorithms. There has also been continued research on lower bounds, and comparisons of different types of oracle.


Types of oracles

The following types of matroid oracles have been considered. *An independence oracle takes as its input a set of matroid elements, and returns as output a
Boolean value In mathematics and mathematical logic, Boolean algebra is a branch of algebra. It differs from elementary algebra in two ways. First, the values of the variables are the truth values ''true'' and ''false'', usually denoted 1 and 0, whereas in ...
, true if the given set is independent and false otherwise. It may be implemented easily based on the underlying structure from which the matroid was defined for
graphic matroid In the mathematical theory of matroids, a graphic matroid (also called a cycle matroid or polygon 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- ...
s,
transversal matroid 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 ...
s,
gammoid In matroid theory, a field within mathematics, a gammoid is a certain kind of matroid, describing sets of Vertices (graph theory), vertices that can be reached by vertex-disjoint Path (graph theory), paths in a directed graph. The concept of a gam ...
s, and linear matroids, and for matroids formed from these by standard operations such as direct sums. *A basis oracle takes as its input a set of matroid elements, and returns as output a Boolean value, true if the given set is a basis and false otherwise. *A circuit oracle takes as its input a set of matroid elements, and returns as output a Boolean value, true if the given set is a circuit and false otherwise. *The circuit-finding oracle of takes as input an independent set and an additional element, and either determines that their union is independent, or finds a circuit in the union and returns it. *A rank oracle takes as its input a set of matroid elements, and returns as its output a numerical value, the
rank Rank is the relative position, value, worth, complexity, power, importance, authority, level, etc. of a person or object within a ranking, such as: Level or position in a hierarchical organization * Academic rank * Diplomatic rank * Hierarchy * ...
of the given set. *Three types of closure oracle have been considered: one that tests if a given element belongs to the closure of a given set, a second one that returns the closure of the set, and a third one that tests whether a given set is closed. *A spanning oracle takes as its input a set of matroid elements, and returns as output a Boolean value, true if the given set is spanning (i.e. contains a basis and has the same rank as the whole matroid) and false otherwise.. *A girth oracle takes as its input a set of matroid elements, and returns as its output a numerical value, the size of the smallest circuit within that set (or \scriptstyle +\infty if the given set is independent). *A port oracle for a fixed element \scriptstyle x of the matroid takes as its input a set of matroid elements, and returns as output a Boolean value, true if the given set contains a circuit that includes \scriptstyle x and false otherwise..


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 \scriptstyle X is said to be ''polynomially reducible'' to another oracle \scriptstyle Y if any call to \scriptstyle X may be simulated by an algorithm that accesses the matroid using only oracle \scriptstyle Y and takes
polynomial time In computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations performed by ...
as measured in terms of the number of elements of the matroid; in complexity-theoretic terms, this is a
Turing reduction In computability theory, a Turing reduction from a decision problem A to a decision problem B is an oracle machine which decides problem A given an oracle for B (Rogers 1967, Soare 1987). It can be understood as an algorithm that could be used to s ...
. Two oracles are said to be ''polynomially equivalent'' if they are polynomially reducible to each other. If \scriptstyle X and \scriptstyle Y are polynomially equivalent, then every result that proves the existence or nonexistence of a polynomial time algorithm for a matroid problem using oracle \scriptstyle X also proves the same thing for oracle \scriptstyle Y. For instance, the independence oracle is polynomially equivalent to the circuit-finding oracle of . If a circuit-finding oracle is available, a set may be tested for independence using at most \scriptstyle n calls to the oracle by starting from an
empty set In mathematics, the empty set is the unique set having no elements; its size or cardinality (count of elements in a set) is zero. Some axiomatic set theories ensure that the empty set exists by including an axiom of empty set, while in other ...
, 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 \scriptstyle I\cup\ may be found using at most \scriptstyle n calls to the oracle by testing, for each element \scriptstyle y\in I, whether \scriptstyle I\setminus\\cup\ 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. 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. As well as polynomial time Turing reductions, other types of reducibility have been considered as well. In particular, showed that, in
parallel algorithm In computer science, a parallel algorithm, as opposed to a traditional serial algorithm, is an algorithm which can do multiple operations in a given time. It has been a tradition of computer science to describe serial algorithms in abstract machin ...
s, the rank and independence oracles are significantly different in computational power. The rank oracle allows the construction of a minimum weight basis by \scriptstyle n 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 \scriptstyle O(\sqrt n) time steps, and there is a lower bound of \scriptstyle \Omega((n/\log n)^) even for randomized parallel algorithms.


Algorithms

Many problems on matroids are known to be solvable in
polynomial time In computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations performed by ...
, 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: *Finding a minimum or maximum weight basis of a weighted matroid, using a
greedy algorithm A greedy algorithm is any algorithm that follows the problem-solving heuristic of making the locally optimal choice at each stage. In many problems, a greedy strategy does not produce an optimal solution, but a greedy heuristic can yield locally ...
. *Partitioning the elements of a matroid into a minimum number of independent sets, and finding the largest set that is simultaneously independent in two given matroids. The latter problem is called
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 proble ...
, and the solutions to both problems are closely related to each other. *Testing whether a matroid is \scriptstyle k-connected (in the sense of ) for \scriptstyle k\le 3. *Testing whether a given matroid is
graphic Graphics () are visual images or designs on some surface, such as a wall, canvas, screen, paper, or stone, to inform, illustrate, or entertain. In contemporary usage, it includes a pictorial representation of data, as in design and manufacture, ...
or regular. *Finding an
ear decomposition In graph theory, an ear of an undirected graph ''G'' is a path ''P'' where the two endpoints of the path may coincide, but where otherwise no repetition of edges or vertices is allowed, so every internal vertex of ''P'' has degree two in ''G''. A ...
of a given matroid, a sequence of circuits whose union is the matroid and in which each circuit remains a circuit after all previous circuits in the sequence are contracted. Such a decomposition may also be found with the additional property that a chosen matroid element belongs to every circuit. *Finding a branch-decomposition of a given matroid, whenever its branch-width is no more than a fixed constant. *Listing all of the bases, flats, or circuits of a matroid, in polynomial time per output set. *Approximating the number of bases by a
fully polynomial-time randomized approximation scheme In computer science (particularly algorithmics), a polynomial-time approximation scheme (PTAS) is a type of approximation algorithm for optimization problems (most often, NP-hard optimization problems). A PTAS is an algorithm which takes an ins ...
, for a matroid with \scriptstyle n elements and rank \scriptstyle r, with the additional assumption that the number of bases is within a polynomial factor of the number of \scriptstyle r-element sets.


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 \scriptstyle M and \scriptstyle M' on which the answer to the problem differs and which are difficult for an algorithm to tell apart. In particular, if \scriptstyle M has a high degree of symmetry, and differs from \scriptstyle M' 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 \scriptstyle M from an input formed by using one of the symmetries of \scriptstyle M to permute \scriptstyle M'. A simple example of this approach can be used to show that it is difficult to test whether a matroid is
uniform A uniform is a variety of clothing worn by members of an organization while participating in that organization's activity. Modern uniforms are most often worn by armed forces and paramilitary organizations such as police, emergency services, se ...
. For simplicity of exposition, let \scriptstyle n be even, let \scriptstyle M be the uniform matroid \scriptstyle U^_n, and let \scriptstyle M' be a matroid formed from \scriptstyle M by making a single one of the \scriptstyle n/2-element basis sets of \scriptstyle M dependent instead of independent. In order for an algorithm to correctly test whether its input is uniform, it must be able to distinguish \scriptstyle M from every possible permutation of \scriptstyle M'. But in order for a deterministic algorithm to do so, it must test every one of the \scriptstyle n/2-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 :\binom=\Omega\left(\frac\right) 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.; . formalize this approach by proving that, whenever there exist two matroids \scriptstyle M and \scriptstyle M' 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 :\frac queries, where \scriptstyle \operatorname(M) denotes the
automorphism group In mathematics, the automorphism group of an object ''X'' is the group consisting of automorphisms of ''X'' under composition of morphisms. For example, if ''X'' is a finite-dimensional vector space, then the automorphism group of ''X'' is the g ...
of \scriptstyle M, \scriptstyle Q_i denotes the family of sets whose independence differs from \scriptstyle M to \scriptstyle M', and \scriptstyle \operatorname(M,Q_i) denotes the subgroup of automorphisms that maps \scriptstyle Q_i to itself. For instance, the automorphism group of the uniform matroid is just the
symmetric group In abstract algebra, the symmetric group defined over any set is the group whose elements are all the bijections from the set to itself, and whose group operation is the composition of functions. In particular, the finite symmetric group \m ...
, with size \scriptstyle n!, and in the problem of testing uniform matroids there was only one set \scriptstyle Q_i with \scriptstyle , \operatorname(M,Q_i), =(n/2)!^2, smaller by an exponential factor than \scriptstyle n!. Problems that have been proven to be impossible for a matroid oracle algorithm to compute in polynomial time include: *Testing whether a given matroid is uniform. *Testing whether a given matroid contains a fixed matroid \scriptstyle H as a minor, except in the special cases that \scriptstyle H is uniform with rank or corank at most one. More generally, if \scriptstyle\mathcal is a fixed finite set of matroids, and there is no uniform matroid in \scriptstyle\mathcal, then it is not possible to test in polynomial time whether a given matroid contains one or more of the matroids in \scriptstyle\mathcal as a minor. *Testing whether a given matroid is
binary Binary may refer to: Science and technology Mathematics * Binary number, a representation of numbers using only two digits (0 and 1) * Binary function, a function that takes two arguments * Binary operation, a mathematical operation that t ...
, is representable over any particular fixed
field Field may refer to: Expanses of open ground * Field (agriculture), an area of land used for agricultural purposes * Airfield, an aerodrome that lacks the infrastructure of an airport * Battlefield * Lawn, an area of mowed grass * Meadow, a grass ...
, or whether there exists a field over which it is representable. *Solving the matroid matching problem, in which the input is a graph and a matroid on its vertices, and the goal is to find a matching in the graph that is as large as possible, subject to the constraint that the matched vertices form an independent set.; . However, the special case of this problem for
bipartite graph In the mathematical field of graph theory, a bipartite graph (or bigraph) is a graph whose vertices can be divided into two disjoint and independent sets U and V, that is every edge connects a vertex in U to one in V. Vertex sets U and V are ...
s can be solved in polynomial time as a
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 proble ...
problem.
*Testing whether a given matroid is
self-dual In mathematics, a duality translates concepts, theorems or mathematical structures into other concepts, theorems or structures, in a Injective function, one-to-one fashion, often (but not always) by means of an Involution (mathematics), involutio ...
, transversal, bipartite, Eulerian, or
orientable In mathematics, orientability is a property of some topological spaces such as real vector spaces, Euclidean spaces, surfaces, and more generally manifolds that allows a consistent definition of "clockwise" and "counterclockwise". A space is ...
. *Computing the girth (size of the smallest circuit), size of the largest circuit, number of circuits, number of bases, number of flats, number of maximum-rank flats, size of the largest flat,
Tutte polynomial The Tutte polynomial, also called the dichromate or the Tutte–Whitney polynomial, is a graph polynomial. It is a polynomial in two variables which plays an important role in graph theory. It is defined for every undirected graph G and contai ...
, or connectivity of a given matroid. Among the set of all properties of \scriptstyle n-element matroids, the fraction of the properties that do not require exponential time to test goes to zero, in the limit, as \scriptstyle n goes to infinity.


See also

*
Black box group In computational group theory, a black box group (black-box group) is a group ''G'' whose elements are encoded by bit strings of length ''N'', and group operations are performed by an oracle (the "black box"). These operations include: • takin ...
, an oracle-like model for
group theory In abstract algebra, group theory studies the algebraic structures known as group (mathematics), groups. The concept of a group is central to abstract algebra: other well-known algebraic structures, such as ring (mathematics), rings, field ...
*
Implicit graph In the study of graph algorithms, an implicit graph representation (or more simply implicit graph) is a graph whose vertices or edges are not represented as explicit objects in a computer's memory, but rather are determined algorithmically from so ...
, an oracle-like model for graph algorithms


Notes


References

*. *. *. *. *. *. *. *. *. *. *. *. *. *. *. *. *. *. *. *. *. *. *. *. *. *. *. *. *. *. *. *. *. {{refend
Oracle An oracle is a person or agency considered to provide wise and insightful counsel or prophetic predictions, most notably including precognition of the future, inspired by deities. As such, it is a form of divination. Description The word '' ...
Computation oracles