Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Colour refinement algorithm

From Wikipedia, the free encyclopedia

Ingraph theory andtheoretical computer science, thecolour refinement algorithm also known as thenaive vertex classification, or the1-dimensional version of theWeisfeiler-Leman algorithm, is a routine used for testing whether two graphs areisomorphic.[1] While it solves graph isomorphism on almost all graphs, there are graphs such as all regular graphs that cannot be distinguished using colour refinement.

Description

[edit]

The algorithm takes as an input a graphG{\displaystyle G} withn{\displaystyle n} vertices. It proceeds in iterations and in each iteration produces a new colouring of the vertices. Formally a "colouring" is a function from the vertices of this graph into some set (of "colours"). In each iteration, we define a sequence of vertex colouringsλi{\displaystyle \lambda _{i}} as follows:

In other words, the new colour of the vertexv{\displaystyle v} is the pair formed from the previous colour and themultiset of the colours of its neighbours.This algorithm keeps refining the current colouring. At some point it stabilises, i.e.,λi+1(u)=λi+1(v){\displaystyle \lambda _{i+1}(u)=\lambda _{i+1}(v)} if and only ifλi(u)=λi(v){\displaystyle \lambda _{i}(u)=\lambda _{i}(v)}. This final colouring is called thestable colouring.

Graph Isomorphism

[edit]

Colour refinement can be used as a subroutine for an importantcomputational problem:graph isomorphism. In this problem we have as input two graphsG,H{\displaystyle G,H} and our task is to determine whether they areisomorphic. Informally, this means that the two graphs are the same up to relabelling of vertices.

To test ifG{\displaystyle G} andH{\displaystyle H} are isomorphic we could try the following. Run colour refinement on both graphs. If the stable colourings produced are different we know that the two graphs are not isomorphic. However, it could be that the same stable colouring is produced despite the two graphs not being isomorphic; see below.

Complexity

[edit]

It is easy to see that if colour refinement is given an{\displaystyle n} vertex graph as input, a stable colouring is produced after at mostn1{\displaystyle n-1} iterations. Conversely, there exist graphs where this bound is realised.[2] This leads to aO((n+m)logn){\displaystyle O((n+m)\log n)} implementation wheren{\displaystyle n} is the number of vertices andm{\displaystyle m} the number of edges.[3] This complexity has been proven to be optimal under reasonable assumptions.[4]

Expressivity

[edit]

We say that two graphsG{\displaystyle G} andH{\displaystyle H} aredistinguished by colour refinement if the algorithm yields a different output onG{\displaystyle G} as onH{\displaystyle H}. There are simple examples of graphs that are not distinguished by colour refinement. For example, it does not distinguish a cycle of length 6 from a pair of triangles (example V.1 in[5]). Despite this, the algorithm is very powerful in that arandom graph will be identified by the algorithm asymptotically almost surely.[6] Even stronger, it has been shown that asn{\displaystyle n} increases, the proportion of graphs that arenot identified by colour refinement decreases exponentially in ordern{\displaystyle n}.[7]

Equivalent Characterizations

[edit]

For two graphsG{\displaystyle G} andH{\displaystyle H}, the following conditions are equivalent:

History

[edit]
[icon]
This section is empty. You can help byadding to it.(September 2022)

References

[edit]
  1. ^Grohe, Martin; Kersting, Kristian; Mladenov, Martin; Schweitzer, Pascal (2021)."Color Refinement and Its Applications".An Introduction to Lifted Probabilistic Inference.doi:10.7551/mitpress/10548.003.0023.ISBN 9780262365598.S2CID 59069015.
  2. ^Kiefer, Sandra; McKay, Brendan D. (2020-05-20),The Iteration Number of Colour Refinement,arXiv:2005.10182
  3. ^Cardon, A.; Crochemore, M. (1982-07-01)."Partitioning a graph in O(¦A¦log2¦V¦)".Theoretical Computer Science.19 (1):85–98.doi:10.1016/0304-3975(82)90016-0.ISSN 0304-3975.
  4. ^Berkholz, Christoph; Bonsma, Paul; Grohe, Martin (2017-05-01)."Tight Lower and Upper Bounds for the Complexity of Canonical Colour Refinement".Theory of Computing Systems.60 (4):581–614.arXiv:1509.08251.doi:10.1007/s00224-016-9686-0.ISSN 1433-0490.S2CID 12616856.
  5. ^Grohe, Martin (2021-06-29)."The Logic of Graph Neural Networks".2021 36th Annual ACM/IEEE Symposium on Logic in Computer Science (LICS). LICS '21. New York, NY, USA: Association for Computing Machinery. pp. 1–17.arXiv:2104.14624.doi:10.1109/LICS52264.2021.9470677.ISBN 978-1-6654-4895-6.S2CID 233476550.
  6. ^Babai, László; Erdo˝s, Paul; Selkow, Stanley M. (August 1980)."Random Graph Isomorphism".SIAM Journal on Computing.9 (3):628–635.doi:10.1137/0209047.ISSN 0097-5397.
  7. ^Babai, L.; Kucera, K. (1979)."Canonical labelling of graphs in linear average time".20th Annual Symposium on Foundations of Computer Science (SFCS 1979). pp. 39–46.doi:10.1109/SFCS.1979.8. Retrieved2024-01-18.
  8. ^Tinhofer, Gottfried (December 1986)."Graph isomorphism and theorems of Birkhoff type".Computing.36:285–300.
  9. ^Tinhofer, Gottfried (February 1991)."A note on compact graphs".Discrete Applied Mathematics.30:253–264.
  10. ^Krebs, Andreas; Verbitsky, Oleg (2015)."Universal Covers, Color Refinement, and Two-Variable Counting Logic: Lower Bounds for the Depth".ACM/IEEE Symposium on Logic in Computer Science (LICS).30.
  11. ^Dell, Holger; Grohe, Martin; Rattan, Gaurav (2018)."Lovász Meets Weisfeiler and Leman".International Colloquium on Automata, Languages, and Programming.45.
  12. ^Grohe, Martin. "Finite variable logics in descriptive complexity theory." Bulletin of Symbolic Logic 4.4 (1998): 345-398.
Retrieved from "https://en.wikipedia.org/w/index.php?title=Colour_refinement_algorithm&oldid=1300319868"
Category:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp