Fact-checked by Grok 2 weeks ago

Graph

In mathematics, particularly in the field of , a graph is a fundamental structure defined as an G = (V, E), where V is a nonempty of elements called vertices (or nodes) and E is a set of unordered pairs of distinct vertices called edges, representing connections between them. This defines a simple undirected graph. Graphs model pairwise relations between objects and serve as the core objects of study in , which examines their properties, such as connectivity, cycles, and paths. Common variants include directed graphs (digraphs), where edges have a direction indicating ; and weighted graphs, where edges are assigned numerical values representing costs or distances. The origins of graph theory trace back to 1736, when Swiss mathematician Leonhard Euler solved the Seven Bridges of problem, a puzzle about traversing all seven bridges in the city without repetition, thereby introducing concepts like Eulerian paths and laying the groundwork for the field. Euler's analysis replaced the physical map with an abstract diagram of landmasses (vertices) and bridges (edges), proving no such path existed because not all vertices had even —a property still central to today. The term "graph" was later coined in the by J.J. , and the subject gained momentum in the with contributions from mathematicians like Dénes Kőnig and , leading to applications in diverse areas. Graph theory finds extensive applications across disciplines, including for designing efficient algorithms like shortest-path routing in networks (e.g., ) and optimizing data structures such as binary . In , it models transportation and problems, such as minimum spanning for connecting cities with minimal cost. Biological applications include representing molecular structures in chemistry, where atoms are vertices and bonds are edges. Social sciences leverage graphs to study relationships in networks, from friendship ties to influence propagation.

Mathematics

Definition

In , a graph is a fundamental structure that models pairwise relations between objects, formally defined as an G = (V, E), where V is a nonempty of vertices (also called nodes) and E is a set of edges representing between those vertices. The vertices serve as the basic elements, each representing an entity such as a point, , or object in the modeled system. Edges, on the other hand, denote the relations or interactions between pairs of vertices; in an undirected graph, an edge is an unordered pair \{u, v\} with u, v \in V and u \neq v, indicating a symmetric that can be traversed in either direction. In a (or ), edges are ordered pairs (u, v), reflecting asymmetric relations where the connection has a specific direction from u to v. Graphs can vary in their allowance of certain edge configurations. A simple graph prohibits loops (edges connecting a vertex to itself) and multiple edges between the same pair of vertices, ensuring each edge uniquely joins distinct vertices without repetition. A extends this by permitting multiple edges between the same pair of vertices but disallows loops, while a pseudograph allows both multiple edges and loops, providing greater flexibility for modeling complex relations. The of a graph G is the number of vertices, denoted |V| or v(G), which measures the scale of the entities involved. Its is the number of edges, denoted |E| or e(G), quantifying the of connections. For example, consider the simple undirected graph with vertex set V = \{1, 2, [3](/page/3)\} and edge set E = \{\{1, 2\}, \{2, [3](/page/3)\}\}; this forms a of length 2 connecting the three vertices in sequence, with 3 and 2.

Types

Graphs in graph theory are classified into various types based on the nature of their edges, the presence of directions, weights, and structural constraints on connections between vertices. Undirected graphs, also known as graphs in their basic form, consist of a set of vertices V and a set of edges E, where each edge is an of distinct vertices from V, representing symmetric relationships without . In contrast, directed graphs, or digraphs, extend this structure by assigning a to each edge, modeled as an of vertices, which captures asymmetric relationships such as one-way connections in networks. Graphs can further be distinguished by whether edges carry numerical weights, often representing costs, capacities, or distances. Weighted graphs assign a real-valued weight to each edge via a function w: E \to \mathbb{R}, enabling analysis of optimized paths or flows, whereas unweighted graphs treat all edges as equivalent with implicit weight 1. Bipartite graphs form a subclass where the vertex set V partitions into two disjoint subsets A and B such that every edge connects a vertex in A to one in B, with no edges within the same subset; this structure models matchings and colorings effectively. A prominent example is the complete bipartite graph K_{m,n}, where |A| = m, |B| = n, and every vertex in A connects to all in B. Trees represent connected undirected graphs that contain no cycles, ensuring a unique between any pair of vertices and serving as minimal connected structures with |V| - 1 edges. Forests generalize trees as disjoint unions of trees, allowing multiple connected components without . A in an undirected graph is a closed where the initial and terminal vertices coincide, with at least three vertices and no repeated vertices or edges otherwise; graphs containing such are cyclic, while acyclic graphs lack them entirely. Complete graphs, denoted K_n, connect every pair of n distinct vertices with a unique , maximizing with \binom{n}{2} edges. Conversely, empty graphs, or graphs, feature no edges at all, isolating all vertices. Hypergraphs generalize graphs by allowing edges, termed hyperedges, to connect arbitrary subsets of vertices rather than exactly two, defined as a pair H = (V, E) where E is a family of subsets of V. This accommodates higher-order relations, such as those in combinatorial designs or relational data.

Properties

The degree of a vertex in an undirected graph is defined as the number of edges incident to that vertex. In directed graphs, the in-degree counts incoming edges, while the out-degree counts outgoing edges. A graph is regular if every vertex has the same degree, denoted as k-regular for degree k. The handshaking lemma states that the sum of all vertex degrees equals twice the number of edges, implying that regular graphs on n vertices have exactly nk/2 edges when nk is even. A graph is connected if there exists a between every pair of distinct . Otherwise, it is disconnected, consisting of two or more connected components, where each component is a maximal connected . The of a graph measures its resilience to or removal; for instance, a graph is k-connected if it remains connected after removing fewer than k . The length of a path is the number of edges it contains. The between two vertices is the length of the shortest connecting them, assuming the graph is connected. The of a graph is the maximum between any pair of vertices, providing a measure of the graph's overall span. An traverses each edge exactly once, while an Eulerian circuit is a closed . A connected graph has an Eulerian circuit every has even , and it has an exactly zero or two vertices have odd . A visits each exactly once, and a Hamiltonian cycle is a closed such path. Unlike Eulerian paths, no simple necessary and sufficient exists for a graph to be Hamiltonian, and determining Hamiltonicity is NP-complete. A planar graph can be embedded in the plane without edge crossings. Kuratowski's theorem states that a graph is non-planar if and only if it contains a subdivision of the complete graph K_5 or the complete bipartite graph K_{3,3}. The chromatic number of a graph is the smallest number of colors needed to color the vertices such that no two adjacent vertices share the same color. Brooks' theorem bounds the chromatic number by the maximum degree plus one, with equality only for complete graphs or odd cycles.

Algorithms and Theorems

The states that in any finite undirected graph G = (V, E), the sum of the of all vertices equals twice the number of edges, expressed as \sum_{v \in V} \deg(v) = 2|E|. This result, first established by Leonhard Euler in his 1736 analysis of the bridge problem, follows from counting the endpoints of each edge, where each edge contributes to the of two vertices. A is that the number of vertices with odd must be even, as the total sum is even. Euler's theorem on Eulerian circuits provides a characterization for traversability in connected undirected graphs. It asserts that a connected graph has an —a closed that covers every edge exactly once—if and only if every has even . Euler proved this in his seminal 1736 by demonstrating that even degrees allow pairing of edges at each vertex to form a continuous , while odd degrees necessitate unpaired edges that prevent without repetition. For Eulerian paths (open trails covering all edges), the condition relaxes to exactly zero or two vertices of odd degree. The declares that every is 4-colorable, meaning its vertices can be colored with at most four colors such that no adjacent vertices share the same color. Conjectured in 1852, it was proved in 1976 by Kenneth Appel and Wolfgang Haken using a computer-assisted approach that reduced the problem to checking 1,936 reducible configurations, where each configuration could be shown to be colorable assuming a minimal . Their proof involved discharging methods to simplify the graph structure and exhaustive case analysis, marking the first major theorem verified by computer. König's theorem equates the sizes of maximum matchings and minimum vertex covers in bipartite graphs. Specifically, in a G = (V, E), the cardinality of a maximum matching equals the of a minimum . Proved by Dénes Kőnig in 1916, the theorem relies on the structure of , where ensures matchings and the proof uses alternating paths to show equivalence. This result underpins applications in assignment problems and network flows. Dijkstra's algorithm computes the shortest paths from a single to all other in a with non-negative weights. Developed by in , it maintains a of ordered by tentative distances and iteratively selects the unvisited with the smallest distance, updating neighbors via relaxation. A high-level outline is as follows:
Initialize distance[[source](/page/Source)] = 0 and distance[others] = ∞
Create a [priority queue](/page/Priority_queue) Q containing all [vertices](/page/Vertex), prioritized by distance
While Q is not empty:
    u = extract minimum from Q
    For each neighbor v of u:
        if distance[v] > distance[u] + weight(u, v):
            distance[v] = distance[u] + weight(u, v)
            update priority of v in Q
Using a for the , the is O((|V| + |E|) \log |V|), where |V| is the number of and |E| is the number of . (DFS) is a traversal that explores as far as possible along each branch before , useful for detecting and connected components in undirected graphs. DFS builds a by marking as visited and recursing on unvisited neighbors; a back to an ancestor indicates a . To find connected components, run DFS from each unvisited , with each rooted at a starting defining a component; the runs in O(|V| + |E|) time using adjacency lists. The problem—determining if an undirected graph contains a visiting each exactly once—is NP-complete. Richard Karp demonstrated this in 1972 by from the problem, building on Stephen Cook's 1971 establishing as NP-complete. Karp's constructs a graph where a corresponds to a of specified size, showing the problem's intractability unless P = .

Computing

Data Structures

In , graphs are represented using various data structures to facilitate efficient , querying, and in . These representations balance , query speed, and suitability for different graph densities, with choices depending on whether the graph is sparse (few edges relative to vertices) or dense (many edges). Common structures include adjacency matrices, adjacency lists, incidence matrices, and edge lists, each adapted for undirected, directed, or weighted graphs. The is a two-dimensional array of size V \times V, where V is the number of , and the entry at position (i, j) indicates the presence or weight of an from i to j. For unweighted undirected graphs, the matrix is symmetric with 1s denoting and 0s otherwise, requiring O(V^2) space, which makes it ideal for dense graphs where edge checks can be performed in constant O(1) time. For directed graphs, the matrix is asymmetric to reflect edge directions, while weighted graphs store edge weights as non-zero values instead of 1s. In contrast, the adjacency list uses an array of size V, where each entry is a list (or linked structure) containing the neighbors of the corresponding , achieving O(V + E) space complexity with E as the number of edges. This representation excels for sparse graphs, as it only stores existing edges, and supports efficient traversal starting from a vertex in time proportional to its . For directed graphs, the lists capture outgoing edges by default, though incoming edges can be maintained separately; weighted variants include weight values alongside neighbors in the lists. The is a V \times E where rows represent vertices and columns represent edges, with entries typically indicating endpoints: for undirected graphs, +1 and -1 (or 1s) mark the two endpoints of each edge, while 0s denote non-incident vertices. This structure uses O(V \cdot E) space and is less common for general-purpose storage due to its inefficiency for large graphs but useful in applications requiring edge-focused operations, such as network flows. For directed graphs, entries distinguish tail (+1) and head (-1) vertices. An edge list is the simplest , consisting of a flat list or of E pairs (or tuples) specifying the endpoints of each , using minimal O(E) space. It is straightforward to implement and store but incurs slow query times, such as O(E) for checking edge existence, making it suitable only for scenarios with infrequent queries. Directed and weighted extensions append direction indicators or weight values to each pair. Comparisons among these structures highlight trade-offs: adjacency matrices enable O(1) edge existence checks but waste space on sparse graphs, whereas adjacency optimize space and iteration over neighbors in O(\deg(v)) time per v but require O(V) or O(E) for edge queries. Incidence matrices and edge prioritize edge enumeration but lag in vertex-neighbor access.
RepresentationSpace ComplexityEdge Check TimeNeighbor Traversal TimeBest For
O(V^2)O(1)O(V)Dense graphs, quick lookups
O(V + E)O(V) or O(E)O(\deg(v))Sparse graphs, traversals
O(V \cdot E)O(E)O(E)Edge-centric operations
Edge ListO(E)O(E)O(E)Minimal storage, simple enumeration

