8

Given a matrix A of a strongly $k$ regular graph G(srg($n,k,\lambda,\mu$);$\lambda ,\mu >0;k>3$). The matrix A can be divided into 4 sub matrices based on adjacency of vertex $x \in G$. $A_x$ is the symmetric matrix of the graph $(G-x)$, where $C$ is the symmetric matrix of the graph created by vertices of $(G-x)$ which are not adjacent to $x$ and $D$ is the symmetric matrix of the graph created by vertices of $(G-x)$ which are adjacent to $x$.

$$ A_x = \left(\begin{array}{cccccc|ccc|c} 0&1&0&0&1&0&1&0&0&0\\ 1&0&1&0&0&0&0&1&0&0\\ 0&1&0&1&0&0&0&0&1&0\\ 0&0&1&0&0&1&1&0&0&0\\ 1&0&0&0&0&1&0&0&1&0\\ 0&0&0&1&1&0&0&1&0&0\\ \hline 1&0&0&1&0&0&0&0&0&1\\ 0&1&0&0&0&1&0&0&0&1\\ 0&0&1&0&1&0&0&0&0&1\\ \hline 0&0&0&0&0&0&1&1&1&0\\ \end{array}\right) = \left( \begin{array}{ccc} C & E & 0 \\ E^{T} & D & 1\\ 0 & 1 & 0\\ \end{array} \right) $$

It should be noted that

  1. Interchanging/swapping any two rows (or columns) of $C$ does not affect matrix $D$ (and vice versa).

  2. Any change in $C$ or $D$ or both $C$ and $D$ changes matrix $E$.

Problem: If some vertices of $G$ is rearranged (i.e., permuted), $A$ will be different, say, this new matrix is $B$. Again, matrix $B$ can be divided into 4 sub matrices based on adjacency of vertex $x \in G$ and $ B_x$ can be obtained.

Assume:

  1. $C$ is always the adjacency matrix of a regular graph and bigger than $D$.
  2. There exists an algorithm that always order $D$ (for a vertex $x \in G$) takes $O(K)$ time (assumed to be polynomial/exponential, does not matter).
  3. Each row of E has different permutation, i.e., rows might have same number of 1's but different permutation/arrangement of 1.

    For $n$ vertices there will be total $n$ numbers of $C,D$, each of them will take $O(K)$ (assumed to be polynomial) time to sort. If each $C$ takes time $O(f(n))$ to sort, then the total complexity will be $O(n \cdot K \cdot f(n))$.

Question: According to the three assumptions above, does there exist a polynomial time algorithm to sort $C$ so that $B=A$? I.e., is there a polynomial $f$ ?

The problem is connected to this question.

If anything is unclear, please ask a specific question, I will try my best to answer.

Michael
  • 547
  • 3
    I think you are asking to solve (sub)graph isomorphism. For general graphs, we don't know a polynomial-time algorithm for either. That does not preclude better algorithms for your restricted class; I recommend a literature search with "(sub)graph isomorphism" and "regular graphs". – Raphael Jun 12 '15 at 22:14
  • 5
    It seems that Daniel Spielman's paper Faster Isomorphism Testing for Strongly Regular Graphs (STOC 1996) is a good place to start looking. At least in 1996, testing isomorphism of strongly regular graphs wasn't known to be in P or to be as hard as the isomorphism problem for general graphs. – David Richerby Jun 12 '15 at 23:04
  • Dear Sirs, thanks for your feedback, but you are talking about the general case(I am aware of Spielman). What I have posted here (according to 3 assumption above),is a little bit different. If I am not wrong, it is possible to have a better complexity than what Spielman , please check the new edition, let me know if anything is unclear. – Michael Jun 13 '15 at 09:44
  • this is impressive but the question is buried. you seem to want to rearrange k-regular graphs in some way to do... x. what is x? you seem mainly to want an efficient algorithm for x. it would help by attempting to boil down x within existing algorithmic operations/ studies. there are many studies of regular graphs. is this mainly a graph isomorphism question? you seem to have strong mathematical background yet unfamiliar with graph isomorphisms (& other basic graph operations etc)... looking over the [math.se] question, even that is not very clear. try starting over & also [chat] – vzn Jun 18 '15 at 18:24
  • 1
    @Jim just write something (as much as possible) in [chat] & generally have to do it asynchronously, it has chat reply mechanisms for signalling; there is already some brief discussion of your problem(s)/ migration etc by mod R & others – vzn Jun 19 '15 at 14:06
  • some further thought/ analysis on this with jim in chat room. while this question shows some significant analysis, have suspicion jim has taken single regular graph instance & partitioned it into matrices/ structure & while insinuating it in the question, after request doesnt seem to have any proof/ response this can be done in general (with all regular graphs) & hes not disabusing me of this notion so far. its clearly the basis for the whole question, but lacking a proof, am presuming it is likely not true in general. also motivation seems to be study of hard graphs for graph isomorphism. – vzn Jun 21 '15 at 05:02
  • also, now wondering, is this actually a veiled question of (aiming in the direction) whether graph isomorphism is in P? which is open? – vzn Jun 21 '15 at 05:08
  • " jim has taken single regular graph instance & partitioned it into matrices/ structure " no , i said earlier, saying it again , that example is just an illustration of the idea. I could be wrong but I am 100% sure you have not read my solution properly, please read and ask a specific question. lets find out where I went wrong. – Michael Jun 21 '15 at 18:10
  • Two questions: How is the matrix E created? What definition of permutation are you using? If two strings equal length strings consisting of zeroes and ones only have the same number of ones in them, then the strings are permutable to each other under the definition of permutation I'm familiar with. – Kyle Jones Jun 23 '15 at 03:11
  • @KyleJones, I don't understand your question, $E$ is a part of the adjacency matrix, we look at it according to the situation described above. you need to consider how permutation is applied in matrix.for example, if you have a matrix where 1st 3 rows are exactly same then it does not matter what permutation you apply, they will remain same(those 3 rows will look same, no difference between them ), with different permutation, it would not happen. this is true regarding matrices like E , permutation of symmetric matrix is different. – Michael Jun 23 '15 at 07:38
  • 1
    This question was migrated from Computational Science. I am remigrating to [math.se] at the asker's request. – Gilles 'SO- stop being evil' Jun 23 '15 at 15:16

