Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Component (graph theory)

This is a good article. Click here for more information.
From Wikipedia, the free encyclopedia
(Redirected fromConnected component (graph theory))

Maximal subgraph whose vertices can reach each other
A graph with three components

Ingraph theory, acomponent of anundirected graph is aconnectedsubgraph that is not part of any larger connected subgraph. The components of any graphpartition its vertices intodisjoint sets, and are theinduced subgraphs of those sets. A graph that is itself connected has exactly one component, consisting of the whole graph. Components are sometimes calledconnected components.

The number of components in a given graph is an importantgraph invariant, and is closely related to invariants ofmatroids,topological spaces, andmatrices. Inrandom graphs, a frequently occurring phenomenon is the incidence of agiant component, one component that is significantly larger than the others; and of apercolation threshold, an edge probability above which a giant component exists and below which it does not.

The components of a graph can be constructed inlinear time, and a special case of the problem,connected-component labeling, is a basic technique inimage analysis.Dynamic connectivity algorithms maintain components as edges are inserted or deleted in a graph, in low time per change. Incomputational complexity theory, connected components have been used to study algorithms with limitedspace complexity, andsublinear time algorithms can accurately estimate the number of components.

Definitions and examples

[edit]
Acluster graph with seven components

A component of a given undirected graph may be defined as a connected subgraph that is not part of any larger connected subgraph. For instance, the graph shown in the first illustration has three components. Every vertexv{\displaystyle v} of a graph belongs to one of the graph's components, which may be found as theinduced subgraph of the set of verticesreachable fromv{\displaystyle v}.[1] Every graph is thedisjoint union of its components.[2] Additional examples include the following special cases:

Another definition of components involves the equivalence classes of anequivalence relation defined on the graph's vertices.In an undirected graph, avertexv{\displaystyle v} isreachable from avertexu{\displaystyle u} if there is apath fromu{\displaystyle u}tov{\displaystyle v}, or equivalently awalk (a path allowing repeated vertices and edges).Reachability is an equivalence relation, since:

Theequivalence classes of this relation partition the vertices of the graph intodisjoint sets, subsets of vertices that are all reachable from each other, with no additional reachable pairs outside of any of these subsets. Each vertex belongs to exactly one equivalence class. The components are then theinduced subgraphs formed by each of these equivalence classes.[7] Alternatively, some sources define components as the sets of vertices rather than as the subgraphs they induce.[8]

Similar definitions involving equivalence classes have been used to defined components for other forms of graphconnectivity, including theweak components[9] andstrongly connected components ofdirected graphs[10] and thebiconnected components of undirected graphs.[11]

Number of components

[edit]

The number of components of a given finite graph can be used to count the number of edges in itsspanning forests: In a graph withn{\displaystyle n} vertices andc{\displaystyle c} components, every spanning forest will have exactlync{\displaystyle n-c} edges. This numbernc{\displaystyle n-c} is thematroid-theoreticrank of the graph, and therank of itsgraphic matroid. The rank of thedual cographic matroid equals thecircuit rank of the graph, the minimum number of edges that must be removed from the graph to break all its cycles. In a graph withm{\displaystyle m} edges,n{\displaystyle n} vertices andc{\displaystyle c} components, the circuit rank ismn+c{\displaystyle m-n+c}.[12]

A graph can be interpreted as atopological space in multiple ways, for instance by placing its vertices as points ingeneral position in three-dimensionalEuclidean space and representing its edges as line segments between those points.[13] The components of a graph can be generalized through these interpretations as thetopological connected components of the corresponding space; these are equivalence classes of points that cannot be separated by pairs of disjoint closed sets. Just as the number of connected components of a topological space is an importanttopological invariant, the zerothBetti number, the number of components of a graph is an importantgraph invariant, and intopological graph theory it can be interpreted as the zeroth Betti number of the graph.[3]

