HOME

TheInfoList



OR:

In
mathematics Mathematics is an area of knowledge that includes the topics of numbers, formulas and related structures, shapes and the spaces in which they are contained, and quantities and their changes. These topics are represented in modern mathematics ...
, calculus on finite weighted graphs is a
discrete calculus Discrete calculus or the calculus of discrete functions, is the mathematical study of ''incremental'' change, in the same way that geometry is the study of shape and algebra is the study of generalizations of arithmetic operations. The word ''ca ...
for functions whose
domain Domain may refer to: Mathematics *Domain of a function, the set of input values for which the (total) function is defined **Domain of definition of a partial function **Natural domain of a partial function **Domain of holomorphy of a function * Do ...
is the vertex set of a
graph Graph may refer to: Mathematics *Graph (discrete mathematics), a structure made of vertices and edges **Graph theory, the study of such graphs and their properties *Graph (topology), a topological space resembling a graph in the sense of discre ...
with a finite number of vertices and weights associated to the edges. This involves formulating discrete
operators Operator may refer to: Mathematics * A symbol indicating a mathematical operation * Logical operator or logical connective in mathematical logic * Operator (mathematics), mapping that acts on elements of a space to produce elements of another sp ...
on graphs which are analogous to differential operators in
calculus Calculus, originally called infinitesimal calculus or "the calculus of infinitesimals", is the mathematical study of continuous change, in the same way that geometry is the study of shape, and algebra is the study of generalizations of arithm ...
, such as graph Laplacians (or
discrete Laplace operator In mathematics, the discrete Laplace operator is an analog of the continuous Laplace operator, defined so that it has meaning on a graph or a discrete grid. For the case of a finite-dimensional graph (having a finite number of edges and vertice ...
s) as discrete versions of the
Laplacian In mathematics, the Laplace operator or Laplacian is a differential operator given by the divergence of the gradient of a scalar function on Euclidean space. It is usually denoted by the symbols \nabla\cdot\nabla, \nabla^2 (where \nabla is the ...
, and using these operators to formulate
differential equation In mathematics, a differential equation is an equation that relates one or more unknown functions and their derivatives. In applications, the functions generally represent physical quantities, the derivatives represent their rates of change, an ...
s,
difference equations In mathematics, a recurrence relation is an equation according to which the nth term of a sequence of numbers is equal to some combination of the previous terms. Often, only k previous terms of the sequence appear in the equation, for a paramete ...
, or variational models on graphs which can be interpreted as discrete versions of
partial differential equations In mathematics, a partial differential equation (PDE) is an equation which imposes relations between the various partial derivatives of a multivariable function. The function is often thought of as an "unknown" to be solved for, similarly to ...
or continuum variational models. Such equations and models are important tools to mathematically model, analyze, and process discrete information in many different research fields, e.g.,
image processing An image is a visual representation of something. It can be two-dimensional, three-dimensional, or somehow otherwise feed into the visual system to convey information. An image can be an artifact, such as a photograph or other two-dimensiona ...
,
machine learning Machine learning (ML) is a field of inquiry devoted to understanding and building methods that 'learn', that is, methods that leverage data to improve performance on some set of tasks. It is seen as a part of artificial intelligence. Machine ...
, and
network analysis Network analysis can refer to: * Network theory, the analysis of relations through mathematical graphs ** Social network analysis, network theory applied to social relations * Network analysis (electrical circuits) See also *Network planning and ...
. In applications, finite weighted graphs represent a finite number of entities by the graph's vertices, any pairwise relationships between these entities by graph edges, and the significance of a relationship by an edge weight function. Differential equations or difference equations on such graphs can be employed to leverage the graph's structure for tasks such as
image segmentation In digital image processing and computer vision, image segmentation is the process of partitioning a digital image into multiple image segments, also known as image regions or image objects ( sets of pixels). The goal of segmentation is to simpl ...
(where the vertices represent
pixel In digital imaging, a pixel (abbreviated px), pel, or picture element is the smallest addressable element in a raster image, or the smallest point in an all points addressable display device. In most digital display devices, pixels are the smal ...
s and the weighted edges encode pixel similarity based on comparisons of
Moore neighborhood In cellular automata, the Moore neighborhood is defined on a two-dimensional square lattice and is composed of a central cell and the eight cells that surround it. Name The neighborhood is named after Edward F. Moore, a pioneer of cellular au ...
s or larger windows),
data clustering Cluster analysis or clustering is the task of grouping a set of objects in such a way that objects in the same group (called a cluster) are more similar (in some sense) to each other than to those in other groups (clusters). It is a main task of ...
, data classification, or
community A community is a social unit (a group of living things) with commonality such as place, norms, religion, values, customs, or identity. Communities may share a sense of place situated in a given geographical area (e.g. a country, village, tow ...
detection in a
social network A social network is a social structure made up of a set of social actors (such as individuals or organizations), sets of dyadic ties, and other social interactions between actors. The social network perspective provides a set of methods for an ...
(where the vertices represent users of the network, the edges represent links between users, and the weight function indicates the strength of interactions between users). The main advantage of finite weighted graphs is that by not being restricted to highly regular structures such as discrete
regular grid A regular grid is a tessellation of ''n''-dimensional Euclidean space by congruent parallelotopes (e.g. bricks). Its opposite is irregular grid. Grids of this type appear on graph paper and may be used in finite element analysis, finite volume ...
s,
lattice graph In graph theory, a lattice graph, mesh graph, or grid graph is a graph whose drawing, embedded in some Euclidean space , forms a regular tiling. This implies that the group of bijective transformations that send the graph to itself is a latti ...
s, or
meshes A mesh is a barrier made of connected strands of metal, fiber, or other flexible or ductile materials. A mesh is similar to a web or a net in that it has many attached or woven strands. Types * A plastic mesh may be extruded, oriented, ex ...
, they can be applied to represent abstract data with irregular interrelationships. If a finite weighted graph is geometrically embedded in a Euclidean space, i.e., the graph vertices represent points of this space, then it can be interpreted as a discrete approximation of a related
nonlocal operator In mathematics, a nonlocal operator is a mapping which maps functions on a topological space to functions, in such a way that the value of the output function at a given point cannot be determined solely from the values of the input function in ...
in the continuum setting.


Basic definitions

A finite weighted graph G is defined as a triple G = (V, E, w) for which * V = \, n\in\mathbb, is a finite set of indices denoted as graph vertices or nodes, * E \subset V \times V is a finite set of (directed) graph edges connecting a subset of vertices, * w \colon E \rightarrow \mathbb is an edge weight function defined on the edges of the graph. In a
directed graph In mathematics, and more specifically in graph theory, a directed graph (or digraph) is a graph that is made up of a set of vertices connected by directed edges, often called arcs. Definition In formal terms, a directed graph is an ordered pa ...
, each edge (x_i,x_j)\in E has a start node x_i\in V and an end node x_j\in V. In an
undirected graph In discrete mathematics, and more specifically in graph theory, a graph is a structure amounting to a set of objects in which some pairs of the objects are in some sense "related". The objects correspond to mathematical abstractions called '' v ...
for every edge (x_i,x_j) there exists an edge (x_j,x_i) and the weight function is required to be symmetric, i.e., w(x_i,x_j) = w(x_j,x_i). On the remainder of this page, the graphs will be assumed to be undirected, unless specifically stated otherwise. Many of the ideas presented on this page can be generalized to directed graphs. The ''edge weight function'' w associates to every edge (x_i,x_j) \in E a real value w(x_i,x_j) > 0. For both mathematical and application specific reasons, the weight function on the edges is often required to be strictly positive and on this page it will be assumed to be so unless specifically stated otherwise. Generalizations of many of the ideas presented on this page to include negatively weighted edges are possible. Sometimes an extension of the domain of the edge weight function to V\times V is considered (with the resulting function still being called the ''edge weight function'') by setting w(x_i,x_j)=0 whenever (x_i,x_j) \not\in E. In applications each ''graph vertex'' x \in V usually represents a single entity in the given data, e.g., elements of a finite data set, pixels in an image, or users in a social network. A ''graph edge'' represents a relationship between two entities, e.g. pairwise interactions or similarity based on comparisons of geometric neighborhoods (for example of pixels in images) or of another feature, with the edge weight encoding the strength of this relationship. Most commonly used weight functions are normalized to map to values between 0 and 1, i.e., w : E \rightarrow (0,1] . In the following it is assumed that the considered graphs are Connected graph, connected without self-loops or
multiple edges In graph theory, multiple edges (also called parallel edges or a multi-edge), are, in an undirected graph, two or more edges that are incident to the same two vertices, or in a directed graph, two or more edges with both the same tail vertex ...
between vertices. These assumptions are mostly harmless as in many applications each connected component of a disconnected graph can be treated as a graph in its own right, each appearance of w(x_i,x_i) (which would be nonzero in the presence of self-loops) appears in the presence of another factor which disappears when i=j (see the section on differential graph operators below), and edge weights can encode similar information as multiple edges could.


Neighborhood

A node x_j \in V is a neighbor of the node x_i \in V if there exists an edge (x_i,x_j) \in E. In terms of notation this relationship can be abbreviated by x_j \sim x_i, which should be read as "x_j is a neighbor of x_i". Otherwise, if x_j is not a neighbor of x_i one writes x_j\not\sim x_i. The
neighborhood A neighbourhood (British English, Irish English, Australian English and Canadian English) or neighborhood (American English; see spelling differences) is a geographically localised community within a larger city, town, suburb or rural area, ...
\mathcal N(x_i) of a vertex x_i \in V is simply the set of neighbors \mathcal(x_i) := \. The
degree Degree may refer to: As a unit of measurement * Degree (angle), a unit of angle measurement ** Degree of geographical latitude ** Degree of geographical longitude * Degree symbol (°), a notation used in science, engineering, and mathematics ...
of a vertex x_i \in V is the weighted size of its neighborhood: : \deg(x_i) := \sum_ w(x_i,x_j). Note that in the special case where w\equiv 1 on E (i.e. the graph is unweighted) we have \deg(x_i) := , \mathcal(x_i), .


Space of real vertex functions

Let \mathcal(V) := \ be the space of (real) vertex functions. Since V is a finite set, any vertex function f\in \mathcal(V) can be represented as a n-dimensional vector f \in \mathbb^n (where n:= , V, ) and hence the space of vertex functions \mathcal(V) can be identified with an n-dimensional Hilbert space: \mathcal(V) \cong \mathbb^n. The inner product of \mathcal(V) is defined as: : \langle f, g \rangle_ := \sum_ f(x_i) g(x_i), \quad \forall f, g \in \mathcal(V). Furthermore, for any vertex function f \in \mathcal(V) the \ell_p-norm and \ell_\infty-norm of f are defined as: : \, f\, _p = \begin \left( \sum_ , f(x_i), ^p \right)^\frac, &\text 1 \leqslant p < \infty \ ,\\ \max_, f(x_i), , &\text p = \infty \ . \end The \ell_2-norm is induced by the inner product. In applications vertex functions are useful to label the vertices of the nodes. For example, in graph-based data clustering, each node represents a data point and a vertex function is used to identify cluster membership of the nodes.


Space of real edge functions

Analogously to real vertex functions, one can introduce the space of real edge functions \mathcal(E) := \. As any edge function F is defined on a finite set of edges E, it can be represented as a m-dimensional vector F \in \mathbb^, where m := , E, . Hence, the space of edge functions \mathcal(E) can be identified as a m-dimensional Hilbert space, i.e., \mathcal(E) \cong \mathbb^. One special case of an edge function is the ''normalized edge weight function'' w \colon E \rightarrow (0, 1] introduced above in the #Basic definitions, section on basic definitions. Similar to that function, any edge function F can be trivially extended to V \times V by setting F(x_i, x_j) := 0 if (x_i, x_j) \not\in E. The space of those extended edge functions is still denoted by \mathcal(E) and can be identified with \mathbb^m, where now m := , V, ^2. The inner product of \mathcal(E) is defined as: : \langle F, G \rangle_ := \sum_ F(x_i, x_j) G(x_i, x_j), \quad \forall F, G \in \mathcal(E). Additionally, for any edge function F \in \mathcal(V) the \ell_p-norm and \ell_\infty-norm of F are defined as: : \, F\, _p = \begin \left(\sum_ , F(x_i, x_j), ^p\right)^\frac &\text 1 \leqslant p < \infty \ ,\\ \max_, F(x_i, x_j), , &\text p = \infty \ . \end The \ell_2-norm is induced by the inner product. If one extends the edge set E in a way such that E = V \times V than it becomes clear that \mathcal(E) \cong \mathbb^ because \mathcal(V) \cong \mathbb^n. This means that each edge function can be identified with a linear matrix operator.


Differential graph operators

An important ingredient in the calculus on finite weighted graphs is the mimicking of standard differential operators from the continuum setting in the discrete setting of finite weighted graphs. This allows one to translate well-studied tools from mathematics, such as partial differential equations and variational methods, and make them usable in applications which can best be modeled by a graph. The fundamental concept which makes this translation possible is the graph gradient, a first-order difference operator on graphs. Based on this one can derive higher-order difference operators, e.g., the graph Laplacian.


First-order differential operators


Weighted differences

Let G = (V,E,w) be a finite weighted graph and let f\in \mathcal(V) be a vertex function. Then the weighted difference (or weighted graph derivative) of f along a directed edge (x_i,x_j) \in E is : \partial_f(x_i) \ := \ \sqrt\left(f(x_j) - f(x_i)\right). For any weighted difference the following properties hold: * \partial_f(x_j) = -\partial_f(x_i), * \partial_f(x_i) = 0, * f(x_i) = f(x_j) \Rightarrow \partial_f(x_i) = 0.


Weighted gradient

Based on the notion of weighted differences one defines the weighted gradient operator on graphs \nabla_w: \mathcal(V) \rightarrow \mathcal(E) as : (\nabla_w f)(x_i, x_j) \ = \ \partial_f(x_i). This is a
linear operator In mathematics, and more specifically in linear algebra, a linear map (also called a linear mapping, linear transformation, vector space homomorphism, or in some contexts linear function) is a mapping V \to W between two vector spaces that pre ...
. To measure the ''local variation'' of a vertex function f in a vertex x_i \in V one can restrict the gradient \nabla_w f of f to all directed edges starting in x_i and using the \ell_p-norm of this edge function, i.e., : \, (\nabla_w f)(x_i,\cdot)\, _ = \begin \left(\sum_w(x_i, x_j)^\frac, f(x_j) - f(x_i), ^p\right)^\frac &\text 1 \leq p < \infty,\\ \max_ \sqrt, f(x_j) - f(x_i), &\text p = \infty. \end


Weighted divergence

The
adjoint operator In mathematics, specifically in operator theory, each linear operator A on a Euclidean vector space defines a Hermitian adjoint (or adjoint) operator A^* on that space according to the rule :\langle Ax,y \rangle = \langle x,A^*y \rangle, where ...
\nabla_w^*\colon\mathcal(E)\rightarrow \mathcal(V) of the weighted gradient operator is a linear operator defined by : \langle \nabla_wf,G\rangle_ = \langle f,\nabla_w^*G\rangle_ \quad \text f\in \mathcal(V), G\in \mathcal(E). For undirected graphs with a symmetric weight function w \in \mathcal(E) the adjoint operator \nabla_w^* of a function F\in \mathcal(E) at a vertex x_i\in V has the following form: : \left(\nabla_w^*F\right)(x_i) \ = \ \sum_. One can then define the weighted divergence operator on graphs via the adjoint operator as \operatorname_w := -\nabla_w^*. The divergence on a graph measures the net outflow of an edge function in each vertex of the graph.


Second-order differential operators


Graph Laplace operator

The weighted graph Laplacian \Delta_w : \mathcal(V) \rightarrow \mathcal(V) is a well-studied operator in the graph setting. Mimicking the relationship \operatorname(\nabla f) = \Delta f of the Laplace operator in the continuum setting, the weighted graph Laplacian can be derived for any vertex x_i \in V as: : \begin (\operatorname_w(\nabla_w f))(x_i) &= \frac\sum_\sqrt(\nabla_w f(x_j, x_i) - \nabla_w f(x_i, x_j))\\ &= \frac\sum_\sqrt\left(\sqrt(f(x_j) - f(x_i)) - \sqrt(f(x_i) - f(x_j))\right)\\ &= \frac\sum_w(x_i, x_j)(2f(x_j) - 2f(x_i))\\ &= \sum_w(x_i, x_j)(f(x_j) - f(x_i)) \ =: \ (\Delta_w f)(x_i). \end Note that one has to assume that the graph G is undirected and has a symmetric weight function w(x_i, x_j) = w(x_j, x_i) for this representation.


Graph p-Laplace operators

The continuous p-Laplace operator is a second-order differential operator that can be well-translated to finite weighted graphs. It allows the translation of various partial differential equations, e.g., the heat equation, to the graph setting. Based on the first-order partial difference operators on graphs one can formally derive a family of weighted graph p-Laplace operators \Delta_ \colon \mathcal(V) \rightarrow \mathcal(V) for 1 \leq p < \infty by minimization of the discrete p-Dirichlet energy functional : E(f) \ := \ \frac \sum_ \, \nabla_w f(x_i,\cdot)\, _^p. The necessary optimality conditions for a minimizer of the energy functional E lead to the following definition of the graph p-Laplacian: : (\Delta_ f)(x_i) \ := \ \sum_ w(x_i, x_j)^\frac , f(x_j) - f(x_i), ^ (f(x_j) - f(x_i)). Note that the graph Laplace operator is a special case of the graph p-Laplace operator for p = 2, i.e., : (\Delta_ f)(x_i) \ = \ (\Delta_w f)(x_i) \ = \ \sum_ w(x_i, x_j) (f(x_j) - f(x_i)).


Applications

Calculus on finite weighted graphs is used in a wide range of applications from different fields such as image processing, machine learning, and network analysis. A non-exhaustive list of tasks in which finite weighted graphs have been employed is: *
image denoising Noise reduction is the process of removing noise from a signal. Noise reduction techniques exist for audio and images. Noise reduction algorithms may distort the signal to some degree. Noise rejection is the ability of a circuit to isolate an und ...
*
image segmentation In digital image processing and computer vision, image segmentation is the process of partitioning a digital image into multiple image segments, also known as image regions or image objects ( sets of pixels). The goal of segmentation is to simpl ...
* image inpainting *
tomographic reconstruction Tomographic reconstruction is a type of multidimensional inverse problem where the challenge is to yield an estimate of a specific system from a finite number of projections. The mathematical basis for tomographic imaging was laid down by Johann ...
*
inverse problem An inverse problem in science is the process of calculating from a set of observations the causal factors that produced them: for example, calculating an image in X-ray computed tomography, source reconstruction in acoustics, or calculating the ...
s *
data clustering Cluster analysis or clustering is the task of grouping a set of objects in such a way that objects in the same group (called a cluster) are more similar (in some sense) to each other than to those in other groups (clusters). It is a main task of ...
*
point cloud Point or points may refer to: Places * Point, Lewis, a peninsula in the Outer Hebrides, Scotland * Point, Texas, a city in Rains County, Texas, United States * Point, the NE tip and a ferry terminal of Lismore, Inner Hebrides, Scotland * Point ...
compression * hand-written digit recognition


See also

* Phase field models on graphs


Notes

:1.Note that a slightly different definition of ''undirected graph'' is also in use, which considers an undirected edge to be a two-set (set with two distinct elements) \ instead of a pair of
ordered pair In mathematics, an ordered pair (''a'', ''b'') is a pair of objects. The order in which the objects appear in the pair is significant: the ordered pair (''a'', ''b'') is different from the ordered pair (''b'', ''a'') unless ''a'' = ''b''. (In con ...
s (x_i,x_j) and (x_j,x_i). Here the latter description is needed, as it is required to allow edge functions in \mathcal{H}(E) (see the section about the space of edge functions) to take different values on (x_i,x_j) and (x_j,x_i).


References

Calculus Graph theory