Я ищу мотивы размера 5 на графиках с менее чем 5000 узлов и менее чем 10000 ребер.(все неокрашено)
Для этого я использую функцию, предоставленную в библиотеке igraph для R subgraph_isomorphisms с использованием метода vf2 (см. пример ниже).Я использую матрицу смежности для генерации подграфа и список ребер для генерации самого графа.
У многих изоморфных подграфов, которые я нахожу, есть дополнительные ребра.Есть ли способ найти только подграфы с точно заданной структурой?Поиск ответов с использованием igraph или любой другой библиотеки в R
См. Воспроизводимый пример ниже (смотреть на этот пример намного проще, если просто нарисовать график, заданный этой матрицей смежности, на листе бумаги)
library(igraph)
subgraph <- matrix(
data = c(0, 1,
1, 0), ncol = 2)
graph <- matrix(
data = c(0, 1, 0, 0,
1, 1, 0, 1,
1, 0, 0, 1,
0, 0, 1, 0), ncol = 4)
subgraph <- graph_from_adjacency_matrix(subgraph, mode = "directed", weighted = T, diag = T)
graph <- graph_from_adjacency_matrix(graph, mode = "directed", weighted = T, diag = T)
subgraph_isomorphisms(subgraph, graph, method = "vf2")
Выходные данные дают две пары (1,2) и (3,4), когда на самом деле матрица смежности (1,2) выглядит как
(0 1)
(1 1)
Который отличается от того, который мы искали