Algorithms

Graph algorithms provide computational methods to solve problems on graph data structures, such as traversal, shortest paths, and connectivity, often leveraging representations like adjacency lists for efficient access to neighbors. These procedures are fundamental in computing, enabling analysis and optimization of networks represented as graphs. Key algorithms focus on efficiency in terms of time complexity, measured relative to the number of vertices V and edges E. Breadth-first search (BFS) performs a level-order traversal of a graph starting from a designated source vertex, visiting all vertices at distance k before those at distance k+1. It is ideal for finding shortest paths in unweighted graphs, as each edge represents a uniform cost of 1, and uses a queue to enqueue unvisited neighbors while marking vertices as visited to avoid cycles. The algorithm initializes a queue with the source, processes each vertex by exploring its adjacent edges, and continues until the queue is empty; pseudocode typically involves a visited array and distance array updated during enqueuing. BFS runs in O(V + E) time, linear in the graph size, making it scalable for sparse graphs. This approach was early formalized for maze-solving, influencing modern graph search techniques. The Bellman-Ford algorithm computes shortest paths from a single source to all vertices in a with possible negative edge weights, provided no negative cycles exist. It operates by iteratively relaxing all edges |V| - 1 times, where in each iteration, for every edge (u, v) with weight w, the distance to v is updated if traveling through u yields a shorter path: d = \min(d, d + w). After these iterations, an additional pass detects negative cycles if any can still be improved. Initialized with source distance 0 and others to , the algorithm handles up to |V| - 1 edges in the shortest path. Its is O(V E), suitable for graphs with negative weights but less efficient than alternatives for dense positive-weight graphs. The method originates from network flow considerations. Kruskal's algorithm finds a (MST) in a connected, undirected weighted graph by greedily selecting the smallest edges that do not form cycles. It begins by all E edges in non-decreasing order of weight, then iterates through this list, adding an edge to the MST if its endpoints belong to different connected components, merging them otherwise. To check components and avoid cycles efficiently, it employs a union-find for near-constant-time operations. The resulting connects all vertices with total minimum weight and exactly V - 1 edges. The is O(E \log E) dominated by , enhanced by union-find optimizations. This strategy was introduced alongside connections to the traveling salesman problem. The Floyd-Warshall algorithm solves the all-pairs shortest problem for a weighted , computing distances between every pair of , accommodating negative without negative cycles. It employs dynamic programming on a V \times V d, initialized such that d is the direct weight from i to j (or 0 if i = j, otherwise). For each intermediate k from 1 to V, it updates all pairs (i, j) with d = \min(d, d + d), considering paths via k. This triple loop yields the complete shortest in O(V^3) time, independent of E, making it versatile for dense graphs. An extension tracks predecessors for reconstruction. The core idea builds on representations for existence and lengths.-War.pdf) Union-find, also known as disjoint-set , is a for managing in graphs, supporting two primary operations: find, which identifies the representative (root) of a vertex's set, and , which merges two sets. It represents sets as trees with roots as representatives, using path compression during find—rerouting nodes directly to the root for future efficiency—and by or to keep trees balanced. These heuristics achieve amortized nearly constant time per operation, specifically O(\alpha(V)) where \alpha is the inverse , growing slower than any logarithm. In graph algorithms, it efficiently detects cycles during additions, as in MST , by checking if endpoints share a set before . The structure was developed for maintenance in storage allocation. Parallel graph algorithms extend sequential methods to multicore or distributed systems, often analyzed under the PRAM (Parallel Random Access Machine) model, where multiple processors synchronously access a with concurrent reads/writes resolved by variants like EREW (exclusive read, exclusive write). In PRAM, BFS can be parallelized by assigning processors to explore frontier vertices simultaneously, achieving O(\log V) time with O(V + E) processors for connected components or shortest paths in unweighted graphs. Similarly, parallel MST variants adapt Kruskal by edges in parallel and using concurrent union-find. These extensions highlight for massive graphs in modern , though practical implementations address memory contention. The PRAM model formalized parallel computation abstraction.

Applications

In computer networks, graphs model the where routers or nodes are vertices and links are edges weighted by or . The (OSPF) protocol employs to compute shortest paths for efficient packet routing, enabling dynamic updates in large-scale infrastructures. Social network analysis leverages graph structures to represent users as vertices and interactions, such as friendships, as edges. measures, including and , quantify node influence by assessing connectivity and path mediation, aiding in identifying key influencers for marketing or community detection. Dependency resolution in software ecosystems uses directed graphs to model package interdependencies, with nodes as packages and edges indicating requirements. In systems like , graph-based solvers detect cycles and resolve versions to ensure compatibility during installation. Similarly, the represents project tasks as nodes and precedence constraints as edges in a , identifying the longest path to optimize scheduling and in . In , graph neural networks (GNNs), first proposed by Gori et al. in 2005 as recurrent architectures for graph-structured data, learn node embeddings by propagating information across edges. These embeddings capture relational patterns, powering recommendation systems where user-item interactions form bipartite graphs, improving personalization in platforms like . Compiler optimization relies on control flow graphs (CFGs), which depict program execution as nodes for basic blocks and directed edges for possible transitions. Introduced in early compiler theory, CFGs facilitate analyses like reaching definitions and live variables, enabling transformations such as and to enhance performance. Advancements in the 2020s include quantum graph algorithms, such as quantum walk-based methods for the minimum spanning tree problem, which promise quadratic speedups over classical counterparts like on dense graphs, potentially scaling to massive network optimizations with fault-tolerant quantum hardware.

Visualization

Drawing Techniques

