Interval graph

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
File:Interval graph.svg
Seven intervals on the real line and the corresponding seven-vertex interval graph.

In graph theory, an interval graph is the intersection graph of a family of intervals on the real line. It has one vertex for each interval in the family, and an edge between every pair of vertices corresponding to intervals that intersect.

Definition

Formally, an interval graph is an undirected graph formed from a family of intervals

Si, i = 0, 1, 2, ...

by creating one vertex vi for each interval Si, and connecting two vertices vi and vj by an edge whenever the corresponding two sets have a nonempty intersection, that is,

E(G) = {{vivj} | Si ∩ Sj ≠ ∅}.

From this construction one can verify a common property held by all interval graphs. That is, graph G is an interval graph if and only if the maximal cliques of G can be ordered M1M2, ..., Mk such that for any v ∈ Mi ∩ Mk, where i < k, it is also the case that v ∈ Mj for any Mj, i ≤ j ≤ k.[1]

Efficient recognition algorithms

Determining whether a given graph G = (V, E) is an interval graph can be done in O(|V|+|E|) time by seeking an ordering of the maximal cliques of G that is consecutive with respect to vertex inclusion.

The original linear time recognition algorithm of Booth & Lueker (1976) is based on their complex PQ tree data structure, but Habib et al. (2000) showed how to solve the problem more simply using lexicographic breadth-first search, based on the fact that a graph is an interval graph if and only if it is chordal and its complement is a comparability graph.[1][2]

Related families of graphs

Interval graphs are chordal graphs and hence perfect graphs.[1][2] Their complements belong to the class of comparability graphs,[3] and the comparability relations are precisely the interval orders.[1]

The interval graphs that have an interval representation in which every two intervals are either disjoint or nested are the trivially perfect graphs.

A graph has boxicity at most one if and only if it is an interval graph; the boxicity of an arbitrary graph G is the minimum number of interval graphs on the same set of vertices such that the intersection of the edges sets of the interval graphs is G.

The intersection graphs of arcs of a circle form circular-arc graphs, a class of graphs that contains the interval graphs. The trapezoid graphs, intersections of trapezoids whose parallel sides all lie on the same two parallel lines, are also a generalization of the interval graphs.

The connected triangle-free interval graphs are exactly the caterpillar trees.[4]

Proper Interval Graphs

Proper interval graphs are interval graphs that have an interval representation in which no interval properly contains any other interval; unit interval graphs are the interval graphs that have an interval representation in which each interval has unit length. A unit interval representation without repeated intervals is necessarily a proper interval representation. Not every proper interval representation is a unit interval representation, but every proper interval graph is a unit interval graph, and vice versa.[5] Every proper interval graph is a claw-free graph; conversely, the proper interval graphs are exactly the claw-free interval graphs. However, there exist claw-free graphs that are not interval graphs.[6]

An interval graph is called q-proper if there is a representation in which no interval is contained by more than q others. This notion extends the idea of proper interval graphs such that a 0-proper interval graph is a proper interval graph.[7]

Improper Interval Graphs

An interval graph is called p-improper if there is a representation in which no interval contains more than p others. This notion extends the idea of proper interval graphs such that a 0-improper interval graph is a proper interval graph.[8]

Applications

The mathematical theory of interval graphs was developed with a view towards applications by researchers at the RAND Corporation's mathematics department, which included young researchers—such as Peter C. Fishburn and students like Alan C. Tucker and Joel E. Cohen—besides leaders—such as Delbert Fulkerson and (recurring visitor) Victor Klee.[9] Cohen applied interval graphs to mathematical models of population biology, specifically food webs.[10]

Interval graphs are used to represent resource allocation problems in operations research and scheduling theory. In these applications, each interval represents a request for a resource (such as a processing unit of a distributed computing system or a room for a class) for a specific period of time. The maximum weight independent set problem for the graph represents the problem of finding the best subset of requests that can be satisfied without conflicts.[11] An optimal graph coloring of the interval graph represents an assignment of resources that covers all of the requests with as few resources as possible; it can be found in polynomial time by a greedy coloring algorithm that colors the intervals in sorted order by their left endpoints.[12]

Other applications include genetics, bioinformatics, and computer science. Finding a set of intervals that represent an interval graph can also be used as a way of assembling contiguous subsequences in DNA mapping.[13] A Interval graphs also play an important role in temporal reasoning.[14]

Interval completions and pathwidth

If G is an arbitrary graph, an interval completion of G is an interval graph on the same vertex set that contains G as a subgraph. The parameterized version of interval completion (find an interval supergraph with k additional edges) is fixed parameter tractable, and moreover, is solvable in parameterized subexponential time.[15][16]

The pathwidth of an interval graph is one less than the size of its maximum clique (or equivalently, one less than its chromatic number), and the pathwidth of any graph G is the same as the smallest pathwidth of an interval graph that contains G as a subgraph.[17]

Notes

  1. 1.0 1.1 1.2 1.3 (Fishburn 1985)
  2. 2.0 2.1 Golumbic (1980).
  3. Gilmore & Hoffman (1964)
  4. Eckhoff (1993).
  5. Roberts (1969); Gardi (2007)
  6. Faudree, Flandrin & Ryjáček (1997), p. 89.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Cohen (1978, pp. ix-10)
  10. Cohen (1978, pp. 12–33)
  11. Bar-Noy et al. (2001).
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. Zhang et al. (1994).
  14. Golumbic & Shamir (1993).
  15. Villanger et al. (2009).
  16. Bliznets et al. (2014).
  17. Bodlaender (1998).

References

  • Lua error in package.lua at line 80: module 'strict' not found..
  • Lua error in package.lua at line 80: module 'strict' not found..
  • Lua error in package.lua at line 80: module 'strict' not found..
  • Lua error in package.lua at line 80: module 'strict' not found..
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found..
  • Lua error in package.lua at line 80: module 'strict' not found..
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found..
  • Lua error in package.lua at line 80: module 'strict' not found..
  • Lua error in package.lua at line 80: module 'strict' not found..
  • Lua error in package.lua at line 80: module 'strict' not found..
  • Lua error in package.lua at line 80: module 'strict' not found..
  • Lua error in package.lua at line 80: module 'strict' not found..
  • Lua error in package.lua at line 80: module 'strict' not found..
  • Lua error in package.lua at line 80: module 'strict' not found..
  • Lua error in package.lua at line 80: module 'strict' not found..

External links

  • Lua error in package.lua at line 80: module 'strict' not found.