Description Usage Arguments Details Value Examples
Funtions DPmatching or DPedge can produce a preliminary graph matching result. This function, EEPost works on refining the result iteratively. In addition, EEpost is able to provide a convergence indicator vector FLAG for each matching as a reference for the certainty about the matching since in practice,it has been observed that the true matches usually reach the convergence and stay the same after a few iterations, while the false matches may keep changing in the iterations.
| 1 | 
| W | A distance matrix. | 
| A, B | Two 0/1 adjacency matrices. | 
| rep | A positive integer, indicating the number of iterations. | 
| tau | A positive threshold. The default value is rep/10. | 
| d | A positive integer, indicating the number of candidate matching. The default value is 1. | 
| matching | A preliminary matching result for EEpost. If
 | 
Similar to function EEpre, EEpost uses maximum bipartite matching to maximize the number of common neighbours for the matched vertices with the knowledge of a preliminary matching result by defining the similarity between i \in A and j \in B as the number of common neighbours between i and j according to the preliminary matching. Then, given a matching result Π_t, post processing step is to seek a refinement Π_{t+1} satisfying Π_{t+1} \in argmax \langle Π, A Π_t B \rangle, where Π is a permutation matrix of dimension (n_A, n_B).
| Dist | The distance matrix between two graphs. | 
| match | A vector containing matching results. | 
| FLAG | An indicator vector indicating whether the matching result is converged. 0 for No and 1 for Yes. | 
| converged.match | Converged match result.  | 
| converged.size | The number of converged nodes. | 
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | set.seed(2020)
n = 10;p = 1; q = 1/2; s = 1
Parent = matrix(rbinom(n*n, 1, q), nrow = n, ncol = n)
Parent[lower.tri(Parent)] = t(Parent)[lower.tri(Parent)]
diag(Parent) <- 0
### Generate graph A
dA = matrix(rbinom(n*n, 1, s), nrow = n, ncol=n)
dA[lower.tri(dA)] = t(dA)[lower.tri(dA)]
A1 = Parent*dA;
tmp = rbinom(n, 1, p)
n.A = length(which(tmp == 1))
indA = sample(1:n, n.A, replace = FALSE)
A = A1[indA, indA]
### Generate graph B
dB = matrix(rbinom(n*n, 1, s), nrow = n, ncol=n)
dB[lower.tri(dB)] = t(dB)[lower.tri(dB)]
B1 = Parent*dB
tmp = rbinom(n, 1, p)
n.B = length(which(tmp == 1))
indB = sample(1:n, n.B, replace = FALSE)
B = B1[indB, indB]
matching1= DPmatching(A, B)$Dist
EEpost(A = A, B = B, rep = 10, d = 5)
EEpost(A = A, B = B, rep = 10, d = 5, matching = matching1)
 | 
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.