Graph drawing techniques seek to position vertices and route edges of an abstract graph on a two-dimensional to facilitate visual of its , , and . These methods balance computational with perceptual clarity, often guided by principles that enhance for human observers. Common approaches include physics-based simulations, layered arrangements for directed graphs, and embedding strategies for specific graph classes, each tailored to minimize visual clutter while preserving topological relationships. Force-directed layouts simulate physical systems to position vertices, treating them as particles subject to attractive forces along edges and repulsive forces between nearby vertices. This results in drawings where connected vertices cluster together while unconnected ones spread apart, producing balanced and symmetric representations suitable for undirected graphs. A seminal example is the , which iteratively applies these forces in a cooling schedule to converge on a stable layout, achieving uniform edge lengths and even vertex distribution without explicit optimization for every aesthetic goal. Hierarchical drawing methods organize vertices into ordered layers, primarily for directed acyclic graphs (DAGs), to reflect dependency or flow directions from top to bottom. The process involves assigning vertices to levels based on longest paths, inserting dummy vertices for long edges, and ordering nodes within layers to reduce crossings through barycenter heuristics or genetic algorithms. The Sugiyama framework, a foundational approach, structures this as a multi-step that first ensures acyclicity if needed, then optimizes layer assignments and permutations to produce readable, upward-directed layouts with minimal edge bends. For planar graphs, which admit embeddings without edge crossings, straight-line drawings provide clean visualizations using only line segments between vertices. Fáry's theorem guarantees that every simple planar graph has such a representation, enabling algorithms to compute coordinates that maintain the planar embedding while avoiding curves. These embeddings are particularly useful for revealing geometric properties and supporting further computations like Delaunay triangulations. Effective graph drawings adhere to aesthetic criteria that promote comprehension, such as minimizing edge crossings, shortening average edge lengths, and maximizing at vertices to avoid acute . Experimental studies have shown that reducing crossings and edge bends has the strongest positive impact on task performance in understanding graph structures, while uniform vertex-edge distances aids in perceiving clusters. Other criteria include symmetry to highlight balanced subgraphs and to fit drawings within bounded areas without distortion. Practical implementation relies on software tools and libraries that automate these techniques. , an open-source suite, uses the language to describe graphs declaratively, supporting force-directed, hierarchical, and planar layouts through engines like neato and dot for static rendering. For interactive web-based visualizations, enables dynamic force-directed simulations and hierarchical force layouts using , allowing real-time manipulations like zooming and panning on elements. Despite advances, challenges persist in graph drawing, notably the NP-hardness of minimizing edge crossings for general graphs, which complicates optimal layouts even for moderate-sized instances. Heuristics approximate solutions but may trade off other aesthetics, and scalability issues arise with large graphs where repulsion computations dominate runtime.

Interpretations

In data visualization, graphs interpret numerical and categorical data through visual plots on a coordinate plane, enabling the representation of trends, relationships, and distributions. These differ from the abstract mathematical graphs of vertices and edges, focusing instead on plotted points and lines to convey quantitative information. The , developed by in his 1637 treatise , provides the basis for these visualizations by assigning points in a plane as ordered pairs (x, y), where the horizontal x-axis and vertical y-axis intersect at the . This framework allows graphing functions y = f(x) by plotting corresponding points and connecting them to form curves or lines that illustrate mathematical relationships. Line graphs extend this by connecting discrete data points with straight segments, typically along a sequential independent variable like time or order, to highlight changes or patterns in dependent values. For instance, they depict rising or falling trends in sequential observations, such as variations over hours. Bar charts specialize in categorical comparisons, using bars of varying lengths—positioned vertically or horizontally—to represent discrete groups, with lengths scaled to the magnitude of associated values. Pie charts, another categorical tool, divide a circle into sectors whose angles reflect proportions of a total, effectively showing part-to-whole relationships for limited categories, such as distributions. Scatter plots visualize potential correlations between two continuous variables by marking points at their (x, y) intersections, often revealing clusters, outliers, or linear associations through the point cloud's arrangement. Time-series graphs apply the Cartesian plane specifically to temporal data, with the x-axis denoting evenly spaced time intervals and the y-axis showing measured values, as in plotting daily stock prices to track market fluctuations. Histograms portray distributions of continuous as contiguous bars, where each bar's width covers an (bin) and height indicates the or of observations within it, aiding in the assessment of shape, , and spread. Contemporary software facilitates these interpretations: , a library, supports static and interactive plotting of functions, lines, bars, and more via object-oriented commands for customizable axes and annotations. In R, employs a layered " of graphics" to compose complex visualizations from , , and geoms like points for scatters or bars for histograms. Accessibility in graph design addresses color blindness, which impairs red-green discrimination in approximately 8% of males and 0.5% of females, by recommending palettes like those from ColorBrewer or Paul Tol—avoiding red-green pairs, incorporating patterns or textures, and verifying legibility in grayscale or simulated deficient vision.

Other Uses

Linguistics

In linguistics, graphs provide structured representations for analyzing components such as syntax, semantics, and , enabling the modeling of hierarchical and relational properties of linguistic units. These representations facilitate computational processing and theoretical insights into how words, phrases, and sounds interconnect within sentences and broader knowledge systems. Dependency graphs are directed graphs used to model , where vertices represent words (or tokens) and directed edges denote syntactic dependencies between them, such as subject-verb or modifier-head relations. This approach, rooted in theories, contrasts with constituency-based models by emphasizing pairwise relations rather than hierarchical phrases, making it particularly suitable for (NLP) tasks like ambiguous sentences. In NLP, dependency graphs often incorporate a dummy node to ensure a single root and uniform structure, allowing arcs to be labeled for grammatical functions like predicates. Parse trees, or phrase structure trees, serve as hierarchical graphs in Noam Chomsky's , depicting structure through context-free rules where non-terminal nodes (e.g., for ) expand into constituents, ultimately yielding terminal words as leaves. These trees illustrate dominance relations, such as a (VP) dominating its subject and object, and are graphically rendered with the (typically for ) at the top, branching downward to reflect recursive in . In generative frameworks, parse trees capture the innate syntactic rules proposed by Chomsky, enabling the generation of grammatical sentences while excluding ungrammatical ones through structural constraints. Semantic networks model conceptual relations in language as undirected or directed graphs, with nodes denoting concepts or lexical items and edges representing semantic links such as "is-a" (hypernymy) or "part-of" (meronymy). The FrameNet project, initiated in the late at the International Institute, operationalizes Charles Fillmore's Frame Semantics theory—developed in the and —by constructing a of over 600 semantic frames, where predicates evoke structured scenarios with roles as nodes and relations as edges, applied to annotated corpora for tasks like . These networks support inference in understanding by revealing large-scale properties like small-world connectivity in lexico-semantic graphs. Graph-based methods enhance applications in , where dependency graphs parse source sentences into structured representations for reordering and alignment, improving translation accuracy over linear models. For instance, graph-to-string constructs source graphs from dependency trees augmented with non-syntactic links, segmenting them into subgraphs for recursive rule-based translation, yielding significant score gains on Chinese-English and German-English benchmarks. Systems like early versions of incorporated graph-based parsing for syntactic reordering in statistical phases, though modern neural approaches build on these foundations. In phonology, graph theory models syllable structure through coupling graphs in articulatory phonology, where nodes represent gestures (e.g., consonants, vowels) and edges indicate phase relationships, such as in-phase (0°) for onsets and anti-phase (180°) for codas. These graphs hypothesize speakers' knowledge of word forms, explaining timing shifts in complex onsets (e.g., reduced lag in Georgian clusters) via competitive coupling, distinguishing languages like Georgian from those with simpler onsets like Tashlhiyt Berber. Phonological neighborhood networks further apply graph metrics to syllable-based similarity, quantifying lexical access patterns in spoken language processing.