The number of components arises in other ways in graph theory as well. Inalgebraic graph theory it equals the multiplicity of 0 as aneigenvalue of theLaplacian matrix of a finite graph.[14] It is also the index of the first nonzero coefficient of thechromatic polynomial of the graph, and the chromatic polynomial of the whole graph can be obtained as the product of the polynomials of its components.[15] Numbers of components play a key role inTutte's theorem on perfect matchings characterizing finite graphs that haveperfect matchings[16] and the associatedTutte–Berge formula for the size of amaximum matching,[17] and in the definition ofgraph toughness.[18]

Algorithms

[edit]

It is straightforward to compute the components of a finite graph in linear time (in terms of the numbers of the vertices and edges of the graph) using eitherbreadth-first search ordepth-first search. In either case, a search that begins at some particularvertexv{\displaystyle v} will find the entire componentcontainingv{\displaystyle v} (and no more) before returning. All components of a graph can be found by looping through its vertices, starting a new breadth-first or depth-first search whenever the loop reaches a vertex that has not already been included in a previously found component.Hopcroft & Tarjan (1973) describe essentially this algorithm, and state that it was already "well known".[19]

Connected-component labeling, a basic technique in computerimage analysis, involves the construction of a graph from the image and component analysis on the graph.The vertices are the subset of thepixels of the image, chosen as being of interest or as likely to be part of depicted objects. Edges connectadjacent pixels, with adjacency defined either orthogonally according to theVon Neumann neighborhood, or both orthogonally and diagonally according to theMoore neighborhood. Identifying the connected components of this graph allows additional processing to find more structure in those parts of the image or identify what kind of object is depicted. Researchers have developed component-finding algorithms specialized for this type of graph, allowing it to be processed in pixel order rather than in the more scattered order that would be generated by breadth-first or depth-first searching. This can be useful in situations where sequential access to the pixels is more efficient than random access, either because the image is represented in a hierarchical way that does not permit fast random access or because sequential access produces bettermemory access patterns.[20]

There are also efficient algorithms to dynamically track the components of a graph as vertices and edges are added, by using adisjoint-set data structure to keep track of the partition of the vertices into equivalence classes, replacing any two classes by their union when an edge connecting them is added. These algorithms takeamortized timeO(α(n)){\displaystyle O(\alpha (n))} per operation, where adding vertices and edges and determining the component in which a vertex falls are both operations, andα{\displaystyle \alpha } is a very slowly growing inverse of the very quickly growingAckermann function.[21] One application of this sort of incremental connectivity algorithm is inKruskal's algorithm forminimum spanning trees, which adds edges to a graph in sorted order by length and includes an edge in the minimum spanning tree only when it connects two different components of the previously-added subgraph.[22] When both edge insertions and edge deletions are allowed,dynamic connectivity algorithms can still maintain the same information, in amortized timeO(log2n/loglogn){\displaystyle O(\log ^{2}n/\log \log n)} per change and timeO(logn/loglogn){\displaystyle O(\log n/\log \log n)} per connectivity query,[23] or in near-logarithmic randomizedexpected time.[24]

Components of graphs have been used incomputational complexity theory to study the power ofTuring machines that have a working memory limited to alogarithmic number of bits, with the much larger input accessible only through read access rather than being modifiable. The problems that can be solved by machines limited in this way define thecomplexity classL. It was unclear for many years whether connected components could be found in this model, when formalized as adecision problem of testing whether two vertices belong to the same component, and in 1982 a related complexity class,SL, was defined to include this connectivity problem and any other problem equivalent to it under logarithmic-spacereductions.[25] It was finally proven in 2008 that this connectivity problem can be solved in logarithmic space, and therefore thatSL = L.[26]

In a graph represented as anadjacency list, with random access to its vertices, it is possible to estimate the number of connected components, with constant probability of obtainingadditive (absolute) error at mostεn{\displaystyle \varepsilon n}, insublinear timeO(ε2logε1){\displaystyle O(\varepsilon ^{-2}\log \varepsilon ^{-1})}.[27]

In random graphs

[edit]
Main article:Giant component
AnErdős–Rényi–Gilbert random graph with 1000 vertices with edge probabilityp=1/(n1){\displaystyle p=1/(n-1)} (in the critical range), showing a large component and many small ones

