Graph (mathematics)



In mathematics and computer science a graph is the basic object of study in graph theory. Informally speaking, a graph is a set of objects called points or vertices connected by links called lines or edges. In a graph proper, which is by default undirected, a line from point A to point B is considered to be the same thing as a line from point B to point A. In a digraph, short for directed graph, the two directions are counted as being distinct arcs or directed edges. Typically, a graph is depicted in diagrammatic form as a set of dots (for the points, vertices, or nodes), joined by curves (for the lines or edges).

Definitions
Definitions in graph theory vary in the literature. The following are some of the more basic ways of defining graphs and related structures.

Undirected graph
A graph or undirected graph G is an ordered pair G := (V, E) that is subject to the following conditions:
 * V is a set of vertices or nodes,
 * E is a set of unordered pairs of distinct vertices, called edges or lines.
 * The vertices belonging to an edge are called the ends, endpoints, or end vertices of the edge.

V (and hence E) are usually taken to be finite sets, 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 case.

Directed graph
A directed graph or digraph G is an ordered pair G:=(V, A) with
 * V, a set of vertices or nodes,
 * A, a set of ordered pairs of vertices, called directed edges, arcs, or arrows. An edge e = (x, y) is considered to be directed from x to y; y is called the head and x is called the tail of the edge.

A variation on this definition is the oriented graph, which is a graph (or multigraph; see below) with an orientation or direction assigned to each of its edges. A distinction between a directed graph and an oriented simple graph is that if x and y are vertices, a directed graph allows both (x, y) and (y, x) as edges, while only one is permitted in an oriented graph. A more fundamental difference is that, in a directed graph (or multigraph), the directions are fixed, but in an oriented graph (or multigraph), only the underlying graph is fixed, while the orientation may vary.

A directed acyclic graph, also called a dag or DAG, is a directed graph with no directed cycles.

A quiver is sometimes said to be simply a directed graph, but in practice it is a directed graph with vector spaces attached to the vertices and linear transformations attached to the arcs.

Mixed graph
A mixed graph G is an ordered triple G := (V,E,A) with V, E and A defined as above.

Variations in the definitions
As defined above, edges of undirected graphs have distinct ends, and E and A are sets (with distinct elements, like all sets). Many applications require more general possibilities, but terminology varies.

A loop is an edge (directed or undirected) with both ends the same; these may be permitted or not permitted according to the application. In this context, an edge with two different ends is called a link.

Sometimes E and A are allowed to be multisets, so that there can be more than one edge between the same two vertices. Another way to allow multiple edges is to make E a set, independent of V, and to specify the endpoints of an edge by an incidence relation between V and E. The same applies to a directed edge set A, except that there must be two incidence relations, one for the head and one for the tail of each edge.

The unqualified word "graph" might allow or disallow loops or multiple edges in the literature, according to the preferences of the author and the requirements of the particular topic. If it is intended to exclude multiple edges (and, in the undirected case, to exclude loops), the graph can be called simple. On the other hand, if it is intended to allow multiple edges (and sometimes loops), the graph can be called a multigraph. Sometimes the word pseudograph is used to indicate that both multiple edges and loops are allowed. In exceptional situations it is even necessary to have edges with only one end, called halfedges, or no ends (loose edges); see for example signed graphs.

Properties of graphs

 * For more definitions see Glossary of graph theory.

Two edges of a graph are called adjacent (sometimes coincident) if they share a common vertex. Similarly, two vertices are called adjacent if they share a common edge, that is they are joined by an edge. An edge and a vertex on that edge are called incident.

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, empty graph, or null graph (there is no consistency in the literature). The graph with no vertices and no edges is sometimes called the null graph or empty graph, but not all mathematicians allow this object.

In a weighted graph or digraph, each edge is associated with some value, variously called its cost, weight, length or other term depending on the application; such graphs arise in many contexts, for example in optimal routing problems such as the traveling salesman problem.

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; then the graph may be called unlabeled. (Of course, the vertices may be still distinguishable by the properties of the graph itself, e.g., by the numbers of incident edges). If vertices are indistinguishable they may be distinguished by giving each vertex a label, hence the name vertex-labeled graph. The same remarks apply to edges, so that graphs which have labeled edges are called edge-labeled graphs. 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 unlabelled. (Note that in the literature the term labeled may apply to other kinds of labeling, besides that which serves only to distinguish different vertices or edges.)

Examples
The picture is a graphic representation of the following graph The fact that vertex 1 is adjacent to vertex 2 is sometimes denoted by 1 ~ 2.
 * V:={1,2,3,4,5,6}
 * E:={{1,2},{1,5},{2,3},{2,5},{3,4},{4,5},{4,6}}


 * In category theory a category can be considered a directed multigraph with the objects as vertices and the morphisms as directed edges. The functors between categories induce then some, but not necessarily all, of the digraph morphisms.
 * In computer science directed graphs are used to represent finite state machines and many other discrete structures.
 * A binary relation R on a set X is a simple directed graph. Two edges x,y of X are connected by an arrow if xRy.

Important graphs

 * In a complete graph each pair of vertices is joined by an edge, that is, the graph contains all possible edges.
 * A planar graph can be drawn in a plane (embedded in a plane) with no crossing edges.
 * A tree is a connected graph with no cycles.
 * Bipartite graphs
 * Perfect graphs
 * Cographs
 * Cayley graphs
 * The Petersen graph and its generalizations

Operations on graphs
There are several operations that produce new graphs from old ones.

Unary operations

 * Line graph
 * Dual graph
 * Complement graph

Binary operations

 * Cartesian product of graphs
 * Tensor product of graphs
 * Strong product of graphs
 * Lexicographic product of graphs
 * Zig-zag product of graphs

Generalizations
In a hypergraph, an edge can join more than two vertices.

An undirected graph can be seen as a simplicial complex consisting of 1-simplices (the edges) and 0-simplices (the vertices). As such, complexes are generalizations of graphs since they allow for higher-dimensional simplices.

Every graph gives rise to a matroid, but in general the graph cannot be recovered from its matroid, so matroids are not truly generalizations of graphs.

In model theory, a graph is just a structure. But in that case, there is no limitation on the number of edges: it can be any cardinal number.