Graph theory: Difference between revisions

From Wikipedia
Jump to navigation Jump to search
 
imported>David Eppstein
Undid revision 1353649765 by Golemwire (talk) there is no grammatical problem. "A large literature" means a collected body of works that, as a whole, is large. It is not about mass vs count: literature is singular in this grammar. In contrast, "a large amount of literature" could merely mean a single work that is really long. See e.g. https://ludwig.guru/s/large+literature
 
Line 1: Line 1:
{{about|sets of vertices connected by edges|graphs of mathematical functions|Graph of a function|other uses|Graph (disambiguation)}}
{{about|Mathematical field on vertices connected by edges|graphs of mathematical functions|Graph of a function|other uses|Graph (disambiguation)}}
{{short description|Area of discrete mathematics}}
{{short description|Area of discrete mathematics}}
[[File:Example of simple undirected graph 3.svg|thumb|upright=0.8|A graph with 6 vertices and 7 edges]]
[[File:Example of simple undirected graph 3.svg|thumb|upright=0.8|A graph with 6 vertices and 7 edges]]


In [[mathematics]] and [[computer science]], '''graph theory''' is the study of ''[[graph (discrete mathematics)|graph]]s'', which are [[mathematical structures]] used to model pairwise relations between objects. A graph in this context is made up of ''[[Vertex (graph theory)|vertices]]'' (also called ''nodes'' or ''points'') which are connected by ''[[Glossary of graph theory terms#edge|edges]]'' (also called ''arcs'', ''links'' or ''lines''). A distinction is made between '''undirected graphs''', where edges link two vertices symmetrically, and '''directed graphs''', where edges link two vertices asymmetrically. Graphs are one of the principal objects of study in [[discrete mathematics]].
In [[mathematics]] and [[computer science]], '''graph theory''' is the study of [[graph (discrete mathematics)|graph]]s, which are [[mathematical structures]] used to model pairwise relations between objects. A graph in this context is made up of [[Vertex (graph theory)|vertices]] (also called nodes or points) which are connected by [[Glossary of graph theory terms#edge|edges]] (also called arcs, links, or lines). A distinction is made between undirected graphs, where edges link two vertices symmetrically, and [[directed graph]]s, where edges link two vertices asymmetrically. Graphs are one of the principal objects of study in [[discrete mathematics]].


== Definitions ==
== Definition and etymology ==
{{further|Glossary of graph theory}}
{{Main|Graph (discrete mathematics)}}
Definitions in graph theory vary. The following are some of the more basic ways of defining graphs and related [[mathematical structure]]s.
[[File:Undirected, directed, mixed, multigraph.svg|thumb|A graph consists of vertices connected by edges. A graph is occasionally called:</p>
{{Bulleted list|1=An undirected graph (top left), distinguishing it from a [[directed graph]] that has an arrow on each edge (top right). Undirected and directed graphs can be merged into a [[mixed graph]] (bottom left); and
|2=A simple graph, distinguishing it from a [[multigraph]] (bottom right).
}}
]]
Graph theory is a branch of mathematics that studies [[Graph (discrete mathematics)|graph]]s, mathematical structures for modelling pairwise relations between objects. It is part of [[discrete mathematics]], often considered part of [[combinatorics]], although it is a stand-alone field due to its great growth and distinct from other fields, having its own kind of problems.{{sfnp|Mohar|Thomassen|2001}} The term "graph" was introduced by [[James Joseph Sylvester]] in a paper published in 1878 in ''[[Nature (journal)|Nature]]'', where he drew an analogy between "quantic invariants" and "co-variants" of algebra and molecular diagrams.{{sfnp|Sylvester|1878}}
 
The definition of a graph can vary, but one can understand that a graph is a structure consisting of vertices (also called nodes or points) and edges (also called arcs, links, or lines). Two vertices of an edge are called the endpoints.{{sfnp|Ore|1962|p=[https://archive.org/details/theoryofgraphs0000orey/page/1 1]}} Occasionally, a graph is called an undirected graph, to distinguish it from a [[directed graph]]. A directed graph is a graph where each edge has an assignment direction known as [[Orientation (graph theory)|orientation]], designated with an arrow.{{sfnp|Ore|1962|p=[https://archive.org/details/theoryofgraphs0000orey/page/2 2]}} A [[mixed graph]] can have edges that may be directed, and some may be undirected.{{sfnp|Ore|1962|p=[https://archive.org/details/theoryofgraphs0000orey/page/3 3]}} A graph can also be called a simple graph, to distinguish it from a [[multigraph]]. A multigraph allows many edges to have the same pair of endpoints, and it also allows an edge to connect a vertex to itself, known as a [[Loop (graph theory)|loop]].{{sfnp|Bollobas|2013|p=[http://books.google.com/books?id=JeIlBQAAQBAJ&pg=PA7 7]}} A graph can have its edges assigned a number, which is known as the weight. Such a graph is called a weight graph.
 
== History ==
[[File:Konigsberg bridges.png|thumb|Map of [[Königsberg]] from 1651 showing the layout of the [[Seven Bridges of Königsberg|seven bridges]], highlighting the [[Pregel River]] (in blue) and the bridges (in lime). The problem lays the foundation of both graph theory and [[topology]].]]
In 1736, [[Leonhard Euler]] published a paper titled ''Solutio Problematis ad Geometriam Situs Pertinentis'' on the [[Seven Bridges of Königsberg]], which is regarded as the first paper in the history of graph theory.{{sfnp|Biggs|Lloyd|Wilson|1986|pp=[https://books.google.com/books?id=XqYTk0sXmpoC&pg=PA2 2&ndash;3]}} Euler's paper and [[Alexandre-Théophile Vandermonde]]'s 1771 ''Remarques sur les Problèmes de Situation'' paper on the [[knight's tour]] carried on with the ''analysis situs'', initiated by [[Gottfried Wilhelm Leibniz]].{{sfnp|Biggs|Lloyd|Wilson|1986|pp=[https://books.google.com/books?id=XqYTk0sXmpoC&pg=PA21 21&ndash;22]}} [[Euler's characteristic]] relating the number of edges, vertices, and faces of a convex polyhedron was studied and generalized by [[Augustin-Louis Cauchy]] and [[Simon Antoine Jean L'Huilier]],<ref>{{multiref
|{{harvp|Cauchy|1813}}
|{{harvp|L'Huillier|1812–1813}}
}}</ref> and represents the beginning of the branch of mathematics known as [[topology]].{{sfnp|Richeson|2008|page=63}}
 
More than one century after Euler's paper on the bridges of [[Königsberg]], and while [[Johann Benedict Listing]] was introducing the concept of topology, [[Arthur Cayley]] was led by an interest in particular analytical forms arising from [[differential calculus]] to study a particular class of graphs, the [[tree (graph theory)|tree]]s.{{sfnp|Cayley|1875}} This study had many implications for theoretical [[chemistry]]. The techniques he used mainly concern the [[enumeration of graphs]] with particular properties. Enumerative graph theory then arose from the results of Cayley and the fundamental results published by [[George Pólya|Pólya]] between 1935 and 1937. These were generalized by [[Nicolaas Govert de Bruijn]] in 1959. Cayley linked his results on trees with contemporary studies of chemical composition.{{sfnp|Cayley|1875}} The fusion of ideas from mathematics with those from chemistry began what has become part of the standard terminology of graph theory.
 
The autonomous development of topology from 1860 to 1930 fertilized graph theory back through the works of [[Camille Jordan]], [[Kazimierz Kuratowski]], and [[Hassler Whitney]]. Another important factor in the common development of graph theory and topology came from the use of the techniques of modern algebra. The first example of such a use comes from the work of the physicist [[Gustav Kirchhoff]], who published in 1845 his [[Kirchhoff's circuit laws]] for calculating the [[voltage]] and [[Electric current|current]] in [[electric circuit]]s.


=== Graph ===
The first textbook on graph theory was written by [[Dénes Kőnig]], and published in 1936.{{sfnp|Tutte|2001|p=[https://books.google.com/books?id=uTGhooU37h4C&pg=PA30 30]}} Another book by [[Frank Harary]], published in 1969, was "considered the world over to be the definitive textbook on the subject",{{sfnp|Gardner|1992|p=203}} and enabled mathematicians, chemists, electrical engineers and social scientists to talk to each other. Harary donated all of the royalties to fund the [[George Pólya Prize|Pólya Prize]].{{sfnp|Society for Industrial and Applied Mathematics|2002|p=26}}
[[File:Example of simple undirected graph.svg|150 px|thumb|An undirected graph with three vertices and three edges.]]


In one restricted but very common sense of the term,{{sfn|Bender|Williamson|2010|p=148}}<ref>See, for instance, Iyanaga and Kawada, ''69 J'', p. 234 or Biggs, p. 4.</ref> a '''graph''' is an [[ordered pair]] <math>G=(V,E)</math> comprising:
One of the most famous problems in graph theory is the [[four color problem]]: Is it true that any map drawn in the plane may have its regions colored with four colors, in such a way that any two regions having a common border have different colors? This problem was first posed by [[Francis Guthrie]] in 1852, and its first written record is in a letter of [[Augustus De Morgan]] addressed to [[William Rowan Hamilton]] the same year. Many incorrect proofs have been proposed, including those by Augustin Cayley, [[Alfred Kempe]], and others. The study and the generalization of this problem by [[Peter Tait (physicist)|Peter Tait]], [[Percy John Heawood]], [[Frank P. Ramsey]] and [[Hugo Hadwiger|Hadwiger]] led to the study of the colorings of the graphs embedded on surfaces with arbitrary [[Genus (mathematics)|genus]]. Tait's reformulation generated a new class of problems, the ''factorization problems'', particularly studied by [[Julius Petersen|Petersen]] and [[Dénes Kőnig]]. The works of Ramsey on colorations, and more specially, the results obtained by [[Pál Turán]] in 1941, were at the origin of another branch of graph theory, known as [[extremal graph theory]].
* <math>V</math>, a [[Set (mathematics)|set]] of '''vertices''' (also called '''nodes''' or '''points''');
* <math>E \subseteq \{ \{x, y\} \mid x, y \in V \;\textrm{ and }\; x \neq y \}</math>, a [[Set (mathematics)|set]] of '''edges''' (also called '''links''' or '''lines'''), which are [[unordered pair]]s of vertices (that is, an edge is associated with two distinct vertices).


To avoid ambiguity, this type of object may be called an '''undirected simple graph'''.
The four-color problem remained unsolved for more than a century. In 1969, [[Heinrich Heesch]] published a method for solving the problem using computers.<ref>Heinrich Heesch: Untersuchungen zum Vierfarbenproblem. Mannheim: Bibliographisches Institut 1969.</ref> A computer-aided proof produced in 1976 by [[Kenneth Appel]] and [[Wolfgang Haken]] makes fundamental use of the notion of "discharging" developed by Heesch.<ref name="AA1">{{Citation |author1=Appel, K. |title=Every planar map is four colorable. Part I. Discharging |journal=Illinois J. Math. |volume=21 |issue=3 |pages=429–490 |year=1977 |postscript=. |url=https://projecteuclid.org/journals/illinois-journal-of-mathematics/volume-21/issue-3/Every-planar-map-is-four-colorable-Part-I-Discharging/10.1215/ijm/1256049011.pdf |doi=10.1215/ijm/1256049011 |author2=Haken, W. |doi-access=free}}</ref><ref name="AA2">{{Citation |author1=Appel, K. |title=Every planar map is four colorable. Part II. Reducibility |journal=Illinois J. Math. |volume=21 |issue=3 |pages=491–567 |year=1977 |postscript=. |doi=10.1215/ijm/1256049012 |author2=Haken, W. |doi-access=free}}</ref> The proof involved checking the properties of 1,936 configurations by computer, and was not fully accepted at the time due to its complexity. A simpler proof considering only 633 configurations was given twenty years later by [[Neil Robertson (mathematician)|Robertson]], [[Paul Seymour (mathematician)|Seymour]], [[Daniel P. Sanders|Sanders]] and [[Robin Thomas (mathematician)|Thomas]].<ref name="RSST">{{Citation |author1=Robertson, N. |title=The four color theorem |journal=Journal of Combinatorial Theory, Series B |volume=70 |pages=2–44 |year=1997 |postscript=. |doi=10.1006/jctb.1997.1750 |author2=Sanders, D. |author3=Seymour, P. |author4=Thomas, R. |doi-access=free}}</ref>


In the edge <math>\{x, y\}</math>, the vertices <math>x</math> and <math>y</math> are called the '''endpoints''' of the edge. The edge is said to '''join''' <math>x</math> and <math>y</math> and to be '''incident''' on <math>x</math> and on <math>y</math>. A vertex may exist in a graph and not belong to an edge. Under this definition, '''[[multiple edges]]''', in which two or more edges connect the same vertices, are not allowed.
The introduction of [[Probabilistic method|probabilistic methods]] in graph theory, especially in the study of [[Paul Erdős|Erdős]] and [[Alfréd Rényi|Rényi]] of the asymptotic probability of graph connectivity, gave rise to yet another branch, known as [[Random graph|random graph theory]], which has been a fruitful source of graph-theoretic results.{{sfnp|Bollobás|2001|p=[http://books.google.com/books?id=o9WecWgilzYC&pg=PR10 xi]}}
[[File:Example of simple undirected graph with loops.svg|150px|thumb|Example of an undirected multigraph with 3 vertices, 3 edges and 4 loops.]]
 
{{Multiple image
== Subareas ==
  | image1 = Example of simple undirected graph 2.svg
=== Topological graph theory ===
  | width1 = 75
{{main|Topological graph theory}}
  | caption1 =For vertices A,B,C and D, the degrees are respectively 4,4,5,1
{{seealso|Category:Topological graph theory}}
| image2 = Example of simple undirected graph 1.svg
 
| width2 = 75
{{multiple image
| caption2 = For vertices U,V,W and X, the degrees are 2,2,3 and 1 respectively.
  | image1 = Heawood graph and map on torus.png
| footer = Examples of finding the degree of vertices.
| image2 = Diamond pagewidth.svg
| image3 = Zarankiewicz K4 7.svg
  | image4 = Map of United States accessible colors shown.svg
  | footer = Topological graph theory deals with the study of graphs related to topology. The topics, along with the given top-to-bottom illustrations, are
{{bulletlist
|1=[[Graph embedding|Embedding of a graph]] in a surface, with an example of [[Heawood graph]] in torus;
|2=[[Book embedding|1-page embedding]] of the [[diamond graph]];
|3=[[Crossing number (graph theory)|Crossing number]], with an example of a [[complete bipartite graph]] of four and seven vertices <math> K_{4,7} </math>, having with 18 crossings (in red dots); and
|4=Map coloring, using [[four-color theorem]] to color differently each [[U.S. state|state]] in the [[United States]], ignoring lakes and oceans.
}}
}}
In one more general sense of the term allowing multiple edges,{{sfn|Bender|Williamson|2010|p=149}}<ref>See, for instance, Graham et al., p. 5.</ref> a '''graph''' is an ordered triple <math>G=(V,E,\phi)</math> comprising:
| total_width = 400
* <math>V</math>, a [[Set (mathematics)|set]] of '''vertices''' (also called '''nodes''' or '''points''');
| perrow = 2
* <math>E</math>, a [[Set (mathematics)|set]] of '''edges''' (also called '''links''' or '''lines''');
}}
* <math>\phi : E \to \{ \{x, y\} \mid x, y \in V \;\textrm{ and }\; x \neq y \}</math>, an '''incidence function''' mapping every edge to an [[unordered pair]] of vertices (that is, an edge is associated with two distinct vertices).
[[Topological graph theory]] deals with the study of graphs as [[topological space]]s. The graph in a topology is a set of [[simplex|simplexes]] that is called the [[Simplicial complex|simplicial one-dimensional complex]].{{sfnp|Gross|Tucker|2012|p=[https://books.google.com/books?id=6HmA_x0dL9oC&pg=PA1 1]}} This subarea studies the [[Graph embedding|embedding]] (or imbedding) of a graph in [[Surface (topology)|surface]] and [[linkless embedding]], [[graph minor]]s, [[Crossing number (graph theory)|crossing number]], map coloring, and [[voltage graph]].<ref>{{multiref
|{{harvp|Gross|Tucker|2012|loc=[https://books.google.com/books?id=6HmA_x0dL9oC&pg=PR9 Contents]}}
|{{harvp|Beineke|Wilson|2009|loc=Contents}}
}}</ref>


To avoid ambiguity, this type of object may be called an '''undirected [[multigraph]]'''.
The embedding of a graph in a surface is the representation of a graph in which the points are associated with the vertices and simple arcs with edges in a surface. The endpoints are associated with an edge, and the points with the end vertices. No arcs include points associated with other vertices, and two arcs never intersect at a point that is interior to either of the arcs.{{cn|date=February 2026}} The graph embedding can be generalized into the linkless embedding, whereby no two cycles of the graph are linked in three-dimensional Euclidean space,{{sfnp|Lovász|2006|p=76}} and a [[Book embedding|book]], a collection of [[Half-space (geometry)|half-plane]]s all having the same line as their boundary.{{sfnp|Persinger|1966}}


A '''[[Loop (graph theory)|loop]]''' is an edge that joins a vertex to itself. Graphs as defined in the two definitions above cannot have loops, because a loop joining a vertex <math>x</math> to itself is the edge (for an undirected simple graph) or is incident on (for an undirected multigraph) <math>\{x, x\} = \{x\}</math> which is not in <math>\{ \{x, y\} \mid x, y \in V \;\textrm{ and }\; x \neq y \}</math>. To allow loops, the definitions must be expanded. For undirected simple graphs, the definition of <math>E</math> should be modified to <math>E \subseteq \{ \{x, y\} \mid x, y \in V \}</math>. For undirected multigraphs, the definition of <math>\phi</math> should be modified to <math>\phi : E \to \{ \{x, y\} \mid x, y \in V \}</math>. To avoid ambiguity, these types of objects may be called '''undirected simple graph permitting loops''' and '''undirected multigraph permitting loops''' (sometimes also '''undirected [[pseudograph]]'''), respectively.
The graph is said to be minor if it can be formed from another graph by deleting vertices and edges, and by [[Edge contraction|edge-contraction]].{{sfnp|Lovász|2006|p=76}} The earliest result of the graph minor theory is from [[Wagner's theorem]], stating that a finite graph is planar if and only if its minor includes neither the [[Complete graph|complete graph on five vertices]] <math> K_5 </math> nor the [[utility graph]].{{sfnp|Lovász|2006|p=77}} A related result is the [[Robertson–Seymour theorem]], implying the existence of [[forbidden minor]] for every property of graphs preserved by deletions and edge contractions.{{sfnp|Lovász|2006|p=78|loc=Theorem 4}}


<math>V</math> and <math>E</math> are usually taken to be finite, and many of the well-known results are not true (or are rather different) for infinite graphs because many of the arguments fail in the [[infinite graph|infinite case]]. Moreover, <math>V</math> is often assumed to be non-empty, but <math>E</math> is allowed to be the empty set. The '''order''' of a graph is <math>|V|</math>, its number of vertices. The '''size''' of a graph is <math>|E|</math>, its number of edges. The '''degree''' or '''valency''' of a vertex is the number of edges that are incident to it, where a loop is counted twice. The '''degree''' of a graph is the maximum of the degrees of its vertices.
The crossing number tells the minimum number of crossing edges of a graph. This study originated from a Hungarian mathematician [[Pál Turán]] who [[Turán's brick factory problem|asked for a factory plan that minimized the number of crossings between tracks connecting brick kilns to storage sites]]. This problem can be formalized as asking for the crossing number of a [[complete bipartite graph]].{{sfnp|Foulds|1992|p=[https://books.google.com/books?id=5G4QBwAAQBAJ&pg=PA71 71]}}


In an undirected simple graph of order ''n'', the maximum degree of each vertex is {{nowrap|''n'' − 1}} and the maximum size of the graph is {{sfrac|''n''(''n'' − 1)|2}}.
A [[graph coloring]] is a methodical assignment of labelling the elements of a graph, which is traditionally called [[color]]s. In coloring, no two adjacent elements have the same color. It requires the minimum number of colors, which is known as the chromatic number. [[Four-color theorem]] stated that no more than four colors are required to color the regions of any map so that no two adjacent regions have the same color; that is, no two regions share a common boundary.{{sfnp|Gross|Tucker|2012|p=[https://books.google.com/books?id=6HmA_x0dL9oC&pg=PA215 215]}} This theorem is stronger than [[five-color theorem]]. Relatedly, [[Earth–Moon problem]] is known for the nowadays open problem on extension of the planar map coloring problem, solved by the four-color theorem.


The edges of an undirected simple graph permitting loops <math>G</math> induce a symmetric [[Binary relation#Homogeneous relation|homogeneous relation]] <math>\sim</math> on the vertices of <math>G</math> that is called the '''adjacency relation''' of <math>G</math>. Specifically, for each edge <math>(x,y)</math>, its endpoints <math>x</math> and <math>y</math> are said to be '''adjacent''' to one another, which is denoted <math>x \sim y</math>.
A voltage graph is a directed graph whose edges are labelled invertibly by elements of a [[Group (mathematics)|group]]. This graph concisely specifies the [[derived graph]].{{sfnp|Gross|Tucker|2012|p=[https://books.google.com/books?id=6HmA_x0dL9oC&pg=PA57 57]}} It is also a common way to form a [[covering graph]].{{sfnp|Gross|Tucker|2012|p=[https://books.google.com/books?id=6HmA_x0dL9oC&pg=PA72 72]}}


=== Directed graph ===
=== Algebraic graph theory ===
{{main|Directed graph}}
{{main|Algebraic graph theory}}
[[File:Example of simple directed graph.svg|thumb|150px|A directed graph with three vertices and four directed edges (the double arrow represents an edge in each direction).]]
{{seealso|Spectral graph theory|Category:Topological graph theory}}


A '''directed graph''' or '''digraph''' is a graph in which edges have orientations.
[[Image:Petersen1 tiny.svg|thumb|200px|Algebraic graph theory uses group theory to study the symmetry of a graph. For example, [[Petersen graph]] is high-symmetrical, known for [[vertex-transitive graph|vertex-transitive]], [[symmetric graph|symmetric]], [[distance-transitive graph|distance-transitive]], and [[distance-regular graph|distance-regular]]. Its [[Graph automorphism|automorphism group]] has 120 elements and [[symmetric group]] <math>S_5</math>.]]
[[Algebraic graph theory]] is the study of graph theory that involves major branches of [[algebra]]. Major branches of algebra that are used are [[linear algebra]] and [[group theory]].


In one restricted but very common sense of the term,{{sfn|Bender|Williamson|2010|p=161}} a '''directed graph''' is an ordered pair <math>G=(V,E)</math> comprising:
A study of graph theory using linear algebra is called [[spectral graph theory]]. This study focuses on [[adjacency matrix]], a matrix that represents the graph, and its [[Eigendecomposition of a matrix|spectrum]], which focuses on the [[characteristic polynomial]], [[Eigenvalues and eigenvectors|eigenvalues, and eigenvectors]] of the given adjacency matrix. It also focuses on the [[Laplacian matrix]] of a graph, which involves the [[degree matrix]] (a [[diagonal matrix]] that represents the degree of a vertex) and the adjacency matrix.<ref>{{multiref
* <math>V</math>, a [[Set (mathematics)|set]] of ''vertices'' (also called ''nodes'' or ''points'');
|{{harvp|Cvetković|Rowlinson|2004|p=[https://books.google.com/books?id=z2K26gZLC1MC&pg=PA88 88]}}
* <math>E \subseteq \left\{(x,y) \mid (x, y) \in V^2 \;\textrm{ and }\; x \neq y \right\}</math>, a [[Set (mathematics)|set]] of ''edges'' (also called ''directed edges'', ''directed links'', ''directed lines'', ''arrows'' or ''arcs'') which are [[ordered pair]]s of vertices (that is, an edge is associated with two distinct vertices).
|{{harvp|Kaveh|2013|pp=[http://books.google.com/books?id=oV9GAAAAQBAJ&pg=PA27 27&ndash;28]}}
}}</ref>


To avoid ambiguity, this type of object may be called a '''directed simple graph'''. In set theory and graph theory, <math>V^n</math> denotes the set of {{mvar|n}}-[[tuple]]s of elements of <math>V,</math> that is, ordered sequences of <math>n</math> elements that are not necessarily distinct.
Group theory, particularly [[automorphism group]]s and [[geometric group theory]], focuses on various families of graphs based on symmetry in algebraic graph theory.{{sfnp|Biggs|1993|loc=[http://books.google.com/books?id=6TasRmIFOxQC&pg=PA115 Chapter 15: Automorphisms of graphs]}} Such a symmetry includes [[symmetric graph]]s, [[vertex-transitive graph]]s, [[edge-transitive graph]]s, [[distance-transitive graph]]s, [[distance-regular graph]]s, and [[strongly regular graph]]s.{{sfnp|Godsil|Royle|2001|pp=[http://books.google.com/books?id=GeSPBAAAQBAJ&pg=PR12 xii&ndash;ixi]}} [[Frucht's theorem]] states that every [[finite group]] is the group of symmetries of a finite undirected graph, or more strongly, there exist infinitely many non-isomorphic simple connected graphs such that the automorphism group of each of them is isomorphic to a finite group.{{sfnp|Gross|Tucker|2012|p=[https://books.google.com/books?id=6HmA_x0dL9oC&pg=PA70 70]}}


In the edge <math>(x, y)</math> directed from <math>x</math> to <math>y</math>, the vertices <math>x</math> and <math>y</math> are called the ''endpoints'' of the edge, <math>x</math> the ''tail'' of the edge and <math>y</math> the ''head'' of the edge. The edge is said to ''join'' <math>x</math> and <math>y</math> and to be ''incident'' on <math>x</math> and on <math>y</math>. A vertex may exist in a graph and not belong to an edge. The edge <math>(y,x)</math> is called the ''inverted edge'' of <math>(x, y)</math>. ''[[Multiple edges]]'', not allowed under the definition above, are two or more edges with both the same tail and the same head.
Algebraic graph theory also studies the algebraic [[Graph invariant|invariants]], [[chromatic polynomial]], [[Tutte polynomial]] of a graph, and [[knot invariant]].{{sfnp|Godsil|Royle|2001|pp=[http://books.google.com/books?id=GeSPBAAAQBAJ&pg=PR12 xii&ndash;ixi]}} A graph invariant is a property of graphs that depends only on the abstract structure, instead of labellings or drawings of the graph. A chromatic polynomial is a polynomial that counts the number of graph colorings as a function of the number of colors.{{sfnp|Biggs|1993|p=[http://books.google.com/books?id=6TasRmIFOxQC&pg=PA64 64]}} The Tutte polynomial is a two-variable polynomial on graph connectivity.{{sfnp|Biggs|1993|p=[http://books.google.com/books?id=6TasRmIFOxQC&pg=PA98 98]}}


In one more general sense of the term allowing multiple edges,{{sfn|Bender|Williamson|2010|p=161}} a '''directed graph''' is an ordered triple <math>G=(V,E,\phi)</math> comprising:
=== Geometric graph theory ===
* <math>V</math>, a [[Set (mathematics)|set]] of ''vertices'' (also called ''nodes'' or ''points'');
{{main|Geometric graph theory}}
* <math>E</math>, a [[Set (mathematics)|set]] of ''edges'' (also called ''directed edges'', ''directed links'', ''directed lines'', ''arrows'' or ''arcs'');
{{seealso|Graph drawing|Category:Geometric graph theory}}
* <math>\phi : E \to \left\{(x,y) \mid (x, y) \in V^2 \;\textrm{ and }\; x \neq y \right\}</math>, an ''incidence function'' mapping every edge to an [[ordered pair]] of vertices (that is, an edge is associated with two distinct vertices).


To avoid ambiguity, this type of object may be called a '''directed multigraph'''.
{{multiple image
| image1 = Euclidean minimum spanning tree.svg
| image2 = Dodecahedron schlegel.svg
| image3 = Circle packing graph.svg
| image4 = Fano plane-Levi graph.svg
| footer = Geometric graph theory studies a graph drawn with straight-line or continuous curved edges with geometric properties combinatorially. Within these illustrations, the geometric graph theory studies:
{{bulletlist
| 1 = the [[Euclidean graph]] as in [[Euclidean minimum spanning tree]] (top left);
| 2 = [[polyhedral graph]] with an example of [[dodecahedral graph]] for a regular dodecahedron (top right);
| 3 = the [[intersection graph]] of geometric sets like the [[coin graph]] with [[circle packing]] (bottom left); and
| 4 = the [[incidence geometry]] as in the [[Heawood graph]] being the [[Levi graph]] of [[Fano plane]] (bottom right).
}}
| perrow = 2
| total_width = 420
}}
[[Geometric graph theory]] focuses on combinatorial and geometric properties of a graph that is drawn in a plane with straight-line or continuous curved edges in [[Euclidean space]].{{sfnp|Pach|2018|p=[http://books.google.com/books?id=9mlQDwAAQBAJ&pg=PA257 257]}} As part of [[discrete geometry]] and [[computational geometry]], geometric graph theory studies [[planar graph]]s,{{sfnp|Bounceur|Bezoui|Euler|2019|pp=[http://books.google.com/books?id=UmYIEQAAQBAJ&pg=PA13 13&ndash;14]}} relationship to [[Polytope|higher-dimensional convex polytopes]],<ref>{{multiref
|{{harvp|Everett|Corneil|1995}}
|{{harvp|Ziegler|2007|pp=628–642}}
}}</ref> [[intersection]] of geometrical shaped sets,{{sfnp|McKee|McMorris|1999|p=[http://books.google.com/books?id=phWjyYLP7d4C&pg=PA1 1&ndash;2]}} and other geometries' subareas of [[incidence geometry]] and [[projective geometry]].{{sfnp|Grünbaum|2006|p=[https://books.google.com/books?id=cKpBGcqpspIC&pg=PA181 181]}}


A ''[[Loop (graph theory)|loop]]'' is an edge that joins a vertex to itself. Directed graphs as defined in the two definitions above cannot have loops, because a loop joining a vertex <math>x</math> to itself is the edge (for a directed simple graph) or is incident on (for a directed multigraph) <math>(x,x)</math> which is not in <math>\left\{(x, y) \mid (x, y) \in V^2 \;\textrm{ and }\; x \neq y \right\}</math>. So to allow loops the definitions must be expanded. For directed simple graphs, the definition of <math>E</math> should be modified to <math>E \subseteq \left\{(x, y) \mid (x, y) \in V^2\right\}</math>. For directed multigraphs, the definition of <math>\phi</math> should be modified to <math>\phi : E \to \left\{(x, y) \mid (x, y) \in V^2\right\}</math>. To avoid ambiguity, these types of objects may be called precisely a '''directed simple graph permitting loops''' and a '''directed multigraph permitting loops''' (or a ''[[Quiver (mathematics)|quiver]]'') respectively.
A planar graph wherein its vertices are embedded as points, and its edges are non-crossing [[Line segment|line segments]] in the [[Euclidean plane]] is called [[planar straight-line graph]]. Any planar graph can be represented as a planar straight-line graph by [[Fáry's theorem]]. The planar straight-line graph is the special case of a Euclidean graph. The Euclidean graph allows its edges to have the length of the [[Euclidean distance]] between its endpoints. Its notions are the [[Euclidean minimum spanning tree]] on minimizing the total length of the segments for finite points in any [[Euclidean space]], [[Hadwiger–Nelson problem]] on asking for the minimum number of coloring plane such that no two points at a [[Unit distance graph|unit distance]] from each other have the same color, and [[shortest path problem]] on finding a path between two vertices in a graph that minimizes the sum of the assigned values of its edges.{{sfnp|Bounceur|Bezoui|Euler|2019|pp=[http://books.google.com/books?id=UmYIEQAAQBAJ&pg=PA13 13&ndash;14]}}


The edges of a directed simple graph permitting loops <math>G</math> is a [[Binary relation#Homogeneous relation|homogeneous relation]] ~ on the vertices of <math>G</math> that is called the ''adjacency relation'' of <math>G</math>. Specifically, for each edge <math>(x,y)</math>, its endpoints <math>x</math> and <math>y</math> are said to be ''adjacent'' to one another, which is denoted <math>x</math> ~ <math>y</math>.
A [[visibility graph]] is a graph whose vertices and edges are the point locations and visible connections, respectively. In a [[simple polygon]], where its edges are not self-intersecting and have no holes, the vertices of a visibility graph are connected by edges that represent the sides and diagonals of a polygon. The vertices are defined as the point locations.{{sfnp|Everett|Corneil|1995}} [[Polyhedral graph]] is an undirected graph that forms the vertices and edges of a three-dimensional [[convex polyhedron]]. In order to achieve it, such a graph must meet the requirements of [[Steinitz's theorem]], stating that every convex polyhedron is [[Vertex connectivity|3-vertex connected planar graph]]. The planar graph remains connected whenever any two of its vertices are removed.{{sfnp|Ziegler|2007|pp=628–642}}
 
An [[intersection graph]] is a graph in which each vertex is associated with a set and in which vertices are connected by edges whenever the corresponding sets have a nonempty [[intersection]].{{sfnp|McKee|McMorris|1999|p=[http://books.google.com/books?id=phWjyYLP7d4C&pg=PA1 1&ndash;2]}} Each vertex is represented as a set, and every two vertices are connected. Hence, the intersection graph of finite sets can be represented through the smallest number of required elements, known as the [[intersection number (graph theory)|intersection number]]. The result graph can be geometric whenever the sets are geometrical objects. For instance, the intersection graph of line segments in one dimension is an [[interval graph]]. The intersection graph of unit disks in the plane is a [[unit disk graph]]. The intersection of a [[circle packing]] is a [[coin graph]], where a vertex and an edge represent a circle and every pair of tangent circles; by Koebe–Andreev–Thurston theorem, the intersection graphs of non-crossing circles are exactly the planar graphs.<ref>{{multiref
|{{harvp|Brightwell|Scheinerman|1993|p=214}}
|{{harvp|Thurston|2002|p=330|loc=Corollary 13.6.2.}}
}}</ref> [[Scheinerman's conjecture|Scheinerman's theorem]] states that every planar graph can be represented as the intersection graph of line segments in the plane.{{sfnp|Chalopin|Gonçalves|2009}}
 
The [[Levi graph]] is a [[bipartite graph]] that associates to the [[incidence structure]] and [[Configuration (geometry)|projective configuration]].{{sfnp|Grünbaum|2006|p=[https://books.google.com/books?id=cKpBGcqpspIC&pg=PA181 181]}}
 
By applying to [[information visualization]], this creates another subarea of graph theory that is known as [[graph drawing]], which visualizes a graph depiction. Frequently drawn as node–link diagrams, the vertices of a graph are represented as disks, boxes, or textual labels, and the edges are represented as line segments, polylines, or curves in the Euclidean plane.{{sfnp|Di Battista|Eades|Tamassia|Tollis|1994|p=viii}} Many definitions for graph drawings based on quality measures include the crossing number,{{sfnp|Di Battista|Eades|Tamassia|Tollis|1994|p=14}} [[Area (graph drawing)|area]], symmetry display on finding the problem of a graph's group automorphism,{{sfnp|Di Battista|Eades|Tamassia|Tollis|1994|p=16}} [[bend minimization]], [[Angular resolution (graph drawing)|angular resolution]],{{sfnp|Pach|Sharir|2009}} and [[slope number]].{{sfnp|Pach|Sharir|2009}} Tools for graph drawings are the circle packing,{{sfnp|Malitz|Papakostas |1994}} the intersection graph, and other visualizations of the adjacency matrix.
 
=== Extremal graph theory ===
{{main|Extremal graph theory}}
{{seealso|Category:Extremal graph theory}}
[[File:Biclique K 5 5.svg|thumb|Extremal graph theory studies the maximum number of a graph's edges, known as the extremal number. The origin is from Mantel's theorem on finding the extremal number of a [[triangle-free graph]] (illustrated), which is <math> \lfloor n^2/4 \rfloor </math>.]]
[[Extremal graph theory]] is a branch of mathematics at the intersection of [[extremal combinatorics]] and graph theory. This area studies the maximum number of a graph's edges, known as the extremal number.{{sfnp|Chartrand|Jordon|Vatter|Zhang|2024|p=[http://books.google.com/books?id=01cIEQAAQBAJ&pg=PA221 221]}} The subarea's milestone originated from Mantel's theorem on the extremal number of a [[triangle-free graph]]. [[Turán's theorem]] extended Mantel's theorem for any undirected graph that does not have a complete subgraph of a given size. Turán's theorem is generalized by [[Erdős–Stone theorem]], which is occasionally known as the "fundamental theorem of extremal graph theory".{{sfnp|Bollobas|2013|p=[http://books.google.com/books?id=JeIlBQAAQBAJ&pg=PA104 104]}}
 
Extremal graph theory also studies [[forbidden subgraph problem]], [[homomorphism density]], and [[Szemerédi regularity lemma]]. The forbidden subgraphs problem suggests finding the extremal number of a graph with <math>n</math> vertices such that it does not have a subgraph that is [[graph isomorphism|isomorphic]] to the graph.{{sfnp|Bollobas|2013|p=[http://books.google.com/books?id=JeIlBQAAQBAJ&pg=PA123 123]}} A [[homomorphism density]] is a parameter that involves the [[graph homomorphism]]. The density may refer to the probability that a map from the vertices of a graph to the vertices of another one chosen uniformly at random is a graph homomorphism. Being homomorphic means there exists a mapping between two graphs that respects their structure, or equivalently, a function between the vertex sets of two graphs that maps adjacent vertices to adjacent vertices.<ref>{{multiref
|{{harvp|Zhao|2023|p=[http://books.google.com/books?id=QDHEEAAAQBAJ&pg=PA135 135]}}
|{{harvp|Borgs|Chayes|Lovász|Sós|Vestergombi|2008}}
|{{harvp|Hahn|Tardif|1997|p=[http://books.google.com/books?id=-tIaXdII8egC&pg=PA108 108&ndash;109]}}
}}</ref> Szemerédi's regularity lemma states that a graph can be partitioned into a bounded number of parts so that the edges between parts are <math> \varepsilon </math>-regular.
 
=== Theory of random graph ===
{{main|Random graph}}
{{seealso|Category:Random graphs}}
 
The theory of [[random graph]] focuses on graphs using [[probabilistic method]]. The subarea was founded by Hungarian mathematicians [[Paul Erdős]] and [[Alfréd Rényi]], whose modelling generates random graphs, known as [[Erdős–Rényi model]].{{sfnp|Bollobás|2001|p=[http://books.google.com/books?id=o9WecWgilzYC&pg=PR10 xi]}}
 
[[File:Random minimum spanning tree.svg|thumb|[[Random minimum spanning tree]] on the same graph but with randomized weights]]
This subarea studies the [[random tree]]. A [[tree (graph theory)|tree]] is an undirected graph where every pair of vertices is connected by exactly one [[Path (graph theory)|path]]. Therefore, a random tree is a tree that is formed by a [[stochastic process]]. Many types of random trees include:
*[[Uniform spanning tree]] is a [[spanning tree]] of a given graph in which each different tree is [[Discrete uniform distribution|equally likely to be selected]]. Being a spanning tree means that a subgraph is a tree that includes all of the vertices of a graph. The uniform spanning tree can be generated by using the method of random simple path known as the [[loop-erased random walk]], of taking a random walk on the given graph and erasing the cycles created by this walk.{{sfnp|Wilson|1996}}
* [[Branching process]], a model of a population in which each individual has a random number of children
* [[Brownian tree]], a fractal tree structure created by diffusion-limited aggregation processes
* [[Random binary tree]] is a [[binary tree]] selected at random from some [[probability distribution]] on binary trees.{{sfnp|Sedgewick|Flajolet|2013|p=286}} This includes trees formed by random insertion orders,{{sfnp|Morin|2004}} and trees that are uniformly distributed with a given number of nodes.
* [[Random forest]], a machine-learning classifier based on choosing random subsets of variables for each tree and using the most frequent tree output as the overall classification.
* [[Random minimal spanning tree]] is a spanning tree of a graph formed by choosing random edge weights and using the [[minimum spanning tree]] for those weights.{{sfnp|McDiarmid|Johnson|Stone|1997}}
* [[Random recursive tree]], increasingly labelled trees, which can be generated using a simple stochastic growth rule.
* [[Rapidly exploring random tree]], a fractal space-filling pattern used as a data structure for searching high-dimensional spaces.
* [[Treap]] or randomized binary search tree, a data structure that uses random choices to simulate a random binary tree for non-random update sequences
 
=== Graph enumeration ===
{{main|Graph enumeration}}


== Applications ==
== Applications ==
[[File:Wikipedia multilingual network graph July 2013.svg|thumb|The network graph formed by Wikipedia editors (edges) contributing to different Wikipedia language versions (vertices) during one month in summer 2013.<ref>{{Cite book|arxiv=1312.0976|last1=Hale|first1=Scott A.|title=Proceedings of the 2014 ACM conference on Web science |chapter=Multilinguals and Wikipedia editing |date=2014 |doi=10.1145/2615569.2615684|pages=99–108|isbn=9781450326223|bibcode=2013arXiv1312.0976H|s2cid=14027025}}</ref>]]
[[File:Wikipedia multilingual network graph July 2013.svg|thumb|The network graph formed by Wikipedia editors (edges) contributing to different Wikipedia language versions (vertices) during one month in summer 2013<ref>{{Cite book|arxiv=1312.0976|last1=Hale|first1=Scott A.|title=Proceedings of the 2014 ACM conference on Web science |chapter=Multilinguals and Wikipedia editing |date=2014 |doi=10.1145/2615569.2615684|pages=99–108|isbn=978-1-4503-2622-3|bibcode=2013arXiv1312.0976H|s2cid=14027025}}</ref>]]


Graphs can be used to model many types of relations and processes in physical, biological,<ref>{{cite journal |last=Mashaghi |first=A. |title=Investigation of a protein complex network |journal=European Physical Journal B |volume=41 |issue=1 |pages=113–121 |year=2004 |doi=10.1140/epjb/e2004-00301-0 |display-authors=etal|arxiv=cond-mat/0304207 |bibcode=2004EPJB...41..113M |s2cid=9233932 }}</ref><ref>{{Cite journal|last1=Shah|first1=Preya|last2=Ashourvan|first2=Arian|last3=Mikhail|first3=Fadi|last4=Pines|first4=Adam|last5=Kini|first5=Lohith|last6=Oechsel|first6=Kelly|last7=Das|first7=Sandhitsu R|last8=Stein|first8=Joel M|last9=Shinohara|first9=Russell T|date=2019-07-01|title=Characterizing the role of the structural connectome in seizure dynamics|journal=Brain|language=en|volume=142|issue=7|pages=1955–1972|doi=10.1093/brain/awz125|pmid=31099821|issn=0006-8950|pmc=6598625}}</ref> social and information systems.<ref>{{Cite journal|last1=Adali|first1=Tulay|last2=Ortega|first2=Antonio|date=May 2018|title=Applications of Graph Theory [Scanning the Issue]|url=https://ieeexplore.ieee.org/document/8349656|journal=Proceedings of the IEEE|volume=106|issue=5|pages=784–786|doi=10.1109/JPROC.2018.2820300|issn=0018-9219|url-access=subscription}}</ref> Many practical problems can be represented by graphs. Emphasizing their application to real-world systems, the term ''network'' is sometimes defined to mean a graph in which attributes (e.g. names) are associated with the vertices and edges, and the subject that expresses and understands real-world systems as a network is called [[network science]].
Graphs can be used to model many types of relations and processes in physical, biological,<ref>{{cite journal |last=Mashaghi |first=A. |title=Investigation of a protein complex network |journal=European Physical Journal B |volume=41 |issue=1 |pages=113–121 |year=2004 |doi=10.1140/epjb/e2004-00301-0 |display-authors=etal|arxiv=cond-mat/0304207 |bibcode=2004EPJB...41..113M |s2cid=9233932 }}</ref><ref>{{Cite journal|last1=Shah|first1=Preya|last2=Ashourvan|first2=Arian|last3=Mikhail|first3=Fadi|last4=Pines|first4=Adam|last5=Kini|first5=Lohith|last6=Oechsel|first6=Kelly|last7=Das|first7=Sandhitsu R|last8=Stein|first8=Joel M|last9=Shinohara|first9=Russell T|date=2019-07-01|title=Characterizing the role of the structural connectome in seizure dynamics|journal=Brain|language=en|volume=142|issue=7|pages=1955–1972|doi=10.1093/brain/awz125|pmid=31099821|issn=0006-8950|pmc=6598625}}</ref> social and information systems.<ref>{{Cite journal|last1=Adali|first1=Tulay|last2=Ortega|first2=Antonio|date=May 2018|title=Applications of Graph Theory [Scanning the Issue]|journal=Proceedings of the IEEE|volume=106|issue=5|pages=784–786|doi=10.1109/JPROC.2018.2820300|issn=0018-9219}}</ref> Many practical problems can be represented by graphs. Emphasizing their application to real-world systems, the term ''network'' is sometimes defined to mean a graph in which attributes (e.g. names) are associated with the vertices and edges, and the subject that expresses and understands real-world systems as a network is called [[network science]].


=== Computer science ===
=== Computer science ===
Within [[computer science]], '[[cybernetics|causal]]' and 'non-causal' linked structures are graphs that are used to represent networks of communication, data organization, computational devices, the flow of computation, etc. For instance, the link structure of a [[website]] can be represented by a directed graph, in which the vertices represent web pages and directed edges represent [[Hyperlink|links]] from one page to another. A similar approach can be taken to problems in social media,<ref>{{Cite journal | volume = 3| issue = 1| last = Grandjean| first = Martin| title = A social network analysis of Twitter: Mapping the digital humanities community| journal =Cogent Arts & Humanities| date = 2016| pages = 1171458|doi=10.1080/23311983.2016.1171458| s2cid = 114999767| url = https://hal.archives-ouvertes.fr/hal-01517493/file/A%20social%20network%20analysis%20of%20Twitter%20Mapping%20the%20digital%20humanities%20community.pdf| doi-access = free}}</ref> travel, biology, computer chip design, mapping the progression of neuro-degenerative diseases,<ref>{{Cite journal | volume = 11| issue = 2| last = Vecchio | first = F| title = "Small World" architecture in brain connectivity and hippocampal volume in Alzheimer's disease: a study via graph theory from EEG data| journal =Brain Imaging and Behavior| date = 2017| pages = 473–485| pmid =26960946 | doi = 10.1007/s11682-016-9528-3| s2cid = 3987492}}</ref><ref>{{Cite journal | volume = 81| issue = 2| last = Vecchio | first = F| title = Brain network connectivity assessed using graph theory in frontotemporal dementia| journal = Neurology| date = 2013| pages = 134–143| doi = 10.1212/WNL.0b013e31829a33f8| pmid = 23719145| s2cid = 28334693}}</ref> and many other fields. The development of [[algorithm]]s to [[List of algorithms#Graph algorithms|handle graphs]] is therefore of major interest in computer science. The [[Graph transformation|transformation of graph]]s is often formalized and represented by [[graph rewriting|graph rewrite system]]s. Complementary to [[graph transformation]] systems focusing on rule-based in-memory manipulation of graphs are [[graph database]]s geared towards [[Database transaction|transaction]]-safe, [[Persistence (computer science)|persistent]] storing and querying of [[Graph (data structure)|graph-structured data]].
Within [[computer science]], '[[cybernetics|causal]]' and 'non-causal' linked structures are graphs that are used to represent networks of communication, data organization, computational devices, the flow of computation, etc. For instance, the link structure of a [[website]] can be represented by a directed graph, in which the vertices (nodes) represent web pages and directed edges represent [[Hyperlink|links]] from one page to another. A similar approach can be taken to problems in social media,<ref>{{Cite journal | volume = 3| issue = 1| last = Grandjean| first = Martin| title = A social network analysis of Twitter: Mapping the digital humanities community| journal =Cogent Arts & Humanities| date = 2016| article-number = 1171458|doi=10.1080/23311983.2016.1171458| s2cid = 114999767| url = https://hal.archives-ouvertes.fr/hal-01517493/file/A%20social%20network%20analysis%20of%20Twitter%20Mapping%20the%20digital%20humanities%20community.pdf| doi-access = free}}</ref> travel, biology, computer chip design, mapping the progression of neuro-degenerative diseases,<ref>{{Cite journal | volume = 11| issue = 2| last = Vecchio | first = F| title = "Small World" architecture in brain connectivity and hippocampal volume in Alzheimer's disease: a study via graph theory from EEG data| journal =Brain Imaging and Behavior| date = 2017| pages = 473–485| pmid =26960946 | doi = 10.1007/s11682-016-9528-3| s2cid = 3987492}}</ref><ref>{{Cite journal | volume = 81| issue = 2| last = Vecchio | first = F| title = Brain network connectivity assessed using graph theory in frontotemporal dementia| journal = Neurology| date = 2013| pages = 134–143| doi = 10.1212/WNL.0b013e31829a33f8| pmid = 23719145| s2cid = 28334693}}</ref> and many other fields. The development of [[algorithm]]s to [[List of algorithms#Graph algorithms|handle graphs]] is therefore of major interest in computer science. The [[Graph transformation|transformation of graph]]s is often formalized and represented by [[graph rewriting|graph rewrite system]]s. Complementary to [[graph transformation]] systems focusing on rule-based in-memory manipulation of graphs are [[graph database]]s geared towards [[Database transaction|transaction]]-safe, [[Persistence (computer science)|persistent]] storing and querying of [[Graph (data structure)|graph-structured data]].


=== Linguistics ===
=== Linguistics ===
Line 83: Line 170:
=== Physics and chemistry ===
=== Physics and chemistry ===
Graph theory is also used to study molecules in [[chemistry]] and [[physics]]. In [[condensed matter physics]], the three-dimensional structure of complicated simulated atomic structures can be studied quantitatively by gathering statistics on graph-theoretic properties related to the topology of the atoms. Also, "the [[Feynman diagram|Feynman graphs and rules of calculation]] summarize [[quantum field theory]] in a form in close contact with the experimental numbers one wants to understand."<ref>{{cite book|first1=J. D.|last1=Bjorken |first2=S. D. |last2=Drell |title=Relativistic Quantum Fields |url=https://archive.org/details/relativisticquan0000bjor_c5q0|url-access=registration|publisher=McGraw-Hill |location=New York |year=1965 |page=viii }}</ref> In chemistry a graph makes a natural model for a molecule, where vertices represent [[atom]]s and edges [[Chemical bond|bond]]s. This approach is especially used in computer processing of molecular structures, ranging from [[Molecule editor|chemical editor]]s to database searching. In [[statistical physics]], graphs can represent local connections between interacting parts of a system, as well as the dynamics of a physical process on such
Graph theory is also used to study molecules in [[chemistry]] and [[physics]]. In [[condensed matter physics]], the three-dimensional structure of complicated simulated atomic structures can be studied quantitatively by gathering statistics on graph-theoretic properties related to the topology of the atoms. Also, "the [[Feynman diagram|Feynman graphs and rules of calculation]] summarize [[quantum field theory]] in a form in close contact with the experimental numbers one wants to understand."<ref>{{cite book|first1=J. D.|last1=Bjorken |first2=S. D. |last2=Drell |title=Relativistic Quantum Fields |url=https://archive.org/details/relativisticquan0000bjor_c5q0|url-access=registration|publisher=McGraw-Hill |location=New York |year=1965 |page=viii }}</ref> In chemistry a graph makes a natural model for a molecule, where vertices represent [[atom]]s and edges [[Chemical bond|bond]]s. This approach is especially used in computer processing of molecular structures, ranging from [[Molecule editor|chemical editor]]s to database searching. In [[statistical physics]], graphs can represent local connections between interacting parts of a system, as well as the dynamics of a physical process on such
systems. Similarly, in [[computational neuroscience]] graphs can be used to represent functional connections between brain areas that interact to give rise to various cognitive processes, where the vertices represent different areas of the brain and the edges represent the connections between those areas. Graph theory plays an important role in electrical modeling of electrical networks, here, weights are associated with resistance of the wire segments to obtain electrical properties of network structures.<ref>{{Cite journal|last1=Kumar|first1=Ankush|last2=Kulkarni|first2=G. U.|date=2016-01-04|title=Evaluating conducting network based transparent electrodes from geometrical considerations|journal=Journal of Applied Physics|volume=119|issue=1|pages=015102|doi=10.1063/1.4939280|issn=0021-8979|bibcode=2016JAP...119a5102K}}</ref> Graphs are also used to represent the micro-scale channels of [[Porous medium|porous media]], in which the vertices represent the pores and the edges represent the smaller channels connecting the pores. [[Chemical graph theory]] uses the [[molecular graph]] as a means to model molecules.
systems. Similarly, in [[computational neuroscience]] graphs can be used to represent functional connections between brain areas that interact to give rise to various cognitive processes, where the vertices represent different areas of the brain and the edges represent the connections between those areas. Graph theory plays an important role in electrical modeling of electrical networks, here, weights are associated with resistance of the wire segments to obtain electrical properties of network structures.<ref>{{Cite journal|last1=Kumar|first1=Ankush|last2=Kulkarni|first2=G. U.|date=2016-01-04|title=Evaluating conducting network based transparent electrodes from geometrical considerations|journal=Journal of Applied Physics|volume=119|issue=1|page=015102|doi=10.1063/1.4939280|issn=0021-8979|bibcode=2016JAP...119a5102K}}</ref> Graphs are also used to represent the micro-scale channels of [[Porous medium|porous media]], in which the vertices represent the pores and the edges represent the smaller channels connecting the pores. [[Chemical graph theory]] uses the [[molecular graph]] as a means to model molecules.
Graphs and networks are excellent models to study and understand phase transitions and critical phenomena.
Graphs and networks are excellent models to study and understand phase transitions and critical phenomena. Removal of nodes or edges leads to a critical transition where the network breaks into small clusters which is studied as a phase transition. This breakdown is studied via [[percolation theory]].<ref>{{Cite book| last = Newman| first = Mark| title = Networks: An Introduction| publisher = Oxford University Press| date = 2010| url = http://math.sjtu.edu.cn/faculty/xiaodong/course/Networks%20An%20introduction.pdf| access-date = 2019-10-30| archive-date = 2020-07-28| archive-url = https://web.archive.org/web/20200728132820/http://math.sjtu.edu.cn/faculty/xiaodong/course/Networks%20An%20introduction.pdf}}</ref>
Removal of nodes or edges leads to a critical transition where the network breaks into small clusters which is studied as a phase transition. This breakdown is studied via [[percolation theory]].<ref>{{Cite book| last = Newman| first = Mark| title = Networks: An Introduction| publisher = Oxford University Press| date = 2010| url = http://math.sjtu.edu.cn/faculty/xiaodong/course/Networks%20An%20introduction.pdf| access-date = 2019-10-30| archive-date = 2020-07-28| archive-url = https://web.archive.org/web/20200728132820/http://math.sjtu.edu.cn/faculty/xiaodong/course/Networks%20An%20introduction.pdf| url-status = dead}}</ref>


=== Social sciences ===
=== Social sciences ===
[[File:Moreno Sociogram 2nd Grade.png|thumb|Graph theory in sociology: [[Jacob L. Moreno|Moreno]] [[Sociogram]] (1953).<ref>Grandjean, Martin (2015). [http://www.martingrandjean.ch/social-network-analysis-visualization-morenos-sociograms-revisited/ "Social network analysis and visualization: Moreno’s Sociograms revisited"]. Redesigned network strictly based on Moreno (1934), ''Who Shall Survive''.</ref>]]
[[File:Moreno Sociogram 2nd Grade.svg|thumb|Graph theory in sociology: [[Jacob L. Moreno|Moreno]] [[Sociogram]] (1953).<ref>Grandjean, Martin (2015). [https://www.martingrandjean.ch/social-network-analysis-visualization-morenos-sociograms-revisited/ "Social network analysis and visualization: Moreno's Sociograms revisited"]. Redesigned network strictly based on Moreno (1934), ''Who Shall Survive''.</ref>]]
Graph theory is also widely used in [[sociology]] as a way, for example, to [[Six Degrees of Kevin Bacon|measure actors' prestige]] or to explore [[Rumor spread in social network|rumor spreading]], notably through the use of [[social network analysis]] software. Under the umbrella of social networks are many different types of graphs.<ref>{{cite book|last=Rosen|first=Kenneth H.|title=Discrete mathematics and its applications|publisher=McGraw-Hill|location=New York|isbn=978-0-07-338309-5|edition=7th|date=2011-06-14}}</ref> Acquaintanceship and friendship graphs describe whether people know each other. Influence graphs model whether certain people can influence the behavior of others. Finally, collaboration graphs model whether two people work together in a particular way, such as acting in a movie together.
Graph theory is also widely used in [[sociology]] as a way, for example, to [[Six Degrees of Kevin Bacon|measure actors' prestige]] or to explore [[Rumor spread in social network|rumor spreading]], notably through the use of [[social network analysis]] software. Under the umbrella of social networks are many different types of graphs.<ref>{{cite book|last=Rosen|first=Kenneth H.|title=Discrete mathematics and its applications|publisher=McGraw-Hill|location=New York|isbn=978-0-07-338309-5|edition=7th|date=2011-06-14}}</ref> Acquaintanceship and friendship graphs describe whether people know each other. Influence graphs model whether certain people can influence the behavior of others. Finally, collaboration graphs model whether two people work together in a particular way, such as acting in a movie together.


=== Biology ===
=== Biology and ecology===
Likewise, graph theory is useful in [[biology]] and conservation efforts where a vertex can represent regions where certain species exist (or inhabit) and the edges represent migration paths or movement between the regions. This information is important when looking at breeding patterns or tracking the spread of disease, parasites or how changes to the movement can affect other species.
Likewise, graph theory is useful in [[biology]] and conservation efforts where a vertex can represent regions where certain species exist (or inhabit) and the edges represent migration paths or movement between the regions. This information is important when looking at breeding patterns or tracking the spread of disease, parasites or how changes to the movement can affect other species.


Graphs are also commonly used in [[molecular biology]] and [[genomics]] to model and analyse datasets with complex relationships. For example, graph-based methods are often used to 'cluster' cells together into cell-types in [[Single-cell_analysis#Transcriptomics|single-cell transcriptome analysis]]. Another use is to model genes or proteins in a [[Biological pathway|pathway]] and study the relationships between them, such as metabolic pathways and gene regulatory networks.<ref>{{cite journal | last1=Kelly | first1=S. | last2=Black | first2=Michael | title=graphsim: An R package for simulating gene expression data from graph structures of biological pathways | journal=Journal of Open Source Software | publisher=The Open Journal | volume=5 | issue=51 | date=2020-07-09 | issn=2475-9066 | doi=10.21105/joss.02161 | page=2161| bibcode=2020JOSS....5.2161K |biorxiv=10.1101/2020.03.02.972471|s2cid=214722561| doi-access=free | url=https://www.biorxiv.org/content/biorxiv/early/2020/06/30/2020.03.02.972471.full.pdf }}</ref> Evolutionary trees, ecological networks, and hierarchical clustering of gene expression patterns are also represented as graph structures.  
Graphs are also commonly used in [[molecular biology]] and [[genomics]] to model and analyze datasets with complex relationships. For example, graph-based methods are often used to 'cluster' cells together into cell-types in [[Single-cell_analysis#Transcriptomics|single-cell transcriptome analysis]]. Another use is to model genes or proteins in a [[Biological pathway|pathway]] and study the relationships between them, such as metabolic pathways and gene regulatory networks.<ref>{{cite journal | last1=Kelly | first1=S. | last2=Black | first2=Michael | title=graphsim: An R package for simulating gene expression data from graph structures of biological pathways | journal=Journal of Open Source Software | publisher=The Open Journal | volume=5 | issue=51 | date=2020-07-09 | issn=2475-9066 | doi=10.21105/joss.02161 | page=2161| bibcode=2020JOSS....5.2161K |biorxiv=10.1101/2020.03.02.972471|s2cid=214722561| doi-access=free | url=https://www.biorxiv.org/content/biorxiv/early/2020/06/30/2020.03.02.972471.full.pdf }}</ref> Evolutionary trees, ecological networks, and hierarchical clustering of gene expression patterns are also represented as graph structures.  


Graph theory is also used in [[connectomics]];<ref>{{Cite journal|last1=Shah|first1=Preya|last2=Ashourvan|first2=Arian|last3=Mikhail|first3=Fadi|last4=Pines|first4=Adam|last5=Kini|first5=Lohith|last6=Oechsel|first6=Kelly|last7=Das|first7=Sandhitsu R|last8=Stein|first8=Joel M|last9=Shinohara|first9=Russell T|date=2019-07-01|title=Characterizing the role of the structural connectome in seizure dynamics|journal=Brain|language=en|volume=142|issue=7|pages=1955–1972|doi=10.1093/brain/awz125|pmid=31099821|issn=0006-8950|pmc=6598625}}</ref> nervous systems can be seen as a graph, where the nodes are neurons and the edges are the connections between them.
Graph theory is also used in [[connectomics]];<ref>{{Cite journal|last1=Shah|first1=Preya|last2=Ashourvan|first2=Arian|last3=Mikhail|first3=Fadi|last4=Pines|first4=Adam|last5=Kini|first5=Lohith|last6=Oechsel|first6=Kelly|last7=Das|first7=Sandhitsu R|last8=Stein|first8=Joel M|last9=Shinohara|first9=Russell T|date=2019-07-01|title=Characterizing the role of the structural connectome in seizure dynamics|journal=Brain|language=en|volume=142|issue=7|pages=1955–1972|doi=10.1093/brain/awz125|pmid=31099821|issn=0006-8950|pmc=6598625}}</ref> nervous systems can be seen as a graph, where the nodes are neurons and the edges are the connections between them.
=== Mathematics ===
In mathematics, graphs are useful in geometry and certain parts of [[topology]] such as [[knot theory]]. [[Algebraic graph theory]] has close links with [[group theory]]. Algebraic graph theory has been applied to many areas including dynamic systems and complexity.


=== Other topics ===
=== Other topics ===
A graph structure can be extended by assigning a weight to each edge of the graph. Graphs with weights, or [[weighted graph]]s, are used to represent structures in which pairwise connections have some numerical values. For example, if a graph represents a road network, the weights could represent the length of each road. There may be several weights associated with each edge, including distance (as in the previous example), travel time, or monetary cost. Such weighted graphs are commonly used to program GPS's, and travel-planning search engines that compare flight times and costs.
A graph structure can be extended by assigning a weight to each edge of the graph. Graphs with weights, or [[weighted graph]]s, are used to represent structures in which pairwise connections have some numerical values. For example, if a graph represents a road network, the weights could represent the length of each road. There may be several weights associated with each edge, including distance (as in the previous example), travel time, or monetary cost. Such weighted graphs are commonly used to program GPS's, and travel-planning search engines that compare flight times and costs.
== History ==
[[File:Konigsberg bridges.png|thumb|The Königsberg Bridge problem]]
The paper written by [[Leonhard Euler]] on the [[Seven Bridges of Königsberg]] and published in 1736 is regarded as the first paper in the history of graph theory.<ref name="Biggs">{{Citation|author1=Biggs, N. |author2=Lloyd, E. |author3=Wilson, R. |title=Graph Theory, 1736-1936|title-link=Graph Theory, 1736–1936|publisher=Oxford University Press|year=1986}}</ref> This paper, as well as the one written by [[Alexandre-Théophile Vandermonde|Vandermonde]] on the ''[[Knight's tour|knight problem]],'' carried on with the ''analysis situs'' initiated by [[Gottfried Wilhelm Leibniz|Leibniz]]. Euler's formula relating the number of edges, vertices, and faces of a convex polyhedron was studied and generalized by [[Augustin-Louis Cauchy|Cauchy]]<ref name="Cauchy">{{Citation|author=Cauchy, A. L.|year=1813|title=Recherche sur les polyèdres - premier mémoire|journal=[[Journal de l'École Polytechnique]]|volume= 9 (Cahier 16)|pages=66–86|postscript=.}}</ref> and [[Simon Antoine Jean L'Huilier|L'Huilier]],<ref name="Lhuillier">{{Citation|author=L'Huillier, S.-A.-J.|title=Mémoire sur la polyèdrométrie|journal=Annales de Mathématiques|volume=3|year=1812–1813|pages=169–189|postscript=.}}</ref> and represents the beginning of the branch of mathematics known as [[topology]].
More than one century after Euler's paper on the bridges of [[Königsberg]] and while [[Johann Benedict Listing|Listing]] was introducing the concept of topology, [[Arthur Cayley|Cayley]] was led by an interest in particular analytical forms arising from [[differential calculus]] to study a particular class of graphs, the ''[[tree (graph theory)|tree]]s''.<ref>{{citation|first=A.|last=Cayley|author-link=Arthur Cayley|year=1857|title=On the theory of the analytical forms called trees|journal=[[Philosophical Magazine]]|series=Series IV|volume=13|issue=85|pages=172–176|doi=10.1017/CBO9780511703690.046|isbn=9780511703690|url=https://rcin.org.pl/dlibra/docmetadata?showContent=true&id=173708|url-access=subscription}}</ref> This study had many implications for theoretical [[chemistry]]. The techniques he used mainly concern the [[enumeration of graphs]] with particular properties. Enumerative graph theory then arose from the results of Cayley and the fundamental results published by [[George Pólya|Pólya]] between 1935 and 1937. These were generalized by [[Nicolaas Govert de Bruijn|De Bruijn]] in 1959. Cayley linked his results on trees with contemporary studies of chemical composition.<ref name="Cayley1">{{Citation|author=Cayley, A.|year=1875|journal=Berichte der Deutschen Chemischen Gesellschaft|title=Ueber die Analytischen Figuren, welche in der Mathematik Bäume genannt werden und ihre Anwendung auf die Theorie chemischer Verbindungen|volume=8|pages=1056–1059|doi=10.1002/cber.18750080252|postscript=.|issue=2|url=https://zenodo.org/record/1425086}}</ref> The fusion of ideas from mathematics with those from chemistry began what has become part of the standard terminology of graph theory.
In particular, the term "graph" was introduced by [[James Joseph Sylvester|Sylvester]] in a paper published in 1878 in ''[[Nature (journal)|Nature]]'', where he draws an analogy between "quantic invariants" and "co-variants" of algebra and molecular diagrams:<ref name="Sylvester">{{cite journal | last1 = Sylvester | first1 = James Joseph | year = 1878 | title = Chemistry and Algebra | url = https://archive.org/stream/nature15unkngoog#page/n312/mode/1up | journal = Nature | volume = 17 | issue = 432| page = 284 | doi = 10.1038/017284a0 | bibcode = 1878Natur..17..284S | doi-access = free }}</ref>
:"[…] Every invariant and co-variant thus becomes expressible by a ''graph'' precisely identical with a [[August Kekulé|Kekuléan]] diagram or chemicograph. […] I give a rule for the geometrical multiplication of graphs, ''i.e.'' for constructing a ''graph'' to the product of in- or co-variants whose separate graphs are given. […]" (italics as in the original).
The first textbook on graph theory was written by [[Dénes Kőnig]], and published in 1936.<ref>{{citation|last1=Tutte|first1=W.T.|author-link=W. T. Tutte|title=Graph Theory|publisher=Cambridge University Press|year=2001|isbn=978-0-521-79489-3|page=30|url=https://books.google.com/books?id=uTGhooU37h4C&pg=PA30|access-date=2016-03-14}}</ref> Another book by [[Frank Harary]], published in 1969, was "considered the world over to be the definitive textbook on the subject",<ref>{{citation|page=203|title=Fractal Music, Hypercards, and more…Mathematical Recreations from Scientific American|first=Martin|last=Gardner|author-link=Martin Gardner|publisher=W. H. Freeman and Company|year=1992}}</ref> and enabled mathematicians, chemists, electrical engineers and social scientists to talk to each other. Harary donated all of the royalties to fund the [[George Pólya Prize|Pólya Prize]].<ref>{{citation|contribution=The George Polya Prize|url=http://www.siam.org/about/more/siam50.pdf|page=26|title=Looking Back, Looking Ahead: A SIAM History|author=Society for Industrial and Applied Mathematics|year=2002|access-date=2016-03-14|author-link=Society for Industrial and Applied Mathematics|archive-date=2016-03-05|archive-url=https://web.archive.org/web/20160305010030/http://www.siam.org/about/more/siam50.pdf|url-status=dead}}</ref>
One of the most famous and stimulating problems in graph theory is the [[four color problem]]: "Is it true that any map drawn in the plane may have its regions colored with four colors, in such a way that any two regions having a common border have different colors?" This problem was first posed by [[Francis Guthrie]] in 1852 and its first written record is in a letter of [[Augustus De Morgan|De Morgan]] addressed to [[William Rowan Hamilton|Hamilton]] the same year. Many incorrect proofs have been proposed, including those by Cayley, [[Alfred Kempe|Kempe]], and others. The study and the generalization of this problem by [[Peter Tait (physicist)|Tait]], [[Percy John Heawood|Heawood]], [[Frank P. Ramsey|Ramsey]] and [[Hugo Hadwiger|Hadwiger]] led to the study of the colorings of the graphs embedded on surfaces with arbitrary [[Genus (mathematics)|genus]]. Tait's reformulation generated a new class of problems, the ''factorization problems'', particularly studied by [[Julius Petersen|Petersen]] and [[Dénes Kőnig|Kőnig]]. The works of Ramsey on colorations and more specially the results obtained by [[Pál Turán|Turán]] in 1941 was at the origin of another branch of graph theory, ''[[extremal graph theory]]''.
The four color problem remained unsolved for more than a century. In 1969 [[Heinrich Heesch]] published a method for solving the problem using computers.<ref>Heinrich Heesch: Untersuchungen zum Vierfarbenproblem. Mannheim: Bibliographisches Institut 1969.</ref> A computer-aided proof produced in 1976 by [[Kenneth Appel]] and [[Wolfgang Haken]] makes fundamental use of the notion of "discharging" developed by Heesch.<ref name="AA1">{{Citation|author1=Appel, K. |author2=Haken, W.|title=Every planar map is four colorable. Part I. Discharging|journal=Illinois J. Math.|volume=21|issue=3|year=1977|pages=429–490|postscript=.|doi=10.1215/ijm/1256049011|doi-access=free|url=https://projecteuclid.org/journals/illinois-journal-of-mathematics/volume-21/issue-3/Every-planar-map-is-four-colorable-Part-I-Discharging/10.1215/ijm/1256049011.pdf}}</ref><ref name="AA2">{{Citation|author1=Appel, K. |author2=Haken, W.|title=Every planar map is four colorable. Part II. Reducibility|journal=Illinois J. Math.|volume=21|issue=3|year=1977|pages=491–567|postscript=.|doi=10.1215/ijm/1256049012|doi-access=free}}</ref> The proof involved checking the properties of 1,936 configurations by computer, and was not fully accepted at the time due to its complexity. A simpler proof considering only 633 configurations was given twenty years later by [[Neil Robertson (mathematician)|Robertson]], [[Paul Seymour (mathematician)|Seymour]], [[Daniel P. Sanders|Sanders]] and [[Robin Thomas (mathematician)|Thomas]].<ref name="RSST">{{Citation|author1=Robertson, N. |author2=Sanders, D. |author3=Seymour, P. |author4=Thomas, R. |title=The four color theorem|journal=Journal of Combinatorial Theory, Series B|volume=70|year=1997|pages=2–44|doi=10.1006/jctb.1997.1750|postscript=.|doi-access=free}}</ref>
The autonomous development of topology from 1860 and 1930 fertilized graph theory back through the works of [[Camille Jordan|Jordan]], [[Kazimierz Kuratowski|Kuratowski]] and [[Hassler Whitney|Whitney]]. Another important factor of common development of graph theory and [[topology]] came from the use of the techniques of modern algebra. The first example of such a use comes from the work of the physicist [[Gustav Kirchhoff]], who published in 1845 his [[Kirchhoff's circuit laws]] for calculating the [[voltage]] and [[Electric current|current]] in [[electric circuit]]s.
The introduction of probabilistic methods in graph theory, especially in the study of [[Paul Erdős|Erdős]] and [[Alfréd Rényi|Rényi]] of the asymptotic probability of graph connectivity, gave rise to yet another branch, known as ''[[Random graph|random graph theory]]'', which has been a fruitful source of graph-theoretic results.


== Representation ==
== Representation ==
Line 128: Line 192:
=== Visual: Graph drawing ===
=== Visual: Graph drawing ===
{{main|Graph drawing}}
{{main|Graph drawing}}
Graphs are usually represented visually by drawing a point or circle for every vertex, and drawing a line between two vertices if they are connected by an edge. If the graph is directed, the direction is indicated by drawing an arrow. If the graph is weighted, the weight is added on the arrow.
Graphs are usually represented visually by drawing a point or circle for every vertex, and drawing a line between two vertices if they are connected by an edge. If the graph is directed, the direction is indicated by drawing an arrow. If the graph is weighted, the weight is added on the arrow.


Line 140: Line 205:
=== Tabular: Graph data structures ===
=== Tabular: Graph data structures ===
{{main|Graph (abstract data type)}}
{{main|Graph (abstract data type)}}
The tabular representation lends itself well to computational applications. There are different ways to store graphs in a computer system. The [[data structure]] used depends on both the graph structure and the [[algorithm]] used for manipulating the graph. Theoretically one can distinguish between list and matrix structures but in concrete applications the best structure is often a combination of both. List structures are often preferred for [[sparse graph]]s as they have smaller memory requirements. [[Matrix (mathematics)|Matrix]] structures on the other hand provide faster access for some applications but can consume huge amounts of memory. Implementations of sparse matrix structures that are efficient on modern parallel computer architectures are an object of current investigation.<ref>{{Cite book | last1 = Kepner | first1 = Jeremy| last2 = Gilbert | first2 = John| title = Graph Algorithms in the Language of Linear Algebra| date = 2011| pages = 1171458|isbn=978-0-898719-90-1| publisher = SIAM | url = https://my.siam.org/Store/Product/viewproduct/?ProductId=106663}}</ref>
 
The tabular representation lends itself well to computational applications. There are different ways to store graphs in a computer system. The [[data structure]] used depends on both the graph structure and the [[algorithm]] used for manipulating the graph. Theoretically one can distinguish between list and matrix structures but in concrete applications the best structure is often a combination of both. List structures are often preferred for [[sparse graph]]s as they have smaller memory requirements. [[Matrix (mathematics)|Matrix]] structures on the other hand provide faster access for some applications but can consume huge amounts of memory. Implementations of sparse matrix structures that are efficient on modern parallel computer architectures are an object of current investigation.<ref>{{Cite book | last1 = Kepner | first1 = Jeremy| last2 = Gilbert | first2 = John| title = Graph Algorithms in the Language of Linear Algebra| date = 2011| page = 1171458|isbn=978-0-898719-90-1| publisher = SIAM | url = https://my.siam.org/Store/Product/viewproduct/?ProductId=106663}}</ref>


List structures include the [[edge list]], an array of pairs of vertices, and the [[adjacency list]], which separately lists the neighbors of each vertex: Much like the edge list, each vertex has a list of which vertices it is adjacent to.
List structures include the [[edge list]], an array of pairs of vertices, and the [[adjacency list]], which separately lists the neighbors of each vertex: Much like the edge list, each vertex has a list of which vertices it is adjacent to.
Line 174: Line 240:
=== Graph coloring ===
=== Graph coloring ===
{{main|Graph coloring}}
{{main|Graph coloring}}
Many problems and theorems in graph theory have to do with various ways of coloring graphs. Typically, one is interested in coloring a graph so that no two adjacent vertices have the same color, or with other similar restrictions. One may also consider coloring edges (possibly so that no two coincident edges are the same color), or other variations. Among the famous results and conjectures concerning graph coloring are the following:
Many problems and theorems in graph theory have to do with various ways of coloring graphs. Typically, one is interested in coloring a graph so that no two adjacent vertices have the same color, or with other similar restrictions. One may also consider coloring edges (possibly so that no two coincident edges are the same color), or other variations. Among the famous results and conjectures concerning graph coloring are the following:
* [[Four-color theorem]]
* [[Four-color theorem]]
Line 205: Line 272:


=== Covering problems ===
=== Covering problems ===
[[Covering problem]]s in graphs may refer to various [[Set cover problem| set cover problems]] on subsets of vertices/subgraphs.
[[Covering problem]]s in graphs may refer to various [[set cover problem]]s on subsets of vertices/subgraphs.
* [[Dominating set]] problem is the special case of set cover problem where sets are the closed [[Neighbourhood (graph theory)|neighborhoods]].
* [[Dominating set]] problem is the special case of set cover problem where sets are the closed [[Neighbourhood (graph theory)|neighborhoods]].
* [[Vertex cover problem]] is the special case of set cover problem where sets to cover are every edges.
* [[Vertex cover problem]] is the special case of set cover problem where sets to cover are every edges.
Line 235: Line 302:
* [[Graph algorithm]]
* [[Graph algorithm]]
* [[:Category:Graph theorists|Graph theorists]]
* [[:Category:Graph theorists|Graph theorists]]
=== Subareas ===
* [[Algebraic graph theory]]
* [[Geometric graph theory]]
* [[Extremal graph theory]]
* [[Random graph|Probabilistic graph theory]]
* [[Topological graph theory]]
* [[Graph drawing]]


== Notes ==
== Notes ==
Line 248: Line 307:


== References ==
== References ==
* Lowell W. Beineke; Bjarne Toft; and Robin J. Wilson: ''Milestones in Graph Theory: A Century of Progress'', AMS/MAA, (SPECTRUM, v.108), ISBN 978-1-4704-6431-8 (2025).
* [[Lowell W. Beineke]]; Bjarne Toft; and [[Robin Wilson (mathematician)|Robin J. Wilson]]: ''Milestones in Graph Theory: A Century of Progress'', AMS/MAA, (SPECTRUM, v.108), ISBN 978-1-4704-6431-8 (2025).
* {{cite book
| last1 = Beineke | first1 = Lowell W.
| last2 = Wilson | first2 = Robin J.
| year = 2009
| title = Topics in Topological Graph Theory
| url = https://books.google.com/books?id=Z8P3CwAAQBAJ
| publisher = Cambridge University Press
| isbn = 978-1-139-64368-9
}}
* {{cite book |last1=Bender |first1=Edward A. |last2=Williamson |first2=S. Gill |date=2010 |title=Lists, Decisions and Graphs. With an Introduction to Probability |url=https://books.google.com/books?id=vaXv_yhefG8C }}
* {{cite book |last1=Bender |first1=Edward A. |last2=Williamson |first2=S. Gill |date=2010 |title=Lists, Decisions and Graphs. With an Introduction to Probability |url=https://books.google.com/books?id=vaXv_yhefG8C }}
* {{cite book |last=Berge |first=Claude |date=1958 |title=Théorie des graphes et ses applications |location=Paris |publisher=Dunod }} English edition, Wiley 1961; Methuen & Co, New York 1962; Russian, Moscow 1961; Spanish, Mexico 1962; Roumanian, Bucharest 1969; Chinese, Shanghai 1963; Second printing of the 1962 first English edition, Dover, New York 2001.
* {{cite book |last=Berge |first=Claude |date=1958 |title=Théorie des graphes et ses applications |location=Paris |publisher=Dunod }} English edition, Wiley 1961; Methuen & Co, New York 1962; Russian, Moscow 1961; Spanish, Mexico 1962; Roumanian, Bucharest 1969; Chinese, Shanghai 1963; Second printing of the 1962 first English edition, Dover, New York 2001.
* {{cite book |last1=Biggs |first1=N. |last2=Lloyd |first2=E. |last3=Wilson |first3=R. |date=1986 |title=Graph Theory, 1736–1936|publisher=Oxford University Press }}
* {{cite book
| last = Biggs | first = Norman
| year = 1993
| edition = 2nd
| title = Algebraic Graph Theory
| publisher = Cambridge University Press
}}
* {{cite book
| last1 = Biggs | first1 = N.
| last2 = Lloyd | first2 = E.
| last3 = Wilson | first3 = R.
| title = Graph Theory, 1736-1936 | title-link = Graph Theory, 1736–1936
| publisher = Oxford University Press
| year = 1986
}}
* {{cite book
| last = Bollobas | first = Bela
| url = https://books.google.com/books?id=JeIlBQAAQBAJ
| title = Modern Graph Theory
| year = 2013
| publisher = Springer
| isbn = 978-1-4612-0619-4
}}
* {{cite book |last1=Bollobás |first1=Béla |first2=O. M. |last2=Riordan |date=2003 |title=Mathematical results on scale-free random graphs in "Handbook of Graphs and Networks" (S. Bornholdt and H.G. Schuster (eds)) |edition=1st |location=Weinheim |publisher=Wiley VCH }}
* {{cite book
| last = Bollobás | first = B.
| title = Random Graphs
| publisher = Cambridge University Press
| edition = 2nd
| year = 2001
| url = https://books.google.com/books?id=o9WecWgilzYC
| isbn = 0-521-79722-5
}}
* {{cite book |last1=Bondy |first1=J. A. |last2=Murty |first2=U. S. R. |date=2008 |title=Graph Theory |publisher=Springer |isbn=978-1-84628-969-9 }}
* {{cite book |last1=Bondy |first1=J. A. |last2=Murty |first2=U. S. R. |date=2008 |title=Graph Theory |publisher=Springer |isbn=978-1-84628-969-9 }}
* {{cite book |last1=Bollobás |first1=Béla |first2=O. M. |last2=Riordan |date=2003 |title=Mathematical results on scale-free random graphs in "Handbook of Graphs and Networks" (S. Bornholdt and H.G. Schuster (eds)) |edition=1st |location=Weinheim |publisher=Wiley VCH }}
* {{cite journal
| last1=Borgs | first1=Christian
| last2=Chayes | first2=Jennifer T.
| last3=Lovász | first3=László | authorlink3=László Lovász
| last4=Sós | first4= Vera T | authorlink4=Vera Sós
| last5=Vestergombi | first5=Katalin | authorlink5=Katalin Vesztergombi
| year=2008
| title=Convergent sequences of dense graphs. I. Subgraph frequencies, metric properties and testing
| journal=[[Advances in Mathematics]]
| volume=219
| issue=6
| pages=1801–1851
| doi=10.1016/j.aim.2008.07.008
| doi-access=free| arxiv=math/0702004
}}
* {{cite book
| last1 = Bounceur | first1 = Ahcene
| last2 = Bezoui | first2 = Madani
| last3 = Euler | first3 = Reinhardt
| title = Boundaries and Hulls of Euclidean Graphs: From Theory to Practice
| year = 2019
| publisher = CRC Press
| isbn = 978-1-351-69028-7
| url = https://books.google.com/books?id=UmYIEQAAQBAJ
}}
* A. Bretto and  A. Faisant and F.   Hennecart. Elements of Graph Theory: From Basic Concepts to Modern Developments. Ems Textbooks in Mathematics, 25, 2022 .
* {{cite journal
| last1 = Brightwell | first1 = Graham R. | author1-link = Graham Brightwell
| last2 = Scheinerman | first2 = Edward R. | author2-link = Ed Scheinerman
| doi = 10.1137/0406017
| issue = 2
| journal = [[SIAM Journal on Discrete Mathematics]]
| pages = 214–229
| title = Representations of planar graphs
| volume = 6
| year = 1993
}}
* {{cite journal
| last = Cauchy | first = A. L. | author-link = Augustin-Louis Cauchy
| title = Recherche sur les polyèdres - premier mémoire
| journal = Journal de l'École Polytechnique
| volume = 9 (Cahier 16) | pages = 66–86 | year = 1813
}}
* {{cite journal
| last = Cayley | first = A. | author-link = Augustin-Louis Cauchy
| title = Ueber die Analytischen Figuren, welche in der Mathematik Bäume genannt werden und ihre Anwendung auf die Theorie chemischer Verbindungen
| journal = Berichte der Deutschen Chemischen Gesellschaft
| volume = 8 | issue = 2 | pages = 1056–1059 | year = 1875
| url = https://zenodo.org/record/1425086
| doi = 10.1002/cber.18750080252
}}
* {{cite book
| last = Cayley | first = A. | author-link = Arthur Cauchy
|chapter=On the theory of the analytical forms called trees
|title=The Collected Mathematical Papers
|volume=3 |pages =242–246 |orig-date=1890 |date=2009
| url = https://rcin.org.pl/dlibra/docmetadata?showContent=true&id=173708
| doi = 10.1017/CBO9780511703690.046
| isbn = 978-0-511-70369-0
}}
* {{cite book
| last1 = Chalopin | first1 = J.
| last2 = Gonçalves | first2 = D.
| chapter = Every planar graph is the intersection graph of segments in the plane: Extended abstract
| title = Proceedings of the forty-first annual ACM symposium on Theory of computing
| pages = 631–638
| doi = 10.1145/1536414.1536500
| doi-access = free
| isbn = 978-1-60558-506-2
| year = 2009
}}
* {{cite book |last=Chartrand |first=Gary |date=1985 |title=Introductory Graph Theory |url=https://archive.org/details/introductorygrap0000char|url-access=registration |publisher=Dover |isbn=0-486-24775-9 }}
* {{cite book |last=Chartrand |first=Gary |date=1985 |title=Introductory Graph Theory |url=https://archive.org/details/introductorygrap0000char|url-access=registration |publisher=Dover |isbn=0-486-24775-9 }}
* {{cite book
| last1 = Chartrand | first1 = Gary
| last2 = Jordon | first2 = Heather
| last3 = Vatter | first3 = Vincent
| last4 = Zhang | first4 = Ping
| title = Graphs & Digraphs
| year = 2024
| publisher = CRC Press
| isbn = 978-1-003-80108-5
| url = https://books.google.com/books?id=01cIEQAAQBAJ
}}
* {{cite book
| last1 = Cvetković | first1 = Dragoš M.
| last2 = Rowlinson | first2 = Peter
| year = 2004
| url = https://books.google.com/books?id=z2K26gZLC1MC
| publisher = Cambridge University Press
| editor-first1 = Lowell W. | editor-last1 = Beineke
| editor-first2 = Robin J. | editor-last2 = Wilson
| title = Topics in Algebraic Graph Theory
| chapter = Spectral graph theory
| isbn = 978-0-521-80197-3
}}
* {{cite book |last=Deo |first=Narsingh |date=1974 |title=Graph Theory with Applications to Engineering and Computer Science |url=https://www.edutechlearners.com/download/Graphtheory.pdf |archive-url=https://web.archive.org/web/20190517165158/http://www.edutechlearners.com/download/Graphtheory.pdf |archive-date=2019-05-17 |url-status=live |location=Englewood, New Jersey |publisher=Prentice-Hall |isbn=0-13-363473-6 }}
* {{cite book |last=Deo |first=Narsingh |date=1974 |title=Graph Theory with Applications to Engineering and Computer Science |url=https://www.edutechlearners.com/download/Graphtheory.pdf |archive-url=https://web.archive.org/web/20190517165158/http://www.edutechlearners.com/download/Graphtheory.pdf |archive-date=2019-05-17 |url-status=live |location=Englewood, New Jersey |publisher=Prentice-Hall |isbn=0-13-363473-6 }}
*{{cite journal
| last1 = Di Battista | first1 = Giuseppe
| last2 = Eades | first2 = Peter | author2-link = Peter Eades
| last3 = Tamassia | first3 = Roberto | author3-link = Roberto Tamassia
| last4 = Tollis | first4 = Ioannis G.
| journal = [[Computational Geometry (journal)|Computational Geometry: Theory and Applications]]
| pages = 235–282
| title = Algorithms for Drawing Graphs: an Annotated Bibliography
| volume = 4
| issue = 5
| year = 1994
| doi = 10.1016/0925-7721(94)00014-x
| doi-access = free
}}
* {{cite journal
| last1 = Everett | first1 = Hazel
| last2 = Corneil | first2 = Derek | author2-link = Derek Corneil
| doi = 10.1016/0925-7721(95)00021-Z
| issue = 2
| journal = [[Computational Geometry (journal)|Computational Geometry: Theory & Applications]]
| mr = 1353288
| pages = 51–63
| title = Negative results on characterizing visibility graphs
| volume = 5
| year = 1995
}}
* {{cite book
| last = Foulds | first = L. R.
| title = Graph Theory Applications
| publisher = Springer
| series = Universitext
| year = 1992
| isbn = 978-1-4612-0933-1
| url = https://books.google.com/books?id=5G4QBwAAQBAJ
}}
* {{citation |last=Gardner |first=Martin |title=Fractal Music, Hypercards, and more…Mathematical Recreations from Scientific American |page=203 |year=1992 |publisher=W. H. Freeman and Company |author-link=Martin Gardner}}
* {{cite book |last=Gibbons |first=Alan |date=1985 |title=Algorithmic Graph Theory |publisher=[[Cambridge University Press]] }}
* {{cite book |last=Gibbons |first=Alan |date=1985 |title=Algorithmic Graph Theory |publisher=[[Cambridge University Press]] }}
* {{cite book
| last1 = Godsil | first1 = Chris
| last2 = Royle | first2 = Gordon F.
| year = 2001
| url = https://books.google.com/books?id=GeSPBAAAQBAJ
| title = Algebraic Graph Theory
| publisher = Springer
| isbn = 978-1-4613-0163-9
}}
* {{cite book |last=Golumbic |first=Martin |date=1980 |title=Algorithmic Graph Theory and Perfect Graphs |publisher=[[Academic Press]]}}
* {{cite book |last=Golumbic |first=Martin |date=1980 |title=Algorithmic Graph Theory and Perfect Graphs |publisher=[[Academic Press]]}}
* {{cite book
| last1 = Gross | first1 = J. L.
| last2 = Tucker | first2 = T. W. | author-link2 = Thomas W. Tucker
| title = Topological Graph Theory
| publisher = Dover Publications
| year = 2012 | orig-date = 1987
| isbn = 978-0-486-41741-7
| url = https://books.google.com/books?id=6HmA_x0dL9oC
}}
* {{cite book
| last = Grünbaum | first = Branko | author-link = Branko Grünbaum
| contribution = Configurations of points and lines
| location = Providence, RI
| mr = 2209028
| pages = 179–225
| publisher = American Mathematical Society
| title = The Coxeter Legacy
| year = 2006
}}
* {{cite book
| last1 = Hahn | first1 = Geňa
| last2 = Tardif | first2 = Claude
| year = 1997
| title = Graph Symmetry: Algebraic Methods and Applications
| editor-last1 = Hahn | editor-first1 = Geňa
| editor-last2 = Sabidussi | editor-first2 = Gert
| contribution = Graph homomorphisms: structure and symmetry
| url = https://books.google.com/books?id=-tIaXdII8egC
| publisher = Kluwer Academic Publisher
| isbn = 978-0-7923-4668-5
}}
* {{cite book |last=Harary |first=Frank |date=1969 |title=Graph Theory |location=Reading, Massachusetts |publisher=Addison-Wesley }}
* {{cite book |last=Harary |first=Frank |date=1969 |title=Graph Theory |location=Reading, Massachusetts |publisher=Addison-Wesley }}
* {{cite book |last1=Harary |first1=Frank |last2=Palmer |first2=Edgar M. |date=1973 |title=Graphical Enumeration |location=New York, New York |publisher=Academic Press }}
* {{cite book |last1=Harary |first1=Frank |last2=Palmer |first2=Edgar M. |date=1973 |title=Graphical Enumeration |location=New York, New York |publisher=Academic Press }}
* {{cite book
| last = Kaveh | first = A.
| year = 2013
| title = Optimal Analysis of Structures by Concepts of Symmetry and Regularity
| url = https://books.google.com/books?id=oV9GAAAAQBAJ
| publisher = Springer
| isbn = 978-3-7091-1565-7
}}
* {{cite book |last1=Kepner |first1=Jeremy |last2=Gilbert |first2=John |date=2011 |title=Graph Algorithms in The Language of Linear Algebra |url=https://my.siam.org/Store/Product/viewproduct/?ProductId=106663 |location=Philadelphia, Pennsylvania |publisher=SIAM |isbn=978-0-89871-990-1 }}
* {{cite journal
| last = L'Huillier | first =  S.A.J.
| title = Mémoire sur la polyèdrométrie
| journal = Annales de Mathématiques
| volume = 3 | pages = 169–189 | year= 1812–1813
}}
* {{cite journal
| last = Lovász | first = László | author-link = László Lovász
| doi = 10.1090/S0273-0979-05-01088-8
| issue = 1
| journal = [[Bulletin of the American Mathematical Society]]
| pages = 75–86
| title = Graph minor theory
| volume = 43
| year = 2006| doi-access = free
}}
* {{cite book |last1=Mahadev |first1=N. V. R. |last2=Peled |first2=Uri N. |date=1995 |title=Threshold Graphs and Related Topics |publisher=[[North-Holland Publishing Company|North-Holland]] }}
* {{cite book |last1=Mahadev |first1=N. V. R. |last2=Peled |first2=Uri N. |date=1995 |title=Threshold Graphs and Related Topics |publisher=[[North-Holland Publishing Company|North-Holland]] }}
* {{cite journal
| last1 = Malitz | first1 = Seth
| last2 = Papakostas | first2 = Achilleas
| doi = 10.1137/S0895480193242931
| issue = 2
| journal = [[SIAM Journal on Discrete Mathematics]]
| mr = 1271989
| pages = 172–183
| title = On the angular resolution of planar graphs
| volume = 7
| year = 1994
}}
* {{cite journal
| last1 = McDiarmid | first1 = Colin
| last2 = Johnson | first2 = Theodore
| last3 = Stone | first3 = Harold S.
| doi = 10.1002/(SICI)1098-2418(199701/03)10:1/2<187::AID-RSA10>3.3.CO;2-Y
| issue = 1–2
| journal = Random Structures & Algorithms
| mr = 1611522
| pages = 187–204
| title = On finding a minimum spanning tree in a network with random weights
| url = http://www.stats.ox.ac.uk/~cstone/mst.pdf
| volume = 10
| year = 1997
}}
* {{cite book
| last1 = McKee | first1 = Terry A.
| last2 = McMorris | first2 = F. R.
| year = 1999
| title = Topics in Intersection Graph Theory
| url = https://books.google.com/books?id=phWjyYLP7d4C
| publisher = [[Society for Industrial and Applied Mathematics]]
| isbn = 978-0-89871-430-2
}}
* {{cite book
| last1 = Mohar | first1 = Bojan | author1-link = Bojan Mohar
| last2 = Thomassen | first2 = Carsten | author2-link = Carsten Thomassen (mathematician)
| title = Graphs on Surfaces
| publisher = Johns Hopkins University Press
| year = 2001
| isbn = 978-0-8018-6689-0
| oclc = 45102952
| url = https://www.press.jhu.edu/books/title/1675/graphs-surfaces
}}
* {{cite book
| last = Morin | first = Pat | author-link = Pat Morin
| contribution = Chapter 7: Random Binary Search Trees
| date = March 22, 2014
| edition = 0.1Gβ
| pages = 145–164
| title = Open Data Structures (in pseudocode)
| url = https://opendatastructures.org/ods-python.pdf
}}
* {{cite book |last=Newman |first=Mark |date=2010 |title=Networks: An Introduction |publisher=Oxford University Press }}
* {{cite book |last=Newman |first=Mark |date=2010 |title=Networks: An Introduction |publisher=Oxford University Press }}
* {{cite book |last1=Kepner |first1=Jeremy |last2=Gilbert |first2=John |date=2011 |title=Graph Algorithms in The Language of Linear Algebra |url=https://my.siam.org/Store/Product/viewproduct/?ProductId=106663 |location=Philadelphia, Pennsylvania |publisher=SIAM |isbn=978-0-89871-990-1 }}
* {{cite book
| last = Ore | first = Øystein | author-link = Øystein Ore
| year = 1962
| publisher = American Mathematical Society
| url = https://archive.org/details/theoryofgraphs0000orey
| title = Theory of Graphs
}}
* {{cite book
| last = Pach | first = János
| editor-first1 = Csaba D. | editor-last1 = Toth
| editor-first2 = Joseph | editor-last2 = O'Rourke
| editor-first3 = Jacob E. | editor-last3 = Goodman
| title = Handbook of Discrete and Computational Geometry
| edition = 3rd
| publisher = CRC Press
| year = 2018
| chapter = Geometric Graph Theory
}}
* {{cite book
| last1 = Pach | first1 = János | author1-link = János Pach
| last2 = Sharir | first2 = Micha | author2-link = Micha Sharir
| contribution = 5.5 Angular resolution and slopes
| pages = 126–127
| publisher = [[American Mathematical Society]]
| series = Mathematical Surveys and Monographs
| title = Combinatorial Geometry and Its Algorithmic Applications: The Alcalá Lectures
| volume = 152
| year = 2009
}}
* {{cite journal
| last = Persinger | first = C. A.
| doi = 10.2140/pjm.1966.18.169
| journal = [[Pacific Journal of Mathematics]]
| mr = 0195077
| pages = 169–173
| title = Subsets of <math> n </math>-books in <math> E^3 </math>
| volume = 18
| year = 1966
| doi-access = free
}}
* {{cite book
| last = Richeson | first = D. | author-link = David Richeson
| title = Euler's Gem: The Polyhedron Formula and the Birth of Topology
| publisher = Princeton University Press
| year = 2008
| title-link = Euler's Gem
}}
* {{cite book
| last1 = Sedgewick | first1 = Robert | author1-link = Robert Sedgewick (computer scientist)
| last2 = Flajolet | first2 = Philippe | author2-link = Philippe Flajolet
| contribution = Chapter 6: Trees
| edition = 2nd
| isbn = 9780133373486
| publisher = Addison-Wesley
| title = An Introduction to the Analysis of Algorithms
| year = 2013
}}
* {{cite book
| publisher = [[Society for Industrial and Applied Mathematics]]
| title = Looking Back, Looking Ahead: A SIAM History |page=26 |year=2002 |url=http://www.siam.org/about/more/siam50.pdf |access-date=2016-03-14 |archive-url=https://web.archive.org/web/20160305010030/http://www.siam.org/about/more/siam50.pdf |archive-date=2016-03-05 |section=The George Polya Prize
| ref = {{harvid|Society for Industrial and Applied Mathematics|2002}}
}}
* {{cite journal
| last = Sylvester | first = James Joseph | author-link = James Joseph Sylvester
| year = 1878
| title = Chemistry and Algebra
| url = https://archive.org/stream/nature15unkngoog#page/n312/mode/1up
| journal = Nature
| volume = 17 | issue = 432 | page = 284
| bibcode = 1878Natur..17..284S
| doi = 10.1038/017284a0
| doi-access = free
}}
* {{cite book
| last = Thurston | first = William | author-link = William Thurston
| title = The Geometry and Topology of 3-manifolds
| id = Electronic version 1.1
| publisher = MSRI Publications
| url = https://library.slmath.org/nonmsri/gt3m/
| access-date = 2025-12-09
| contribution = §13.6, Andreev's theorem and generalizations, and §13.7, Constructing patterns of circles
| pages = 330–346
| date = March 2002
}}
* {{cite book
| last1 = Tutte | first1 = W. T. | author-link = W. T. Tutte
| title = Graph Theory
| year = 2001
| url = https://books.google.com/books?id=uTGhooU37h4C
| publisher = Cambridge University Press
| isbn = 978-0-521-79489-3
}}
* {{cite book
| last = Wilson | first = David Bruce
| contribution = Generating random spanning trees more quickly than the cover time
| doi = 10.1145/237814.237880
| mr = 1427525
| pages = 296–303
| title = Proceedings of the Twenty-Eighth Annual ACM Symposium on the Theory of Computing (STOC 1996)
| year = 1996
| title-link = Symposium on Theory of Computing
| isbn = 0-89791-785-5
| doi-access = free
}}
* {{cite book
| last = Zhao | first = Yufei
| title = Graph Theory and Additive Combinatorics: Exploring Structure and Randomness
| url = https://books.google.com/books?id=QDHEEAAAQBAJ
| publisher = Cambridge University Press
| year = 2023
| isbn = 978-1-009-31094-9
}}
* {{cite book
| last = Ziegler | first = Günter M. | author-link = Günter M. Ziegler
| editor1-last = Miller | editor1-first = Ezra
| editor2-last = Reiner | editor2-first = Victor
| editor3-last = Sturmfels | editor3-first = Bernd | editor3-link = Bernd Sturmfels
| contribution = Convex polytopes: extremal constructions and <math>f</math>-vector shapes. Section 1.3: Steinitz's theorem via circle packings
| isbn = 978-0-8218-3736-8
| pages = 628–642
| publisher = [[American Mathematical Society]]
| series = IAS/Park City Mathematics Series
| title = Geometric Combinatorics
| volume = 13
| year = 2007}}


== External links ==
== External links ==
Line 272: Line 744:
* {{webarchive |url=https://web.archive.org/web/20060206155001/http://www.nd.edu/~networks/gallery.htm |date=February 6, 2006 |title=Image gallery: graphs }}
* {{webarchive |url=https://web.archive.org/web/20060206155001/http://www.nd.edu/~networks/gallery.htm |date=February 6, 2006 |title=Image gallery: graphs }}
* {{usurped|1=[https://web.archive.org/web/20161114100939/http://www.babelgraph.org/links.html Concise, annotated list of graph theory resources for researchers]}}
* {{usurped|1=[https://web.archive.org/web/20161114100939/http://www.babelgraph.org/links.html Concise, annotated list of graph theory resources for researchers]}}
* [http://www.kde.org/applications/education/rocs/ rocs] — a graph theory IDE
* [https://www.kde.org/applications/education/rocs/ rocs] — a graph theory IDE
* [http://www.orgnet.com/SocialLifeOfRouters.pdf The Social Life of Routers] — non-technical paper discussing graphs of people and computers
* [http://www.orgnet.com/SocialLifeOfRouters.pdf The Social Life of Routers] — non-technical paper discussing graphs of people and computers
* [http://graphtheorysoftware.com/ Graph Theory Software] — tools to teach and learn graph theory
* [https://graphtheorysoftware.com/ Graph Theory Software] — tools to teach and learn graph theory
* {{Library resources about |onlinebooks=yes |lcheading=Graph theory |label=graph theory}}
* {{Library resources about |onlinebooks=yes |lcheading=Graph theory |label=graph theory}}
* [http://www.martinbroadhurst.com/Graph-algorithms.html A list of graph algorithms] {{Webarchive|url=https://web.archive.org/web/20190713044421/http://www.martinbroadhurst.com/Graph-algorithms.html |date=2019-07-13 }} with references and links to graph library implementations
* [http://www.martinbroadhurst.com/Graph-algorithms.html A list of graph algorithms] {{Webarchive|url=https://web.archive.org/web/20190713044421/http://www.martinbroadhurst.com/Graph-algorithms.html |date=2019-07-13 }} with references and links to graph library implementations


=== Online textbooks ===
=== Online textbooks ===
* [https://arxiv.org/abs/cond-mat/0602129 Phase Transitions in Combinatorial Optimization Problems, Section 3: Introduction to Graphs] (2006) by Hartmann and Weigt
* {{cite book
* [http://www.cs.rhul.ac.uk/books/dbook/ Digraphs: Theory Algorithms and Applications] 2007 by Jorgen Bang-Jensen and Gregory Gutin
| last1 = Hartmann | first1 = Alexander K.
| last2 = Weigt | first2 = Martin
| arxiv = cond-mat/0602129
| contribution = Introduction to graphs
| doi = 10.1002/3527606734.ch3
| isbn = 978-3-527-60673-3
| pages = 25–66
| publisher = Wiley
| title = Phase Transitions in Combinatorial Optimization Problems: Basics, Algorithms and Statistical Mechanics
| year = 2005}}
* [https://www.cs.rhul.ac.uk/books/dbook/ Digraphs: Theory Algorithms and Applications] 2007 by Jorgen Bang-Jensen and Gregory Gutin
* [http://diestel-graph-theory.com/index.html Graph Theory, by Reinhard Diestel]
* [http://diestel-graph-theory.com/index.html Graph Theory, by Reinhard Diestel]



Latest revision as of 20:14, 11 May 2026

File:Example of simple undirected graph 3.svg
A graph with 6 vertices and 7 edges

In mathematics and computer science, 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 connected by edges (also called arcs, links, or lines). A distinction is made between undirected graphs, where edges link two vertices symmetrically, and directed graphs, where edges link two vertices asymmetrically. Graphs are one of the principal objects of study in discrete mathematics.

Definition and etymology

File:Undirected, directed, mixed, multigraph.svg
A graph consists of vertices connected by edges. A graph is occasionally called:

  • An undirected graph (top left), distinguishing it from a directed graph that has an arrow on each edge (top right). Undirected and directed graphs can be merged into a mixed graph (bottom left); and
  • A simple graph, distinguishing it from a multigraph (bottom right).

Graph theory is a branch of mathematics that studies graphs, mathematical structures for modelling pairwise relations between objects. It is part of discrete mathematics, often considered part of combinatorics, although it is a stand-alone field due to its great growth and distinct from other fields, having its own kind of problems.[1] The term "graph" was introduced by James Joseph Sylvester in a paper published in 1878 in Nature, where he drew an analogy between "quantic invariants" and "co-variants" of algebra and molecular diagrams.[2]

The definition of a graph can vary, but one can understand that a graph is a structure consisting of vertices (also called nodes or points) and edges (also called arcs, links, or lines). Two vertices of an edge are called the endpoints.[3] Occasionally, a graph is called an undirected graph, to distinguish it from a directed graph. A directed graph is a graph where each edge has an assignment direction known as orientation, designated with an arrow.[4] A mixed graph can have edges that may be directed, and some may be undirected.[5] A graph can also be called a simple graph, to distinguish it from a multigraph. A multigraph allows many edges to have the same pair of endpoints, and it also allows an edge to connect a vertex to itself, known as a loop.[6] A graph can have its edges assigned a number, which is known as the weight. Such a graph is called a weight graph.

History

File:Konigsberg bridges.png
Map of Königsberg from 1651 showing the layout of the seven bridges, highlighting the Pregel River (in blue) and the bridges (in lime). The problem lays the foundation of both graph theory and topology.

In 1736, Leonhard Euler published a paper titled Solutio Problematis ad Geometriam Situs Pertinentis on the Seven Bridges of Königsberg, which is regarded as the first paper in the history of graph theory.[7] Euler's paper and Alexandre-Théophile Vandermonde's 1771 Remarques sur les Problèmes de Situation paper on the knight's tour carried on with the analysis situs, initiated by Gottfried Wilhelm Leibniz.[8] Euler's characteristic relating the number of edges, vertices, and faces of a convex polyhedron was studied and generalized by Augustin-Louis Cauchy and Simon Antoine Jean L'Huilier,[9] and represents the beginning of the branch of mathematics known as topology.[10]

More than one century after Euler's paper on the bridges of Königsberg, and while Johann Benedict Listing was introducing the concept of topology, Arthur Cayley was led by an interest in particular analytical forms arising from differential calculus to study a particular class of graphs, the trees.[11] This study had many implications for theoretical chemistry. The techniques he used mainly concern the enumeration of graphs with particular properties. Enumerative graph theory then arose from the results of Cayley and the fundamental results published by Pólya between 1935 and 1937. These were generalized by Nicolaas Govert de Bruijn in 1959. Cayley linked his results on trees with contemporary studies of chemical composition.[11] The fusion of ideas from mathematics with those from chemistry began what has become part of the standard terminology of graph theory.

The autonomous development of topology from 1860 to 1930 fertilized graph theory back through the works of Camille Jordan, Kazimierz Kuratowski, and Hassler Whitney. Another important factor in the common development of graph theory and topology came from the use of the techniques of modern algebra. The first example of such a use comes from the work of the physicist Gustav Kirchhoff, who published in 1845 his Kirchhoff's circuit laws for calculating the voltage and current in electric circuits.

The first textbook on graph theory was written by Dénes Kőnig, and published in 1936.[12] Another book by Frank Harary, published in 1969, was "considered the world over to be the definitive textbook on the subject",[13] and enabled mathematicians, chemists, electrical engineers and social scientists to talk to each other. Harary donated all of the royalties to fund the Pólya Prize.[14]

One of the most famous problems in graph theory is the four color problem: Is it true that any map drawn in the plane may have its regions colored with four colors, in such a way that any two regions having a common border have different colors? This problem was first posed by Francis Guthrie in 1852, and its first written record is in a letter of Augustus De Morgan addressed to William Rowan Hamilton the same year. Many incorrect proofs have been proposed, including those by Augustin Cayley, Alfred Kempe, and others. The study and the generalization of this problem by Peter Tait, Percy John Heawood, Frank P. Ramsey and Hadwiger led to the study of the colorings of the graphs embedded on surfaces with arbitrary genus. Tait's reformulation generated a new class of problems, the factorization problems, particularly studied by Petersen and Dénes Kőnig. The works of Ramsey on colorations, and more specially, the results obtained by Pál Turán in 1941, were at the origin of another branch of graph theory, known as extremal graph theory.

The four-color problem remained unsolved for more than a century. In 1969, Heinrich Heesch published a method for solving the problem using computers.[15] A computer-aided proof produced in 1976 by Kenneth Appel and Wolfgang Haken makes fundamental use of the notion of "discharging" developed by Heesch.[16][17] The proof involved checking the properties of 1,936 configurations by computer, and was not fully accepted at the time due to its complexity. A simpler proof considering only 633 configurations was given twenty years later by Robertson, Seymour, Sanders and Thomas.[18]

The introduction of probabilistic methods in graph theory, especially in the study of Erdős and Rényi of the asymptotic probability of graph connectivity, gave rise to yet another branch, known as random graph theory, which has been a fruitful source of graph-theoretic results.[19]

Subareas

Topological graph theory

Topological graph theory deals with the study of graphs related to topology. The topics, along with the given top-to-bottom illustrations, are Template:Bulletlist

Topological graph theory deals with the study of graphs as topological spaces. The graph in a topology is a set of simplexes that is called the simplicial one-dimensional complex.[20] This subarea studies the embedding (or imbedding) of a graph in surface and linkless embedding, graph minors, crossing number, map coloring, and voltage graph.[21]

The embedding of a graph in a surface is the representation of a graph in which the points are associated with the vertices and simple arcs with edges in a surface. The endpoints are associated with an edge, and the points with the end vertices. No arcs include points associated with other vertices, and two arcs never intersect at a point that is interior to either of the arcs.[citation needed] The graph embedding can be generalized into the linkless embedding, whereby no two cycles of the graph are linked in three-dimensional Euclidean space,[22] and a book, a collection of half-planes all having the same line as their boundary.[23]

The graph is said to be minor if it can be formed from another graph by deleting vertices and edges, and by edge-contraction.[22] The earliest result of the graph minor theory is from Wagner's theorem, stating that a finite graph is planar if and only if its minor includes neither the complete graph on five vertices Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle K_{5}} nor the utility graph.[24] A related result is the Robertson–Seymour theorem, implying the existence of forbidden minor for every property of graphs preserved by deletions and edge contractions.[25]

The crossing number tells the minimum number of crossing edges of a graph. This study originated from a Hungarian mathematician Pál Turán who asked for a factory plan that minimized the number of crossings between tracks connecting brick kilns to storage sites. This problem can be formalized as asking for the crossing number of a complete bipartite graph.[26]

A graph coloring is a methodical assignment of labelling the elements of a graph, which is traditionally called colors. In coloring, no two adjacent elements have the same color. It requires the minimum number of colors, which is known as the chromatic number. Four-color theorem stated that no more than four colors are required to color the regions of any map so that no two adjacent regions have the same color; that is, no two regions share a common boundary.[27] This theorem is stronger than five-color theorem. Relatedly, Earth–Moon problem is known for the nowadays open problem on extension of the planar map coloring problem, solved by the four-color theorem.

A voltage graph is a directed graph whose edges are labelled invertibly by elements of a group. This graph concisely specifies the derived graph.[28] It is also a common way to form a covering graph.[29]

Algebraic graph theory

File:Petersen1 tiny.svg
Algebraic graph theory uses group theory to study the symmetry of a graph. For example, Petersen graph is high-symmetrical, known for vertex-transitive, symmetric, distance-transitive, and distance-regular. Its automorphism group has 120 elements and symmetric group .

Algebraic graph theory is the study of graph theory that involves major branches of algebra. Major branches of algebra that are used are linear algebra and group theory.

A study of graph theory using linear algebra is called spectral graph theory. This study focuses on adjacency matrix, a matrix that represents the graph, and its spectrum, which focuses on the characteristic polynomial, eigenvalues, and eigenvectors of the given adjacency matrix. It also focuses on the Laplacian matrix of a graph, which involves the degree matrix (a diagonal matrix that represents the degree of a vertex) and the adjacency matrix.[30]

Group theory, particularly automorphism groups and geometric group theory, focuses on various families of graphs based on symmetry in algebraic graph theory.[31] Such a symmetry includes symmetric graphs, vertex-transitive graphs, edge-transitive graphs, distance-transitive graphs, distance-regular graphs, and strongly regular graphs.[32] Frucht's theorem states that every finite group is the group of symmetries of a finite undirected graph, or more strongly, there exist infinitely many non-isomorphic simple connected graphs such that the automorphism group of each of them is isomorphic to a finite group.[33]

Algebraic graph theory also studies the algebraic invariants, chromatic polynomial, Tutte polynomial of a graph, and knot invariant.[32] A graph invariant is a property of graphs that depends only on the abstract structure, instead of labellings or drawings of the graph. A chromatic polynomial is a polynomial that counts the number of graph colorings as a function of the number of colors.[34] The Tutte polynomial is a two-variable polynomial on graph connectivity.[35]

Geometric graph theory

Geometric graph theory studies a graph drawn with straight-line or continuous curved edges with geometric properties combinatorially. Within these illustrations, the geometric graph theory studies: Template:Bulletlist

Geometric graph theory focuses on combinatorial and geometric properties of a graph that is drawn in a plane with straight-line or continuous curved edges in Euclidean space.[36] As part of discrete geometry and computational geometry, geometric graph theory studies planar graphs,[37] relationship to higher-dimensional convex polytopes,[38] intersection of geometrical shaped sets,[39] and other geometries' subareas of incidence geometry and projective geometry.[40]

A planar graph wherein its vertices are embedded as points, and its edges are non-crossing line segments in the Euclidean plane is called planar straight-line graph. Any planar graph can be represented as a planar straight-line graph by Fáry's theorem. The planar straight-line graph is the special case of a Euclidean graph. The Euclidean graph allows its edges to have the length of the Euclidean distance between its endpoints. Its notions are the Euclidean minimum spanning tree on minimizing the total length of the segments for finite points in any Euclidean space, Hadwiger–Nelson problem on asking for the minimum number of coloring plane such that no two points at a unit distance from each other have the same color, and shortest path problem on finding a path between two vertices in a graph that minimizes the sum of the assigned values of its edges.[37]

A visibility graph is a graph whose vertices and edges are the point locations and visible connections, respectively. In a simple polygon, where its edges are not self-intersecting and have no holes, the vertices of a visibility graph are connected by edges that represent the sides and diagonals of a polygon. The vertices are defined as the point locations.[41] Polyhedral graph is an undirected graph that forms the vertices and edges of a three-dimensional convex polyhedron. In order to achieve it, such a graph must meet the requirements of Steinitz's theorem, stating that every convex polyhedron is 3-vertex connected planar graph. The planar graph remains connected whenever any two of its vertices are removed.[42]

An intersection graph is a graph in which each vertex is associated with a set and in which vertices are connected by edges whenever the corresponding sets have a nonempty intersection.[39] Each vertex is represented as a set, and every two vertices are connected. Hence, the intersection graph of finite sets can be represented through the smallest number of required elements, known as the intersection number. The result graph can be geometric whenever the sets are geometrical objects. For instance, the intersection graph of line segments in one dimension is an interval graph. The intersection graph of unit disks in the plane is a unit disk graph. The intersection of a circle packing is a coin graph, where a vertex and an edge represent a circle and every pair of tangent circles; by Koebe–Andreev–Thurston theorem, the intersection graphs of non-crossing circles are exactly the planar graphs.[43] Scheinerman's theorem states that every planar graph can be represented as the intersection graph of line segments in the plane.[44]

The Levi graph is a bipartite graph that associates to the incidence structure and projective configuration.[40]

By applying to information visualization, this creates another subarea of graph theory that is known as graph drawing, which visualizes a graph depiction. Frequently drawn as node–link diagrams, the vertices of a graph are represented as disks, boxes, or textual labels, and the edges are represented as line segments, polylines, or curves in the Euclidean plane.[45] Many definitions for graph drawings based on quality measures include the crossing number,[46] area, symmetry display on finding the problem of a graph's group automorphism,[47] bend minimization, angular resolution,[48] and slope number.[48] Tools for graph drawings are the circle packing,[49] the intersection graph, and other visualizations of the adjacency matrix.

Extremal graph theory

File:Biclique K 5 5.svg
Extremal graph theory studies the maximum number of a graph's edges, known as the extremal number. The origin is from Mantel's theorem on finding the extremal number of a triangle-free graph (illustrated), which is .

Extremal graph theory is a branch of mathematics at the intersection of extremal combinatorics and graph theory. This area studies the maximum number of a graph's edges, known as the extremal number.[50] The subarea's milestone originated from Mantel's theorem on the extremal number of a triangle-free graph. Turán's theorem extended Mantel's theorem for any undirected graph that does not have a complete subgraph of a given size. Turán's theorem is generalized by Erdős–Stone theorem, which is occasionally known as the "fundamental theorem of extremal graph theory".[51]

Extremal graph theory also studies forbidden subgraph problem, homomorphism density, and Szemerédi regularity lemma. The forbidden subgraphs problem suggests finding the extremal number of a graph with Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle n} vertices such that it does not have a subgraph that is isomorphic to the graph.[52] A homomorphism density is a parameter that involves the graph homomorphism. The density may refer to the probability that a map from the vertices of a graph to the vertices of another one chosen uniformly at random is a graph homomorphism. Being homomorphic means there exists a mapping between two graphs that respects their structure, or equivalently, a function between the vertex sets of two graphs that maps adjacent vertices to adjacent vertices.[53] Szemerédi's regularity lemma states that a graph can be partitioned into a bounded number of parts so that the edges between parts are Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \varepsilon } -regular.

Theory of random graph

The theory of random graph focuses on graphs using probabilistic method. The subarea was founded by Hungarian mathematicians Paul Erdős and Alfréd Rényi, whose modelling generates random graphs, known as Erdős–Rényi model.[19]

File:Random minimum spanning tree.svg
Random minimum spanning tree on the same graph but with randomized weights

This subarea studies the random tree. A tree is an undirected graph where every pair of vertices is connected by exactly one path. Therefore, a random tree is a tree that is formed by a stochastic process. Many types of random trees include:

  • Uniform spanning tree is a spanning tree of a given graph in which each different tree is equally likely to be selected. Being a spanning tree means that a subgraph is a tree that includes all of the vertices of a graph. The uniform spanning tree can be generated by using the method of random simple path known as the loop-erased random walk, of taking a random walk on the given graph and erasing the cycles created by this walk.[54]
  • Branching process, a model of a population in which each individual has a random number of children
  • Brownian tree, a fractal tree structure created by diffusion-limited aggregation processes
  • Random binary tree is a binary tree selected at random from some probability distribution on binary trees.[55] This includes trees formed by random insertion orders,[56] and trees that are uniformly distributed with a given number of nodes.
  • Random forest, a machine-learning classifier based on choosing random subsets of variables for each tree and using the most frequent tree output as the overall classification.
  • Random minimal spanning tree is a spanning tree of a graph formed by choosing random edge weights and using the minimum spanning tree for those weights.[57]
  • Random recursive tree, increasingly labelled trees, which can be generated using a simple stochastic growth rule.
  • Rapidly exploring random tree, a fractal space-filling pattern used as a data structure for searching high-dimensional spaces.
  • Treap or randomized binary search tree, a data structure that uses random choices to simulate a random binary tree for non-random update sequences

Graph enumeration

Applications

File:Wikipedia multilingual network graph July 2013.svg
The network graph formed by Wikipedia editors (edges) contributing to different Wikipedia language versions (vertices) during one month in summer 2013[58]

Graphs can be used to model many types of relations and processes in physical, biological,[59][60] social and information systems.[61] Many practical problems can be represented by graphs. Emphasizing their application to real-world systems, the term network is sometimes defined to mean a graph in which attributes (e.g. names) are associated with the vertices and edges, and the subject that expresses and understands real-world systems as a network is called network science.

Computer science

Within computer science, 'causal' and 'non-causal' linked structures are graphs that are used to represent networks of communication, data organization, computational devices, the flow of computation, etc. For instance, the link structure of a website can be represented by a directed graph, in which the vertices (nodes) represent web pages and directed edges represent links from one page to another. A similar approach can be taken to problems in social media,[62] travel, biology, computer chip design, mapping the progression of neuro-degenerative diseases,[63][64] and many other fields. The development of algorithms to handle graphs is therefore of major interest in computer science. The transformation of graphs is often formalized and represented by graph rewrite systems. Complementary to graph transformation systems focusing on rule-based in-memory manipulation of graphs are graph databases geared towards transaction-safe, persistent storing and querying of graph-structured data.

Linguistics

Graph-theoretic methods, in various forms, have proven particularly useful in linguistics, since natural language often lends itself well to discrete structure. Traditionally, syntax and compositional semantics follow tree-based structures, whose expressive power lies in the principle of compositionality, modeled in a hierarchical graph. More contemporary approaches such as head-driven phrase structure grammar model the syntax of natural language using typed feature structures, which are directed acyclic graphs. Within lexical semantics, especially as applied to computers, modeling word meaning is easier when a given word is understood in terms of related words; semantic networks are therefore important in computational linguistics. Still, other methods in phonology (e.g. optimality theory, which uses lattice graphs) and morphology (e.g. finite-state morphology, using finite-state transducers) are common in the analysis of language as a graph. Indeed, the usefulness of this area of mathematics to linguistics has borne organizations such as TextGraphs, as well as various 'Net' projects, such as WordNet, VerbNet, and others.

Physics and chemistry

Graph theory is also used to study molecules in chemistry and physics. In condensed matter physics, the three-dimensional structure of complicated simulated atomic structures can be studied quantitatively by gathering statistics on graph-theoretic properties related to the topology of the atoms. Also, "the Feynman graphs and rules of calculation summarize quantum field theory in a form in close contact with the experimental numbers one wants to understand."[65] In chemistry a graph makes a natural model for a molecule, where vertices represent atoms and edges bonds. This approach is especially used in computer processing of molecular structures, ranging from chemical editors to database searching. In statistical physics, graphs can represent local connections between interacting parts of a system, as well as the dynamics of a physical process on such systems. Similarly, in computational neuroscience graphs can be used to represent functional connections between brain areas that interact to give rise to various cognitive processes, where the vertices represent different areas of the brain and the edges represent the connections between those areas. Graph theory plays an important role in electrical modeling of electrical networks, here, weights are associated with resistance of the wire segments to obtain electrical properties of network structures.[66] Graphs are also used to represent the micro-scale channels of porous media, in which the vertices represent the pores and the edges represent the smaller channels connecting the pores. Chemical graph theory uses the molecular graph as a means to model molecules. Graphs and networks are excellent models to study and understand phase transitions and critical phenomena. Removal of nodes or edges leads to a critical transition where the network breaks into small clusters which is studied as a phase transition. This breakdown is studied via percolation theory.[67]

Social sciences

File:Moreno Sociogram 2nd Grade.svg
Graph theory in sociology: Moreno Sociogram (1953).[68]

Graph theory is also widely used in sociology as a way, for example, to measure actors' prestige or to explore rumor spreading, notably through the use of social network analysis software. Under the umbrella of social networks are many different types of graphs.[69] Acquaintanceship and friendship graphs describe whether people know each other. Influence graphs model whether certain people can influence the behavior of others. Finally, collaboration graphs model whether two people work together in a particular way, such as acting in a movie together.

Biology and ecology

Likewise, graph theory is useful in biology and conservation efforts where a vertex can represent regions where certain species exist (or inhabit) and the edges represent migration paths or movement between the regions. This information is important when looking at breeding patterns or tracking the spread of disease, parasites or how changes to the movement can affect other species.

Graphs are also commonly used in molecular biology and genomics to model and analyze datasets with complex relationships. For example, graph-based methods are often used to 'cluster' cells together into cell-types in single-cell transcriptome analysis. Another use is to model genes or proteins in a pathway and study the relationships between them, such as metabolic pathways and gene regulatory networks.[70] Evolutionary trees, ecological networks, and hierarchical clustering of gene expression patterns are also represented as graph structures.

Graph theory is also used in connectomics;[71] nervous systems can be seen as a graph, where the nodes are neurons and the edges are the connections between them.

Other topics

A graph structure can be extended by assigning a weight to each edge of the graph. Graphs with weights, or weighted graphs, are used to represent structures in which pairwise connections have some numerical values. For example, if a graph represents a road network, the weights could represent the length of each road. There may be several weights associated with each edge, including distance (as in the previous example), travel time, or monetary cost. Such weighted graphs are commonly used to program GPS's, and travel-planning search engines that compare flight times and costs.

Representation

A graph is an abstraction of relationships that emerge in nature; hence, it cannot be coupled to a certain representation. The way it is represented depends on the degree of convenience such representation provides for a certain application. The most common representations are the visual, in which, usually, vertices are drawn and connected by edges, and the tabular, in which rows of a table provide information about the relationships between the vertices within the graph.

Visual: Graph drawing

Graphs are usually represented visually by drawing a point or circle for every vertex, and drawing a line between two vertices if they are connected by an edge. If the graph is directed, the direction is indicated by drawing an arrow. If the graph is weighted, the weight is added on the arrow.

A graph drawing should not be confused with the graph itself (the abstract, non-visual structure) as there are several ways to structure the graph drawing. All that matters is which vertices are connected to which others by how many edges and not the exact layout. In practice, it is often difficult to decide if two drawings represent the same graph. Depending on the problem domain some layouts may be better suited and easier to understand than others.

The pioneering work of W. T. Tutte was very influential on the subject of graph drawing. Among other achievements, he introduced the use of linear algebraic methods to obtain graph drawings.

Graph drawing also can be said to encompass problems that deal with the crossing number and its various generalizations. The crossing number of a graph is the minimum number of intersections between edges that a drawing of the graph in the plane must contain. For a planar graph, the crossing number is zero by definition. Drawings on surfaces other than the plane are also studied.

There are other techniques to visualize a graph away from vertices and edges, including circle packings, intersection graph, and other visualizations of the adjacency matrix.

Tabular: Graph data structures

The tabular representation lends itself well to computational applications. There are different ways to store graphs in a computer system. The data structure used depends on both the graph structure and the algorithm used for manipulating the graph. Theoretically one can distinguish between list and matrix structures but in concrete applications the best structure is often a combination of both. List structures are often preferred for sparse graphs as they have smaller memory requirements. Matrix structures on the other hand provide faster access for some applications but can consume huge amounts of memory. Implementations of sparse matrix structures that are efficient on modern parallel computer architectures are an object of current investigation.[72]

List structures include the edge list, an array of pairs of vertices, and the adjacency list, which separately lists the neighbors of each vertex: Much like the edge list, each vertex has a list of which vertices it is adjacent to.

Matrix structures include the incidence matrix, a matrix of 0's and 1's whose rows represent vertices and whose columns represent edges, and the adjacency matrix, in which both the rows and columns are indexed by vertices. In both cases a 1 indicates two adjacent objects and a 0 indicates two non-adjacent objects. The degree matrix indicates the degree of vertices. The Laplacian matrix is a modified form of the adjacency matrix that incorporates information about the degrees of the vertices, and is useful in some calculations such as Kirchhoff's theorem on the number of spanning trees of a graph. The distance matrix, like the adjacency matrix, has both its rows and columns indexed by vertices, but rather than containing a 0 or a 1 in each cell it contains the length of a shortest path between two vertices.

Problems

Enumeration

There is a large literature on graphical enumeration: the problem of counting graphs meeting specified conditions. Some of this work is found in Harary and Palmer (1973).

Subgraphs, induced subgraphs, and minors

A common problem, called the subgraph isomorphism problem, is finding a fixed graph as a subgraph in a given graph. One reason to be interested in such a question is that many graph properties are hereditary for subgraphs, which means that a graph has the property if and only if all subgraphs have it too. Finding maximal subgraphs of a certain kind is often an NP-complete problem. For example:

  • Finding the largest complete subgraph is called the clique problem (NP-complete).

One special case of subgraph isomorphism is the graph isomorphism problem. It asks whether two graphs are isomorphic. It is not known whether this problem is NP-complete, nor whether it can be solved in polynomial time.

A similar problem is finding induced subgraphs in a given graph. Again, some important graph properties are hereditary with respect to induced subgraphs, which means that a graph has a property if and only if all induced subgraphs also have it. Finding maximal induced subgraphs of a certain kind is also often NP-complete. For example:

Still another such problem, the minor containment problem, is to find a fixed graph as a minor of a given graph. A minor or subcontraction of a graph is any graph obtained by taking a subgraph and contracting some (or no) edges. Many graph properties are hereditary for minors, which means that a graph has a property if and only if all minors have it too. For example, Wagner's Theorem states:

A similar problem, the subdivision containment problem, is to find a fixed graph as a subdivision of a given graph. A subdivision or homeomorphism of a graph is any graph obtained by subdividing some (or no) edges. Subdivision containment is related to graph properties such as planarity. For example, Kuratowski's Theorem states:

Another problem in subdivision containment is the Kelmans–Seymour conjecture:

Another class of problems has to do with the extent to which various species and generalizations of graphs are determined by their point-deleted subgraphs. For example:

Graph coloring

Many problems and theorems in graph theory have to do with various ways of coloring graphs. Typically, one is interested in coloring a graph so that no two adjacent vertices have the same color, or with other similar restrictions. One may also consider coloring edges (possibly so that no two coincident edges are the same color), or other variations. Among the famous results and conjectures concerning graph coloring are the following:

Subsumption and unification

Constraint modeling theories concern families of directed graphs related by a partial order. In these applications, graphs are ordered by specificity, meaning that more constrained graphs—which are more specific and thus contain a greater amount of information—are subsumed by those that are more general. Operations between graphs include evaluating the direction of a subsumption relationship between two graphs, if any, and computing graph unification. The unification of two argument graphs is defined as the most general graph (or the computation thereof) that is consistent with (i.e. contains all of the information in) the inputs, if such a graph exists; efficient unification algorithms are known.

For constraint frameworks which are strictly compositional, graph unification is the sufficient satisfiability and combination function. Well-known applications include automatic theorem proving and modeling the elaboration of linguistic structure.

Route problems

Network flow

There are numerous problems arising especially from applications that have to do with various notions of flows in networks, for example:

Visibility problems

Covering problems

Covering problems in graphs may refer to various set cover problems on subsets of vertices/subgraphs.

  • Dominating set problem is the special case of set cover problem where sets are the closed neighborhoods.
  • Vertex cover problem is the special case of set cover problem where sets to cover are every edges.
  • The original set cover problem, also called hitting set, can be described as a vertex cover in a hypergraph.

Decomposition problems

Decomposition, defined as partitioning the edge set of a graph (with as many vertices as necessary accompanying the edges of each part of the partition), has a wide variety of questions. Often, the problem is to decompose a graph into subgraphs isomorphic to a fixed graph; for instance, decomposing a complete graph into Hamiltonian cycles. Other problems specify a family of graphs into which a given graph should be decomposed, for instance, a family of cycles, or decomposing a complete graph Kn into n − 1 specified trees having, respectively, 1, 2, 3, ..., n − 1 edges.

Some specific decomposition problems and similar problems that have been studied include:

Graph classes

Many problems involve characterizing the members of various classes of graphs. Some examples of such questions are below:

See also

Notes

  1. Mohar & Thomassen (2001).
  2. Sylvester (1878).
  3. Ore (1962), p. 1.
  4. Ore (1962), p. 2.
  5. Ore (1962), p. 3.
  6. Bollobas (2013), p. 7.
  7. Biggs, Lloyd & Wilson (1986), pp. 2–3.
  8. Biggs, Lloyd & Wilson (1986), pp. 21–22.
  9. Template:Multiref
  10. Richeson (2008), p. 63.
  11. 11.0 11.1 Cayley (1875).
  12. Tutte (2001), p. 30.
  13. Gardner (1992), p. 203.
  14. Society for Industrial and Applied Mathematics (2002), p. 26.
  15. Heinrich Heesch: Untersuchungen zum Vierfarbenproblem. Mannheim: Bibliographisches Institut 1969.
  16. Appel, K.; Haken, W. (1977), "Every planar map is four colorable. Part I. Discharging" (PDF), Illinois J. Math., 21 (3): 429–490, doi:10.1215/ijm/1256049011.
  17. Appel, K.; Haken, W. (1977), "Every planar map is four colorable. Part II. Reducibility", Illinois J. Math., 21 (3): 491–567, doi:10.1215/ijm/1256049012.
  18. Robertson, N.; Sanders, D.; Seymour, P.; Thomas, R. (1997), "The four color theorem", Journal of Combinatorial Theory, Series B, 70: 2–44, doi:10.1006/jctb.1997.1750.
  19. 19.0 19.1 Bollobás (2001), p. xi.
  20. Gross & Tucker (2012), p. 1.
  21. Template:Multiref
  22. 22.0 22.1 Lovász (2006), p. 76.
  23. Persinger (1966).
  24. Lovász (2006), p. 77.
  25. Lovász (2006), p. 78, Theorem 4.
  26. Foulds (1992), p. 71.
  27. Gross & Tucker (2012), p. 215.
  28. Gross & Tucker (2012), p. 57.
  29. Gross & Tucker (2012), p. 72.
  30. Template:Multiref
  31. Biggs (1993), Chapter 15: Automorphisms of graphs.
  32. 32.0 32.1 Godsil & Royle (2001), pp. xii–ixi.
  33. Gross & Tucker (2012), p. 70.
  34. Biggs (1993), p. 64.
  35. Biggs (1993), p. 98.
  36. Pach (2018), p. 257.
  37. 37.0 37.1 Bounceur, Bezoui & Euler (2019), pp. 13–14.
  38. Template:Multiref
  39. 39.0 39.1 McKee & McMorris (1999), p. 1–2.
  40. 40.0 40.1 Grünbaum (2006), p. 181.
  41. Everett & Corneil (1995).
  42. Ziegler (2007), pp. 628–642.
  43. Template:Multiref
  44. Chalopin & Gonçalves (2009).
  45. Di Battista et al. (1994), p. viii.
  46. Di Battista et al. (1994), p. 14.
  47. Di Battista et al. (1994), p. 16.
  48. 48.0 48.1 Pach & Sharir (2009).
  49. Malitz & Papakostas (1994).
  50. Chartrand et al. (2024), p. 221.
  51. Bollobas (2013), p. 104.
  52. Bollobas (2013), p. 123.
  53. Template:Multiref
  54. Wilson (1996).
  55. Sedgewick & Flajolet (2013), p. 286.
  56. Morin (2004).
  57. McDiarmid, Johnson & Stone (1997).
  58. Hale, Scott A. (2014). "Multilinguals and Wikipedia editing". Proceedings of the 2014 ACM conference on Web science. pp. 99–108. arXiv:1312.0976. Bibcode:2013arXiv1312.0976H. doi:10.1145/2615569.2615684. ISBN 978-1-4503-2622-3. S2CID 14027025.
  59. Mashaghi, A.; et al. (2004). "Investigation of a protein complex network". European Physical Journal B. 41 (1): 113–121. arXiv:cond-mat/0304207. Bibcode:2004EPJB...41..113M. doi:10.1140/epjb/e2004-00301-0. S2CID 9233932.
  60. Shah, Preya; Ashourvan, Arian; Mikhail, Fadi; Pines, Adam; Kini, Lohith; Oechsel, Kelly; Das, Sandhitsu R; Stein, Joel M; Shinohara, Russell T (2019-07-01). "Characterizing the role of the structural connectome in seizure dynamics". Brain. 142 (7): 1955–1972. doi:10.1093/brain/awz125. ISSN 0006-8950. PMC 6598625. PMID 31099821.
  61. Adali, Tulay; Ortega, Antonio (May 2018). "Applications of Graph Theory [Scanning the Issue]". Proceedings of the IEEE. 106 (5): 784–786. doi:10.1109/JPROC.2018.2820300. ISSN 0018-9219.
  62. Lua error in package.lua at line 80: module 'Module:Citation/CS1/Suggestions' not found.
  63. Vecchio, F (2017). ""Small World" architecture in brain connectivity and hippocampal volume in Alzheimer's disease: a study via graph theory from EEG data". Brain Imaging and Behavior. 11 (2): 473–485. doi:10.1007/s11682-016-9528-3. PMID 26960946. S2CID 3987492.
  64. Vecchio, F (2013). "Brain network connectivity assessed using graph theory in frontotemporal dementia". Neurology. 81 (2): 134–143. doi:10.1212/WNL.0b013e31829a33f8. PMID 23719145. S2CID 28334693.
  65. Bjorken, J. D.; Drell, S. D. (1965). Relativistic Quantum Fields. New York: McGraw-Hill. p. viii.
  66. Kumar, Ankush; Kulkarni, G. U. (2016-01-04). "Evaluating conducting network based transparent electrodes from geometrical considerations". Journal of Applied Physics. 119 (1): 015102. Bibcode:2016JAP...119a5102K. doi:10.1063/1.4939280. ISSN 0021-8979.
  67. Newman, Mark (2010). Networks: An Introduction (PDF). Oxford University Press. Archived from the original (PDF) on 2020-07-28. Retrieved 2019-10-30.
  68. Grandjean, Martin (2015). "Social network analysis and visualization: Moreno's Sociograms revisited". Redesigned network strictly based on Moreno (1934), Who Shall Survive.
  69. Rosen, Kenneth H. (2011-06-14). Discrete mathematics and its applications (7th ed.). New York: McGraw-Hill. ISBN 978-0-07-338309-5.
  70. Kelly, S.; Black, Michael (2020-07-09). "graphsim: An R package for simulating gene expression data from graph structures of biological pathways" (PDF). Journal of Open Source Software. The Open Journal. 5 (51): 2161. Bibcode:2020JOSS....5.2161K. bioRxiv 10.1101/2020.03.02.972471. doi:10.21105/joss.02161. ISSN 2475-9066. S2CID 214722561.
  71. Shah, Preya; Ashourvan, Arian; Mikhail, Fadi; Pines, Adam; Kini, Lohith; Oechsel, Kelly; Das, Sandhitsu R; Stein, Joel M; Shinohara, Russell T (2019-07-01). "Characterizing the role of the structural connectome in seizure dynamics". Brain. 142 (7): 1955–1972. doi:10.1093/brain/awz125. ISSN 0006-8950. PMC 6598625. PMID 31099821.
  72. Kepner, Jeremy; Gilbert, John (2011). Graph Algorithms in the Language of Linear Algebra. SIAM. p. 1171458. ISBN 978-0-898719-90-1.

References

Online textbooks

Template:Areas of mathematics Template:Computer science Template:Graph Analysis Software