home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #31 / NN_1992_31.iso / spool / comp / theory / 2775 < prev    next >
Encoding:
Internet Message Format  |  1993-01-01  |  5.5 KB

  1. Path: sparky!uunet!munnari.oz.au!manuel.anu.edu.au!tyl.anu.edu.au!not-for-mail
  2. From: bdm@cs.anu.edu.au (Brendan McKay)
  3. Newsgroups: comp.theory
  4. Subject: Re: randomized-hash graph-iso algorithm - more discussion
  5. Date: 1 Jan 1993 16:24:02 +1100
  6. Organization: Australian National University
  7. Lines: 120
  8. Distribution: inet
  9. Message-ID: <1i0khiINN5vh@tyl.anu.edu.au>
  10. References: <C0402I.L7p@research.canon.oz.au>
  11. NNTP-Posting-Host: 150.203.23.70
  12.  
  13. naylor@research.canon.oz.au (William Naylor) writes:
  14. [...William's article heavily editted to save space...]
  15.  
  16. >  2)  bdm@cs.anu.edu.au (Brendan McKay) claims that P algorithms for
  17. >      graph-iso are already known for
  18.  
  19. >      a)  graphs with bounded vertex degree
  20. >      b)  graphs of bounded genus
  21.  
  22. The key papers on this appeared in the Proceedings of the Foundations
  23. of Computer Science conferences, around 1980-3.  The authors are
  24. Babai, Luks, Miller, Filotti, Meyer and a few others.  A common
  25. generalisation of (a) and (b) can be found in
  26.  
  27. G. Miller, Information and Control 56 (1983) 1-20.
  28.  
  29. >  3)  bdm@cs.anu.edu.au (Brendan McKay) claims that my algorithm does
  30. >      not work properly on large classes of graphs which are of interest in
  31. >      various mathematical work.  If what he says is true, this
  32. >      weakens my argument in favor of the Gismondi-Swart strategy.
  33.  
  34. >      Clearly, the algorithm I gave does not work on graphs where
  35. >      all vertices have the same degree.  This problem can be easily patched
  36. >      (see below).  
  37.  
  38. It also doesn't work for many interesting graphs where the degrees are
  39. not all the same.  For example, take a regular graph and subdivide
  40. each edge with a new vertex.  It won't work for that either.
  41. Other more direct examples exist too; see below.
  42.  
  43. >      Can somebody out there point out some classes of graphs
  44. >      for which my algorithm usually fails, which cannot be easily patched?  
  45.  
  46. I will send some by e-mail.
  47.  
  48. >  4)  My original argument still seems correct.
  49.  
  50.  
  51. >====================================================================
  52. >                      MY ORIGINAL POST
  53. >====================================================================
  54.  
  55. [deleted by bdm]
  56.  
  57. >====================================================================
  58. >      DISCUSSION of a POST by bdm@cs.anu.edu.au (Brendan McKay)
  59. >====================================================================
  60.  
  61. >In article 5857 of comp.theory, bdm@cs.anu.edu.au (Brendan McKay) wrote
  62. >a detailed response to my post.  I have attempted to clarify several
  63. >points with him by e-mail, but I have received no reply.  Therefore,
  64. >I must discuss his post without benefit of discussion with him.
  65.  
  66. Sorry.
  67.  
  68. >In article 5857 of comp.theory, bdm@cs.anu.edu.au (Brendan McKay) writes:
  69.  
  70. >>>The relevance of my algorithm to the discussion of the paper of 
  71. >>>Swart et. al. is this:
  72. >>>the existence of this successful randomized algorithm for graph isomorphism, 
  73.  
  74. >>There is no evidence for such an algorithm.  Yours only works for
  75. >>restricted classes of graphs.
  76.  
  77. >The original algorithm I presented fails to distinguish graphs of the 
  78. >same order with vertices all having the same degree.  This is
  79. >a very small fraction of all possible graphs.  Anyway, this problem can 
  80. >be patched (see below). 
  81.  
  82. >Does anybody out there see any classes of graphs that can fool my
  83. >(patched) algorithm?
  84.  
  85. Yes, there are many.   I will send you some by e-mail.
  86. The most natural examples are strongly-regular graphs and the
  87. incidence graphs of balanced designs.  The latter are not
  88. necessarily regular.  These are standard test-cases for 
  89. isomorphism programs.  I have some others, maybe even harder.
  90.  
  91. >>Methods that are as strong or stronger date back to the 1960s.
  92. >>Modern approaches supplement invariant computations with backtracking.
  93. >>Several programs exist that can handle thousands of vertices
  94. >>(one is mine, enquiries welcome).
  95.  
  96. >Could somebody post some references to these algorithms?
  97.  
  98. One early algorithm was due to Corneil and Gotlieb.  (Sorry, I'm
  99. at home and can't look up the reference.)  Their algorithm is
  100. based on a conjecture later proved by false by Rudi Mathon.
  101. Even though it is deterministic, it is stronger than even your
  102. patched algorithm in the sense that if their's fails, yours
  103. will fail for every hash function.  The reason is this:
  104.  
  105. Take a graph G and a vertex v.  Let V1,V2,...,Vk be the coarsest
  106. partition of the vertex set of G such that
  107. (i)  V1 = {v}
  108. (ii) If C is any cell, and x,y are two vertices in the same
  109.      cell (possibly C), then x and y are adjacent to the same
  110.      number of vertices in C.
  111. Now define the "quotient matrix" M of order k*k:
  112.      M[i,j] = number of y in Vj adjacent to each fixed x in Vi.
  113. (I didn't specify the order of the cells V2,...,Vk, but these
  114. can easily be put into a canonical order using M.  Think about it.)
  115. Now, the value your patched algorithm gets for this particular v
  116. distingushed depends only on M and not on the finer structure
  117. of G.  Any two graphs which have the same set of M's (one per v)
  118. will be indistinguisable by your method.  As an example, any
  119. strongly regular graph was the same M for every vertex and
  120. that M only depends on the graph parameters.
  121.  
  122. Advertisement:  I distribute a deterministic algorithm called nauty.
  123. It computes canonical labellings and generators for the automorphism
  124. group.  I think it's pretty good.  It is free subject to weak
  125. conditions of use.  For further information, send a note to me
  126. that includes your complete (paper and electronic) address.
  127.  
  128. >My (unpatched) program can work on graphs with 50,000 vertices in 5-10 minutes.
  129.  
  130. >Will Naylor               net:  naylor@research.canon.oz.au
  131.  
  132. Brendan.
  133.