Chemistry

In chemistry, graphs provide a fundamental framework for representing molecular structures, where atoms are modeled as and chemical bonds as edges connecting them. The of a in such a corresponds to the of the , reflecting its capacity and adherence to principles like the . This representation enables the analysis of molecular topology, , and reactivity without relying on three-dimensional coordinates. For instance, simple hydrocarbons like alkanes can be depicted as trees—acyclic connected graphs—capturing their skeletal structures. A pivotal historical development in this area was Arthur Cayley's enumeration of in the 1870s, which laid the groundwork for counting isomers by treating carbon chains as rooted or unrooted . , n^{n-2}, for the number of spanning on n labeled vertices, was applied to generate the possible tree structures for up to certain carbon counts, such as the 9 isomers for (C7H16). This combinatorial approach revolutionized by providing a systematic method to predict and catalog molecular variants based on graph connectivity. Extending this, enumeration in modern chemistry employs to distinguish non-identical molecular structures that share the same connectivity, ensuring unique identification of constitutional isomers. Algorithms based on labeling and matching efficiently count and generate these variants, crucial for where subtle structural differences affect . graphs further model chemical processes by representing reactants and products as nodes, with directed edges indicating reaction pathways and ; this formalism is central to and mapping. In cheminformatics, software like RDKit implements graph-based methods for tasks such as molecular fingerprinting and similarity searches, converting structures into graph representations to compute metrics like Tanimoto similarity for of libraries. These tools facilitate high-throughput analysis of vast chemical databases, accelerating the identification of potential new . In , graph Laplacians—derived from the of molecular graphs—approximate the for electron delocalization, particularly in conjugated systems for calculating molecular orbitals via methods like Hückel molecular orbital theory. Bond strengths can be incorporated using weighted graphs, where edge weights reflect bond orders or energies. This approach provides insights into and reactivity indices, such as the HOMO-LUMO gap.

Biology

In biology, graphs provide a powerful framework for modeling complex interactions and structures within living systems, representing entities such as molecules, cells, or organisms as nodes and their relationships as edges. This approach enables the analysis of dynamic processes like metabolism, protein interactions, and evolutionary relationships, revealing emergent properties such as robustness and modularity. Graph representations facilitate computational simulations and visualizations that uncover patterns not apparent in linear or tabular data, aiding in hypothesis generation for biological phenomena. Metabolic pathways are commonly modeled as directed graphs where nodes represent metabolites or enzymes, and edges denote biochemical reactions or transformations between them. This graph structure allows for the application of (FBA), an optimization technique that predicts steady-state flux distributions through the by solving a problem constrained by and . FBA assumes the operates at a quasi-steady to maximize production or another objective function, providing insights into pathway efficiency and adaptability under varying conditions. Seminal work demonstrated that these metabolic graphs exhibit scale-free , with a power-law distribution where a few highly connected nodes (hubs, often enzymes) link to many others, conferring robustness to random perturbations while vulnerability to targeted hub attacks. For instance, in , such graphs reveal short path lengths and high clustering, akin to small-world properties, facilitating efficient metabolite transport. Protein-protein interaction (PPI) networks are undirected or weighted graphs with proteins as vertices and physical or functional interactions as edges, derived from high-throughput experiments like or affinity purification-mass spectrometry. These networks display scale-free properties, characterized by a degree distribution following a (P(k) ~ k^{-γ}, where γ ≈ 2-3), meaning most proteins have few interactions while a small act as hubs with hundreds of connections. This arises from during evolution, where highly connected proteins are more likely to acquire new interactions, enhancing cellular signaling and response to stress. Analysis of and PPI graphs has shown that hubs are enriched in genes, with measures like betweenness correlating with lethality upon knockout, underscoring their role in maintaining network integrity. For example, in the human interactome, modular communities correspond to functional complexes like the , identifiable via graph clustering algorithms. Phylogenetic trees, a specific acyclic graph variant known as trees, model evolutionary relationships with extant or taxa as leaf nodes and internal nodes representing ancestral divergences or common ancestors, connected by branches weighted by evolutionary time or genetic distance. These rooted or unrooted graphs are constructed from sequence alignments using methods like maximum parsimony, which minimizes edge changes to explain observed traits, or maximum likelihood, which optimizes probabilistic models of substitution along branches. In , such trees illustrate events and trait inheritance, with branch lengths proportional to rates estimated via models like Jukes-Cantor. For instance, the graph rooted at the branches into bacterial, archaeal, and eukaryotic domains, highlighting as rare reticulations beyond strict tree structure. This representation aids in reconstructing historical processes, such as human-chimpanzee estimated at 6-7 million years ago. In , neural networks are modeled as with neurons as nodes and synapses as directed, weighted edges reflecting connection strength or type, capturing the brain's at scales from microscopic circuits to whole-brain macrostructures. reveals small-world attributes in these networks, balancing high local clustering (e.g., in cortical modules) with short global path lengths for efficient propagation. Seminal analyses of functional MRI-derived graphs show modular into communities like default mode and executive control networks, with hubs in association cortices exhibiting high and . Weighted edges, often derived from matrices of neural activity, enable quantification of via metrics like global efficiency, which decreases in disorders such as Alzheimer's, indicating disrupted communication. For example, the C. elegans , with 302 neurons and 7,000 synapses, demonstrates scale-free tendencies that support adaptive behaviors like . Bioinformatics tools like Cytoscape enable visualization and analysis of these biological graphs, integrating interaction data with expression profiles to highlight active subnetworks. Cytoscape, an open-source platform, supports layout algorithms (e.g., force-directed) to render metabolic or graphs intuitively, allowing users to overlay node attributes like terms for pathway enrichment analysis. During the 2020 , graph-based modeled transmission as temporal graphs with individuals as nodes and proximity events as edges, facilitating rapid identification of superspreader hubs and isolation strategies; for instance, algorithms in regions like Hainan Province traced high-risk clusters from Bluetooth logs. Emerging applications include graph neural networks (GNNs) applied to single-cell RNA sequencing (scRNA-seq) data for developmental biology, where cells form nodes in similarity graphs based on transcriptomic profiles, and edges encode differentiation trajectories or spatial neighborhoods. Post-2020 advancements leverage GNNs to infer pseudotime along developmental paths, embedding high-dimensional expression data into low-dimensional manifolds that capture lineage branching, such as in embryonic stem cell differentiation. For example, in Arabidopsis root development, scRNA-seq graphs reveal cell-type transitions with modules corresponding to hormone-responsive pathways, enabling prediction of fate decisions via message-passing between nodes. These models outperform traditional clustering by incorporating graph topology, achieving higher resolution in identifying rare progenitor states during organogenesis.

References

  1. [1]
    Definitions - Discrete Mathematics - An Open Introduction
    A graph is an ordered pair G=(V,E) G = ( V , E ) consisting of a nonempty set V V (called the vertices ) and a set E E (called the edges ) of two-element ...
  2. [2]
    Graph Theory -- from Wolfram MathWorld
    ### Summary of Graph Theory from MathWorld
  3. [3]
    [PDF] graph theory: basic definitions and theorems
    Definition 1. A graph G = (V,E) consists of a set V of vertices (also called nodes) and a set E of edges. Definition 2. If an edge connects to a vertex we say ...
  4. [4]
    Leonard Euler's Solution to the Konigsberg Bridge Problem
    Euler states that if bridge a is traveled once, A was either where the journey began or ended, and therefore was only used once. If bridges a, b, and c are all ...
  5. [5]
    [PDF] Early Writings on Graph Theory: Euler Circuits and The Königsberg ...
    Dec 8, 2005 · Notice that Euler begins his analysis of the 'bridge crossing' problem by first replacing the map of the city by a simpler diagram showing only ...
  6. [6]
    [PDF] 5 – Graph Theory Basics - William T. Trotter
    Nov 14, 2017 · Definition A graph G is a pair (V, E) where V is a finite set and E is a set of 2-element subsets of. V. The set V is called the vertex set of G ...<|control11|><|separator|>
  7. [7]
    [PDF] GRAPH THEORY WITH APPLICATIONS
    This book introduces graph theory, presenting basic material and applications to math and real-world problems, with new proofs and efficient methods.
  8. [8]
    None
    ### Extracted Definitions from https://www.math.uni-hamburg.de/home/diestel/books/graph.theory/preview/Ch1.pdf
  9. [9]
    [PDF] Graph Theory, 5th edition 2017
    Potentially, this offers opportunities for more features surrounding the book than the traditional free online edition and a dwindling collection of misprints.
  10. [10]
    [PDF] Hypergraph Theory - UC Davis Math
    Hypergraphs are a generalization of graphs, hence many of the definitions. of graphs carry verbatim to hypergraphs. In this chapter we introduce basic notions.Missing: source | Show results with:source
  11. [11]
    [PDF] Lecture 6: The degree of a vertex - Faculty Web Pages
    First, some definitions. The degree of a vertex v in a graph G is the number of edges that have v as an endpoint. (We also say such edges are incident on v.) ...
  12. [12]
    [PDF] Lecture 7: Regular graphs 1 Degree sequences and the graphic ...
    A regular graph is a graph in which every vertex has the same degree. ... If n and r are both odd, then an r-regular graph on n vertices does not exist, but the ...
  13. [13]
    [PDF] Graphs: Basics1 - Dartmouth Computer Science
    Aug 28, 2021 · – A graph G = (V,E) is called regular if all degrees are equal, that is, degG(v) = degG(u) for all u and v. – Given a graph G = (V,E), we use V ...
  14. [14]
    5.7 Connectivity
    Any connected graph with at least two vertices can be disconnected by removing edges: by removing all edges incident with a single vertex the graph is ...
  15. [15]
  16. [16]
    [PDF] 2-Connected Graphs Definition 1
    Page 1. 2-Connected Graphs. Definition 1. A graph is connected if for any two vertices x, y ∈ V (G), there is a path whose endpoints are x and y.
  17. [17]
    [PDF] 1 Introduction 2 Distance Measures and Path–Complete Graphs
    The distance between two vertices in a graph G is the number of edges in a shortest path between them. The diameter of G is the maximum distance between two ...
  18. [18]
    Graph theory glossary - Harvard Mathematics Department
    degree (n.): the degree of a vertex of a graph is the number of other vertices that it is adjacent to. For instance, in a polygon all vertices have degree 2 ...
  19. [19]
    [PDF] Euler Path Euler Circuit
    If a graph is connected and has 0 or exactly 2 vertices of odd degree, then it has at least one Euler path. 3. If a graph is connected and has 0 vertices of odd ...
  20. [20]
    [PDF] 5.6 Euler Paths and Cycles - Penn Math
    One statement is that if every vertex of a connected graph has an even degree then it contains an Euler cycle. It also makes the statement that only such graphs.
  21. [21]
    5.3 Hamilton Cycles and Paths
    A cycle that uses every vertex in a graph exactly once is called a Hamilton cycle, and a path that uses every vertex in a graph exactly once is called a ...
  22. [22]
    [PDF] Dirac's theorem
    Unlike for Euler cycles, no simple characterization of graphs with Hamiltonian cycles is known. In fact, the question whether a given graph has a Hamiltonian ...
  23. [23]
    [PDF] Chapter 7: Planar Graphs 7.1 Plane Graphs
    Kuratowski's Theorem. A graph is planar if and only if it does not contain a subdivision of either K5 or K3,3. ProofSketch. We saw ...<|control11|><|separator|>
  24. [24]
    [PDF] Kuratowski's Theorem - UChicago Math
    Aug 28, 2017 · Kuratowski's Theorem states that a graph is planar if and only if it contains no subdivision of K5 or K3,3. To prove this theorem, we first ...
  25. [25]
    [PDF] Graph Theory, Part 2 - 7 Coloring - Math (Princeton)
    Definition 16 (Chromatic Number). The chromatic number of a graph is the minimum number of colors in a proper coloring of that graph. How do we determine ...
  26. [26]
    [PDF] Lecture 25: Bounds on chromatic number - Faculty Web Pages
    Let's summarize what we know about the chromatic number χ(G) of a graph G so far: • For any graph G, χ(G) ≤ ∆(G) + 1, where ∆(G) is the ...
  27. [27]
    Every planar map is four colorable - Project Euclid
    Every planar map is four colorable. K. Appel, W. Haken. DOWNLOAD PDF + SAVE TO MY LIBRARY. Bull. Amer. Math. Soc. 82(5): 711-712 (September 1976).
  28. [28]
    [PDF] dijkstra-routing-1959.pdf
    of set A, and by placing all branches that end in this node in set II. To start with, set 1 is empty. From then onwards we perform the following two steps.
  29. [29]
  30. [30]
    [PDF] Reducibility Among Combinatorial Problems
    RICHARD M. KARP. Assume N' = {1,2,...,n}. The elements ... We conclude by listing the following important problems in NP which are not known to be complete.
  31. [31]
    Introduction to Algorithms - MIT Press
    Introduction to Algorithms. fourth edition. by Thomas H. Cormen, Charles E. ... Cormen is Emeritus Professor of Computer Science at Dartmouth College. Charles ...
  32. [32]
    Graph Adjacency and Incidence | Baeldung on Computer Science
    Jan 11, 2022 · In this tutorial, we'll discuss graph adjacency and incidence. Also, we'll show how to use them to represent a graph.
  33. [33]
    Representing graphs (article) | Algorithms - Khan Academy
    Adjacency lists. Representing a graph with adjacency lists combines adjacency matrices with edge lists. For each vertex i ‍ , store an array of the vertices ...Missing: structures | Show results with:structures
  34. [34]
    [PDF] Shortest Paths
    Breadth-first search is often attributed to Edward Moore, who described it in. (as “Algorithm A”) as the first published method to find the shortest path ...
  35. [35]
    [PDF] NETWORK FLOW THEORY - DTIC
    The labeling algorithm for the solution of maximal network flow problems and Its application to various problems of the transportation type are discussed. 1^ ...
  36. [36]
    [PDF] On the Shortest Spanning Subtree of a Graph ... - Utah State University
    384-409. HEBREW UNIVERSITY. ON THE SHORTEST SPANNING SUBTREE OF A GRAPH. AND THE TRAVELING SALESMAN PROBLEM. JOSEPH B. KRUSKAL, JR. Several years ago a ...
  37. [37]
    Algorithm 97: Shortest path | Communications of the ACM
    Algorithm 97: Shortest path. Author: Robert W. Floyd. Robert W. Floyd. Armour ... Published: 01 June 1962 Publication History. 2,951citation12,546Downloads.Missing: original | Show results with:original
  38. [38]
    [PDF] An Improved Equivalence Algorithm - Moscova
    GALLER AND MICHAEL J. FISHER. University of Michigan, Ann Arbor, Michigan. An algorithm for assigning storage on the basis of EQUIV-. ALENCE, DIMENSION and ...
  39. [39]
    [PDF] PARALLELISM IN RANDOM ACCESS MACHINES
    A model of computation based on random access machines operating in parallel and sharing a common memory is presented. The computational power of this model is ...
  40. [40]
  41. [41]
    OSPF: A Network Routing Protocol | Guide books - ACM Digital Library
    Dec 21, 2015 · Learn how routers network using the OSPF (Open Shortest Path First) protocol and unpick Dijkstra's Network Algorithm to see how OSPF ...
  42. [42]
    [PDF] Centrality Measures in Complex Networks: A Survey - arXiv
    Nov 14, 2020 · Degree centrality term was first coined in graph theory, and it is also called degree or valence in graph theory. Degree simply denotes the ...
  43. [43]
    [PDF] Better NPM - arXiv
    Mar 25, 2022 · We formulate dependency solving as solution graph synthesis, and thus get a highly-customizable dependency solver. We also present MINNPM, which ...
  44. [44]
    Solving Package Management via Hypergraph Dependency ... - arXiv
    Jun 12, 2025 · We define HyperRes, a formal system for describing versioned dependency resolution using a hypergraph that is expressive enough to model many ecosystems.
  45. [45]
    A Preliminary Evaluation of the Critical Path Method for Scheduling ...
    The schedules produced by a simple critical path priority method are shown to be near optimal for randomly generated computation graphs. Published in: IEEE ...
  46. [46]
    A new model for learning in graph domains - IEEE Xplore
    This paper presents a new neural model, called graph neural network (GNN), capable of directly processing graphs. GNNs extends recursive neural networks and can ...
  47. [47]
    [PDF] Graph neural networks: A review of methods and applications - arXiv
    In this paper, we introduce models of GNNs in a designer view. We first ... 2005), which extended existing neural networks to process more graph types.
  48. [48]
    Graph Neural Networks in Recommender Systems: A Survey - arXiv
    Nov 4, 2020 · Specifically, we provide a taxonomy of GNN-based recommendation models according to the types of information used and recommendation tasks.
  49. [49]
    Control flow analysis | Proceedings of a symposium on Compiler ...
    In this paper the basic control flow relationships are expressed in a directed graph. ... Proceedings of a symposium on Compiler optimization. Any static ...
  50. [50]
    Control flow analysis | ACM SIGPLAN Notices
    Since one of the primary reasons for doing such a global analysis in a compiler is to produce optimized programs, control flow analysis has been embedded in ...Abstract · Information & Contributors · Published In
  51. [51]
    A Quantum Walk-Driven Algorithm for the Minimum Spanning Tree ...
    Aug 9, 2025 · Abstract:We present a novel quantum walk-based approach to solve the Minimum Spanning Tree (MST) problem under a maximal degree constraint (MDC) ...
  52. [52]
    Graph drawing by force‐directed placement - Wiley Online Library
    We present a modification of the spring-embedder model of Eades [Congressus Numerantium, 42, 149–160, (1984)] for drawing undirected graphs with straight edges.
  53. [53]
    Methods for Visual Understanding of Hierarchical System Structures
    Two methods are developed: theoretical and heuristic. They determine vertex positions by first ordering vertices in each level, then horizontal positions.
  54. [54]
    [PDF] On straight line representation of planar graphs.
    By ISTVÁN FÁRY.in Szeged. In the present note I shall prove that if a finite graph can be represented on the plane at all, it can be represented with straight ...
  55. [55]
    DOT Language - Graphviz
    Sep 28, 2024 · DOT Language. Abstract grammar for defining Graphviz nodes, edges, graphs, subgraphs, and clusters. Terminals are shown in bold font and ...IDs · HTML strings · Comments and optional...
  56. [56]
    D3 by Observable | The JavaScript library for bespoke data ...
    D3. The JavaScript library for bespoke data visualization. Create custom dynamic visualizations with unparalleled flexibility. Get started · What is D3?What is D3? · Getting started · D3-hierarchy · D3-shape
  57. [57]
    Crossing Number is NP-Complete | SIAM Journal on Matrix Analysis ...
    We show that this problem is NP-complete, and hence there is not likely to be any efficient way to design an optimal embedding.
  58. [58]
    Data Visualization: Charts and Graphs - Library Guides
    Oct 29, 2025 · Charts and graphs are ways of displaying data visually but the difference lies in how they do so and why. Charts are tables and diagrams that ...
  59. [59]
    Descartes' Mathematics - Stanford Encyclopedia of Philosophy
    Nov 28, 2011 · To speak of René Descartes' contributions to the history of mathematics is to speak of his La Géométrie (1637), a short tract included with ...
  60. [60]
    Graphs of Functions - Department of Mathematics at UTSA
    Nov 3, 2021 · If this set is plotted on a three dimensional Cartesian coordinate system, the result is a surface (see figure). Oftentimes it is helpful to ...
  61. [61]
    Data Visualization - Foundations in Data Science
    A bar graph presents categorical data (nominal or ordinal) with rectangular bars proportional to the values they represent. In a vertical bar plot, categories ...Bar Graph · Line Graph · Specialty Plots (bonus...
  62. [62]
    Resources: Chart Types - Data Visualization Guide
    Oct 10, 2025 · Line Chart. Displays information as a series of data points connected by straight line segments. Goal: Comparison, Trend. Best For ...
  63. [63]
    2.3 Displaying Quantitative Data – Significant Statistics
    To construct a time series graph, we must look at both pieces of our paired data set. We start with a standard Cartesian coordinate system. The horizontal axis ...Stem-And-Leaf Plots · Line Graphs · HistogramsMissing: visualization: | Show results with:visualization:
  64. [64]
    Using Matplotlib — Matplotlib 3.10.7 documentation
    No readable text found in the HTML.<|separator|>
  65. [65]
    Guidelines color blind friendly figures | Netherlands Cancer Institute
    Avoid red/green combinations, use color-blind safe schemes, show grayscale images, use patterns/shapes, and use as few colors as possible.
  66. [66]
    [PDF] Going to the Roots of Dependency Parsing - ACL Anthology
    It is very natural to represent this structure by a directed graph, with nodes representing input tokens and arcs representing dependency relations. In addition ...
  67. [67]
    [PDF] Integrating Graph-Based and Transition-Based Dependency Parsers
    Syntactic dependency graphs have recently gained a wide interest in the natural language processing community and have been used for many problems ranging ...
  68. [68]
    [PDF] Context-Free Grammars and Constituency Parsing
    Parse trees can be an intermediate stage of representation for for- mal semantic analysis. And parsers and the grammatical structure they assign a sentence are ...
  69. [69]
    [PDF] The large-scale structure of semantic networks - arXiv
    Abstract. We present statistical analyses of the large-scale structure of three types of semantic networks: word associations, WordNet, and Roget's ...
  70. [70]
    FrameNet at 25 | International Journal of Lexicography
    Jul 5, 2024 · The FrameNet project has been working on creating a lexicographic database of English based on the principles of Frame Semantics.
  71. [71]
    Dependency Graph-to-String Statistical Machine Translation - arXiv
    Mar 20, 2021 · We present graph-based translation models which translate source graphs into target strings. Source graphs are constructed from dependency trees with extra ...
  72. [72]
    [PDF] Training a Parser for Machine Translation Reordering
    We propose a simple training regime that can improve the extrinsic performance of a parser, given only a corpus of sentences and a way.
  73. [73]
    None
    ### Summary of Graphs in Syllable Structure Phonology
  74. [74]
    [PDF] Graph-theoretic Properties of the Class of Phonological ...
    This paper concerns the structure of phono- logical neighbourhood networks, which are a graph-theoretic representation of the phono- logical lexicon.
  75. [75]
    Digital Contact Tracing Based on a Graph Database Algorithm for ...
    Jan 22, 2021 · Hainan Province used a graph database algorithm to trace contacts in a centralized model, which can identify infected individuals and high-risk public places ...