Content deleted Content added
m Reverted edits by 2A02:C7D:5299:1300:59F7:304F:7D1D:B37A (talk) (HG) (3.3.3) |
Undid revision 1305550508 by EulerianTrail (talk) the sentence doesn't make sense with "simply" moved like that; the second form is the simple one |
||
(318 intermediate revisions by more than 100 users not shown) | |||
Line 1:
{{about|sets of vertices connected by edges|graphs of mathematical functions|Graph of a function|other uses|Graph (disambiguation)}}
{{short description|Vertices connected in pairs by edges}}
[[File:6n-graf.svg|thumb|A graph with six vertices and seven edges]]
In [[discrete mathematics]],
The edges may be directed or undirected. For example, if the vertices represent people at a party, and there is an edge between two people if they shake hands, then this graph is undirected because any person ''A'' can shake hands with a person ''B'' only if ''B'' also shakes hands with ''A''. In contrast, if
Graphs are the basic subject studied by
* J. J. Sylvester (February 7, 1878) [https://books.google.com/books?id=KcoKAAAAYAAJ&
* J. J. Sylvester (1878) [https://books.google.com/books?id=1q0EAAAAYAAJ&pg=PA64
| title = Handbook of graph theory
| first1 = Jonathan L.
Line 16 ⟶ 17:
| publisher = [[CRC Press]]
| year = 2004
| page = [https://books.google.com/books?id=mKkIGIea_BkC&pg
| isbn = 978-1-58488-090-5
| url = https://books.google.com/books?id=mKkIGIea_BkC
|
| archive-date = 2023-02-04
| archive-url = https://web.archive.org/web/20230204142959/https://books.google.com/books?id=mKkIGIea_BkC
| url-status = live
}}</ref>
== Definitions ==
Definitions in graph theory vary. The following are some of the more basic ways of defining graphs and related [[mathematical
=== {{anchor|Undirected graph}} Graph ===
[[File:Undirected.svg|thumb|upright|A graph with three vertices and three edges]]
The vertices {{mvar|u}} and {{mvar|v}} of an edge {{math|{''u'', ''v''} }} are called the edge's ''endpoints''. The edge is said to ''join'' {{mvar|u}} and {{mvar|v}} and to be ''incident'' on them. A vertex may belong to no edge, in which case it is not joined to any other vertex and is called ''isolated''. When an edge <math>\{u,v\}</math> exists, the vertices {{mvar|u}} and {{mvar|v}} are called ''adjacent''.
A [[multigraph]] is a generalization that allows multiple edges to have the same pair of endpoints. In some texts, multigraphs are simply called graphs.{{sfn|Bender|Williamson|2010|p=149}}<ref>Graham et al., p. 5.</ref>
Sometimes, graphs are allowed to contain ''[[Loop (graph theory)|loop]]s'', which are edges that join a vertex to itself. To allow loops, the pairs of vertices in {{mvar|E}} must be allowed to have the same node twice. Such generalized graphs are called ''graphs with loops'' or simply ''graphs'' when it is clear from the context that loops are allowed.
Generally, the vertex set {{mvar|V}} is taken to be finite (which implies that the edge set {{mvar|E}} is also finite). Sometimes [[infinite graph]]s are considered, but they are usually viewed as a special kind of [[binary relation]], because most results on finite graphs either do not extend to the infinite case or need a rather different proof.
An [[empty graph]] is a graph that has an [[empty set]] of vertices (and thus an empty set of edges). The ''order'' of a graph is its number {{math|{{abs|''V''}}}} of vertices, usually denoted by {{mvar|n}}. The ''size'' of a graph is its number {{math|{{abs|''E''}}}} of edges, typically denoted by {{mvar|m}}. However, in some contexts, such as for expressing the [[computational complexity]] of algorithms, the term ''size'' is used for the quantity {{math|{{abs|''V''}} + {{abs|''E''}}}} (otherwise, a non-empty graph could have size 0). The ''degree'' or ''valency'' of a vertex is the number of edges that are incident to it; for graphs with loops, a loop is counted twice.
In a graph of order {{math|''n''}}, the maximum degree of each vertex is {{math|''n'' − 1}} (or {{math|''n'' + 1}} if loops are allowed, because a loop contributes 2 to the degree), and the maximum number of edges is {{math|''n''(''n'' − 1)/2}} (or {{math|''n''(''n'' + 1)/2}} if loops are allowed).
The edges of a graph define a [[symmetric relation]] on the vertices, called the ''adjacency relation''. Specifically, two vertices {{mvar|x}} and {{mvar|y}} are ''adjacent'' if {{math|{''x'', ''y''} }} is an edge. A graph is fully determined by its [[adjacency matrix]] {{mvar|A}}, which is an {{math|''n'' × ''n''}} square matrix, with {{mvar|A{{sub|ij}}}} specifying the number of connections from vertex {{mvar|i}} to vertex {{mvar|j}}. For a simple graph, {{math|''A{{sub|ij}}''}} is either 0, indicating disconnection, or 1, indicating connection; moreover {{math|1=''A{{sub|ii}}'' = 0}} because an edge in a simple graph cannot start and end at the same vertex. Graphs with self-loops will be characterized by some or all {{mvar|A{{sub|ii}}}} being equal to a positive integer, and multigraphs (with multiple edges between vertices) will be characterized by some or all {{mvar|A{{sub|ij}}}} being equal to a positive integer. Undirected graphs will have a [[symmetric matrix|symmetric]] adjacency matrix (meaning {{math|1=''A{{sub|ij}}'' = ''A{{sub|ji}}''}}).
=== Directed graph ===
{{main|Directed graph}}
[[File:Directed.svg|thumb|upright|A directed graph with three vertices and four directed edges, where the double arrow represents two directed edges in opposite directions]]
A '''directed graph''' or '''digraph''' is a graph in which edges have orientations.
In one restricted but very common sense of the term,{{sfn|Bender|Williamson|2010|p=161}} a '''directed graph''' is a pair {{math|1=''G'' = (''V'', ''E'')}} comprising:
* {{mvar|V}}, a [[Set (mathematics)|set]] of ''vertices'' (also called ''nodes'' or ''points'');
* {{mvar|E}}, a [[Set (mathematics)|set]] of ''edges'' (also called ''directed edges'', ''directed links'', ''directed lines'', ''arrows'', or ''arcs''), which are [[ordered pair]]s of distinct vertices: <math>E \subseteq \{(x,y) \mid (x,y) \in V^2 \;\textrm{ and }\; x \neq y \}</math>.
To avoid ambiguity, this type of object may be called precisely a '''directed simple graph'''.
In the edge {{math|(''x'', ''y'')}} directed from {{mvar|x}} to {{mvar|y}}, the vertices {{mvar|x}} and {{mvar|y}} are called the ''endpoints'' of the edge, {{mvar|x}} the ''tail'' of the edge and {{mvar|y}} the ''head'' of the edge. The edge is said to ''join'' {{mvar|x}} and {{mvar|y}} and to be ''incident'' on {{mvar|x}} and on {{mvar|y}}. A vertex may exist in a graph and not belong to an edge. The edge {{math|(''y'', ''x'')}} is called the ''inverted edge'' of {{math|(''x'', ''y'')}}. ''[[Multiple edges]]'', not allowed under the definition above, are two or more edges with both the same tail and the same head.
In one more general sense of the term allowing multiple edges,{{sfn|Bender|Williamson|2010|p=161}} a directed graph is sometimes defined to be an ordered triple {{math|1=''G'' = (''V'', ''E'', ''ϕ'')}} comprising:
* {{mvar|V}}, a [[Set (mathematics)|set]] of ''vertices'' (also called ''nodes'' or ''points'');
* {{mvar|E}}, a [[Set (mathematics)|set]] of ''edges'' (also called ''directed edges'', ''directed links'', ''directed lines'', ''arrows'' or ''arcs'');
* {{mvar|ϕ}}, an ''incidence function'' mapping every edge to an [[ordered pair]] of vertices (that is, an edge is associated with two distinct vertices): <math>\phi : E \to \{(x,y) \mid (x,y) \in V^2 \;\textrm{ and }\; x \neq y \}</math>.
To avoid ambiguity, this type of object may be called precisely a '''directed multigraph'''.
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>\{(x,y) \mid (x,y) \in V^2 \;\textrm{ and }\; x \neq y \}</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 V^2</math>. For directed multigraphs, the definition of <math>\phi</math> should be modified to <math>\phi : E \to V^2</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.
The edges of a directed simple graph permitting loops {{mvar|G}} is a [[Binary relation#Homogeneous relation|homogeneous relation]] ~ on the vertices of {{mvar|G}} that is called the ''adjacency relation'' of {{mvar|G}}. Specifically, for each edge {{math|(''x'', ''y'')}}, its endpoints {{mvar|x}} and {{mvar|y}} are said to be ''adjacent'' to one another, which is denoted {{math|''x'' ~ ''y''}}.
===
{{main|Mixed graph}}
[[File:Example of simple mixed graph.jpg|thumb|upright|A mixed graph with three vertices, two directed edges, and an undirected edge.]]
A ''mixed graph'' is a graph in which some edges may be directed and some may be undirected. It is an ordered triple {{math|1=''G'' = (''V'', ''E'', ''A'')}} for a ''mixed simple graph'' and {{math|1=''G'' = (''V'', ''E'', ''A'', ''ϕ{{sub|E}}'', ''ϕ{{sub|A}}'')}} for a ''mixed multigraph'' with {{mvar|V}}, {{mvar|E}} (the undirected edges), {{mvar|A}} (the directed edges), {{mvar|ϕ{{sub|E}}}} and {{mvar|ϕ{{sub|A}}}} defined as above. Directed and undirected graphs are special cases.
===
[[File:Weighted_network.svg|thumb|upright=1.2|A weighted graph with ten vertices and twelve edges]]
A ''weighted graph'' or a ''network''<ref>{{Citation | last=Strang | first=Gilbert | title=Linear Algebra and Its Applications | publisher=Brooks Cole | edition=4th | year=2005 | isbn=978-0-03-010567-8 }}</ref><ref>{{Citation | last=Lewis | first=John | title=Java Software Structures | publisher=Pearson | edition=4th | year=2013 | isbn=978-0133250121 | page=405 }}</ref> is a graph in which a number (the weight) is assigned to each edge.<ref>{{cite book|last1=Fletcher|first1=Peter|last2=Hoyle|first2=Hughes|last3=Patty|first3=C. Wayne|title=Foundations of Discrete Mathematics|year=1991|publisher=PWS-KENT Pub. Co.| ___location=Boston| isbn=978-0-53492-373-0| pages=463 | edition=International student|quote=A ''weighted graph'' is a graph in which a number ''w''(''e''), called its ''weight'', is assigned to each edge ''e''.}}</ref> Such weights might represent for example costs, lengths or capacities, depending on the problem at hand. Such graphs arise in many contexts, for example in [[shortest path problem]]s such as the [[traveling salesman problem]].
== Types of graphs ==
=== Oriented graph ===
One definition of an ''oriented graph'' is that it is a directed graph in which at most one of {{nowrap|(''x'', ''y'')}} and {{nowrap|(''y'', ''x'')}} may be edges of the graph. That is, it is a directed graph that can be formed as an [[orientation (graph theory)|orientation]] of an undirected (simple) graph.
Some authors use "oriented graph" to mean the same as "directed graph". Some authors use "oriented graph" to mean any orientation of a given undirected graph or multigraph.
===
{{main|Regular graph}}
A ''regular graph'' is a graph in which each vertex has the same number of neighbours, i.e., every vertex has the same degree. A regular graph with vertices of degree ''k'' is called a ''k''‑regular graph or regular graph of degree ''k''.
===
{{main|Complete graph}}
[[File:Complete graph K5.svg|thumb|
A ''complete graph'' is a graph in which each pair of vertices is joined by an edge. A complete graph contains all possible edges.
===
A ''finite graph'' is a graph in which the vertex set and the edge set are [[finite set]]s. Otherwise, it is called an ''infinite graph''.
Most commonly in graph theory it is implied that the graphs discussed are finite. If the graphs are infinite, that is usually specifically stated.
===
{{main|Connectivity (graph theory)}}
In an undirected graph, an unordered pair of vertices {{
A ''connected graph'' is an undirected graph in which every unordered pair of vertices in the graph is connected. Otherwise, it is called a ''disconnected graph''.
In a directed graph, an ordered pair of vertices {{
A ''strongly connected graph'' is a directed graph in which every ordered pair of vertices in the graph is strongly connected. Otherwise, it is called a ''weakly connected graph'' if every ordered pair of vertices in the graph is weakly connected. Otherwise it is called a ''disconnected graph''.
A ''[[k-vertex-connected graph]]'' or ''[[k-edge-connected graph]]'' is a graph in which no set of {{
===
{{main|Bipartite graph}}
A ''[[bipartite graph]]'' is a simple graph in which the vertex set can be [[Partition of a set|partitioned]] into two sets, ''W'' and ''X'', so that no two vertices in ''W'' share a common edge and no two vertices in ''X'' share a common edge. Alternatively, it is a graph with a [[chromatic number]] of 2.
In a [[complete bipartite graph]], the vertex set is the union of two disjoint sets, ''W'' and ''X'', so that every vertex in ''W'' is adjacent to every vertex in ''X'' but there are no edges within ''W'' or ''X''.
===
{{main|Path graph}}
A ''path graph'' or ''linear graph'' of order {{
===
{{main|Planar graph}}
A ''planar graph'' is a graph whose vertices and edges can be drawn in a plane such that no two of the edges intersect.
===
{{main|Cycle graph}}
A ''cycle graph'' or ''circular graph'' of order {{
===
{{main|Tree (graph theory)}}
A ''tree'' is an undirected graph in which any two [[Vertex (graph theory)|vertices]] are connected by ''exactly one'' [[Path (graph theory)|path]], or equivalently a [[Connected graph|connected]] [[Cycle (graph theory)|acyclic]] undirected graph.
A ''forest'' is
===
{{main|Polytree}}
A ''polytree'' (or ''directed tree'' or ''oriented tree'' or ''singly connected network'') is a [[directed acyclic graph]] (DAG) whose underlying undirected graph is a tree.
A ''polyforest'' (or ''directed forest'' or ''oriented forest'') is a directed acyclic graph whose underlying undirected graph is a forest.
=== Advanced classes ===
More advanced kinds of graphs are:
* [[Petersen graph]] and its generalizations;
Line 161 ⟶ 156:
* [[strongly regular graph]]s and their generalizations [[distance-regular graph]]s.
== Properties of graphs ==
{{see also|Glossary of graph theory|Graph property}}
Two
The graph with only one vertex and no edges is called the ''trivial graph''. A graph with only vertices and no edges is known as an ''edgeless graph''. The graph with no vertices and no edges is sometimes called the ''[[null graph]]'' or ''empty graph'', but the terminology is not consistent and not all mathematicians allow this object.
Normally, the vertices of a graph, by their nature as elements of a set, are distinguishable. This kind of graph may be called ''vertex-labeled''. However, for many questions it is better to treat vertices as indistinguishable. (Of course, the vertices may be still distinguishable by the properties of the graph itself, e.g., by the numbers of incident edges.) The same remarks apply to edges, so graphs with labeled edges are called ''edge-labeled''. Graphs with labels attached to edges or vertices are more generally designated as ''labeled''. Consequently, graphs in which vertices are indistinguishable and edges are indistinguishable are called ''unlabeled''. (
The [[category theory|category]] of
== Examples ==
[[File:6n-graf.svg|thumb|A graph with six
* The diagram
* In [[computer science]], directed graphs are used to represent knowledge (e.g., [[conceptual graph]]), [[finite-state machine]]s, and many other discrete structures.
* A [[binary relation]] ''R'' on a set ''X'' defines a directed graph. An element ''x'' of ''X'' is a direct predecessor of an element ''y'' of ''X'' if and only if ''xRy''.
* A directed graph can model information networks such as [[Twitter]], with one user following another.<ref name="snatwitter">{{Cite journal
*Particularly regular examples of directed graphs are given by the [[Cayley graph]]s of finitely-generated groups, as well as [[Schreier coset graph]]s
*In [[category theory]], every [[small category]] has an underlying directed multigraph whose vertices are the objects of the category, and whose edges are the arrows of the category. In the language of category theory, one says that there is a [[forgetful functor]] from the [[category of small categories]] to the [[Quiver (mathematics)|category of quivers]].
== Graph operations ==
{{main|Graph operations}}
There are several operations that produce new graphs from initial ones, which might be classified into the following categories:
Line 198 ⟶ 191:
** [[strong product of graphs]],
** [[lexicographic product of graphs]],
** [[
== Generalizations ==
In a [[hypergraph]], an edge can join
An undirected graph can be seen as a [[simplicial complex]] consisting of 1-[[simplex|simplices]] (the edges) and 0-simplices (the vertices). As such, complexes are generalizations of graphs since they allow for higher-dimensional simplices.
Line 213 ⟶ 206:
In [[geographic information systems]], [[geometric networks]] are closely modeled after graphs, and borrow many concepts from [[graph theory]] to perform spatial analysis on road networks or utility grids.
== See also ==
* [[Conceptual graph]]
* [[Graph (abstract data type)]]
* [[Graph database]]
* [[Graph drawing]]
* [[List of graph theory topics]]
* [[List of publications in mathematics#Graph theory|List of publications in graph theory]]
* [[Network theory]]
== Notes ==
{{reflist|30em}}
== References ==
* {{cite book |last=Balakrishnan |first=V. K. |date=1997 |title=Graph Theory|publisher=McGraw-Hill
* {{cite book |last1=Bang-Jensen |first1=J. |last2=Gutin |first2=G. |date=2000 |title=Digraphs: Theory, Algorithms and Applications |url=http://www.cs.rhul.ac.uk/books/dbook/ |publisher=Springer }}
* {{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=
* {{cite book |last=
* {{
* {{cite book |last=Diestel |first=Reinhard |date=2005 |title=Graph Theory |url=http://diestel-graph-theory.com/GrTh.html |edition=3rd |___location=Berlin, New York |publisher=Springer-Verlag |isbn=978-3-540-26183-4 }}
* {{cite book |
* {{cite book
* {{cite book |
* {{cite book |last=
* {{cite book |last1=Iyanaga |first1=Shôkichi |last2=Kawada |first2=Yukiyosi |date=1977 |title=Encyclopedic Dictionary of Mathematics |url=https://archive.org/details/encyclopedicdict0000niho |publisher=MIT Press |isbn=978-0-262-09016-2 |url-access=registration }}
* {{cite book |last=Zwillinger |first=Daniel |date=2002 |title=CRC Standard Mathematical Tables and Formulae |edition=31st |publisher=Chapman & Hall/CRC |isbn=978-1-58488-291-6 }}
== Further reading ==
* {{cite book|last=Trudeau|first=Richard J.|title=Introduction to Graph Theory|year=1993|publisher=[[Dover Publications]]|___location=New York|isbn=978-0-486-67870-2|url=http://store.doverpublications.com/0486678709.html|edition=Corrected, enlarged republication.|
== External links ==
{{Library resources box
|by=no
Line 252 ⟶ 242:
|others=no
|about=yes
|label=Graph (mathematics)}}
* {{Commonscatinline}}
* {{MathWorld | urlname=Graph | title = Graph}}
|