In
graph theory
In mathematics, graph theory is the study of ''graphs'', which are mathematical structures used to model pairwise relations between objects. A graph in this context is made up of '' vertices'' (also called ''nodes'' or ''points'') which are conne ...
, a pseudoforest is an
undirected graph
In discrete mathematics, and more specifically in graph theory, a graph is a structure amounting to a set of objects in which some pairs of the objects are in some sense "related". The objects correspond to mathematical abstractions called '' v ...
[The kind of undirected graph considered here is often called a ]multigraph
In mathematics, and more specifically in graph theory, a multigraph is a graph which is permitted to have multiple edges (also called ''parallel edges''), that is, edges that have the same end nodes. Thus two vertices may be connected by more ...
or pseudograph, to distinguish it from a simple graph
In discrete mathematics, and more specifically in graph theory, a graph is a structure amounting to a set of objects in which some pairs of the objects are in some sense "related". The objects correspond to mathematical abstractions called '' ve ...
. in which every
connected component has at most one
cycle. That is, it is a system of
vertices and
edges connecting pairs of vertices, such that no two cycles of consecutive edges share any vertex with each other, nor can any two cycles be connected to each other by a path of consecutive edges. A pseudotree is a connected pseudoforest.
The names are justified by analogy to the more commonly studied
trees
In botany, a tree is a perennial plant with an elongated stem, or trunk, usually supporting branches and leaves. In some usages, the definition of a tree may be narrower, including only woody plants with secondary growth, plants that are u ...
and
forests
A forest is an area of land dominated by trees. Hundreds of definitions of forest are used throughout the world, incorporating factors such as tree density, tree height, land use, legal standing, and ecological function. The United Nations' ...
. (A tree is a connected graph with no cycles; a forest is a disjoint union of trees.) Gabow and Tarjan
[.] attribute the study of pseudoforests to Dantzig's 1963 book on
linear programming
Linear programming (LP), also called linear optimization, is a method to achieve the best outcome (such as maximum profit or lowest cost) in a mathematical model whose requirements are represented by linear function#As a polynomial function, li ...
, in which pseudoforests arise in the solution of certain
network flow problems.
[.] Pseudoforests also form graph-theoretic models of functions and occur in several
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 ...
ic problems. Pseudoforests are
sparse graph
In mathematics, a dense graph is a graph in which the number of edges is close to the maximal number of edges (where every pair of vertices is connected by one edge). The opposite, a graph with only a few edges, is a sparse graph. The distinction ...
s – their number of edges is linearly bounded in terms of their number of vertices (in fact, they have at most as many edges as they have vertices) – and their
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 ...
structure allows several other families of sparse graphs to be decomposed as unions of forests and pseudoforests. The name "pseudoforest" comes from .
Definitions and structure
We define an undirected graph to be a set of
vertices and
edges such that each edge has two vertices (which may coincide) as endpoints. That is, we allow multiple edges (edges with the same pair of endpoints) and loops (edges whose two endpoints are the same vertex).
[ A subgraph of a graph is the graph formed by any subsets of its vertices and edges such that each edge in the edge subset has both endpoints in the vertex subset.
A connected component of an undirected graph is the subgraph consisting of the vertices and edges that can be reached by following edges from a single given starting vertex. A graph is connected if every vertex or edge is reachable from every other vertex or edge. A cycle in an undirected graph is a connected subgraph in which each vertex is incident to exactly two edges, or is a loop.
A pseudoforest is an undirected graph in which each connected component contains at most one cycle. Equivalently, it is an undirected graph in which each connected component has no more edges than vertices. The components that have no cycles are just ]trees
In botany, a tree is a perennial plant with an elongated stem, or trunk, usually supporting branches and leaves. In some usages, the definition of a tree may be narrower, including only woody plants with secondary growth, plants that are u ...
, while the components that have a single cycle within them are called 1-trees or unicyclic graphs. That is, a 1-tree is a connected graph containing exactly one cycle. A pseudoforest with a single connected component (usually called a pseudotree, although some authors define a pseudotree to be a 1-tree) is either a tree or a 1-tree; in general a pseudoforest may have multiple connected components as long as all of them are trees or 1-trees.
If one removes from a 1-tree one of the edges in its cycle, the result is a tree. Reversing this process, if one augments a tree by connecting any two of its vertices by a new edge, the result is a 1-tree; the path in the tree connecting the two endpoints of the added edge, together with the added edge itself, form the 1-tree's unique cycle. If one augments a 1-tree by adding an edge that connects one of its vertices to a newly added vertex, the result is again a 1-tree, with one more vertex; an alternative method for constructing 1-trees is to start with a single cycle and then repeat this augmentation operation any number of times. The edges of any 1-tree can be partitioned in a unique way into two subgraphs, one of which is a cycle and the other of which is a forest, such that each tree of the forest contains exactly one vertex of the cycle.
Certain more specific types of pseudoforests have also been studied.
:A 1-forest, sometimes called a maximal pseudoforest, is a pseudoforest to which no more edges can be added without causing some component of the graph to contain multiple cycles. If a pseudoforest contains a tree as one of its components, it cannot be a 1-forest, for one can add either an edge connecting two vertices within that tree, forming a single cycle, or an edge connecting that tree to some other component. Thus, the 1-forests are exactly the pseudoforests in which every component is a 1-tree.
:The spanning pseudoforests of an undirected graph ''G'' are the pseudoforest subgraphs of ''G'' that have all the vertices of ''G''. Such a pseudoforest need not have any edges, since for example the subgraph that has all the vertices of ''G'' and no edges is a pseudoforest (whose components are trees consisting of a single vertex).
:The maximal pseudoforests of ''G'' are the pseudoforest subgraphs of ''G'' that are not contained within any larger pseudoforest of ''G''. A maximal pseudoforest of ''G'' is always a spanning pseudoforest, but not conversely. If ''G'' has no connected components that are trees, then its maximal pseudoforests are 1-forests, but if ''G'' does have a tree component, its maximal pseudoforests are not 1-forests. Stated precisely, in any graph ''G'' its maximal pseudoforests consist of every tree component of ''G'', together with one or more disjoint 1-trees covering the remaining vertices of ''G''.
Directed pseudoforests
Versions of these definitions are also used for directed graph
In mathematics, and more specifically in graph theory, a directed graph (or digraph) is a graph that is made up of a set of vertices connected by directed edges, often called arcs.
Definition
In formal terms, a directed graph is an ordered pa ...
s. Like an undirected graph, a directed graph consists of vertices and edges, but each edge is directed from one of its endpoints to the other endpoint. A directed pseudoforest is a directed graph in which each vertex has at most one outgoing edge; that is, it has outdegree
In mathematics, and more specifically in graph theory, a directed graph (or digraph) is a graph that is made up of a set of vertices connected by directed edges, often called arcs.
Definition
In formal terms, a directed graph is an ordered pai ...
at most one. A directed 1-forest – most commonly called a functional graph (see below
Below may refer to:
*Earth
*Ground (disambiguation)
*Soil
*Floor
*Bottom (disambiguation)
Bottom may refer to:
Anatomy and sex
* Bottom (BDSM), the partner in a BDSM who takes the passive, receiving, or obedient role, to that of the top or ...
), sometimes maximal directed pseudoforest – is a directed graph in which each vertex has outdegree exactly one. If ''D'' is a directed pseudoforest, the undirected graph formed by removing the direction from each edge of ''D'' is an undirected pseudoforest.
Number of edges
Every pseudoforest on a set of ''n'' vertices has at most ''n'' edges, and every maximal pseudoforest on a set of ''n'' vertices has exactly ''n'' edges. Conversely, if a graph ''G'' has the property that, for every subset ''S'' of its vertices, the number of edges in the induced subgraph
In the mathematical field of graph theory, an induced subgraph of a graph is another graph, formed from a subset of the vertices of the graph and ''all'' of the edges (from the original graph) connecting pairs of vertices in that subset.
Defini ...
of ''S'' is at most the number of vertices in ''S'', then ''G'' is a pseudoforest. 1-trees can be defined as connected graphs with equally many vertices and edges.
Moving from individual graphs to graph families, if a family of graphs has the property that every subgraph of a graph in the family is also in the family, and every graph in the family has at most as many edges as vertices, then the family contains only pseudoforests. For instance, every subgraph of a thrackle A thrackle is an embedding of a graph in the plane, such that each edge is a Jordan arc
and every pair of edges meet exactly once. Edges may either meet at a common endpoint, or, if they have no endpoints in common, at a point in their interiors. ...
(a graph drawn so that every pair of edges has one point of intersection) is also a thrackle, so Conway's conjecture that every thrackle has at most as many edges as vertices can be restated as saying that every thrackle is a pseudoforest. A more precise characterization is that, if the conjecture is true, then the thrackles are exactly the pseudoforests with no four-vertex cycle and at most one odd cycle.
Streinu and Theran[.] generalize the sparsity
In numerical analysis and scientific computing, a sparse matrix or sparse array is a matrix in which most of the elements are zero. There is no strict definition regarding the proportion of zero-value elements for a matrix to qualify as sparse b ...
conditions defining pseudoforests: they define a graph as being (''k'',''l'')-sparse if every nonempty subgraph with ''n'' vertices has at most ''kn'' − ''l'' edges, and (''k'',''l'')-tight if it is (''k'',''l'')-sparse and has exactly ''kn'' − ''l'' edges. Thus, the pseudoforests are the (1,0)-sparse graphs, and the maximal pseudoforests are the (1,0)-tight graphs. Several other important families of graphs may be defined from other values of ''k'' and ''l'',
and when ''l'' ≤ ''k'' the (''k'',''l'')-sparse graphs may be characterized as the graphs formed as the edge-disjoint union of ''l'' forests and ''k'' − ''l'' pseudoforests.
Almost every sufficiently sparse random graph
In mathematics, random graph is the general term to refer to probability distributions over graphs. Random graphs may be described simply by a probability distribution, or by a random process which generates them. The theory of random graphs li ...
is pseudoforest.[. See especially Corollary 24, p.120, for a bound on the number of vertices belonging to unicyclic components in a random graph, and Corollary 19, p.113, for a bound on the number of distinct labeled unicyclic graphs.] That is, if ''c'' is a constant with 0 < ''c'' < 1/2, and P''c''(''n'') is the probability that choosing uniformly at random among the ''n''-vertex graphs with ''cn'' edges results in a pseudoforest, then P''c''(''n'') tends to one in the limit for large ''n''. However, for ''c'' > 1/2, almost every random graph with ''cn'' edges has a large component that is not unicyclic.
Enumeration
A graph is ''simple'' if it has no self-loops and no multiple edges with the same endpoints. The number of simple 1-trees with ''n'' labelled vertices is
:
The values for ''n'' up to 300 can be found in sequence of the On-Line Encyclopedia of Integer Sequences
The On-Line Encyclopedia of Integer Sequences (OEIS) is an online database of integer sequences. It was created and maintained by Neil Sloane while researching at AT&T Labs. He transferred the intellectual property and hosting of the OEIS to the ...
.
The number of maximal directed pseudoforests on ''n'' vertices, allowing self-loops, is ''nn'', because for each vertex there are ''n'' possible endpoints for the outgoing edge. André Joyal
André Joyal (; born 1943) is a professor of mathematics at the Université du Québec à Montréal who works on category theory. He was a member of the School of Mathematics at the Institute for Advanced Study in 2013, where he was invited to jo ...
used this fact to provide a bijective proof
In combinatorics, bijective proof is a proof technique for proving that two sets have equally many elements, or that the sets in two combinatorial classes have equal size, by finding a bijective function that maps one set one-to-one onto the other ...
of Cayley's formula
In mathematics, Cayley's formula is a result in graph theory named after Arthur Cayley. It states that for every positive integer n, the number of trees on n labeled vertices is n^.
The formula equivalently counts the number of spanning trees ...
, that the number of undirected trees on ''n'' nodes is ''n''''n'' − 2, by finding a bijection between maximal directed pseudoforests and undirected trees with two distinguished nodes. If self-loops are not allowed, the number of maximal directed pseudoforests is instead (''n'' − 1)''n''.
Graphs of functions
Directed pseudoforests and endofunction
In mathematics, an endomorphism is a morphism from a mathematical object to itself. An endomorphism that is also an isomorphism is an automorphism. For example, an endomorphism of a vector space is a linear map , and an endomorphism of a grou ...
s are in some sense mathematically equivalent. Any function ƒ from a set ''X'' to itself (that is, an endomorphism
In mathematics, an endomorphism is a morphism from a mathematical object to itself. An endomorphism that is also an isomorphism is an automorphism. For example, an endomorphism of a vector space is a linear map , and an endomorphism of a g ...
of ''X'') can be interpreted as defining a directed pseudoforest which has an edge from ''x'' to ''y'' whenever ƒ(''x'') = ''y''. The resulting directed pseudoforest is maximal, and may include self-loops whenever some value ''x'' has ƒ(''x'') = ''x''. Alternatively, omitting the self-loops produces a non-maximal pseudoforest. In the other direction, any maximal directed pseudoforest determines a function ƒ such that ƒ(''x'') is the target of the edge that goes out from ''x'', and any non-maximal directed pseudoforest can be made maximal by adding self-loops and then converted into a function in the same way. For this reason, maximal directed pseudoforests are sometimes called functional graphs. Viewing a function as a functional graph provides a convenient language for describing properties that are not as easily described from the function-theoretic point of view; this technique is especially applicable to problems involving iterated function
In mathematics, an iterated function is a function (that is, a function from some set to itself) which is obtained by composing another function with itself a certain number of times. The process of repeatedly applying the same function is ...
s, which correspond to paths in functional graphs.
Cycle detection
In computer science, cycle detection or cycle finding is the algorithmic problem of finding a cycle in a sequence of iterated function values.
For any function that maps a finite set to itself, and any initial value in , the sequence of itera ...
, the problem of following a path in a functional graph to find a cycle in it, has applications in cryptography
Cryptography, or cryptology (from grc, , translit=kryptós "hidden, secret"; and ''graphein'', "to write", or ''-logia'', "study", respectively), is the practice and study of techniques for secure communication in the presence of adver ...
and computational number theory
In mathematics and computer science, computational number theory, also known as algorithmic number theory, is the study of
computational methods for investigating and solving problems in number theory and arithmetic geometry, including algorithm ...
, as part of Pollard's rho algorithm
Pollard's rho algorithm is an algorithm for integer factorization. It was invented by John Pollard in 1975. It uses only a small amount of space, and its expected running time is proportional to the square root of the smallest prime factor of the ...
for integer factorization
In number theory, integer factorization is the decomposition of a composite number into a product of smaller integers. If these factors are further restricted to prime numbers, the process is called prime factorization.
When the numbers are suf ...
and as a method for finding collisions in cryptographic hash function
A cryptographic hash function (CHF) is a hash algorithm (a map of an arbitrary binary string to a binary string with fixed size of n bits) that has special properties desirable for cryptography:
* the probability of a particular n-bit output re ...
s. In these applications, ƒ is expected to behave randomly; Flajolet and Odlyzko study the graph-theoretic properties of the functional graphs arising from randomly chosen mappings. In particular, a form of the birthday paradox
In probability theory, the birthday problem asks for the probability that, in a set of randomly chosen people, at least two will share a birthday. The birthday paradox is that, counterintuitively, the probability of a shared birthday exceeds 5 ...
implies that, in a random functional graph with ''n'' vertices, the path starting from a randomly selected vertex will typically loop back on itself to form a cycle within O() steps. Konyagin et al. have made analytical and computational progress on graph statistics.
Martin, Odlyzko, and Wolfram investigate pseudoforests that model the dynamics of cellular automata
A cellular automaton (pl. cellular automata, abbrev. CA) is a discrete model of computation studied in automata theory. Cellular automata are also called cellular spaces, tessellation automata, homogeneous structures, cellular structures, tessel ...
. These functional graphs, which they call ''state transition diagrams'', have one vertex for each possible configuration that the ensemble of cells of the automaton can be in, and an edge connecting each configuration to the configuration that follows it according to the automaton's rule. One can infer properties of the automaton from the structure of these diagrams, such as the number of components, length of limiting cycles, depth of the trees connecting non-limiting states to these cycles, or symmetries of the diagram. For instance, any vertex with no incoming edge corresponds to a Garden of Eden pattern
In a cellular automaton, a Garden of Eden is a configuration that has no predecessor. It can be the initial configuration of the automaton but cannot arise in any other way.
John Tukey named these configurations after the Garden of Eden in A ...
and a vertex with a self-loop corresponds to a still life pattern.
Another early application of functional graphs is in the ''trains'' used to study Steiner triple system
250px, thumbnail, The Fano plane is a Steiner triple system S(2,3,7). The blocks are the 7 lines, each containing 3 points. Every pair of points belongs to a unique line.
In combinatorial mathematics, a Steiner system (named after Jakob Steiner) ...
s. The train of a triple system is a functional graph having a vertex for each possible triple of symbols; each triple ''pqr'' is mapped by ƒ to ''stu'', where ''pqs'', ''prt'', and ''qru'' are the triples that belong to the triple system and contain the pairs ''pq'', ''pr'', and ''qr'' respectively. Trains have been shown to be a powerful invariant of triple systems although somewhat cumbersome to compute.
Bicircular matroid
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 ...
is a mathematical structure in which certain sets of elements are defined to be independent
Independent or Independents may refer to:
Arts, entertainment, and media Artist groups
* Independents (artist group), a group of modernist painters based in the New Hope, Pennsylvania, area of the United States during the early 1930s
* Independ ...
, in such a way that the independent sets satisfy properties modeled after the properties of linear independence
In the theory of vector spaces, a set of vectors is said to be if there is a nontrivial linear combination of the vectors that equals the zero vector. If no such linear combination exists, then the vectors are said to be . These concepts are ...
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 ...
. One of the standard examples of a matroid is the 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- ...
in which the independent sets are the sets of edges in forests of a graph; the matroid structure of forests is important in algorithms for computing the minimum spanning tree
A minimum spanning tree (MST) or minimum weight spanning tree is a subset of the edges of a connected, edge-weighted undirected graph that connects all the vertices together, without any cycles and with the minimum possible total edge weight. T ...
of the graph. Analogously, we may define matroids from pseudoforests.
For any graph ''G'' = (''V'',''E''), we may define a matroid on the edges of ''G'', in which a set of edges is independent if and only if it forms a pseudoforest; this matroid is known as the 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 ...
(or bicycle matroid) of ''G''. The smallest dependent sets for this matroid are the minimal connected subgraphs of ''G'' that have more than one cycle, and these subgraphs are sometimes called bicycles. There are three possible types of bicycle: a theta graph
In computational geometry, the Theta graph, or \Theta-graph, is a type of geometric spanner similar to a Yao graph. The basic method of construction involves partitioning the space around each vertex into a set of ''cones'', which themselves p ...
has two vertices that are connected by three internally disjoint paths, a figure 8 graph consists of two cycles sharing a single vertex, and a handcuff graph is formed by two disjoint cycles connected by a path.
A graph is a pseudoforest if and only if it does not contain a bicycle as a subgraph.
Forbidden minors
Forming a minor
Minor may refer to:
* Minor (law), a person under the age of certain legal activities.
** A person who has not reached the age of majority
* Academic minor, a secondary field of study in undergraduate education
Music theory
*Minor chord
** Barb ...
of a pseudoforest by contracting some of its edges and deleting others produces another pseudoforest. Therefore, the family of pseudoforests is closed
Closed may refer to:
Mathematics
* Closure (mathematics), a set, along with operations, for which applying those operations on members always results in a member of the set
* Closed set, a set which contains all its limit points
* Closed interval, ...
under minors, and the Robertson–Seymour theorem
In graph theory, the Robertson–Seymour theorem (also called the graph minor theorem) states that the undirected graphs, partially ordered by the graph minor relationship, form a well-quasi-ordering. Equivalently, every family of graphs that is cl ...
implies that pseudoforests can be characterized in terms of a finite set of forbidden minor
In graph theory, a branch of mathematics, many important families of graphs can be described by a finite set of individual graphs that do not belong to the family and further exclude all graphs from the family which contain any of these forbidden ...
s, analogously to Wagner's theorem
In graph theory, Wagner's theorem is a mathematical forbidden graph characterization of planar graphs, named after Klaus Wagner, stating that a finite graph is planar if and only if its minors include neither ''K''5 (the complete graph on fi ...
characterizing the planar graph
In graph theory, a planar graph is a graph that can be embedded in the plane, i.e., it can be drawn on the plane in such a way that its edges intersect only at their endpoints. In other words, it can be drawn in such a way that no edges cross ...
s as the graphs having neither the complete graph
In the mathematical field of graph theory, a complete graph is a simple undirected graph in which every pair of distinct vertices is connected by a unique edge. A complete digraph is a directed graph in which every pair of distinct vertices is c ...
K5 nor the complete bipartite graph
In the mathematical field of graph theory, a complete bipartite graph or biclique is a special kind of bipartite graph where every vertex of the first set is connected to every vertex of the second set..Electronic edition page 17.
Graph theory ...
K3,3 as minors.
As discussed above, any non-pseudoforest graph contains as a subgraph a handcuff, figure 8, or theta graph; any handcuff or figure 8 graph may be contracted to form a ''butterfly graph
In the mathematical field of graph theory, the butterfly graph (also called the bowtie graph and the hourglass graph) is a planar, undirected graph with 5 vertices and 6 edges. It can be constructed by joining 2 copies of the cycle graph with a ...
'' (five-vertex figure 8), and any theta graph may be contracted to form a ''diamond graph
In the mathematical field of graph theory, the diamond graph is a planar, undirected graph with 4 vertices and 5 edges. It consists of a complete graph minus one edge.
The diamond graph has radius 1, diameter 2, girth 3, chromat ...
'' (four-vertex theta graph), so any non-pseudoforest contains either a butterfly or a diamond as a minor, and these are the only minor-minimal non-pseudoforest graphs. Thus, a graph is a pseudoforest if and only if it does not have the butterfly or the diamond as a minor. If one forbids only the diamond but not the butterfly, the resulting larger graph family consists of the cactus graph
In graph theory, a cactus (sometimes called a cactus tree) is a connected graph in which any two simple cycles have at most one vertex in common. Equivalently, it is a connected graph in which every edge belongs to at most one simple cycle, or ( ...
s and disjoint unions of multiple cactus graphs.
More simply, if multigraph
In mathematics, and more specifically in graph theory, a multigraph is a graph which is permitted to have multiple edges (also called ''parallel edges''), that is, edges that have the same end nodes. Thus two vertices may be connected by more ...
s with self-loop
In graph theory, a loop (also called a self-loop or a ''buckle'') is an edge that connects a vertex to itself. A simple graph contains no loops.
Depending on the context, a graph or a multigraph may be defined so as to either allow or disallow ...
s are considered, there is only one forbidden minor, a vertex with two loops.
Algorithms
An early algorithmic use of pseudoforests involves the ''network simplex'' algorithm and its application to generalized flow problems modeling the conversion between commodities
In economics, a commodity is an economic good, usually a resource, that has full or substantial fungibility: that is, the market treats instances of the good as equivalent or nearly so with no regard to who produced them.
The price of a comm ...
of different types.[.] In these problems, one is given as input a flow network
In graph theory, a flow network (also known as a transportation network) is a directed graph where each edge has a capacity and each edge receives a flow. The amount of flow on an edge cannot exceed the capacity of the edge. Often in operations res ...
in which the vertices model each commodity and the edges model allowable conversions between one commodity and another. Each edge is marked with a ''capacity'' (how much of a commodity can be converted per unit time), a ''flow multiplier'' (the conversion rate between commodities), and a ''cost'' (how much loss or, if negative, profit is incurred per unit of conversion). The task is to determine how much of each commodity to convert via each edge of the flow network, in order to minimize cost or maximize profit, while obeying the capacity constraints and not allowing commodities of any type to accumulate unused. This type of problem can be formulated as a linear program
Linear programming (LP), also called linear optimization, is a method to achieve the best outcome (such as maximum profit or lowest cost) in a mathematical model whose requirements are represented by linear relationships. Linear programming is ...
, and solved using the simplex algorithm
In mathematical optimization, Dantzig's simplex algorithm (or simplex method) is a popular algorithm for linear programming.
The name of the algorithm is derived from the concept of a simplex and was suggested by T. S. Motzkin. Simplices are n ...
. The intermediate solutions arising from this algorithm, as well as the eventual optimal solution, have a special structure: each edge in the input network is either unused or used to its full capacity, except for a subset of the edges, forming a spanning pseudoforest of the input network, for which the flow amounts may lie between zero and the full capacity. In this application, unicyclic graphs are also sometimes called ''augmented trees'' and maximal pseudoforests are also sometimes called ''augmented forests''.
The ''minimum spanning pseudoforest problem'' involves finding a spanning pseudoforest of minimum weight in a larger edge-weighted graph ''G''.
Due to the matroid structure of pseudoforests, minimum-weight maximal pseudoforests may be found by 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 ...
s similar to those for the minimum spanning tree
A minimum spanning tree (MST) or minimum weight spanning tree is a subset of the edges of a connected, edge-weighted undirected graph that connects all the vertices together, without any cycles and with the minimum possible total edge weight. T ...
problem. However, Gabow and Tarjan found a more efficient linear-time approach in this case.
The pseudoarboricity of a graph ''G'' is defined by analogy to the arboricity
The arboricity of an undirected graph is the minimum number of forests into which its edges can be partitioned. Equivalently it is the minimum number of spanning forests needed to cover all the edges of the graph. The Nash-Williams theorem provi ...
as the minimum number of pseudoforests into which its edges can be partitioned; equivalently, it is the minimum ''k'' such that ''G'' is (''k'',0)-sparse, or the minimum ''k'' such that the edges of ''G'' can be oriented to form a directed graph with outdegree at most ''k''. Due to the matroid structure of pseudoforests, the pseudoarboricity may be computed in polynomial time.
A random
In common usage, randomness is the apparent or actual lack of pattern or predictability in events. A random sequence of events, symbols or steps often has no :wikt:order, order and does not follow an intelligible pattern or combination. Ind ...
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 ...
with ''n'' vertices on each side of its bipartition, and with ''cn'' edges chosen independently at random from each of the ''n''2 possible pairs of vertices, is a pseudoforest with high probability whenever ''c'' is a constant strictly less than one. This fact plays a key role in the analysis of cuckoo hashing
Cuckoo hashing is a scheme in computer programming for resolving hash collisions of values of hash functions in a table, with worst-case constant lookup time. The name derives from the behavior of some species of cuckoo, where the cuckoo chick ...
, a data structure for looking up key-value pairs by looking in one of two hash tables at locations determined from the key: one can form a graph, the "cuckoo graph", whose vertices correspond to hash table locations and whose edges link the two locations at which one of the keys might be found, and the cuckoo hashing algorithm succeeds in finding locations for all of its keys if and only if the cuckoo graph is a pseudoforest.
Pseudoforests also play a key role 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 for graph coloring
In graph theory, graph coloring is a special case of graph labeling; it is an assignment of labels traditionally called "colors" to elements of a graph subject to certain constraints. In its simplest form, it is a way of coloring the vertices o ...
and related problems.[; .]
Notes
References
*.
*.
*.
*.
*.
*.
*.
*.
*.
*.
*.
*
*.
*.
*.
*.
*.
*.
*.
*.
*.
*.
*.
*.
*.
*.
External links
*
{{good article
Matroid theory
Graph families
Graph theory objects