两个有趣的概念,摘自维基:(https://en.wikipedia.org/wiki/Intersection_graph#CITEREFErd.C5.91sGoodmanP.C3.B3sa1966)(https://en.wikipedia.org/wiki/Intersection_number_(graph_theory))
Intersection graph
In the mathematical area of graph theory, an intersection graph is a graph that represents the pattern of intersectionsof a family of sets. Any graph can be represented as an intersection graph, but some important special classes of graphs can be defined by the types of sets that are used to form an intersection representation of them.
For an overview of both the theory of intersection graphs and important special classes of intersection graphs, see McKee & McMorris (1999).
Contents
[hide]Formal definition[edit]
Formally, an intersection graph is an undirected graph formed from a family of sets
- S i, i = 0, 1, 2, ...
by creating one vertex vi for each set Si, and connecting two vertices vi and vj by an edge whenever the corresponding two sets have a nonempty intersection, that is,
- E( G) = {{ v i, v j} | S i ∩ S j ≠ ∅}.
All graphs are intersection graphs[edit]
Any undirected graph G may be represented as an intersection graph: for each vertex vi of G, form a set Si consisting of the edges incident to vi; then two such sets have a nonempty intersection if and only if the corresponding vertices share an edge. Erdős, Goodman & Pósa (1966) provide a construction that is more efficient (which is to say requires a smaller total number of elements in all of the sets Si combined) in which the total number of set elements is at most n2/4 where n is the number of vertices in the graph. They credit the observation that all graphs are intersection graphs to Szpilrajn-Marczewski (1945), but say to see also Čulík (1964). The intersection number of a graph is the minimum total number of elements in any intersection representation of the graph.
Classes of intersection graphs[edit]
Many important graph families can be described as intersection graphs of more restricted types of set families, for instance sets derived from some kind of geometric configuration:
- An interval graph is defined as the intersection graph of intervals on the real line, or of connected subgraphs of a path graph.
- An indifference graph may be defined as the intersection graph of unit intervals on the real line
- A circular arc graph is defined as the intersection graph of arcs on a circle.
- A polygon-circle graph is defined as the intersection of polygons with corners on a circle.
- One characterization of a chordal graph is as the intersection graph of connected subgraphs of a tree.
- A trapezoid graph is defined as the intersection graph of trapezoids formed from two parallel lines. They are a generalization of the notion of permutation graph, in turn they are a special case of the family of the complements of comparability graphs known as cocomparability graphs.
- A unit disk graph is defined as the intersection graph of unit disks in the plane.
- A circle graph is the intersection graph of a set of chords of a circle.
- The circle packing theorem states that planar graphs are exactly the intersection graphs of families of closed disks in the plane bounded by non-crossing circles.
- Scheinerman's conjecture (now a theorem) states that every planar graph can also be represented as an intersection graph of line segments in the plane. However, intersection graphs of line segments may be nonplanar as well, and recognizing intersection graphs of line segments is complete for the existential theory of the reals (Schaefer 2010).
- The line graph of a graph G is defined as the intersection graph of the edges of G, where we represent each edge as the set of its two endpoints.
- A string graph is the intersection graph of curves on a plane.
- A graph has boxicity k if it is the intersection graph of multidimensional boxes of dimension k, but not of any smaller dimension.
- A clique graph is the intersection graph of maximal cliques of another graph
- A block graph of clique tree is the intersection graph of biconnected components of another graph
Scheinerman (1985) characterized the intersection classes of graphs, families of finite graphs that can be described as the intersection graphs of sets drawn from a given family of sets. It is necessary and sufficient that the family have the following properties:
- Every induced subgraph of a graph in the family must also be in the family.
- Every graph formed from a graph in the family by replacing a vertex by a clique must also belong to the family.
- There exists an infinite sequence of graphs in the family, each of which is an induced subgraph of the next graph in the sequence, with the property that every graph in the family is an induced subgraph of a graph in the sequence.
If the intersection graph representations have the additional requirement that different vertices must be represented by different sets, then the clique expansion property can be omitted.
Related concepts[edit]
An order-theoretic analog to the intersection graphs are the containment orders. In the same way that an intersection representation of a graph labels every vertex with a set so that vertices are adjacent if and only if their sets have nonempty intersection, so a containment representation f of a poset labels every element with a set so that for any x and y in the poset, x ≤ y if and only if f(x) ⊆ f(y).
Intersection number (graph theory)
In the mathematical field of graph theory, the intersection number of a graph G = (V,E) is the smallest number of elements in a representation of G as an intersection graph of finite sets. Equivalently, it is the smallest number of cliques needed to cover all of the edges of G.[1][2]
Contents
[hide]Intersection graphs[edit]
Let F be a family of sets (allowing sets in F to be repeated); then the intersection graph of F is an undirected graph that has a vertex for each member of Fand an edge between each two members that have a nonempty intersection. Every graph can be represented as an intersection graph in this way.[3] The intersection number of the graph is the smallest number k such that there exists a representation of this type for which the union of F has k elements.[1] The problem of finding an intersection representation of a graph with a given number of elements is known as the intersection graph basis problem.[4]
Clique edge covers[edit]
An alternative definition of the intersection number of a graph G is that it is the smallest number of cliques in G(complete subgraphs of G) that together cover all of the edges of G.[1][5] A set of cliques with this property is known as a clique edge cover or edge clique cover, and for this reason the intersection number is also sometimes called the edge clique cover number.[6]
The equality of the intersection number and the edge clique cover number is straightforward to prove. In one direction, suppose that G is the intersection graph of a family F of sets whose union U has k elements. Then for any element x of U, the subset of vertices of G corresponding to sets that contain x forms a clique: any two vertices in this subset are adjacent, because their sets have a nonempty intersection containing x. Further, every edge in G is contained in one of these cliques, because an edge corresponds to a nonempty intersection and an intersection is nonempty if it contains at least one element of U. Therefore, the edges of G can be covered by k cliques, one per element of U. In the other direction, if a graph G can be covered by k cliques, then each vertex of G may be represented by the set of cliques that contain that vertex.[5]
Upper bounds[edit]
Trivially, a graph with m edges has intersection number at most m, for each edge forms a clique and these cliques together cover all the edges.[7]
It is also true that every graph with n vertices has intersection number at most n2/4. More strongly, the edges of every n-vertex graph can be partitioned into at most n2/4 cliques, all of which are either single edges or triangles.[2][5] This generalizes Mantel's theorem that a triangle-free graph has at most n2/4 edges, for in a triangle-free graph the only optimal clique edge cover has one clique per edge and therefore the intersection number equals the number of edges.[2]
An even tighter bound is possible when the number of edges is strictly greater than n2/4. Let p be the number of pairs of vertices that are not connected by an edge in the given graph G, and let t be the unique integer for which t(t − 1) ≤ p < t(t + 1). Then the intersection number of G is at most p + t.[2][8]
Graphs that are the complement of a sparse graph have small intersection numbers: the intersection number of any n-vertex graph G is at most 2e2(d + 1)2ln n, where e is the base of the natural logarithm and d is the maximum degree of the complement graph of G.[9]
Computational complexity[edit]
Testing whether a given graph G has intersection number at most a given number k is NP-complete.[4][10][11] Therefore, it is also NP-hard to compute the intersection number of a given graph.
The problem of computing the intersection number is, however, fixed-parameter tractable: that is, there is a function f such that, when the intersection number is k, the time to compute it is at most the product of f(k) and a polynomial in n. This may be shown by observing that there are at most 2k distinct closed neighborhoods in the graph – two vertices that belong to the same set of cliques have the same neighborhood – and that the graph formed by selecting one vertex per closed neighbood has the same intersection number as the original graph. Therefore, in polynomial time the input can be reduced to a smaller kernel with at most 2k vertices; applying an exponential time backtracking search procedure to this kernel leads to a function f that is double exponential in k.[12] The double-exponential dependence on k cannot be reduced to single exponential by a kernelization of polynomial size, unless the polynomial hierarchy collapses,[13] and if the exponential time hypothesis is true then double-exponential dependence is necessary regardless of whether kernelization is used.[14]
More efficient algorithms are also known for certain special classes of graphs. The intersection number of an interval graph is always equal to its number of maximal cliques, which may be computed in polynomial time.[15][16] More generally, in chordal graphs, the intersection number may be computed by an algorithm that considers the vertices in an elimination ordering of the graph and that, for each vertex v, forms a clique for v and its later neighbors whenever at least one of the edges incident to v is not covered by any earlier clique.[16]