Inrandom graphs the sizes of components are given by arandom variable, which, in turn, depends on the specific model of how random graphs are chosen. In theG(n,p){\displaystyle G(n,p)} version of theErdős–Rényi–Gilbert model, a graph onn{\displaystyle n} vertices is generated by choosing randomly and independently for each pair of vertices whether to include an edge connecting that pair, withprobabilityp{\displaystyle p} of including an edge and probability1p{\displaystyle 1-p} of leaving those two vertices without an edge connecting them.[28] The connectivity of this model dependsonp{\displaystyle p}, and there are three different rangesofp{\displaystyle p} with very different behavior from each other. In the analysis below, all outcomes occurwith high probability, meaning that the probability of the outcome is arbitrarily close to one for sufficiently large valuesofn{\displaystyle n}. The analysis depends on a parameterε{\displaystyle \varepsilon }, a positive constant independent ofn{\displaystyle n} that can be arbitrarily close to zero.

Subcriticalp<(1ε)/n{\displaystyle p<(1-\varepsilon )/n}
In this range ofp{\displaystyle p}, all components are simple and very small. The largest component has logarithmic size. The graph is apseudoforest. Most of its components are trees: the number of vertices in components that have cycles grows more slowly than any unbounded function of the number of vertices. Every tree of fixed size occurs linearly many times.[29]
Criticalp1/n{\displaystyle p\approx 1/n}
The largest connected component has a number of vertices proportional ton2/3{\displaystyle n^{2/3}}. There may exist several other large components; however, the total number of vertices in non-tree components is again proportional ton2/3{\displaystyle n^{2/3}}.[30]
Supercriticalp>(1+ε)/n{\displaystyle p>(1+\varepsilon )/n}
There is a singlegiant component containing a linear number of vertices. For large values ofp{\displaystyle p} its size approaches the whole graph:|C1|yn{\displaystyle |C_{1}|\approx yn} wherey{\displaystyle y} is the positive solution to the equationepny=1y{\displaystyle e^{-pny}=1-y}. The remaining components are small, with logarithmic size.[31]

In the same model of random graphs, there will exist multiple connected components with high probability for values ofp{\displaystyle p} below a significantly higher threshold,p<(1ε)(logn)/n{\displaystyle p<(1-\varepsilon )(\log n)/n}, and a single connected component for values above the threshold,p>(1+ε)(logn)/n{\displaystyle p>(1+\varepsilon )(\log n)/n}. This phenomenon is closely related to thecoupon collector's problem: in order to be connected, a random graph needs enough edges for each vertex to be incident to at least one edge. More precisely, if random edges are added one by one to a graph, then with high probability the first edge whose addition connects the whole graph touches the last isolated vertex.[32]

For different models including the random subgraphs of grid graphs, the connected components are described bypercolation theory. A key question in this theory is the existence of apercolation threshold, a critical probability above which a giant component (or infinite component) exists and below which it does not.[33]

References

