context("Seeded graph matching") test_that("SGM works", { library(igraph) local_rng_version("3.5.0") set.seed(42) vc <- 10 nos <- 3 g1 <- erdos.renyi.game(vc, .5) randperm <- c(1:nos, nos + sample(vc-nos)) g2 <- sample_correlated_gnp(g1, corr=.7, p=g1$p, permutation=randperm) P <-match_vertices (g1[], g2[], m=nos, start=matrix(1/(vc-nos), vc-nos, vc-nos), iteration=20) expect_that(c(1:nos, P$corr[,2]), equals(randperm)) expect_that(apply(P$P != 0, 1, which), equals(randperm)) expect_that(apply(P$D != 0, 1, which), equals(randperm[(nos+1):vc] - nos)) ## Slightly bigger set.seed(42) vc <- 100 nos <- 10 g1 <- erdos.renyi.game(vc, .1); perm <- c(1:nos, sample(vc-nos)+nos) g2 <- sample_correlated_gnp(g1, corr=1, p=g1$p, permutation=perm) P <- match_vertices(g1[], g2[], m=nos, start=matrix(1/(vc-nos), vc-nos, vc-nos), iteration=20) expect_that(P$corr[,2], equals(perm[(nos+1):vc])) expect_that(apply(P$P != 0, 1, which), equals(perm)) expect_that(apply(P$D != 0, 1, which), equals(perm[(nos+1):vc] - nos)) }) test_that("LSAP does not change input matrix", { x <- matrix(c(5, 1, 4, 3, 5, 2, 2, 4, 4), nrow = 3) solve_LSAP(x) expect_equal(x, matrix(c(5, 1, 4, 3, 5, 2, 2, 4, 4), nrow = 3)) })
Generated by dwww version 1.15 on Sun Jun 16 13:15:34 CEST 2024.