2 Answers2

1

this will not be a direct answer at what does not really seem a direct question, which in its apparently big scope/ ambition pushes outside the bounds of SE questions but is nevertheless aimed to be a scientific and guiding response. you seem to be studying graph isomorphism in general, and as you are apparently aware the precise complexity of this is a major open problem. and it is known/ utilized generally that regular graphs are the "hard" ones for GI otherwise one can leverage nonuniform vertex degrees to (usually) significantly decrease the search space of vertex permutations.

so the best route to studying known hard scientific problems is to relate your own approach to the literature aka "terra cognita", which is quite large on this subject. for problems this significant, most straightforward approaches are attempted/ analyzed "somewhere". Here are some fairly close references to your technique, they share many close similarities. & then the task is to try to determine how your technique is different. Your basic idea of assigning columns/ rows of the adjacency matrix to different matrices is basically a partitioning algorithm of vertices into different sets. so:

  • complexity of open partitions / open question by McKay on mathoverflow. he asks about the complexity of partitioning regular graphs into vertex partitions with the "equitability" property that may be similar to yours. he is the writer of nauty the top software for graph isomorphism computations.

  • Efficient graph automorphism by vertex partitioning / Fowler et al. from abstract, an algorithm that runs in P time for all graphs tested including regular graphs.

My suggestion is also to try to convert your problem to isomorphism instances and empirically test nauty on it (just as the 1st paper uses empirical testing, which is accepted with conditions in this area), and that may be one of the more efficient known approaches, because nauty encodes vast swathes of state-of-the-art knowledge/ algorithm(s) on graph isomorphism complexity study.

vzn
  • 834
0

Proposed Solution:

Arrangement of $G$: $A$ is the matrix of graph $G$ where $|G|=|A|=n$. Based on the adjacency of last vertex($n$ th vertex), A can be divided in to 4 sub-matrices where 2 are symmetric matrices($C,D$) and 2 are non square matrices($E^{T}, E$). One symmetric matrix, say, $D$ , has size $<n/2$. Repeat the whole procedure for matrix $D$ and $k$ th vertex $; 0<k<n$. This procedure can be done maximum $log_2(n)$ times.


Description of the Algorithm:$A,B$ are symmetric matrices of graphs $G,H$ respectively. For $x \in G$,consider the graph $(G-x)$, it has vertices adjacent to $x$ and vertices non adjacent to $x$.

$ A_x$ is the symmetric matrix of the graph $(G-x)$, where $C$ is the symmetric matrix of the graph created by vertices of $(G-x)$ which are adjacent to $x$ and $D$ is the symmetric matrix of the graph created by vertices of $(G-x)$ which are not adjacent to $x$.

$ A_x = \left( \begin{array}{cc} C & E \\ E^{T} & D\\ \end{array} \right)$

It should be noted, that-

1. Interchanging/swapping any two rows(or columns) of $C$ does not affect matrix $D$ (and vice versa) . 2. Any change in $C$ or $D$ or both $C$ and $D$ changes matrix $E$.

If $G \simeq H $ then there exists $u \in H$ so that, $(G-x)\simeq (H-u)$, the matrix of $(H-u)$ is $B_u$, where$ B_u= \left( \begin{array}{cc} S & R \\ R^{T} & Q\\ \end{array} \right) $

Consider the situation where $S \neq C,D \neq Q$. Since $(G-x)\simeq (H-u)$ ,so, there exists a permutation matrix $P$ ,so that $PQ=D$. Once $Q$ is arranged exactly like $D$ then $C$ can be arranged in non-exponential time using the arrangement of rows of $E$ because after $Q=D$, the rows of $E$ and $R$ would be same but arranged in different order. For example, 1st row may be placed in 4th row, but 1st row will look same in 4th row, here only order is changed(1st to 4th).

[ Once Q is arranged exactly like D, you can not change / reorder/ permute vertices which made Q, because if you change / reorder / permute vertices of Q, then Q will not be equal to D.If you can not change Q(=D), then there will be no column change in R(which is expected equal to E) as changing any column in R will change Q( but not S). So , after, Q is arranged exactly like D, change can be done in S matrix, if you change S, then only rows of E will change their order].

So, arrange the order of rows of $R$ like $E$, it will make $S = C$.

Michael
  • 547