[edit]
  1. ^Clark, John; Holton, Derek Allan (1995),A First Look at Graph Theory, Allied Publishers, p. 28,ISBN 9788170234630,archived from the original on 2022-01-08, retrieved2022-01-07
  2. ^Joyner, David; Nguyen, Minh Van; Phillips, David (May 10, 2013),"1.6.1 Union, intersection, and join",Algorithmic Graph Theory and Sage (0.8-r1991 ed.), Google, pp. 34–35,archived from the original on January 16, 2016, retrievedJanuary 8, 2022
  3. ^abTutte, W. T. (1984),Graph Theory, Encyclopedia of Mathematics and its Applications, vol. 21, Reading, Massachusetts: Addison-Wesley, p. 15,ISBN 0-201-13520-5,MR 0746795,archived from the original on 2022-01-07, retrieved2022-01-07
  4. ^abThulasiraman, K.; Swamy, M. N. S. (2011),Graphs: Theory and Algorithms, John Wiley & Sons, p. 9,ISBN 978-1-118-03025-7,archived from the original on 2022-01-07, retrieved2022-01-07
  5. ^Bollobás, Béla (1998),Modern Graph Theory, Graduate Texts in Mathematics, vol. 184, New York: Springer-Verlag, p. 6,doi:10.1007/978-1-4612-0619-4,ISBN 0-387-98488-7,MR 1633290,archived from the original on 2022-01-08, retrieved2022-01-08
  6. ^McColl, W. F.; Noshita, K. (1986), "On the number of edges in the transitive closure of a graph",Discrete Applied Mathematics,15 (1):67–73,doi:10.1016/0166-218X(86)90020-X,MR 0856101
  7. ^Foldes, Stephan (2011),Fundamental Structures of Algebra and Discrete Mathematics, John Wiley & Sons, p. 199,ISBN 978-1-118-03143-8,archived from the original on 2022-01-07, retrieved2022-01-07
  8. ^Siek, Jeremy; Lee, Lie-Quan; Lumsdaine, Andrew (2001), "7.1 Connected components: Definitions",The Boost Graph Library: User Guide and Reference Manual, Addison-Wesley, pp. 97–98
  9. ^Knuth, Donald E. (January 15, 2022), "Weak components",The Art of Computer Programming, Volume 4, Pre-Fascicle 12A: Components and Traversal(PDF), pp. 11–14,archived(PDF) from the original on January 18, 2022, retrievedMarch 1, 2022
  10. ^Lewis, Harry; Zax, Rachel (2019),Essential Discrete Mathematics for Computer Science, Princeton University Press, p. 145,ISBN 978-0-691-19061-7,archived from the original on 2022-01-08, retrieved2022-01-08
  11. ^Kozen, Dexter C. (1992),"4.1 Biconnected components",The Design and Analysis of Algorithms, Texts and Monographs in Computer Science, New York: Springer-Verlag, pp. 20–22,doi:10.1007/978-1-4612-4400-4,ISBN 0-387-97687-6,MR 1139767,S2CID 27747202,archived from the original on 2022-01-08, retrieved2022-01-08
  12. ^Wilson, R. J. (1973), "An introduction to matroid theory",The American Mathematical Monthly,80 (5):500–525,doi:10.1080/00029890.1973.11993318,JSTOR 2319608,MR 0371694
  13. ^Wood, David R. (2014), "Three-dimensional graph drawing", in Kao, Ming-Yang (ed.),Encyclopedia of Algorithms(PDF), Springer, pp. 1–7,doi:10.1007/978-3-642-27848-8_656-1,ISBN 978-3-642-27848-8,archived(PDF) from the original on 2022-01-08, retrieved2022-01-08
  14. ^Cioabă, Sebastian M. (2011), "Some applications of eigenvalues of graphs", in Dehmer, Matthias (ed.),Structural Analysis of Complex Networks, New York: Birkhäuser/Springer, pp. 357–379,doi:10.1007/978-0-8176-4789-6_14,ISBN 978-0-8176-4788-9,MR 2777924; seeproof of Lemma 5, p. 361Archived 2022-01-08 at theWayback Machine
  15. ^Read, Ronald C. (1968), "An introduction to chromatic polynomials",Journal of Combinatorial Theory,4:52–71,doi:10.1016/S0021-9800(68)80087-0,MR 0224505; see Theorem 2, p. 59, and corollary, p. 65
  16. ^Tutte, W. T. (1947), "The factorization of linear graphs",The Journal of the London Mathematical Society,22 (2):107–111,doi:10.1112/jlms/s1-22.2.107,MR 0023048
  17. ^Berge, Claude (1958), "Sur le couplage maximum d'un graphe",Comptes Rendus Hebdomadaires des Séances de l'Académie des Sciences,247:258–259,MR 0100850
  18. ^Chvátal, Václav (1973), "Tough graphs and Hamiltonian circuits",Discrete Mathematics,5 (3):215–228,doi:10.1016/0012-365X(73)90138-6,MR 0316301
  19. ^Hopcroft, John;Tarjan, Robert (June 1973), "Algorithm 447: efficient algorithms for graph manipulation",Communications of the ACM,16 (6):372–378,doi:10.1145/362248.362272,S2CID 14772567
  20. ^Dillencourt, Michael B.;Samet, Hanan; Tamminen, Markku (1992), "A general approach to connected-component labeling for arbitrary image representations",Journal of the ACM,39 (2):253–280,CiteSeerX 10.1.1.73.8846,doi:10.1145/128749.128750,MR 1160258,S2CID 1869184
  21. ^Bengelloun, Safwan Abdelmajid (December 1982),Aspects of Incremental Computing (PhD thesis), Yale University, p. 12,ProQuest 303248045
  22. ^Skiena, Steven (2008),"6.1.2 Kruskal's Algorithm",The Algorithm Design Manual, Springer, pp. 196–198,Bibcode:2008adm..book.....S,doi:10.1007/978-1-84800-070-4,ISBN 978-1-84800-069-8,archived from the original on 2022-01-07, retrieved2022-01-07
  23. ^Wulff-Nilsen, Christian (2013), "Faster deterministic fully-dynamic graph connectivity", in Khanna, Sanjeev (ed.),Proceedings of the Twenty-Fourth Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2013, New Orleans, Louisiana, USA, January 6-8, 2013, pp. 1757–1769,arXiv:1209.5608,doi:10.1137/1.9781611973105.126,ISBN 978-1-61197-251-1,S2CID 13397958
  24. ^Huang, Shang-En; Huang, Dawei; Kopelowitz, Tsvi; Pettie, Seth (2017), "Fully dynamic connectivity inO(logn(loglogn)2){\displaystyle O{\bigl (}\log n(\log \log n)^{2}{\bigr )}} amortized expected time", in Klein, Philip N. (ed.),Proceedings of the Twenty-Eighth Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2017, Barcelona, Spain, Hotel Porta Fira, January 16-19, pp. 510–520,arXiv:1609.05867,doi:10.1137/1.9781611974782.32,S2CID 15585534
  25. ^Lewis, Harry R.;Papadimitriou, Christos H. (1982), "Symmetric space-bounded computation",Theoretical Computer Science,19 (2):161–187,doi:10.1016/0304-3975(82)90058-5,MR 0666539
  26. ^Reingold, Omer (2008), "Undirected connectivity in log-space",Journal of the ACM,55 (4): A17:1–A17:24,doi:10.1145/1391289.1391291,MR 2445014,S2CID 207168478
  27. ^Berenbrink, Petra; Krayenhoff, Bruce; Mallmann-Trenn, Frederik (2014), "Estimating the number of connected components in sublinear time",Information Processing Letters,114 (11):639–642,doi:10.1016/j.ipl.2014.05.008,MR 3230913
  28. ^Frieze, Alan; Karoński, Michał (2016), "1.1 Models and relationships",Introduction to Random Graphs, Cambridge University Press, Cambridge, pp. 3–9,doi:10.1017/CBO9781316339831,ISBN 978-1-107-11850-8,MR 3675279
  29. ^Frieze & Karoński (2016), 2.1 Sub-critical phase, pp. 20–33; see especially Theorem 2.8, p. 26, Theorem 2.9, p. 28, and Lemma 2.11, p. 29
  30. ^Frieze & Karoński (2016), 2.3 Phase transition, pp. 39–45
  31. ^Frieze & Karoński (2016), 2.2 Super-critical phase, pp. 33; see especially Theorem 2.14, p. 33–39
  32. ^Frieze & Karoński (2016), 4.1 Connectivity, pp. 64–68
  33. ^Cohen, Reuven; Havlin, Shlomo (2010),"10.1 Percolation on complex networks: Introduction",Complex Networks: Structure, Robustness and Function, Cambridge University Press, pp. 97–98,ISBN 978-1-139-48927-0,archived from the original on 2022-01-10, retrieved2022-01-10

External links

[edit]
Retrieved from "https://en.wikipedia.org/w/index.php?title=Component_(graph_theory)&oldid=1323079682"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp